Вход/Регистрация
Искусственный разум
вернуться

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

Шрифт:

"Нелепости вполне можно избежать, - решил внезапно Р. Декарт, - только одно требуется для этого: чтобы автомат проверял самого себя. "Мушкетер", прежде чем обнажать шпагу, должен бы ответить на вопрос: "Шпага в ножнах?" Если да, действовать решительно, а если нет, обратиться, положим, к окружающим: верните, мол, мое оружие. И стена автомату не страшна. Время от времени он обязан проверять: "Дорога свободна?" Если да, не останавливаться, а если нет, поискать другого пути".

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

Сразу бросается в глаза и особенность этих вопросов: они поставлены в такой плоскости, что допускают только два ответа - "да" и "нет". Слово или входит в словарь, или не входит в него; красавица или в этой части царства, или не в этой, а в другой, не в Баклушах, а в Балясах. И у "мушкетера" шпага либо в ножнах, либо ее мысленно извлек оттуда юный Р. Декарт.

Лет через десять после памятного осмотра автоматов Р. Декарт написал небольшую работу под названием "Правила для руководства ума". В этих правилах, адресованных людям, философ особое внимание уделял отчетливому пониманию того, что мы действительно хотим отыскать, задавая вопрос, и того, что лишь отдаленно связано с вопросом. "Человеческий ум подвержен двоякого рода заблуждению, - говорит Р. Декарт.
– Или он захватывает больше, чем надо для определения какого-либо вопроса, или, наоборот, что-нибудь упускает".

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

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

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

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

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

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

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

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

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

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

Цикл за циклом компьютер аккуратно проверяет весь перечень рабочих и служащих завода, добывая из него холостых. Последняя фамилия: Щукин Эрнест. Последние проверки. Мужчина?
– Да. Молод?
– Да. Холост?
– Нет. Последнее решение: инженера Щукина в список не включать.

А дальше что? Машина не прекратит циклической работы, продолжит, как белка в колесе, свой уже ненужный бег. Как покинуть заколдованный круг, как выйти из цикла?

Опять с помощью проверки. Например, написать в конце перечня рабочих и служащих вслед за фамилией Щукин невероятную фамилию: Яяяяя. И включить в алгоритм последний вопрос: "Это фамилия, Яяяяя?" Если нет, продолжать циклическое действие, а если да, подвести черту под только что отпечатанным списком и остановиться.

Итак, цикл незаменим, когда предстоит монотонная, повторяющаяся работа. Редкий алгоритм обходится без монотонной работы, редкий алгоритм не содержит циклов. Циклами вооружены, например, все три образца нашей библиотечки алгоритмов.

Алгоритм "Спинка кофточки". Он буквально напичкан циклами: каждый ряд вязки описан циклически (выход из цикла - по числу петель); потом несколько рядов выполняются "рябушкой" (выход из цикла - число рядов достигло 4); потом предлагается чулочная вязка (выход из цикла - длина спинки равна 43 см)...

  • Читать дальше
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: