Толковый словарь по искусственному интеллекту / Авторы-составители А.Н. Аверкин, М.Г. Гаазе-Рапопорт, Д.А. Поспелов. М.: Радио и связь, 1992. - 256 с.


Для облегчения работы со словарем он предваряется статьей, написанной М. Г. Гаазе-Рапопортом и Д. А. Поспеловым, в которой дается общая характеристика структуры исследований в области искусственного интеллекта, как она выглядит в настоящее время.

Материал статьи можно рассматривать как попытку системного анализа этого нового направления.

Более подробно проблемы искусственного интеллекта изложены в трех книгах справочника "Искусственный интеллект", выпущенного издательством "Радио и связь" в 1990 году.

Ниже приведено описание раздела: Структура исследований в области искусственного интеллекта.


Структура исследований в области искусственного интеллекта

М. Г. Гаазе-Рапопорт, Д.А. Поспелов

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

Первое - назовем его программно-прагматическим - занималось созданием программ, с помощью которых можно было решать те задачи, решение которых до этого считалось исключительно прерогативой человека (распознающие программы, простейшие игровые программы, программы для решения логических задач, поиска, классификации и т. п.).

Второе, которое можно назвать бионическим, интересовалось проблемами искусственного воспроизведения тех структур и процессов, которые характерны для живого человеческого мозга и которые лежат в основе процесса решения задач человеком. Это направление имеет четко выраженный фундаментальный характер, и его интенсивное развитие невозможно без одновременного глубокого изучения мозга нейрофизиологическими, морфологическими и психологическими методами.

Общую структуру исследований в искусственном интеллекте можно представить схемой, изображенной на рис. 1.
Fig. 1

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

Первый - нейробионический. В его основе лежат системы нейроподобных элементов, из которых создаются системы, способные воспроизводить некоторые интеллектуальные функции. К числу задач, которые, по-видимому, могут быть решены в рамках этого подхода, относится многоканальное (параллельное) распознавание сложных зрительных образов, обучение условным рефлексам и др.

Второй подход - структурно-эвристический. В его основе лежат знания о наблюдаемом поведении объекта, рассматриваемого как "черный" (скорее, "серый") ящик, и соображения о тех структурах (и их свойствах) мозга, которые могли бы обеспечить реализацию наблюдаемых форм поведения.

Наконец, третий подход, интенсивно развивающийся в последнее время, - гомеостатический. В этом случае мозг рассматривается как гомеостатическая система, представляющая собой совокупность противоборствующих (и сотрудничающих) подсистем, в результате функционирования которых обеспечивается нужное равновесие (устойчивость) всей системы в условиях постоянно изменяющихся воздействий среды. Гомеостатические модели подтверждают перспективность этого подхода. Однако в настоящее время еще не существует гомеостатических модулей, которые могли бы рассматриваться как универсальные элементы для создания интеллектуальных систем.

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

Fig. 2
В программно-прагматическом направлении также можно выделить три подхода.

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

Второй подход - системный или основанный на знаниях связан с представлением о том, что решение отдельных творческих задач не исчерпывает всей проблематики искусственного интеллекта. Естественный интеллект человека способен не только решать творческие задачи, но при необходимости обучаться тому или иному виду творческой деятельности. Поэтому и программы искусственного интеллекта должны быть ориентированы не только или не столько на решение конкретных интеллектуальных задач, сколько на создание средств, позволяющих автоматически строить программы решения интеллектуальных задач, когда в таких программах возникает необходимость. Этот подход в настоящее время является центральным в программно-прагматическом направлении.

Третий подход рассматривает проблемы создания интеллектуальных систем как часть общей теории программирования (как некоторый новый виток в этой теории). При этом подходе для составления интеллектуальных программ используются обычные программные средства, позволяющие писать нужные программы по описаниям задач на профессиональном естественном языке. Все метасредства, возникающие при этом на базе частичного анализа естественного интеллекта, рассматриваются здесь лишь с точки зрения создания интеллектуального программного обеспечения, т. е. комплекса средств, автоматизирующих деятельность самого программиста.

С точки зрения конечного результата в программно-прагматическом направлении выделяются четыре больших раздела (рис. 2).

Интеллектуальные программы разбиваются на несколько групп и подгрупп, определяемых типами задач, решаемых этими программами (рис. 3). Общим для игровых программ является широкое использование поисковых процедур и методов решения переборных задач, связанных с поиском и просмотром большого числа вариантов. Эти методы применяются при машинном решении игровых задач, в задачах выбора решений, при планировании целесообразной деятельности в интеллектуальных системах.

Fig. 3

Естественно-языковые программы, развитие которых началось с задач машинного (автоматического) перевода, используют результаты и методы искусственного интеллекта, методы общей лингвистики и формальной (структурной или математической) лингвистики. Это сочетание открыло широкие возможности для формального изучения естественного языка, автоматизации морфологического, синтаксического, лексического и во многом семантического анализа предложений на естественном языке, а также анализа связного текста.

Остальные группы программ имеют более конкретный характер. Заметим, что они в значительной степени связаны с формированием общих взглядов на природу творческих процессов и их моделирования. Эти исследования оказывают заметное влияние на те разделы искусственного интеллекта, в которых используется ряд психологических результатов при решении задач.

Работа со знаниями лежит в основе современного периода развития искусственного интеллекта. На рис. 4 показана структура этого направления. Всякая предметная (проблемная) область деятельности может быть описана в виде совокупности сведений о структуре этой области, основных ее характеристиках, процессах, протекающих в ней, а также о способах решения возникающих в ней задач. Все эти сведения образуют знания о предметной области. Для решения задач в данной предметной области необходимо собрать знания о ней и создать концептуальную модель этой области. Источниками знаний могут быть документы, статьи, книги, фотографии и многое другое.

Fig. 4

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

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

В связи с этой проблемой развивались не только традиционные методы обработки экспериментальных данных, но и новое направление, получившее название нечеткой математики. Нечеткая математика и ее методы оказали существенное влияние на многие области искусственного интеллекта, и в частности на весь комплекс проблем, связанный с представлением и переработкой качественной информации.

Когда инженер по знаниям получает знания из различных источников, он должен интегрировать их в некоторую взаимосвязанную и непротиворечивую систему знаний о предметной области. Проблема интеграции знаний пока не стоит столь остро, но уже ясно, что без се решения вряд ли будет возможно создать представление о предметной области, обладающее теми же богатыми нюансами, которое существует у специалистов.

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

Полученные от экспертов знания нужно оценить с точки зрения их соответствия ранее накопленным знаниям и формализовать для ввода в память системы. Кроме того, знания, полученные от различных экспертов, надо согласовать между собой. Нередки случаи, когда эти знания оказываются внешне несовместимыми и даже противоречивыми. Инженер по знаниям должен путем опроса экспертов устранить эти противоречия.

Следующая большая проблема - это представление знаний в памяти системы. Для этого разрабатываются разнообразные модели представления знаний. В настоящее время в интеллектуальных системах используются четыре основные модели знаний.

Первая модель, возможно, наиболее близка к тому, как представляются знания в текстах на естественном языке. В ее основе лежит идея о том, что вся необходимая информация может быть описана как совокупность троек вида (arb), где а и b- два объекта или понятия, а r - двоичное отношение между ними. Такая модель графически может представляться в виде сети, в которой вершинам соответствуют объекты или понятия, а дугам - отношения между ними. Дуги помечены именами соответствующих отношений. Эта модель носит название семантической сети.

Семантические сети в зависимости от характера отношений, допустимых в них, имеют различную природу. В ситуационном управлении эти отношения в основном описывали временные, пространственные и каузальные связи между объектами, а также результаты воздействий на объекты со стороны управляющей системы. В системах планирования и автоматического синтеза программ эти отношения являются связями типа "цель-средство" или "цель-подцель". В классифицирующих системах отношения передают связи по включению объемов понятий (типа "род-вид", "класс-элемент" и т.д.). Распространены и так называемые функциональные семантические сети, в которых дуги характеризуют связи вида "аргумент-функция". Такие сети используются в качестве моделей вычислительных процессов или моделей функционирования дискретных устройств.

Таким образом, семантические сети - модель широкого назначения. Теория семантических сетей еще не завершена, что привлекает к ним внимание специалистов, работающих в области искусственного интеллекта.

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

Фреймовые представления знаний в некотором смысле также являются видом семантических сетей, для перехода к которому надо удовлетворять ряд ограничений синтаксического характера. В искусственном интеллекте произошла трансформация смысла понятия "фрейм". Это понятие было введено М.Минским, который под фреймом объекта или явления понимал то его минимальное описание, которое содержит всю существенную информацию об этом объекте или явлении и обладает тем свойством, что удаление из описания любой его части приводит к потере существенной информации, без которой описание объекта или явления не может быть достаточным для их идентификации. Позже эта интерпретация понятия "фрейм" изменилась. Под фреймами стали понимать описания вида «Имя фрейма (Множество слотов)».Каждый слот есть пара вида (Имя слота. Значение слота). Допускается, чтобы слот сам был фреймом. Тогда в качестве значений слота выступает множество слотов. Для заполнения слотов могут быть использованы константы, переменные, любые допустимые выражения в выбранной модели знаний, ссылки на другие слоты и фреймы и т.п. Таким образом, фрейм представляет собой гибкую конструкцию, позволяющую отображать в памяти интеллектуальной системы разнообразные знания.

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

Перечисленные модели знаний возникли в искусственном интеллекте как бы насильственно. Они не опираются на аналоги когнитивных структур для представления знаний, которыми пользуются люди. Это связано с плохой изученностью форм представления знаний у человека. Соответствующий раздел психологии - когнитивная психология возник не без влияния исследований в области искусственного интеллекта. И хотя эта ветвь психологии быстро развивается, ее результаты, которые могли бы оказать влияние на создание новых моделей знаний, еще слишком скромны.

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

Среди этих процедур можно отметить процедуры пополнения знаний. Все человеческие знания, содержащиеся в текстах, принципиально неполны. Воспринимая тексты, мы как бы пополняем их за счет той информации, которая нам известна и которая имеет отношение к данному тексту (релевантна ему). Аналогичные процедуры должны происходить и в базах знаний. Новые знания, поступающие в них, должны вместе с теми сведениями, которые уже были ранее записаны в базу, сформировать расширение поступивших знаний. Среди этих процедур особое место занимают псевдофизические логики (времени, пространства, действий и т.д.), которые, опираясь на законы внешнего мира, пополняют поступающую в базы знаний информацию.

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

В процессе классификации часто происходит абстрагирование от отдельных элементов описаний, от отдельных фрагментов знаний об объектах или явлениях, появляются обобщенные знания. Обобщение может идти на несколько шагов, что приводит в конце концов к абстрактным знаниям, для которых нет прямого прообраза во внешнем мире. Манипулирование абстрактными знаниями повышает интеллектуальные возможности систем, делая эти манипуляции общими по своим свойствам и результатам.

Вывод на знаниях зависит от модели, которая используется для их представления. Если в качестве представления используются логические системы или продукции, то вывод на знаниях становится близок к стандартному логическому выводу. Это же происходит при представлении знаний в каузальной форме. Во всех этих случаях в интеллектуальных системах используются методы вывода, опирающиеся на идеи метода резолюций или на идеи обратного вывода Маслова (как в языке Пролог при каузальной форме представления).

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

Немонотонность вывода в открытых системах вызывает немалые трудности. В последнее десятилетие сторонники логических методов в искусственном интеллекте делают попытки построить новые логические системы, в рамках которых можно было бы обеспечить немонотонный вывод. Но на этом пути пока мало результатов. И дело не только в немонотонности вывода. По сути системы, с помощью которых представляются знания о предметных областях, не являются строго аксиоматическими, как классические логические исчисления. В последних аксиомы описывают извечные логические истины, верные для любых предметных областей. А в интеллектуальных системах каждая предметная область использует свои, специфические, верные только в ней утверждения. Поэтому и системы, которые возникают при таких условиях, следует называть квазиаксиоматическими. В таких системах вполне возможна смена исходных аксиом в процессе длительного вывода и, как следствие, изменение этого вывода.

И наконец, еще одна особенность вывода на знаниях - неполнота сведений о предметной области и протекающих в ней процессах, неточность входной информации, неполная уверенность в квазиаксиомах. А это означает, что выводы в интеллектуальных системах носят не абсолютно достоверный характер, как в традиционных логических системах, а приближенный, правдоподобный характер. Такие выводы требуют развитого аппарата вычисления оценок правдоподобия и методов оперирования ими. В настоящее время рождается новая теория вывода, в которую лишь как небольшая часть входит достоверный вывод.

В интеллектуальных системах специалисты стремятся отразить основные особенности человеческих рассуждений, опыт специалистов, которые обладают профессиональными умениями, пока не полностью доступными искусственным системам. Вывод - всего лишь одна из форм того, как человек приходит к нужным ему заключениям.

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

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

В основе интеллектуального программирования (рис. 5) лежит создание инструментария, ориентированного на поддержку разработки интеллектуальных программ и систем.
Fig. 5
Лишь небольшая часть языков программирования ориентирована на задачи искусственного интеллекта. Так, наиболее распространенный язык Лисп отражает ту точку зрения, что основой большинства интеллектуальных задач являются хорошо организованные перебор и поиск. Увеличение крена в область задач логического вывода породило язык Пролог.

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

Развитие методов работы со знаниями и форм представления знаний привело к появлению специальных языков представления знаний, например языков KL, KRL, FRL, ориентированных на фреймовое представление, и языка Пилот, в основе которого лежит продукционная модель знаний.

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

Своеобразным развитием систем автоматизации программирования являются инструментальные системы. Под инструментальными системами обычно понимают совокупность программных и частично аппаратных средств, предназначенных для относительно быстрого проектирования и создания разнообразных интеллектуальных систем. К числу подобных инструментальных средств относятся лингвистические процессоры, системы анализа и синтеза речи, базы данных, базы знаний, системы машинной графики и другие крупные модули, которые могут быть использованы в различных интеллектуальных системах.

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

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

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

Все виды интеллектуальных программных систем (рис. 6) представляют собой практический выход программно-прагматического направления и предназначены для решения прикладных задач.
Fig. 6
Общая структура интеллектуальной программной системы изображена на рис. 7. Система содержит 13 функциональных блоков, часть которых может быть объединена в функциональные группы. Одной такой группой является интеллектуальный интерфейс, обеспечивающий эффективную связь всей системы с пользователем и внешней средой.

В состав интеллектуального интерфейса могут входить блоки 1-4 и 13. Лингвистический процессор обеспечивает связь пользователя с системой на естественном (почти всегда ограниченном) языке: ввод и понимание системой текстов на нем и вывод текстов, вырабатываемых системой.
Fig. 7
Для голосового общения пользователя с системой используется система анализа и синтеза речи. Информация от внешней среды воспринимается системой с помощью сенсоров, представляющих собой аппаратно реализуемые чувствительные элементы. При этом зрительная информация перед поступлением в систему обрабатывается в системе зрительного восприятия. Если система имеет возможность воздействовать на внешнюю среду, то в состав интеллектуального интерфейса должен быть включен блок эффекторов. Система когнитивной графики позволяет пользователю воспринимать результаты работы системы в графической форме и общаться с ней на языке графики.

Таблица

table

Центральным блоком интеллектуальной системы является решатель - вычислительная система, состоящая из одной или нескольких ЭВМ (процессоров), связанная с базами данных и знаний, а также с остальными блоками системы. Целенаправленная работа системы обеспечивается системой планирования, хранящей априорно введенные цели, а также запоминающей новые цели, полученные с помощью системы обучения. Последняя участвует также в формировании новых знаний, возникающих в ходе анализа взаимодействия интеллектуальной системы с внешней средой. Группа блоков обоснования, включающих систему объяснения и систему доверия, служит для обоснования полученных системой решений (если пользователь интересуется этим) с привлечением информации, содержащейся в базе знаний.

Заметим, что все перечисленные блоки, за исключением блоков 4 и 5, могут быть реализованы как на специальных аппаратных средствах, так и в решателе с использованием его логико-вычислительных возможностей. Кроме того, в зависимости от степени развития и функциональных возможностей конкретных интеллектуальных систем в их структуру часть перечисленных блоков может не входить.

Для установления соответствия между конкретными функциональными структурами основных типов интеллектуальных систем, представленных на рис.6, и типовой схемой рис. 7 рассмотрим таблицу. В ней для каждого вида интеллектуальной системы показано, какие блоки в этот вид обязательно входят ( + ) и какие блоки не входят (-). Нулями отмечены блоки, которые могут входить или не входить в соответствующую систему в зависимости от характера решаемых задач и степени технического совершенства системы.

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