Читать «Искусственный разум» онлайн - страница 12

Алексей Григорьевич Чачко

Алгоритм п заблуждения несовместимы. Именно поэтому в алгоритм пропускаются лишь очень строгие и четкие вопросы. Здесь днем с огнем не сыщешь вопросов вроде "Что есть истина?", "Как быть дальше?" или "Можно ли побороть несправедливость?", Здесь не м&

сто ни темным, ни вечным, ни проклятым вопросам. Вопрос здесь прям, ясен и прозрачен. Он требует обязательного и недвусмысленного ответа: "да" или "нет".

Казалось бы, алгоритмист добровольно связал себе руки, выбрав из всего многоцветья возможных ответов только "да" или "нет". Попадется ему мудреная задача, а он, того и гляди, не сумеет придумать соответствующие проверки, поставить правильные вопросы. Теория алгоритмов утверждает: сумеет - этих "да" или "нет" достаточно для решения любой, обратите внимание, любой проблемы.

Многократно и искусно используя "да" или "нет", удается обойти любое препятствие, добраться до любой цели, где бы она ни пряталась. Помните, в поисках Спящей красавицы нам помогла вещая птица? Птица, видимо, знала толк в алгоритмировании - отвечала только "да" и "нет" и была уверена, что этого достаточно.

Алгоритм не простая цепь команд, а цепь с проверками и ветвлениями. Гибкость алгоритмов, их сила, их величие основаны на проверках и ветвлениях. После каждой проверки - два пути, которые могут навсегда разойтись или вновь пересечься спустя несколько шагов. Один путь, бывает, сразу приводит к цели, зато по другому еще шагать и шагать. Один прям как стрела, а другой вроде и не стремится вперед, наоборот, он изгибается, он возвращает нас к уже пройденным операциям, он похож на петлю. Двигаясь по такому пути, мы, кажется, совсем близки к решению, и вдруг - поворачивай оглобли, отправляйся назад, к истокам задачи. Зачем проторен попятный путь здесь, в целеустремленном алгоритме?..

Отдел кадров большого завода... Кадровики обращаются к вычислительной машине: отпечатай список всех наших мужчин в возрасте от 20 до 35 лет, которые не женаты. Машина, хранящая в своей памяти полный перечень рабочих и служащих завода, тотчас берет из него первую фамилию и придирчиво проверяет: мужчина? молодой? холост?

Если результат хотя бы одной проверки отрицательный, машина отвергает претендента; если же на все вопросы следует ответ "да", если претендент проходит по всем кондициям, машина заносит его фамилию в список.

И в любом случае возвращается к началу алгоритма: вновь извлекает очередную фамилию из списка, опять проверяет, снова то ли печатает ее, то ли пропускает - как проверка покажет. И опять упрямо поворачивает к истокам задачи.

Этот попятный путь, это повторение одних и тех же операций Ада Лавлейс назвала циклом.

Цикл работает методично, неумолимо, даже весело. Болконский Андрей. Мужчина? - Да. Молод? - Да. Холост? - Нет. Решение: Болконского Андрея в список не включать. Воробей Елизавет. Мужчина? - Нет. Молод? - Да. Холост? - Нет. Вывод: Воробья Елизавета не включать. Ленский Владимир: да, да, да - включить. Скотинин Митрофан: да, да, да - включить. Чацкий Александр: да, да, да - включить.