Чтение онлайн

на главную - закладки

Жанры

Искусственный разум

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

Шрифт:

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

Согласитесь, читатель, название новой программы выглядит странно. Что значит "общий" - принадлежащий всем, что ли? Нет, конечно, это ошибка перевода с английского языка на русский, ошибка, прижившаяся, ставшая привычной в специальной литературе. На самом деле А. Ныоэлл, Г. Саймон и К. Шоу назвали

свою программу решателем всяких задач, или, если угодно, любых задач.

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

Любозар

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

Храбро взялся он и за знаменитую задачу о семи кенигсбергских мостах. Откуда ему, рожденному в наши дни, знать, что этими мостами в 1736 году интересовался знаменитый математик Л. Эйлер?

Задача была сугубо практической. Город Кенигсберг пересекает река Прегель, омывающая остров Кнейпхоф; через реку переброшено семь мостов. Может ли пешеход обойти все мосты один за другим, пройдя по каждому только один раз? Жители Кенигсберга, говорят, пытались решить эту задачу и головой и ногами, но тщетно. И обратились за помощью к Л. Эйлеру.

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

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

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

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

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

Второй метод ЛЮБОЗАРа мы назовем "Уменьшаю различия!". С

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

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

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

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

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

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

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

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

Вся эта перемена целей, вся эта обрастающая подробностями работа приводит в конце концов к элементарным целям, для достижения которых у нас средства есть.

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

Все романы Роберта Шекли в одной книге

Шекли Роберт
2. Собрание сочинений Роберта Шекли в двух томах
Фантастика:
фэнтези
научная фантастика
5.00
рейтинг книги
Все романы Роберта Шекли в одной книге

Зайти и выйти

Суконкин Алексей
Проза:
военная проза
5.00
рейтинг книги
Зайти и выйти

Игра престолов. Битва королей

Мартин Джордж Р.Р.
Песнь Льда и Огня
Фантастика:
фэнтези
боевая фантастика
8.77
рейтинг книги
Игра престолов. Битва королей

Душелов. Том 3

Faded Emory
3. Внутренние демоны
Фантастика:
альтернативная история
аниме
фэнтези
ранобэ
хентай
5.00
рейтинг книги
Душелов. Том 3

Чехов. Книга 2

Гоблин (MeXXanik)
2. Адвокат Чехов
Фантастика:
фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Чехов. Книга 2

Кодекс Крови. Книга ХVI

Борзых М.
16. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Крови. Книга ХVI

Идеальный мир для Лекаря

Сапфир Олег
1. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря

Идеальный мир для Лекаря 23

Сапфир Олег
23. Лекарь
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Идеальный мир для Лекаря 23

Возвышение Меркурия. Книга 4

Кронос Александр
4. Меркурий
Фантастика:
героическая фантастика
боевая фантастика
попаданцы
5.00
рейтинг книги
Возвышение Меркурия. Книга 4

Последняя Арена 9

Греков Сергей
9. Последняя Арена
Фантастика:
рпг
постапокалипсис
5.00
рейтинг книги
Последняя Арена 9

Ненаглядная жена его светлости

Зика Натаэль
Любовные романы:
любовно-фантастические романы
6.23
рейтинг книги
Ненаглядная жена его светлости

Кодекс Крови. Книга IV

Борзых М.
4. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга IV

Цветы сливы в золотой вазе, или Цзинь, Пин, Мэй

Ланьлинский насмешник
Старинная литература:
древневосточная литература
7.00
рейтинг книги
Цветы сливы в золотой вазе, или Цзинь, Пин, Мэй

Лишняя дочь

Nata Zzika
Любовные романы:
любовно-фантастические романы
8.22
рейтинг книги
Лишняя дочь