| Свежий номер №30 (455) / Искусственный интеллект: основные направления и состояние исследований Дата публикации: 02.08.2002 Геннадий Осипов,
Что такое ИИ Наука под названием «искусственный интеллект» входит в комплекс компьютерных наук, а создаваемые на ее основе технологии относятся к информационным технологиям. Задачей этой науки является обеспечение разумных рассуждений и действий с помощью вычислительных систем и иных искусственных устройств. Трудностей на этом пути немало, и главные из них таковы:
Это означает, что искусственный интеллект - экспериментальная наука: создавая те или иные компьютерные представления и модели, исследователь сравнивает их поведение между собой и с примерами решения тех же задач специалистом, модифицирует их на основе этого сравнения, пытаясь добиться лучшего соответствия результатов. Чтобы модификация программ улучшала результаты, надо иметь разумные исходные представления и модели. Их доставляют психологические исследования сознания, в частности когнитивная психология. Важно, что методы искусственного интеллекта имеют дело только с теми механизмами компетентности, которые носят вербальный характер (допускают символьное представление). Далеко не все механизмы, Здесь уместно подчеркнуть, что термин «искусственный интеллект» следует понимать исключительно как обозначение области исследований, а не некоторого искусственно созданного агрегата. Иные толкования основаны на спекулятивной интерпретации термина. Истоки Первые исследования, относящиеся к искусственному интеллекту, были предприняты почти сразу же после появления вычислительных машин. В 1954 году А. Ньюэлл (A. Newell) решил написать программу для игры в шахматы. Этой идеей он поделился с аналитиками корпорации «Рэнд» (RAND Corporation, www.rand.org) Дж. Шоу (J. Shaw) и Г. Саймоном (H. Simon), которые предложили Ньюэллу свою помощь. В качестве теоретической основы программы было решено использовать метод, предложенный в 1950 году Клодом Шенноном (C. E. Shannon), основоположником теории информации.Формализация этого метода была выполнена Аланом Тьюрингом (Alan Turing). Он же промоделировал его вручную. К работе была привлечена группа голландских психологов под руководством А. де Гроота (A. de Groot), изучавших стили игры выдающихся шахматистов. Через два года совместной работы этим коллективом был создан язык программирования ИПЛ1 (IPL1), по-видимому первый символьный язык обработки списков. Вскоре была написана и первая программа, которую можно отнести к достижениям в области искусственного интеллекта. Это была программа «Логик-Теоретик» (1956), предназначенная для автоматического доказательства теорем в исчислении высказываний. Собственно же программа для игры в шахматы, NSS, была завершена в 1957 г. В основе ее работы лежали так называемые эвристики (правила, которые позволяют сделать выбор при отсутствии точных теоретических оснований) и описания целей. Управляющий алгоритм пытался уменьшить различия между оценками текущей ситуации и оценками цели или одной из подцелей. В 1960 г. той же группой на основе принципов, использованных в NSS, была написана программа, которую ее создатели назвали GPS (General Problem Solver) - универсальный решатель задач. GPS могла справляться с рядом головоломок, вычислять неопределенные интегралы, решать некоторые другие задачи. Эти результаты привлекли внимание специалистов в области вычислений. Появились программы автоматического доказательства теорем планиметрии и решения алгебраических задач. Джона Маккарти (J. McCarthy) из Стэнфорда заинтересовали математические основы этих результатов и вообще символьных вычислений. В 1963 г. им был разработан язык ЛИСП (LISP, от List Processing), в основу которого легло использование единого спискового представления для программ и данных, применение выражений для определения функций, скобочный синтаксис. В это же время в СССР (в МГУ и Академии наук) был выполнен ряд пионерских экспериментальных исследований (под руководством Вениамина Пушкина и Дмитрия Поспелова), целью которых было выяснить: как же решает переборные задачи человек? (см. врезку на стр. 17) К исследованиям в области искусственного интеллекта стали проявлять интерес и логики. В том же 1964 г. была опубликована работа ленинградца Сергея Маслова «Обратный метод установления выводимости в классическом исчислении предикатов», в которой впервые предлагался метод автоматического поиска доказательства теорем в исчислении предикатов. Годом позже в США появляется работа Дж. А. Робинсона (J. A. Robinson), посвященная несколько иному методу автоматического поиска доказательства теорем в исчислении предикатов первого порядка, который был назван методом резолюций и послужил отправной точкой для создания в 1971 г. Пролога (PROLOG) - нового языка программирования со встроенной процедурой логического вывода. В 1966 году Валентином Турчиным (СССР) был разработан язык рекурсивных функций Рефал, предназначенный для описания языков и разных видов их обработки. Хотя он и был задуман как алгоритмический метаязык, но для пользователя это был, подобно ЛИСПу и Прологу, язык обработки символьной информации. В конце 1960-х годов появились первые игровые программы, системы для элементарного анализа текста и решения некоторых математических задач (геометрии, интегрального исчисления). В возникавших при этом сложных переборных проблемах количество перебираемых вариантов резко снижалось благодаря применению всевозможных эвристик и «здравого смысла». Такой подход стали называть эвристическим программированием. Дальнейшее развитие эвристического программирования шло по пути усложнения алгоритмов и улучшения эвристик. Однако вскоре стало ясно, что существует некоторый предел, за которым никакое улучшение эвристик и усложнение алгоритма не повысит качества работы системы и, главное, не расширит ее возможностей. Программа, которая играет в шахматы, никогда не будет играть в шашки или карты. Постепенно исследователи стали понимать, что всем ранее созданным программам недостает самого важного - знаний в соответствующей области. Специалисты, решая задачи, достигают высоких результатов благодаря знаниям и опыту; если программы смогут обращаться к знаниям и применять их, то они тоже будут работать несравненно лучше. Это понимание, возникшее в начале 70-х годов, по существу, означало качественный скачок в работах по искусственному интеллекту. Основополагающие соображения на этот счет высказал в 1977 году на 5-й Объединенной конференции по искусственному интеллекту американский ученый Э. Фейгенбаум (E. Feigenbaum). Уже к середине 70-х годов появляются первые прикладные интеллектуальные системы, использующие различные способы представления знаний для решения задач - экспертные системы. Одной из первых была экспертная система DENDRAL, разработанная в Стэнфордском университете и предназначенная для порождения формул химических соединений на основе спектрального анализа. Система MYCIN предназначена для диагностики и лечения инфекционных заболеваний крови. Система PROSPECTOR прогнозирует места залегания полезных ископаемых. Имеются сведения о том, что с ее помощью были открыты месторождения молибдена, ценность которых превосходит сто миллионов долларов. Система оценки качества воды, реализованная на основе российской технологии SIMER + MIR, несколько лет назад помогла локализовать источник загрязнения Москвы-реки в районе Серебряного Бора, где были превышены предельно допустимые концентрации загрязняющих веществ. Система CASNET предназначена для диагностики и выбора стратегии лечения глаукомы. В настоящее время разработка и реализация экспертных систем выделилась в самостоятельную инженерную область. Научные же исследования сосредоточены в ряде направлений, часть которых перечислена ниже. Представление знаний и моделирование рассуждений Представление знаний (knowledge representation) - одно из наиболее сформировавшихся направлений искусственного интеллекта. Традиционно к нему относилась разработка формальных языков и программных средств для отображения и описания так называемых когнитивных структур 1. Сегодня к представлению знаний причисляют также исследования по дескриптивной логике, логикам пространства и времени, онтологиям. Пространственные логики позволяют описывать конфигурацию пространственных областей, объектов в пространстве; с их помощью изучаются также семейства пространственных отношений. В последнее время эта область, из-за тесной связи с прикладными задачами, становится доминирующей в исследованиях по представлению знаний. Например, для задач роботики важно уметь по изображению некоторой сцены восстановить ее вербальное (формальное) описание, дабы использовать его, например, для планирования действий робота. Объектами дескриптивной логики являются так называемые концепты (базовые структуры для описания объектов в экспертных системах) и связанные в единое целое множества концептов (агрегированные объекты). Дескриптивная логика вырабатывает методы работы с такими сложными концептами, технику рассуждений об их свойствах и выводимости на них. Дескриптивная логика может быть использована, кроме того, для построения объяснительной компоненты базы знаний. Наконец, онтологические исследования посвящены способам концептуализации знаний и методологическим соображениям о разработке инструментальных средств для анализа знаний. Различные способы представления знаний лежат в основе моделирования рассуждений, куда входят: моделирование рассуждений на основе прецедентов (case-based reasoning, CBR), аргументации или CBR Здесь главные проблемы - поиск алгоритмов адаптации, «фокусировка поиска» на использовании прошлого опыта, вывод, основанный на оценке сходства и технологии визуализации. Пусть заданы прецеденты как множество пар <СЛУЧАЙ, РЕШЕНИЕ>, множество зависимостей между различными атрибутами СЛУЧАЕВ и РЕШЕНИЙ, а также целевая проблема ЦЕЛЬ. Для возникающего нового случая требуется найти пару <НОВЫЙ СЛУЧАЙ, ИСКОМОЕ РЕШЕНИЕ>, которая решает целевую проблему. Алгоритмы для таких задач обычно основаны на сравнении прецедентов с новым случаем (в какой-либо метрике) с использованием зависимостей между атрибутами случаев и атрибутами решения. Такие зависимости могут задаваться человеком при построении базы случаев или обнаруживаться в базе случаев автоматически. При поиске решения для целевой проблемы выполняется адаптация уже имеющегося в базе прецедентов решения. Для этой адаптации и используются означенные зависимости. Важной проблемой CBR является проблема выбора подходящего прецедента. Естественно искать подходящий прецедент в той области пространства поиска, где находятся решения сходных проблем. Но как определить, какие именно решения считать сходными? Во врезке слева приведен пример, поясняющий применяемые подходы. Методы CBR уже применяются во множестве прикладных задач - в медицине, управлении проектами, для анализа и реорганизации среды, разработки товаров массового спроса с учетом предпочтений разных групп потребителей и т. д. Следует ожидать приложений методов CBR к задачам интеллектуального поиска информации, электронной коммерции (предложение товаров, создание виртуальных торговых агентств), планирования поведения в динамических средах, компоновки, конструирования, синтеза программ. Немонотонные модели рассуждений Сюда относятся исследования по автоэпистемическим логикам, логикам Мак-Дермота (D. McDermott), логике умолчаний (default logic), логике «отменяемых» (defeasible) рассуждений, логике программ, теоретико-аргументационой характеризации логик с отменами, характеризации логик с отношениями предпочтения, построению эквивалентных множеств формул для логик с очерчиванием (circumscription) и некоторые другие. Такого рода модели возникают при реализации индуктивных рассуждений, в задачах машинного обучения и ряде других. Типичная ситуация, в которой говорят о немонотонности, возникает в задачах моделирования рассуждений на основе индукции. Пусть некоторая гипотеза Н возникла на основе N положительных примеров (допустим, экспериментов). Однако никто не может дать гарантии, что в базе данных или в поле зрения алгоритма не окажется N+1-й пример, опровергающий гипотезу (или меняющий степень ее истинности). Если же это происходит, то ревизии должна быть подвергнута не только сама гипотеза Н, но и все ее следствия. Рассуждения с неопределенностью Сюда относится использование байесовского формализма в системах правил и сетевых моделях. Байесовские сети (bayesian networks) - это статистический метод обнаружения закономерностей в данных. Для этого используется первичная информация, содержащаяся либо в сетевых структурах, либо в базах данных. Под сетевыми структурами в этом случае понимается множество вершин и отношений на них, задаваемое с помощью ребер. Ребра интерпретируются как причинные связи. Всякое множество вершин Z, представляющее все пути между двумя заданными вершинами X и Y, соответствует условной зависимости между ними. Далее задается распределение вероятностей на множестве переменных, соответствующих вершинам графа, и проводится некая процедура «минимизации» сети, на которой мы останавливаться не будем. Полученная сеть называется байесовской. На таких сетях можно использовать так называемый байесовский вывод, то есть вычислять (с некоторой натяжкой) вероятности следствий событий по формулам теории вероятностей. Иногда рассматриваются так называемые гибридные байесовские сети, с вершинами которых связаны как дискретные, так и непрерывные переменные. Байесовские сети часто применяются для моделирования технических систем. 1 (обратно к тексту) - Структур человеческого сознания, отражающих представление личности о действительности.
|