Еще одной причиной
неувядающего интереса к автоматическому
доказательству теорем является
понимание, что системе не обязательно
решать особо сложные проблемы
без человеческого вмешательства.
Многие современные программы
доказательств работают как умные
помощники, предоставляя людям
разбивать задачи на подзадачи
и продумывать эвристики для
перебора в пространстве возможных
обоснований. Программа для автоматического
доказательства затем решает
более простые задачи доказательства
лемм, проверки менее существенных
предположений и дополняет формальные
аспекты доказательства, очерченного
человеком [Воyer и Moore, 1979], [Bundy, 1988], [Veroff,
1997].
1.2.3. Экспертные системы
Одним из главных
достижений ранних исследований
по ИИ стало осознание важности
специфичного для предметной
области (domain-specific) знания. Врач, к примеру,
хорошо диагностирует болезни не потому,
что он располагает некими врожденными
общими способностями к решению задач,
а потому, что многое знает о медицине.
Точно так же геолог эффективно находит
залежей ископаемых, потому что он способен
применить богатые теоретические и практические
знания о геологии к текущей проблеме.
Экспертное знание- это сочетание теоретического
понимания проблемы и набора эвристических
правил для ее решения, которые, как показывает
опыт, эффективны в данной предметной
области. Экспертные системы создаются
с помощью заимствования знаний у человеческого
эксперта и кодирования их в форму, которую
компьютер может применить к аналогичным
проблемам.
Стратегии экспертных
систем основаны на знаниях
человека-эксперта. Хотя многие программы
пишугся самими носителями знаний о предметной
области, большинство экспертных систем
являются плодом сотрудничества между
таким экспертом, как врач, химик, геолог
или инженер, и независимым специалистом
по ИИ. Эксперт предоставляет необходимые
знания о предметной области, описывая
свои методы принятия решений и демонстрируя
эти навыки на тщательно отобранных примерах.
Специалист по ИИ, или инженер по знаниям
(knowledge engineer), как часто называют разработчиков
экспертных систем, отвечает за реализацию
этого знания в программе, которая должна
работать эффективно и внешне разумно.
Экспертные способности программы проверяют,
давая ей решать пробные задачи. Эксперт
подвергает критике поведение программы,
и в ее базу знаний вносятся необходимые
изменения. Процесс повторяется, пока
программа не достигнет требуемого уровня
работоспособности.
Одной из первых
систем, использовавших специфичные
для предметной области знания,
была система DENDRAL, разработанная
в Стэнфорде в конце 1960-х
[Lindsay и др., 1980]. DENDRAL была задумана для определения
строения органических молекул из химических
формул и спектрографических данных о
химических связях в молекулах. Поскольку
органические молекулы обычно очень велики,
число возможных структур этих молекул
также весьма внушительно. DENDRAL решает
проблему большого пространства перебора,
применяя эвристические знания экспертов-химиков
к решению задачи определения структуры.
Методы DENDRAL оказались весьма работоспособными.
Она методично находит правильное строение
из миллионов возможных всего за несколько
попыток. Данный подход оказался столь
эффективным, что "потомки" этой системы
до сих пор используются в химических
и фармацевтических лабораториях по всему
миру.
Программа DENDRAL одной
из первых использовала специфичное
знание для достижения уровня
эксперта в решении задач, однако
методика современных экспертных
систем связана с другой программой-
MYCIN [Buchanan и Shortliffe, 1984]. В ней использовались
знания экспертов медицины для диагностики
и лечения спинального менингита и бактериальных
инфекций крови.
Программа MYCIN, разработанная
в Стэнфорде в середине 1970-х,
одной из первых обратилась
к проблеме принятия решений
на основе ненадежной или недостаточной
информации. Она выводит ясные
и логичные пояснения своих
рассуждений, используя структуру
управляющей логики, соответствующую
специфике предметной области,
и критерии для надежной оценки
своей работы. Многие методики
разработки экспертных систем, использующиеся
сегодня, были впервые разработаны
в рамках проекта MYCIN (см. главу
7).
К числу других классических
экспертных систем относится программа
PROSPECTOR, определяющая предполагаемые рудные
месторождения и их типы, основываясь
на геологических данных о местности [Duda
и др., 1979a, 1979b]; программа INTERNIST, применяемая
для диагностики в сфере медицины внутренних
органов; программа Dipmeter Advisor, интерпретирующая
протоколы бурения нефтяных скважин [Smith
и Baker, 1983]; и XCON, используемая для настройки
компьютеров VAX. Программа XCON была разработана
в 1981 г., и одно время все машины VAX, распространяемые
компанией Digital Equipment, настраивались этой
программой. Многочисленные экспертные
системы решают в настоящее время задачи
в таких областях, как медицина, образование,
бизнес, дизайн и научные исследования
[Waterman, 1986], [Durkin, 1994].
Интересно отметить, что
большинство экспертных систем
были написаны для специализированных
предметных областей. Эти области
довольно хорошо изучены и
располагают четко определенными
стратегиями принятия решений.
Проблемы, определенные на нечеткой
основе "здравого смысла", подобными
средствами решить сложнее. Несмотря
на воодушевляющие перспективы
экспертных систем, было бы ошибкой
переоценивать возможности этой
технологии. Основные проблемы перечислены
ниже.
Трудности в передаче
"глубоких" знаний предметной
области. Системе MYCIN, к примеру,
не достает действительного знания
человеческой физиологии. Она не
знает, какова функция кровеносной
системы или спинного мозга.
Ходит предание, что однажды, подбирая
лекарство для лечения менингита,
MYCIN спросила, беремен ли пациент,
хотя ей указали, что пациент
мужского пола. Было это на
самом деле или нет, неизвестно,
но это хорошая иллюстрация
потенциальной ограниченности знаний
экспертной системы.
Недостаток здравомыслия
и гибкости. Если людей поставить
перед задачей, которую они
не в состоянии решить немедленно,
то они обычно исследуют сперва
основные принципы и вырабатывают
какую-то стратегию для подхода
к проблеме.
Экспертным системам
этой способности не хватает.
Неспособность предоставлять
осмысленные объяснения. Поскольку
экспертные системы не владеют
глубоким знанием своей предметной
области, их пояснения обычно
ограничиваются описанием шагов,
которые система предприняла
в поиске решения. Но они
зачастую не могут пояснить, "почему"
был выбран конкретный подход.
Трудности в тестировании.
Хотя обоснование корректности
любой большой компьютерной системы
достаточно трудоемко, экспертные
системы проверять особенно тяжело.
Это серьезная проблема, поскольку
технологии экспертных систем
применяются для таких критичных
задач, как управление воздушным
движением, ядерными реакторами
и системами оружия.
Ограниченные возможности
обучения на опыте. Сегодняшние
экспертные системы делаются "вручную";
производительность разработанной
системы не будет возрастать
до следующего вмешательства
программистов. Это заставляет
серьезно усомниться в разумности
таких систем.
Несмотря на эти
ограничения, экспертные системы
доказали свою ценность во
многих важных приложениях. Будем
надеяться, что недоработки сподвигнут
студентов заняться этой важной отраслью
компьютерных наук. Экспертные системы
- одна из основных тем этой книги. Они
подробно обсуждаются в главах 6 и 7.
1.2.4. Понимание
естественных языков и семантическое
моделирование
Одной из долгосрочных
целей искусственного интеллекта
является создание программ, способных
понимать человеческий язык и
строить фразы на нем. Способность
применять и понимать естественный
язык является фундаментальным
аспектом человеческого интеллекта,
а его успешная автоматизация
привела бы к неизмеримой эффективности
самих компьютеров. Многие усилия
были затрачены на написание
программ, понимающих естественный
язык. Хотя такие программы и
достигли успеха в ограниченных
контекстах, системы, использующие
натуральные языки с гибкостью
и общностью, характерной для
человеческой речи, лежат за пределами
сегодняшних методологий.
Понимание естественного
языка включает куда больше, чем
разбор предложений на индивидуальные
части речи и поиск значений
слов в словаре. Оно базируется
на обширном фоновом знании
о предмете беседы и идиомах,
используемых в этой области,
так же, как и на способности
применять общее контекстуальное
знание для понимания недомолвок
и неясностей, присущих естественной
человеческой речи.
Представьте себе, к
примеру, трудности в разговоре
о футболе с человеком, который
ничего не знает об игре, правилах,
ее истории и игроках. Способен
ли такой человек понять смысл
фразы: "в центре Иванов перехватил
верхнюю передачу- мяч полетел к штрафной
соперника, там за него на "втором этаже"
поборолись Петров и Сидоров, после чего
был сделан пас на Васина в штрафную, который
из-под защитника подъемом пробил точно
в дальний угол"? Хотя каждое отдельное
слово в этом предложении можно понять,
фраза звучит совершенной тарабарщиной
для любого нефаната, будь он хоть семи
пядей во лбу.
Задача сбора и организации
этого фонового знания, чтобы
его можно было применить к
осмыслению языка, составляет
значительную проблему в автоматизации
понимания естественного языка.
Для ее решения исследователи
разработали множество методов
структурирования семантических
значений, используемых повсеместно
в искусственном интеллекте (см.
главы 6, 7 и 13).
Из-за огромных объемов
знаний, требуемых для понимания
естественного языка, большая
часть работы ведется в хорошо
понимаемых, специализированных проблемных
областях. Одной из первых программ,
использовавших такую методику "микромира",
была программа Винограда SHRDLU
- система понимания естественного
языка, которая могла "беседовать"
о простом взаимном расположении
блоков разных форм и цветов
[Winograd, 1973]. Программа SHRDLU могла отвечать
на вопросы типа: "какого цвета блок
на синем кубике?", а также планировать
действия вроде "передвинь красную
пирамидку на зеленый брусок". Задачи
этого рода, включая управление размещением
блоков и их описание, на удивление часто
всплывали в исследованиях ИИ и получили
название проблем "мира блоков".
Несмотря на успехи
программы SHRDLU в разговорах о
расположении блоков, она была
не способна абстрагироваться
от мира блоков. Методики представления,
использованные в программе, были
слишком просты, чтобы передать
семантическую организацию более
богатых и сложных предметных
областей. Основная часть текущих
работ в области понимания
естественных языков направлена
на поиск формализмов представления,
которые должны быть достаточно
общими, чтобы применяться в широком
круге приложений и уметь адаптироваться
к специфичной структуре заданной
области. Множество разнообразных
методик (большинство из которых
являются развитием или модификацией
семантических сетей) исследуются
с этой целью и используются
при разработке программ, способных
понимать естественный язык в
ограниченных, но достаточно интересных
предметных областях. Наконец, в
текущих исследованиях [Marcus, 1980],
[Manning и Schutze, 1999], [Jurafsky и Martin, 2000] стохастические
модели, описывающие совместное использование
слов в языке, применяются для характеристики
как синтаксиса, так и семантики. Полное
понимание языка на вычислительной основе
все же остается далеко за пределами современных
возможностей.
1.2.5. Моделирование
работы человеческого интеллекта
В большей части
рассмотренного выше материала
человеческий интеллект служит
отправной точкой в создании
искусственного, однако это не
означает, что программы должны
формироваться по образу и
подобию человеческого разума.
Действительно, многие
программы ИИ создаются для
решения каких-то насущных задач
без учета человеческой ментальной
архитектуры. Даже экспертные
системы, заимствуя большую часть
своего знания у экспертов-людей,
не пытаются моделировать внутренние
процессы человеческого ума. Если
производительность системы - это
единственный критерий ее качества,
нет особых оснований имитировать
человеческие методы принятия
решений. Программы, которые используют
несвойственные людям подходы,
зачастую более успешны, чем
их человеческие соперники. Тем
не менее конструирование систем, которые
бы детально моделировали какой-либо аспект
работы интеллекта человека, стало плодотворной
областью исследований как в искусственном
интеллекте, так и в психологии.
Моделирование работы
человеческого разума помимо
обеспечения ИИ его основной
методологией оказалось мощным
средством для формулирования
и испытания теорий человеческого
познания. Методологии принятия
решений, разработанные теоретиками
компьютерных наук, дали психологам
новую отправную точку для
исследования человеческого разума.
Вместо того чтобы гадать о
теориях познания на неясном
языке ранних исследований или
вообще оставить попытки описания
внутренних механизмов человеческого
интеллекта (как предлагают специалисты
по изучению поведения), многие
психологи приспособили язык
и теорию компьютерной науки
для разработки моделей человеческого
разума. Такие методы не только
дают новую терминологию для
характеристики человеческого интеллекта.
Компьютерная реализация этих
теорий предоставляет психологам
возможность эмпирически тестировать,
критиковать и уточнять их
идеи [Luger, 1994]. Обсуждение отношений между
ИИ и попытками понять человеческий разум
приводится ниже и резюмируется в главе
16.
1.2.6. Планирование
и робототехника
Исследования в области
планирования начались с попытки
сконструировать роботов, которые
бы выполняли свои задачи с
некоторой степенью гибкости
и способностью реагировать на
окружающий мир. Планирование
предполагает, что робот должен
уметь выполнять некоторые элементарные
действия. Он пытается найти последовательность
таких действий, с помощью которой
можно выполнить более сложную
задачу, например, двигаться по комнате,
заполненной препятствиями.