Читаем Искусственный разум полностью

Ученый доказал, что экскурсия по семи мостам невозможна. Но ЛЮБОЗАР ничего не знал про неразрешимость задачи. Он трудился изо всех сил, нашел два маршрута по шести мостам, а по семи, естественно, ни одного. Память ЭВМ переполнилась, ЛЮБОЗАР изнемог и сдался, отпечатав: "Исчерпаны все методы для всех целей. Неуспех". О каких методах он говорит? И о каких целях?

Пора, по нашему обыкновению, проникнуть внутрь программы.

Главными ее шестернями служат четыре эвристики, которые авторы назвали методами. Четыре метода у ЛЮБОЗАРа, и каждый из них достоин отдельного рассказа.

Метод первый: "Действую!" Он самый простой и самый прямолинейный из всех любозаровских методов. Когда к данной ситуации можно применить какие-нибудь действия, известные программе, она непременно это сделает. Уточним наше "можно применить". Вспомним, ЭВМ перерабатывает "слова" и ничего, кроме "слов". Один из видов машинной переработки - сличение двух "слов". Пусть первое из "слов" описывает задачную ситуацию (начальную или промежуточную), а второе - стартовые условия для применения данного действия. Если эти два "слова" побуквенно совпадают, действие совершается, а если нет, то ничего не происходит. Например, если первое "слово" выглядит так: "человек стоит возле моста", а второе "слово" так: "возле моста стоит человек", то ЭВМ считает их разными "словами". Получается уж чересчур жестко и тупо; чтобы хоть немного смягчить неловкость, авторы ЛЮБОЗАРа включили в программу преобразователь "слов" в стандартную форму. Он причесывает "слова" на один фасон и после этого шлет их на сличение. В нашем примере действие совершится, ибо по сути оба "слова" одинаковы.

Написал я "по сути" и испугался. Никогда не надо забывать, что ЭВМ не понимает "сути"; сличить стандартные формы - пожалуйста, если "суть" заключена в этом - отлично; но если в понятии "суть" скрыто еще что-то туманное, то машине это невдомек и недосуг.

Второй метод ЛЮБОЗАРа мы назовем "Уменьшаю различия!". С его помощью машина стремится приблизиться к решению задачи. Она перебирает действия одно за другим и примеряет их к сложившейся ситуации. Если какое-то из действий производит положительный эффект, машина немедленно переходит к методу "Действую!". Старая ситуация сменяется новой, более благоприятной.

Третий метод ЛЮБОЗАРа - "Преобразую!". Он перестраивает, переделывает, перелицовывает ситуации. Была, положим, ситуация "пройден третий мост", а машина стремится переделать ее в ситуацию "пройден пятый мост". Она сличает эти две ситуации и выясняет, в чем состоят различия. Потом стремится стереть различия, пользуясь методом "Действую!". Если сразу не выходит, пытается хотя бы сократить различия, пуская в дело метод "Уменьшаю различия!", в результате чего удается перейти, скажем, от ситуации "пройден третий мост" к ситуации "пройден четвертый мост".

Прогресс налицо, и метод "Преобразую!" пытается идти дальше. Получится, машина вновь уменьшит различия и, чем черт не шутит, через несколько шагов сотрет вовсе, а не получится, что ж, выходит, метод "Преобразую!" здесь бессилен. Беда еще невелика, поскольку ЛЮБОЗАР владеет четвертым методом.

"Пренебрегаю мелочами, штурмую главное!" - вот девиз этого метода. Руководимая им машина отбрасывает некоторые черты рассматриваемой ситуации, отвлекается от мелочей и возникает новая - абстрактная - ситуация. Работа ведется теперь с этой абстрактной ситуацией, обычная работа ЛЮБОЗАРа, состоящая в разнообразных применениях трех других его методов для уменьшения и стирания различий. Когда он сотрет их, уничтожит различия, что же получится? Опять абстрактная ситуация, пусть замечательная, но абстрактная. Нужно опустить ее с неба на землю, вернуться к живой задаче, и ЛЮБОЗАР это делает.

Помните, решая задачу о кенигсбергских мостах, ЛЮБОЗАР напечатал: "Исчерпаны все методы для всех целей"? Теперь понятно, о каких методах речь. Методы ЛЮБОЗАРа, его золотой фонд - это эвристики, применимые для любых задач, пригодные на все случаи жизни.

А цели? Как обстоит дело с целями?

Перейти на страницу:

Все книги серии Эврика

Похожие книги