Иная
модель интеллекта, заимствованная из
биологии, навеяна процессами адаптации
видов к окружающей среде. В разработках
искусственной жизни и генетических алгоритмов
(см. главу 11) принципы биологической эволюции
применяются для решения сложных проблем.
Такие программы не решают задачи посредством
логических рассуждений. Они порождают
популяции соревнующихся между собой
решенийкандидатов и заставляют их совершенствоваться
с помощью процессов, имитирующих биологическую
эволюцию: неудачные кандидаты на решения
отмирают, в то время как подающие надежды
выживают и воспроизводятся путем создания
новых решений из частей "успешных"
родителей.
Социальные
системы дают еще одно модельное представление
интеллекта с помощью глобального поведения,
которое позволяет им решать проблемы,
которые бы не удалось решить отдельным
их членам. Например, хотя ни один индивидуум
не в состоянии точно предсказать количество
буханок хлеба, которое потребит в заданный
день Нью-Йорк, ситема всех нью-йоркских
пекарен отлично справляется со снабжением
города хлебом и делает это с минимальными
затратами. Рынок акций отлично устанавливает
относительную ценность сотен компаний,
хотя каждый отдельный инвестор имеет
лишь ограниченное знание о нескольких
компаниях. Можно привести также пример
из современной науки. Отдельные исследователи
из университетской, производственной
или правительственной среды сосредоточиваются
на решении общих проблем. С помощью конференций
и журналов, служащих основным средством
сообщения, важные для общества в целом
проблемы рассматриваются и решаются
отдельными агентами, работающими отчасти
независимо, хотя прогресс во многих случаях
также направляется субсидиями.
Эти примеры
имеют два общих аспекта. Во-первых, корни
интеллекта связаны с культурой и обществом,
а следовательно, разум является эмерджентным
(emergent). Вовторых, разумное поведение формируется
совместными действиями большого числа
очень простых взаимодействующих полуавтономных
индивидуумов, или агентов. Являются агенты
нервными клетками, индивидуальными особями
биологического вида или же отдельными
личностями в обществе, их взаимодействие
создает интеллект.
Рассмотрим основные
аспекты агентских и эмерджентных
взглядов на интеллект.
- Агенты автономны или полуавтономны. Следовательно, у каждого агента есть определенный круг подзадач, причем он располагает малым знанием (или вовсе не располагает знанием) о том, что делают другие агенты или как они это делают. Каждый агент выполняет свою независимую часть решения проблемы и либо выдает собственно результат (что-то совершает) либо сообщает результат другим агентам.
- Агенты являются "внедренными". Каждый агент чувствителен к своей окружающей среде и (обычно) не знает о состоянии полной области существования агентов.
- Таким образом, знание агента ограничено его текущими задачами: "файл, который я обрабатываю" или "стенка рядом со мной", агент не владеет информацией обо всех файлах одновременно или физических границах предметной области.
- Агенты взаимодействуют. Они формируют коллектив индивидуумов, которые сотрудничают над решением задачи. В этом смысле их можно рассматривать как "сообщество". Как и в человеческом обществе, знания, умения и обязанности распределяются среди отдельных индивидуумов.
Сообщество агентов
структурировано. В большинстве
агентно-ориентированных методов решения
проблем каждый индивидуум, работая со
своим собственным окружением и навыками,
координирует общий ход решения с другими
агентами. Таким образом, окончательное
решение можно назвать не только коллективным,
но и кооперативным.
Наконец, явление
интеллекта в этой среде является "эмерджентным".
Хотя индивидуальные агенты обладают
некоторыми совокупностями навыков и
обязанностей, общий, совместный, результат
сообщества агентов следует рассматривать
как нечто большее, чем сумма отдельных
вкладов. Интеллект рассматривается как
явление, возникающее в сообществе, а не
как свойство отдельного агента.
Основываясь на этих наблюдениях,
определим агента как элемент
сообщества, который может воспринимать
(часто ограниченно) аспекты своего
окружения и взаимодействовать
с этой окружающей средой либо непосредственно,
либо путем сотрудничества с другими
агентами. Большинство интеллектуальных
методов решений требуют наличия
разнообразных агентов. Это могут быть
простые агенты-механизмы, задача которых
- собирать и передавать информацию; агенты-координаторы,
которые обеспечивают взаимодействие
между другими агентами; агенты поиска,
которые перебирают пакеты информации
и возвращают какие-то избранные частицы;
обучающие агенты, которые на основе полученной
информации формируют обобщающие концепции;
и агенты, принимающие решения, которые
раздают задания и делают выводы на основе
ограниченной информации и обработки.
Возвращаясь к старому определению интеллекта,
агенты можно рассматривать как механизмы,
обеспечивающие выработку решения в условиях
ограниченных ресурсов и процессорных
мощностей.
Для разработки и
построения таких сообществ необходимы
следующие компоненты.
Структуры для представления
информации.
Стратегии поиска в
пространстве альтернативных решений.
Архитектура, обеспечивающая
взаимодействие агентов.
В последующих главах,
в частности в разделе 6.4, приводятся
рекомендации для создания средств
поддержки таких агентских сообществ.
Это предварительное
рассмотрение возможностей теории
автоматизированного интеллекта
ни в коей мере не ставит
себе целью преувеличить достижения,
полученные до настоящего времени
или преуменьшить работу, которую
еще предстоит проделать. В
этой книге постоянно подчеркивается,
как важно четко представлять
себе границы наших текущих
возможностей и сегодняшних свершений.
Например, очень ограниченные успехи
сделаны в построении программ,
которые могут "учиться"
в интересном для человека
смысле. Также очень скромны достижения
в моделировании семантической
сложности естественных языков,
к примеру, английского. Даже
в фундаментальных вопросах, таких
как организация знаний или
управление сложностью и корректностью
большой компьютерной программы
(например, большой базы знаний),
требуются значительные дальнейшие
исследования. Основанные на знаниях
системы, хотя и достигли коммерческого
успеха, имеют все еще много
ограничений в качестве и общности
своих выводов. В частности,
они не способны рассуждать
на основе "здравого смысла"
(commonsense reasoning) или же проявлять знания
о простейших свойствах реального мира,
например, о том, как изменяются со временем
разные вещи.
Но следует сохранять
трезвый взгляд на вещи. Обозреть
достижения искусственного интеллекта
легче, честно представляя предстоящую
работу. В следующем разделе мы
рассмотрим некоторые сферы исследований
и разработок ИИ.
1.2. Обзор прикладных
областей искусственного интеллекта
Аналитическая машина
не претендует на создание
чего-либо нового. Ее способности
не превосходят наших знаний
о том, как приказать ей что-либо
исполнить...
- Ада Байрон (Ada Byron), графиня
Лавлейс
Прости, Дейв, я не могу позволить
тебе это сделать...
- HAL 9000, компьютер из фильма
2001: Космическая одиссея
Вернемся к заявленной
цели дать определение искусственному
интеллекту путем обозрения стремлений
и достижений исследователей
этой области. Две наиболее
фундаментальные проблемы, занимающие
разработчиков ИИ, - это представление
знаний (knowledge representation) и поиск (search). Первая
относится к проблеме получения новых
знаний с помощью формального языка, подходящего
для компьютерных манипуляций, всего спектра
знаний, требуемых для формирования разумного
поведения. В главе 2 рассматривается исчисление
предикатов как язык описания свойств
и отношений между объектами предметной
области. Здесь для решения нужны скорее
рассуждения качественного характера,
чем арифметические расчеты. В главах
6-8 обсуждаются языки, разработанные для
отражения неопределенностей и структурной
сложности таких областей, как рассуждения
на основе "здравого смысла" и понимание
естественных языков. В главах 14 и 15 демонстрируется
использование языков LISP и PROLOG для реализаций
этих представлений.
Поиск - это метод
решения проблемы, в котором систематически
просматривается пространство состояний
задачи (problem states), т.е. альтернативных стадий
ее решения. Примеры состояний задачи:
различные размещения фигур на доске в
игре или же промежуточные шаги логического
обоснования. Затем в этом пространстве
альтернативных решений производится
перебор в поисках окончательного ответа.
Ньюэлл и Саймон [Newell и Simon, 1976] утверждают,
что эта техника лежит в основе человеческого
способа решения различных задач. Действительно,
когда игрок в шахматы анализирует последствия
различных ходов или врач обдумывает различные
альтернативные диагнозы, они производят
перебор среди альтернатив. Результаты
применения этой модели и средства ее
реализации обсуждаются в главах 3,4,5 и
16.
Как и большая часть
наук, ИИ разбивается на множество
поддисциплин, которые, разделяя основной
подход к решению проблем, нашли себе различные
применения. Очертим в этом разделе некоторые
из основных сфер применения этих отраслей
и их вклад в искусственный интеллект
вообще.
1.2.1. Ведение игр
Многие ранние исследования
в области поиска в пространстве
состояний совершались на основе
таких распространенных настольных
игр, как шашки, шахматы и
пятнашки. Вдобавок к свойственному
им "интеллектуальному" характеру
такие игры имеют некоторые
свойства, делающие их идеальным
объектом для экспериментов. Большинство
игр ведутся с использованием
четко определенного набора правил:
это позволяет легко строить
пространство поиска и избавляет
исследователя от неясности и
путаницы, присущих менее структурированным
проблемам. Позиции фигур легко
представимы в компьютерной программе,
они не требуют создания сложных
формализмов, необходимых для
передачи семантических тонкостей
более сложных предметных областей.
Тестирование игровых программ
не порождает никаких финансовых
или этических проблем. Поиск
в пространстве состояний - принцип, лежащий
в основе большинства исследований в области
ведения игр, - представлен в главах 3 и
4.
Игры могут порождать
необычайно большие пространства
состояний. Для поиска в них
требуются мощные методики, определяющие,
какие альтернативы следует рассматривать.
Такие методики называются эвристиками
и составляют значительную область
исследований ИИ. Эвристика- стратегия
полезная, но потенциально способная
упустить правильное решение.
Примером эвристики может быть
рекомендация проверять, включен
ли прибор в розетку, прежде
чем делать предположения о
его поломке, или выполнять
рокировку в шахматной игре, чтобы
попытаться уберечь короля от
шаха. Большая часть того, что
мы называем разумностью, по-видимому,
опирается на эвристики, которые
люди используют в решении
задач.
Поскольку у большинства
из нас есть опыт в этих
простых играх, можно попробовать
разработать свои эвристики и
испытать их эффективность. Для
этого нам не нужны консультации
экспертов в каких-то темных
для непосвященных областях, вроде
медицины или математики. Поэтому
игры являются хорошей основой
для изучения эвристического
поиска. Глава 4 рассказывает об
эвристиках на примере этих
простых игр; в главе 7 их
использование распространяется
на построение экспертных систем.
Программы ведения игр, несмотря
на их простоту, ставят перед
исследователями новые вопросы,
включая вариант, при котором
ходы противника невозможно детерминировано
предугадать (см. главу 8). Наличие противника
усложняет структуру программы, добавляя
в нее элемент непредсказуемости и потребность
уделять внимание психологическим и тактическим
факторам игровой стратегии.
1.2.2. Автоматические
рассуждения и доказательство
теорем
Можно сказать, что автоматическое
доказательство теорем - одна из старейших
частей искусственного интеллекта, корни
которой уходят к системам Logic Theorist (логический
теоретик) Ньюэлла и Саймона [Newell и Simon,
1963a] и General Problem Solver (универсальный решатель
задач) [Newell и Simon, 1963b] и далее, к попыткам
Рассела и Уайтхеда построить всю математику
на основе формальных выводов теорем из
начальных аксиом. В любом случае эта ветвь
принесла наиболее богатые плоды. Благодаря
исследованиям в области доказательства
теорем были формализованы алгоритмы
поиска и разработаны языки формальных
представлений, такие как исчисление предикатов
(см. главу 2) и логический язык программирования
PROLOG (глава 14).
Привлекательность автоматического
доказательства теорем основана
на строгости и общности логики.
В формальной системе логика
располагает к автоматизации.
Разнообразные проблемы можно
попытаться решить, представив описание
задачи и существенную относящуюся
к ней информацию в виде
логических аксиом и рассматривая
различные случаи задачи как
теоремы, которые нужно доказать.
Этот принцип лежит в основе
автоматического доказательства
теорем и систем математических
обоснований (см. главу 12).
К сожалению, в ранних
пробах написать программу для
автоматического доказательства
не удалось разработать систему,
которая бы единообразно решала
сложные задачи. Это было обусловлено
способностью любой относительно
сложной логической системы сгенерировать
бесконечное количество доказуемых
теорем: без мощных методик (эвристик),
которые бы направляли поиск,
программы доказывали большие
количества не относящихся к
делу теорем, пока не натыкались
на нужную. Из-за этой неэффективности
многие утверждают, что чисто формальные
синтаксические методы управления поиском
в принципе не способны справиться с такими
большими пространствами, и единственная
альтернатива этому - положиться на неформальные,
специально подобранные к случаю (лат.
"ad hoc") стратегии, как это, похоже,
делают люди. Это один из подходов, лежащих
в основе экспертных систем (см. главу
7), и он оказался достаточно плодотворным.
Все же привлекательность
рассуждений, основанных на формальной
логике, слишком сильна, чтобы ее
игнорировать. Многие важные проблемы,
такие как проектирование и
проверка логических цепей, проверка
корректности компьютерных программ
и управление сложными системами,
по-видимому, поддаются такому подходу.
Вдобавок исследователям автоматического
доказательства удалось разработать
мощные эвристики, основанные
на оценке синтаксической формы
логического выражения, которые
в результате понижают сложность
пространства поиска, не прибегая
к используемым людьми методам
"ad hoc".