Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

Вопросы - Интеллектуальные системы - файл Методичка 1.doc


Вопросы - Интеллектуальные системы
скачать (198.5 kb.)

Доступные файлы (3):

Методичка 1.doc238kb.06.09.2001 13:00скачать
Методичка 2.doc295kb.19.10.2001 13:46скачать
Приложение А.doc31kb.22.12.2005 20:30скачать

содержание
Загрузка...

Методичка 1.doc

Реклама MarketGid:
Загрузка...

1. Введение

1.1. Краткая история


Идея создания искусственного подобия человека для решения сложных задач и моделирования человеческого разума витала в воздухе еще в древнейшие времена. Так, в древнем Египте была создана «оживающая» механическая статуя бога Амона. У Гомера в «Илиаде» бог Гефест ковал человекоподобные существа-автоматы. В литературе эта идея обыгрывалась многократно: от Галатеи Пигмалиона до Буратино папы Карло. Однако родоначальником искусственного интеллекта считается средневековый испанский философ, математик и поэт Раймонд Луллий, который еще в XIII веке попытался создать механическую машину для решения различных задач, на основе разработанной им всеобщей классификации понятий.

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

Термин «искусственный интеллект» — ИИ — (AI — artificial intelligence) был предложен в 1956 г. на семинаре с аналогичным названием в Дартсмутском колледже (США). Семинар был посвящен разработке методов решения логических, а не вычислительных задач. В английском языке данное словосочетание не имеет той слегка фантастической антропоморфной окраски, которую оно приобрело в довольно неудачном русском переводе. Слово intelligence означает «умение рассуждать разумно», а вовсе не «интеллект», для которого есть термин intellect.

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

Вскоре после признания искусственного интеллекта отдельной областью науки произошло разделение его на два направления: нейрокибернетика и «кибернетика черного ящика». Эти направления развиваются практически независимо, существенно различаясь как в методологии, так и в технологии. И только в настоящее время стали заметны тенденции к объединению этих частей вновь в единое целое.
^

1.2. Зарождение нейрокибернетики


Основную идею этого направления можно сформулировать следующим образом:

Единственный объект, способный мыслить, — это человеческий мозг. Поэтому лю­бое «мыслящее» устройство должно каким-то образом воспроизводить ею структуру.

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

Первые нейросети были созданы Розенблаттом и Мак-Каллоком в 1956-1965 гг. Это были попытки создать системы, моделирующие человеческий глаз и его взаимодействие с мозгом. Устройство, созданное ими тогда, получило название персептрона (perceptron). Оно умело различать буквы алфавита, но было чувствительно к их написанию. Постепенно в 70-80 годах количество работ по этому направлению искусственного интеллекта стало снижаться. Слишком неутешительны были первые результаты. Авторы объясняли неудачи малой памятью и низким быстродействием существующих в то время компьютеров.

Однако в 1980-х в Японии в рамках проекта «ЭВМ V поколения» был создан первый нейрокомпыотер, или компьютер VI поколения. К этому времени ограничения по памяти и быстродействию были практически сняты. Появились транспьютеры — параллельные компьютеры с большим количеством процессоров.

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

Можно выделить 3 подхода к созданию нейросетей:

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

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

3. Гибридный — комбинация первых двух. Часть вычислений выполняют специальные платы расширения (сопроцессоры), часть — программные средства.

Подробнее см. работы [Соколов, Вейткявичус, 1989; Амамия, Танака, 1993].
^

1.3. От кибернетики «черного ящика» к ИИ


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

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

Это направление искусственного интеллекта было ориентировано на поиски алгоритмов решения интеллектуальных задач на существующих моделях компьютеров. Существенный вклад в становление новой науки внесли ее «пионеры»:

Маккарти (автор первого языка программирования для задач ИИ — ЛИСПа), Минский (автор идеи фрейма и фреймовой модели представления знаний), Ньюэлл, Саймон, Шоу, Хант и другие.

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

1. В конце 50-х годов родилась модель лабиринтного поиска. Этот подход представляет задачу как некоторое пространство состояний в форме графа, и в этом графе проводится поиск оптимального пути от входных данных к результирующим. Была проделана большая работа по разработке этой модели, но для решения практических задач эта идея не нашла широкого применения. В первых учебниках по искусственному интеллекту [Хант, 1986; Эндрю, 1985] описаны эти программы — они играют в игру «15», собирают «Ханойскую башню», играют в шашки и шахматы.

2. Начало 60-х — это эпоха эвристического программирования. Эвристика — правило, теоретически не обоснованное, которое позволяет сократить количество переборов в пространстве поиска. Эвристическое программирование — разработка стратегии действий на основе известных, заранее заданных эвристик [Александров, 1975].

3. В 1963-1970 гг. к решению задач стали подключать методы математической логики. Робинсон разработал метод резолюций, который позволяет автоматически доказывать теоремы при наличии набора исходных аксиом. Примерно в это же время выдающийся отечественный математик Ю. С. Маслов предложил так называемый обратный вывод, впоследствии названный его именем, решающий аналогичную задачу другим способом [Маслов, 1983]. На основе метода резолюций француз Альбер Кольмероэ в 1973 г. создает язык логического программирования Пролог. Большой резонанс имела программа «Логик-теоретик», созданная Ньюэлом, Саймоном и Шоу, которая доказывала школьные теоремы. Однако большинство реальных задач не сводится к набору аксиом, и человек, решая производственные задачи, не использует классическую логику, поэтому логические модели при всех своих преимуществах имеют существенные ограничения по классам решаемых задач.

4. История искусственного интеллекта полна драматических событий, одним из которых стал в 1973 г. так называемый «доклад Лайтхилла», который был подготовлен в Великобритании по заказу Британского совета научных исследова­ний. Известный математик Д. Лайтхилл, никак с ИИ профессионально не связанный, подготовил обзор состояния дел в области ИИ. В докладе были признаны определенные достижения в области ИИ, однако уровень их определялся как разочаровывающий, и общая оценка была отрицательная с позиций практической значимости. Этот отчет отбросил европейских исследователей примерно на 5 лет назад, так как финансирование ИИ существенно сократилось.

5. Примерно в это же время существенный прорыв в развитии практических приложений искусственного интеллекта произошел в США, когда к середине 1970-х на смену поискам универсального алгоритма мышления пришла идея моделировать конкретные знания специалистов-экспертов. В США появились первые коммерческие системы, основанные на знаниях, или экспертные системы (ЭС). Стал применяться новый подход к решению задач искусственного интеллекта — представление знаний. Созданы MYCIN и DENDRAL [Shortliffe, 1976; Buchanan, Feigenbaum, 1978], ставшие уже классическими, две первые экспертные системы для медицины и химии. Существенный финансовый вклад вносит Пентагон, предлагая базировать новую программу министерства обороны США (Strategic Computer Initiative — SCI) на принципах ИИ. Уже вдогонку упущенных возможностей в начале 80-х объявлена глобальная программа развития новых технологий ESPRIT (Европейский Союз), в которую включена проблематика искусственного интеллекта.

6. В ответ на успехи США в конце 70-х в гонку включается Япония, объявив о начале проекта машин V поколения, основанных на знаниях. Проект был рассчитан на 10 лет и объединял лучших молодых специалистов (в возрасте до 35 лет) крупнейших японских компьютерных корпораций. Для этих специалистов был создан специально новый институт ICOT, и они получили пол­ную свободу действий, правда, без права публикации предварительных результатов. В результате они создали достаточно громоздкий и дорогой символьный процессор, программно реализующий ПРОЛОГо-подобный язык, не получивший широкого признания. Однако положительный эффект этого проекта был очевиден. В Японии появилась значительная группа высококвалифицированных специалистов в области ИИ, которая добилась существенных результатов в различных прикладных задачах. К середине 90-х японская ассоциация ИИ насчитывает 40 тыс. человек.

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

1.4. История искусственного интеллекта в России


В 1954 г. в МГУ начал свою работу семинар «Автоматы и мышление» под руководством академика Ляпунова А. А. (1911-1973), одного из основателей российской кибернетики. В этом семинаре принимали участие физиологи, лингвисты, психологи, математики. Принято считать, что именно в это время родился искусственный интеллект в России. Как и за рубежом, выделились два основных направления — нейрокибернетики и кибернетики «черного ящика».

В 1954-1964 гг. создаются отдельные программы и проводятся исследования в области поиска решения логических задач. В Ленинграде (ЛОМИ — Ленинградское отделение математического института им. Стеклова) создается программа АЛПЕВ ЛОМИ, автоматически доказывающая теоремы. Она основана на оригинальном обратном выводе Маслова, аналогичном методу резолюций Робинсона. Среди наиболее значимых результатов, полученных отечественными учеными в 60-е годы, следует отметить алгоритм «Кора» М. М. Бонгарда, моделирующий деятельность человеческого мозга при распознавании образов. Большой вклад в становление российской школы ИИ внесли выдающиеся ученые ЦвтлинМ.Л., Пушкин В. Н., Гаврилов М. А, чьи ученики и явились пионерами этой науки в России (например, знаменитая Гавриловская школа).

В 1965-1980 гг. происходит рождение нового направления — ситуационного направления (соответствует представлению знаний, в западной терминологии). Основателем этой научной школы стал проф. Поспелов Д. А. Были разработан специальные модели представления ситуаций — представления знаний [Пост лов,1986].

При том что отношение к новым наукам в советской России всегда было настороженное, наука с таким «вызывающим» названием тоже не избежала этой участи была встречена в Академии наук в штыки [Поспелов, 1997]. К счастью, даже среди членов Академии наук СССР нашлись люди, не испугавшиеся столь необычного словосочетания в качестве названия научного направления. Двое из них сыграли огромную роль в борьбе за признание ИИ в нашей стране. Это были академик А. И. Берг и Г. С. Поспелов.

Только в 1974 году при Комитете по системному анализу при президиуме АН СССР был создан Научный совет по проблеме «Искусственный интеллект», его возглавил Г. С. Поспелов, его заместителями были избраны Д. А. Поспелов i Л. И. Микулич. В состав совета входили на разных этапах М. Г. Гаазе-Рапопорт 10. И. Журавлев, Л. Т. Кузин, А. С. Нариньяни, Д. Е. Охоцимский, А. И. Поло винкин, О. К. Тихомиров, В. В. Чавчанидзе.

По инициативе Совета было организовано пять комплексных научных проектов которые были возглавлены ведущими специалистами в данной области. Проекты объединяли исследования в различных коллективах страны: «Диалог» (работы по пониманию естественного языка, руководители А. П, Ершов, А. С. Наринь­яни), «Ситуация» (ситуационное управление, Д. А. Поспелов), «Банк» (банки данных, Л. Т. Кузин), «Конструктор» (поисковое конструирование, А. И. Поло-винкин), «Интеллект робота» (Д. Е. Охоцимский). В 1980-1990 гг. проводятся активные исследования в области представления зна­ний, разрабатываются языки представления знаний, экспертные системы (более 300). В Московском университете создается язык РЕФАЛ. В 1988 г. создается АИИ — Ассоциация искусственного интеллекта. Ее членами являются более 300 исследователей. Президентом Ассоциации единогласно из­бирается Д. А. Поспелов, выдающийся ученый, чей вклад в развитие ИИ в России трудно переоценить. Крупнейшие центры — в Москве, Петербурге, Пе-реславле-Залесском, Новосибирске. В научный совет Ассоциации входят ведущие исследователи в области ИИ — В. П. Гладун, В. И. Городецкий, Г. С. Осипов, Э. В. Попов, В. Л. Стефанюк, В. Ф. Хорошевский, В. К. Финн, Г. С. Цейтин, А. С. Эрлих и другие ученые. В рамках Ассоциации проводится большое количество исследований, организуются школы для молодых специалистов, семинары, симпозиумы, раз в два года собираются объединенные конференции, издается научный журнал.

Уровень теоретических исследований по искусственному интеллекту в России ничуть не ниже мирового. К сожалению, начиная с 80-х гг. на прикладных работах начинает сказываться постепенное отставание в технологии. На данный момент отставание в области разработки промышленных интеллектуальных систем составляет порядка 3-5 лет.
^

1.5. Основные области применения систем искусственного интеллекта

1.5.1. Разработка естественно-языковых интерфейсов и машинный перевод (natural language processing)


Начиная с 50-х годов одной из популярных тем исследований в области ИИ яв­ляется компьютерная лингвистика, и, в частности, машинный перевод (МП). Идея машинного перевода оказалась совсем не так проста, как казалось первым исследователям и разработчикам.

Уже первая программа в области естественно-языковых (ЕЯ) интерфейсов — пе­реводчик с английского на русский язык — продемонстрировала неэффективность первоначального подхода, основанного на пословном переводе. Однако еще долго разработчики пытались создать программы на основе морфологического анали­за. Неплодотворность такого подхода связана с очевидным фактом: человек мо­жет перевести текст только на основе понимания его смысла и в контексте пред­шествующей информации, или контекста. Иначе появляются переводы в стиле «Моя дорогая Маша — my expensive Masha». В дальнейшем системы МП услож­нялись и в настоящее время используется несколько более сложных моделей:

• применение так называемых «языков-посредников» или языков смысла, в ре­зультате происходит дополнительная трансляция «исходный язык оригина­ла — язык смысла — язык перевода»;

• ассоциативный поиск аналогичных фрагментов текста и их переводов в специ­альных текстовых репозиториях или базах данных;

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

1. Морфологический анализ — анализ слов в тексте.

2. Синтаксический анализ — разбор состава предложений и грамматических связей между словами.

3. Семантический анализ — анализ смысла составных частей каждого предло­жения на основе некоторой предметно-ориентированной базы знаний.

4. Прагматический анализ — анализ смысла предложений в реальном контек­сте на основе собственной базы знаний. Синтез ЕЯ-сообщений включает аналогичные этапы, но несколько в другом по­рядке. Подробнее см. работы [Попов, 1982; Мальковский, 1985].
^

1.5.2. Интеллектуальные роботы (robotics)


Идея создания роботов далеко не нова. Само слово «робот» появилось в 20-х годах, как производное от чешского «робота» — тяжелой грязной работы. Его автор — чешский писатель Карел Чапек, описавший роботов в своем рассказе «Р.У.Р». Роботы — это электротехнические устройства, предназначенные для автоматизации че­ловеческого труда.

Можно условно выделить несколько поколений в истории создания и развития робототехники:

I поколение. Роботы с жесткой схемой управления. Практически все современ­ные промышленные роботы принадлежат к первому поколению. Фактически это программируемые манипуляторы.

II поколение. Адаптивные роботы с сенсорными устройствами. Есть образцы та­ких роботов, но в промышленности они пока используются мало.

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

В настоящее время в мире изготавливается более 60 000 роботов в год. Фактиче­ски робототехника сегодня — это инженерная наука, не отвергающая технологий ИИ, но не готовая пока к их внедрению в силу различных причин.
^

1.5.3. Обучение и самообучение (machine learning)


Активно развивающаяся область искусственного интеллекта. Включает модели, методы и алгоритмы, ориентированные на автоматическое накопление и фор­мирование знаний на основе анализа и обобщения данных [Гаек, Гавранек, 1983;

Гладун, 1994; Финн, 1991]. Включает обучение по примерам (или индуктивное), а также традиционные подходы из теории распознавания образов.

В последние годы к этому направлению тесно примыкают стремительно разви­вающиеся системы data mining — анализа данных и knowledge discovery — поис­ка закономерностей в базах данных.
^

1.5.4. Распознавание образов (pattern recognition)


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

1.5.5. Новые архитектуры компьютеров (new hardware platforms and architectures)


Самые современные процессоры сегодня основаны на традиционной последова­тельной архитектуре фон Неймана, используемой еще в компьютерах первых поколений. Эта архитектура крайне неэффективна для символьной обработки. Поэтому усилия многих научных коллективов и фирм уже десятки лет нацелены на разработку аппаратных архитектур, предназначенных для обработки сим­вольных и логических данных. Создаются Пролог- и Лисп-машины, компью­теры V и VI поколений. Последние разработки посвящены компьютерам баз данных, параллельным и векторным компьютерам [Амамия, Танака, 1993].

И хотя удачные промышленные решения существуют, высокая стоимость, недо­статочное программное оснащение и аппаратная несовместимость с традицион­ными компьютерами существенно тормозят широкое использование новых архи­тектур.
^

1.5.6. Игры и машинное творчество


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

Кроме того, это направление охватывает сочинение компьютером музыки [Зари-пов, 1983], стихов, сказок [Справочник по ИИ, 1986] и даже афоризмов [Любич, 1998]. Основным методом подобного «творчества» является метод пермутаций (перестановок) плюс использование некоторых баз знаний и данных, содержа­щих результаты исследований по структурам текстов, рифм, сценариям и т. п.
^

1.5.7. Другие направления


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

• генетические алгоритмы;

• когнитивное моделирование;

• интеллектуальные интерфейсы;

• распознавание и синтез речи;

• дедуктивные модели;

• многоагёнтные системы;

• онтологии;

• менеджмент знаний;

• логический вывод;

• формальные модели;

• мягкие вычисления и многое другое.
^

2. Назначение ЭС


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

Знания – это информация, на которую ссылаются в процессе логического вывода.

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

• технология экспертных систем существенно расширяет круг практически значимых задач, решаемых на компьютерах, решение ко­торых приносит значительный экономический эффект,

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

• объединение технологии ЭС с технологией традиционного про­граммирования добавляет новые качества к программным продуктам за счет обеспечения динамичной модификации приложений пользо­вателем, а не программистом, большей "прозрачности приложения (например, знания хранятся на ограниченном ЕЯ, что не требует ком­ментариев к знаниям, упрощает обучение и сопровождение), лучшей графики, интерфейса и взаимодействия

По мнению ведущих специалистов, в недалекой перспективе ЭС найдут следующее применение

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

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

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

Коммерческие успехи к фирмам-разработчикам систем ис­кусственного интеллекта (СИИ) пришли не сразу. На протяжении 1960 - 1985 гг. успехи ИИ касались в основном исследовательских разработок, которые демонстрировали пригодность СИИ для прак­тического использования. Начиная примерно с 1985 г. (в массовом масштабе с 1988 - 1990 гг.), в первую очередь ЭС, а в последние годы системы, воспринимающие естественный язык (ЕЯ-системы), и нейронные сети (НС) стали активно использоваться в коммерческих при­ложениях.
^

3 Формальные основы ЭС


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

Система продукций Поста задается своим алфавитом С= {с , , с}

и системой базисных продукций

х, W -> Wy, (i=l 1)

где Xi yi - слова в алфавите С

Пусть некоторое слово Y начинается словом х. Применить к Y продукцию х, W ->Wy. - это значит вычеркнуть из Y начальный отрезок х, и затем к оставшемуся слову приписать слово yi Например, применив к слову аcа продукцию ab W —> We получим слово ас

Каждая система продукций понимается как формальная система с правилами вывода pi (i = 1, , 1), где pi (F,Y) считается истинным (применимым), если слово Y получается из F при помощи продук­ции Xi W -> Wy,

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

Психологические исследования процессов принятия решений человеком показали, что, рассуждая, человек использует правила, аналогичные продукциям, т.е. правила вида "условие-»действие". А.Ньюэлл [12] предложил использовать продукционные системы для моделирования на ЭВМ процесса принятия решений. Формализуя предложения Ньюэлла, определим продукционную систему (PS) сле­дующим образом:

PS = <R, В, 1>,

где R - рабочая память системы (называемая также базой данных), содержащая текущие данные (элементы рабочей памяти);

В - база знаний, содержащая множество продукций (правил вида:"условие -> действие");

I - интерпретатор (решатель), реализующий процесс вывода, который в цикле выполняет следующие действия: определяет множество озна­чиваний, т.е. множество пар: {правило (pi), набор текущих данных (aj), на котором это правило удовлетворяется}; выполняет определенные означивания, производя изменения в рабочей памяти.

Интерпретатор формально может быть представлен четверкой:

I=(V,S,K,W),

где V - процесс выбора из В и из R подмножества активных продукций Bv и подмножества активных данных Rv соответственно, которые будут использованы в очередном цикле работы интерпретатора. Механизм выбора может быть тривиальным (на каждом цикле выбираются все правила и все данные) или более сложным [4] для того, чтобы устра­нить из рассмотрения те правила, условия которых заведомо не удо­влетворяются данными рабочей памяти или малополезны. В услож­ненных системах механизм выбора может использовать иерархию правил, метаправила или сложные схемы управления, подобные сетям Петри [1];

S - процесс сопоставления, определяющий множество означиваний, т.е. множество пар: правило (pi) - данные (di), где pi e Р», {di} с Rv, причем каждое р. применимо к элементам множества {di} (будем также говорить, что "pi удовлетворяется на элементах множества {di}"). Операция сопоставления может требовать много времени, так как в общем случае влечет за собой означивание многих переменных;

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

W - процесс, осуществляющий выполнение выбранного означенного правила (т. e. выполнение действий, указанных в правой части правила). Результатом выполнения является модификация данных в R или опе­рация ввода-вывода.

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

Причины успешного практического использования экспертных систем состоят в том, что при их построении были учтены уроки предшествующих исследований в области искусственного интеллекта. Сформулируем эти уроки в виде трех принципов (два из них впервые высказаны E. Фейгенбаумом [8]).

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

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

3. Учитывая неформализованность решаемых задач и эвристический, личностный характер используемых знаний, пользователь (эксперт) должен иметь возможность непосредственного взаимодействия с экспертной системой в виде диалога.

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

Третий принцип предъявляет к системе следующие требования:

• способность вести диалог о решаемой задаче на языке, удобном

пользователю (эксперту), и, в частности, приобретать в ходе диалога

новые знания;

• способность при решении задачи следовать линии рассуждений понятной пользователю (эксперту);

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

4 Основные направления ИИ


Выделяют следующие основные направления в искусственном ин­теллекте (ИИ):

• экспертные системы; в последние годы для обозначения ЭС часто используют термин "системы, основанные на знаниях" (СОЗ);

• нейронные сети (НС);

• естественно-языковые системы (ЕЯ-системы).

Объективной оценкой практической значимости ИИ является объем продаж продуктов ИИ за год. Стоимость произведенных про­дуктов ИИ в мире в 1995 г. составляла примерно 1,1 млрд. дол.; из них 700 млн дол. приходились на долю США [7].

Средства ИИ можно разделить на системы ИИ (приложения) и на инструментальные средства (ИС), предназначенные для автоматиза­ции всех этапов существования приложения. В 1995 г. в общем объеме продаж США доля приложений ИИ составила примерно 25 млн дол., а доля ИС - 275 млн дол. При этом ИС по направлениям ИИ распределились так: СОЗ - 196 млн дол., НС - 30 млн дол., ЕЯ-системы - 38 млн дол., "размытые" (fuzzy) логики - 5,5 млн дол., из­влечение знаний - 5 млн дол. В 1995 г. объем продаж ИС составил 275 млн дол., демонстрируя устойчивый рост [5, 6, 7]. Распределение объ­ема продаж по направлениям ИИ в 1994 и 1995 гг. представлено рис.2.1.

Анализируя тенденции в целом, следует отметить устойчивый рост продаж ИС искусственного интеллекта, доминирующую роль ИС для создания СОЗ (более 70% от общего объема) и выделение в качестве новых направлений ИИ нечетких логик, средств для извлечения зна­ний и генетических алгоритмов.
^

5 Состояние работ в области ИИ.


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

Сейчас прикладные интеллектуальные системы используются в де­сятках тысяч приложении. А годовой доход от продаж программных и аппарат­ных средств искусственного интеллекта еще в 1989 г. в США составлял 870 млн долларов, а в 1990 г. — 1,1 млрд долларов [Попов, 1996]. В дальнейшем почти тридцатипроцентный прирост дохода сменился более плавным наращиванием темпов (по материалам [Поспелов, 1997; Хорошевский, 1997; Попов, 1996;

Walker, Miller, 1987; Tuthill, 1994, Durkin, 1998]).

На рис. 1.9 отражены различные аспекты состояния рынка искусственного интел­лекта; инвестиции в разработку в области ИИ (США, Европа, Япония) (рис. 1.9, а);

доля систем ИИ в информатике (программном обеспечении) (рис. 1.9, б); доходы от продаж традиционных языков программирования (рис. 1.9, о); инвестиции только в программное обеспечение (США) (рис. 1.9, г); инвестиции в аппаратное обеспечение (США) (рис. 1.9, Э); структура рынка ЭС (США, 1993) (рис. 1.9, е).





Наиболее распространенным видом ИС являются экспертные системы.
^

6 Состояние работ в области экспертных систем.


ЭС эффективны лишь в специфических «экспертных» областях, где важен эмпи­рический опыт специалистов.

Только в США ежегодный доход от продаж инструментальных средств разработ­ки ЭС составлял в начале 90-х годов 300-400 млн долларов, а от применения ЭС — 80-90 млн долларов [Попов, 1996]. Ежегодно крупные фирмы разрабаты­вают десятки ЭС типа «in-house» для внутреннего пользования. Эти системы ин­тегрируют опыт специалистов компании по ключевым и стратегически важным технологиям. В начале 90-х гг. появилась новая наука — «менеджмент знаний», ориентированная на методы обработки и управления корпоративными знаниями.

Сейчас легче назвать области, где еще нет ЭС, чем те, где они уже применяются. Уже в 1987 г. опрос пользователей, проведенный журналом «Intelligent Technologies» (США), показал, что примерно:

• 25 % пользователей используют ЭС;

• 25 % собираются приобрести ЭС в ближайшие 2-3 года;

• 50 % предпочитают провести исследование об эффективности их использова­ния.

Наибольшие трудности в разработке ЭС сегодня вызывает не процесс машинной реализации систем, а домашинный этап анализа и проектирования базы знаний.
^

7 Формализованные и неформализованные знания


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

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

Традиционное программирование в качестве основы для разработки програм­мы использует алгоритм, т. е. формализованное знание. Поэтому до недавнего времени считалось, что ЭВМ не приспособлены для решения неформализо­ванных задач. Расширение сферы использования ЭВМ показало, что неформали­зованные задачи составляют очень важный класс задач, вероятно, значительно больший, чем класс формализованных задач. Неумение решать неформализо­ванные задачи сдерживает внедрение ЭВМ в описательные науки. По мнению академика Дородницына [Дородницын, 1985], основной задачей информатики является внедрение ее методов в описательные науки и дисциплины. На основании этого можно утверждать, что исследования в области ЭС занимают значительное место в информатике.
^

8 Признаки неформализованных задач


Ньюэлл [Newell, 1969] предложил относить к неформализованным задачам те, которые обладают одной или несколькими из следующих особенностей:

алгоритмическое решение задачи неизвестно (хотя, возможно, и существует) или не может быть использовано из-за ограниченности ресурсов ЭВМ (времени,

памяти);

задача не может быть определена в числовой форме (требуется символьное

представление);

цели задачи не могут быть выражены в терминах точно определенной це­левой функции.

Как правило, неформализованные задачи обладают неполнотой, ошибочно­стью, неоднозначностью и (или) противоречивостью знаний (как данных, так и

используемых правил преобразования).

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

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

ясность полученных решений, т. е. система «осознает» в терминах пользова­теля, как она получила решение;

способность анализа и объяснения своих действий и знаний;

способность приобретения новых знаний от пользователя-эксперта, не знающего программирования, и изменения в соответствии с ними своего поведения;

обеспечение «дружественного», как правило, естественно-языкового (ЕЯ) интерфейса с пользователем.
^

9.Классификация ЭС


К
ласс ЭС сегодня объединяет несколько тысяч различных программных комп­лексов, которые можно классифицировать по различным критериям. Полезными могут оказаться классификации, представленные на рис. 2.2.
^

9.1. Классификация по решаемой задаче


Рассмотрим указанные на рисунке типы задач подробнее.

• Интерпретация данных. Это одна из традиционных задач для экспертных сис­тем. Под интерпретацией понимается процесс определения смысла данных, результаты которого должны быть согласованными и корректными. Обычно предусматривается многовариантный анализ данных. Все примеры далее из работ [Попов и др., (ред.), 1990; Соловьев, Соловьева, 1989; Хейес-Рот и др., 1987].

4 Обнаружение и идентификация различных типов океанских судов по ре­зультатам аэрокосмического сканирования — SIAP;

• определение основных свойств личности по результатам психодиагности­ческого тестирования в системах АВТАНТЕСТ и МИКРОЛЮШЕР и др.

• Диагностика. Под диагностикой понимается процесс соотнесения объекта с некоторым классом объектов и/или обнаружение неисправности в некоторой системе. Неисправность — это отклонение от нормы. Такая трактовка поз­воляет с единых теоретических позиций рассматривать и неисправность обо­рудования в технических системах, и заболевания живых организмов, и все­возможные природные аномалии. Важной спецификой является здесь необходимость понимания функциональной структуры («анатомии») ди­агностирующей системы.

» Диагностика и терапия сужения коронарных сосудов — ANGY;

• диагностика ошибок в аппаратуре и математическом обеспечении ЭВМ — система CRIB и др.

» Мониторинг. Основная задача мониторинга — непрерывная интерпретация данных в реальном масштабе времени и сигнализация о выходе тех или иных параметров за допустимые пределы. Главные проблемы — «пропуск» тревож­ной ситуации и инверсная задача «ложного» срабатывания. Сложность этих проблем в размытости симптомов тревожных ситуаций и необходимость уче­та временного контекста.

• Контроль за работой электростанций СПРИНТ, помощь диспетчерам атом­ного реактора — REACTOR;

• контроль аварийных датчиков на химическом заводе — FALCON и др.

в Проектирование. Проектирование состоит в подготовке спецификаций на со­здание «объектов» с заранее определенными свойствами. Под спецификацией понимается весь набор необходимых документов — чертеж, пояснительная за­писка и т. д. Основные проблемы здесь — получение четкого структурного описания знаний об объекте и проблема «следа». Для организации эффектив­ного проектирования и в еще большей степени перепроектирования необхо­димо формировать не только сами проектные решения, но и мотивы их приня­тия. Таким образом, в задачах проектирования тесно связываются два основ­ных процесса, выполняемых в рамках соответствующей ЭС: процесс вывода решения и процесс объяснения.

• Проектирование конфигураций ЭВМ VAX — 11/780 в системе XCON (или R1), проектирование БИС - CADHELP;

» синтез электрических цепей — SYN и др.

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

* Предсказание погоды — система WILLARD;

* оценки будущего урожая — PLANT;

* прогнозы в экономике — ECON и др.

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

* Планирование поведения робота — STRIPS;

» планирование промышленных заказов — ISIS;

* планирование эксперимента — MOLGEN и др.

• Обучение. Под обучением понимается использование компьютера для обуче­ния какой-то дисциплине или предмету. Системы обучения диагностируют ошибки при изучении какой-либо дисциплины с помощью ЭВМ и подсказы­вают правильные решения. Они аккумулируют знания о гипотетическом «ученике» и его характерных ошибках, затем в работе они способны диагнос­тировать слабости в познаниях обучаемых и находить соответствующие сред­ства для их ликвидации. Кроме того, они планируют акт общения с учеником в зависимости от успехов ученика с целью передачи знаний.

* Обучение языку программирования ЛИСП в системе «Учитель ЛИСПа»;

» система PROUST — обучение языку Паскаль и др.

• Управление. Под управлением понимается функция организованной системы, поддерживающая определенный режим деятельности. Такого рода ЭС осуще­ствляют управление поведением сложных систем в соответствии с заданными спецификациями.

» Помощь в управлении газовой котельной — GAS;

* управление системой календарного планирования Project Assistant и др.

• Поддержка принятия решений. Поддержка принятия решения — это совокуп­ность процедур, обеспечивающая лицо, принимающее решения, необходимой информацией и рекомендациями, облегчающими процесс принятия решения. Эти ЭС помогают специалистам выбрать и/или сформировать нужную аль­тернативу среди множества выборов при принятии ответственных решений.

Выбор стратегии выхода фирмы из кризисной ситуации — CRYSIS;

• помощь в выборе страховой компании или инвестора — CHOICE и др.

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

9.2. Классификация по связи с реальным временем


• Статические ЭС разрабатываются в предметных областях, в которых база зна­ний и интерпретируемые данные не меняются во времени. Они стабильны.

Пример

Диагностика неисправностей в автомобиле.

• Квазидинамические ЭС интерпретируют ситуацию, которая меняется с некото­рым фиксированным интервалом времени.

Пример

Микробиологические ЭС, в которых снимаются лабораторные измерения с технологи­ческого процесса один раз в 4-5 часов (производство лизина, например) и анализиру­ется динамика полученных показателей по отношению к предыдущему измерению.

• Динамические ЭС работают в сопряжении с датчиками объектов в режиме ре­ального времени с непрерывной интерпретацией поступающих в систему дан­ных.

Примеры

Управление гибкими производственными комплексами, мониторинг в реанимацион­ных палатах;

программный инструментарий для разработки динамических систем — G2 [Попов, 1996].
^

9.3. Классификация по типу ЭВМ


На сегодняшний день существуют:

• ЭС для уникальных стратегически важных задач на суперЭВМ (Эльбрус, CRAY, CONVEX и др.);

• ЭС на ЭВМ средней производительности (типа ЕС ЭВМ, mainframe);

• ЭС на символьных процессорах и рабочих станциях (SUN, Silicon Graphics, APOLLO);

• ЭС на мини- и супермин-ЭВМ (VAX, micro-VAX и др.);

• ЭС на персональных компьютерах (IBM PC, MAC II и т. п.).
^

9.4. Классификация по степени интеграции с другими программами


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

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

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

10 Архитектура статических и динамических ЭС


Типичная ЭС состоит из следующих основных ком­понентов (рис. 1.1);

решателя (интерпретатора);

рабочей памяти (РП), называемой также базой данных (БД);

базы знаний (БЗ);

компонентов приобретения знаний;

объяснительного компонента;

диалогового компонента.

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

^ База знаний (БЗ) в ЭС предназначена для хранения долгосрочных данных, описывающих рассматриваемую область (а не текущих дан­ных), и правил, описывающих целесообразные преобразования дан­ных этой области.

Решатель, используя исходные данные из рабочей памяти и зна­ния из БЗ, формирует такую последовательность правил, которые, бу­дучи примененными к исходным данным, приводят к решению задачи.

^ Компонент приобретения знаний автоматизирует процесс напол­нения ЭС знаниями, осуществляемый пользователем-экспертом.

Объяснительный компонент объясняет, как система получила ре­шение задачи (или почему она не получила решение) и какие знания она при этом использовала, что облегчает эксперту тестирование си­стемы и повышает доверие пользователя к полученному результату.

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

^ 11 Стадии существования ЭС

Стадия существования характеризует степень проработаниости и сглаженности ЭС. Обычно выделяют следующие стадии:

• исследовательский прототип;

• действующий прототип;

• промышленная система;

• коммерческая система.

Исследовательским прототипом называют систему, которая ре­шает представительный класс задач приложения, но может быть не­устойчива в работе и не полностью проверена. При наличии развитых инструментальных средств (ИС) для разработки исследовательского прототипа требуется примерно 2 - 4 месяца. Исследовательский про­тотип обычно имеет в базе знаний не больше 50 общих исполняемых утверждений; при использовании только частных утверждений их ко­личество возрастает в 3 - 10 раз

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

ЭС, достигшая стадии промышленной системы, обеспечивает вы­сокое качество решений всех задач при минимуме времени и памяти. Обычно процесс преобразования действующего прототипа в про­мышленную систему состоит в расширении базы знаний (до 150 ис­полняемых утверждений) и ее тщательной отладке. Доведение ЭС от начала разработки до стадии промышленной системы на развитом ИС требует примерно 12-18 месяцев.

Обобщение задач, решаемых ЭС на стадии промышленной си­стемы, позволяет перейти к стадии коммерческой системы, т.е. к си­стеме, пригодной не только для собственного использования, но и для продажи различным потребителям. Доведение системы до коммер­ческой стадии требует примерно 1,5-2 года. Приведенные выше сро­ки справедливы для ЭС средней сложности.
^

12 Методологии разработки ЭС.

12.1. Возможность, оправданность разработки, соответствие методам ЭС.


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

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

1) существуют эксперты в данной области, которые решают зада­чу значительно лучше, чем начинающие специалисты;

2) эксперты сходятся в оценке предлагаемого решения, иначе нельзя будет оценить качество разработанной ЭС;

3) эксперты способны вербализовать (выразить на естественном языке) и объяснить используемые ими методы, в противном случае трудно рассчитывать на то, что знания экспертов будут "извлечены" и

вложены в ЭС;

4) решение задачи требует только рассуждений, а не действий;

5) задача не должна быть слишком трудной (т.е. ее решение долж­но занимать у эксперта несколько часов или дней, а не недель);

6) задача хотя и не должна быть выражена в формальном виде, но все же должна относиться к достаточно "понятной" и структуриро­ванной области, т.е. должны быть выделены основные понятия, от­ношения и известные (хотя бы эксперту) способы получения решения задачи;

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

Использование ЭС в данном приложении может быть возможно, но не оправдано. Применение ЭС может быть оправдано одним из сле­дующих факторов:

• решение задачи принесет значительный эффект, например экономический;

• использование человека-эксперта невозможно либо из-за недо­статочного количества экспертов, либо из-за необходимости выпол­нять экспертизу одновременно в различных местах;

• использование ЭС целесообразно в тех случаях, когда при пе­редаче информации эксперту происходит недопустимая потеря вре­мени или информации;

• использование ЭС целесообразно при необходимости решать задачу в окружении, враждебном для человека.

Приложение соответствует методам ЭС, если решаемая задача обладает совокупностью следующих характеристик:

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

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

3) задача должна быть достаточно сложна, чтобы оправдать за­траты на разработку ЭС. Однако она не должна быть чрезмерно сложной (решение занимает у эксперта часы, а не недели), чтобы ЭС могла ее решать;

4) задача должна быть достаточно узкой, чтобы решаться метода­ми ЭС, и практически значимой.

При разработке ЭС, как правило, используется концепция "быстрого прототипа". Суть этой концепции состоит в том, что раз­работчики не пытаются сразу построить конечный продукт. На на­чальном этапе они создают прототип (прототипы) ЭС. Прототипы должны удовлетворять двум противоречивым требованиям: с одной 20

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

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

12.2. Этапы разработки ЭС.

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

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

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

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



На этапе тестирования эксперт (и инженер по знаниям) в интерак­тивном режиме с использованием диалоговых и объяснительных средств системы проверяет компетентность ЭС. Процесс тестирования продолжается до тех пор, пока эксперт не решит, что система достигла требуемого уровня компетентности.

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

Процесс создания ЭС не сводится к строгой последовательности перечисленных выше этапов. В ходе разработки приходится неодно­кратно возвращаться на более ранние этапы и пересматривать приня­тые там решения.
^

13 Классификация инструментальных средств


Трудозатраты на разработку ЭС в значительной степени зависят от используемых инструментальных средств (ИС). В связи с этим рас­смотрим классификацию современных ИС по уровню используемого языка.

1. Традиционные (в том числе объектно-ориентированные) языки программирования типа С, C++ (как правило, эти ИС используются не для создания ЭС, а для создания ИС).

2. Символьные языки программирования (например, Lisp, Prolog и их разновидности). Эти ИС в последнее время, как правило, не ис­пользуются в реальных приложениях в связи с тем, что они плохо при­способлены к объединению с программами, написанными на языках традиционного программирования.

3. Инструментарий, содержащий многие, но не все компоненты ЭС. Эти средства предназначены для разработчика, от которого тре­буются знание программирования и умение интегрировать компонен­ты в программный комплекс. Примерами являются такие средства, как OPS 5, ИЛИС (см. гл. 8), и др.

4. Оболочки ЭС общего назначения, содержащие все программные компоненты, но не имеющие знаний о конкретных предметных сре­дах. Средства этого и последующего типов не требуют от разработчи­ка приложения знания программирования. Примерами являются ЭКО (см. гл. 8), Leonardo, Nexpert Object, Kappa и др.

Подчеркнем, что в последнее время термин "оболочка" (shell) ис­пользуется реже, его заменяют на более широкий термин "среда раз­работки" (development environment). Если хотят подчеркнуть, что средство используется не только на стадии разработки приложения, но и на стадиях использования и сопровождения, то употребляют термин "полная среда" (complete environment). Примерами таких средств для создания статических ЭС являются: Nexpert Object, ProKappa, ART*Enterprise, Level 5 Object и др.

5. Проблемно/предметно-ориентированные оболочки (среды):

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

• предметно-ориентированные средства (domain-specific), вклю­чающие знания о некоторых типах предметных областей, что сокра­щает время разработки БЗ.

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

1) управляющие стратегии, вложенные в механизм вывода ин­струментария, могут не соответствовать методам решения, которые использует эксперт, взаимодействующий с данной системой, что мо­жет привести к неэффективным, а возможно, и неправильным реше­ниям;

2) язык представления знаний, принятый в инструментарии, может не подходить для данного приложения.

Значительная компенсация этих трудностей достигается примене­нием проблемно/предметно-ориентированных средств (ИС пятого типа).


Скачать файл (198.5 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации