рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Введение в экспертные системы

Введение в экспертные системы - раздел Образование, Оглавление Предисловие.................................................

Оглавление

Предисловие............................................................................................................................................ 5

1. Введение в экспертные системы.................................................................................................... 6

1.1. Структура экспертных систем........................................................................................................................................... 11

1.2. Классификация систем, основанных на знаниях.......................................................................................................... 14

1.3. Интерпретация данных........................................................................................................................................................ 15

1.4. Диагностика............................................................................................................................................................................ 15

1.5. Мониторинг............................................................................................................................................................................. 16

1.6. Проектирование..................................................................................................................................................................... 16

1.7. Прогнозирование................................................................................................................................................................... 17

1.8. Планирование......................................................................................................................................................................... 17

1.9. Обучение.................................................................................................................................................................................. 18

1.10. Управление......................................................................................................................................................................... 18

1.11. Поддержка принятия решений...................................................................................................................................... 18

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

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

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

1.15. Этапы разработки экспертных систем....................................................................................................................... 21

1.16. Представление знаний в экспертных системах........................................................................................................ 27

Контрольные вопросы....................................................................................................................................................................... 28

2. Формальные основы экспертных систем.................................................................................... 31

2.1. Исчисление предикатов....................................................................................................................................................... 31

2.2. Доказательство с введением допущения......................................................................................................................... 35

2.3. Доказательство приведением к противоречию............................................................................................................. 36

2.4. Доказательство методом резолюции............................................................................................................................... 38

2.5. Применение метода резолюций для ответов на вопросы........................................................................................... 41

2.6. Эвристики для поиска доказательства............................................................................................................................ 46

2.7. Подстановка и унификация................................................................................................................................................. 47

Контрольные вопросы....................................................................................................................................................................... 50

3. Представление знаний предметной области.............................................................................. 51

3.1. Семантические сети.............................................................................................................................................................. 51

3.2. Фреймы..................................................................................................................................................................................... 54

3.3. Правила продукций............................................................................................................................................................... 56

Контрольные вопросы....................................................................................................................................................................... 59

4. Методы стратегии поиска решений............................................................................................. 60

4.1. Поиск решения задач в пространстве состояний......................................................................................................... 61

4.2. Методы поиска решений в одном пространстве.......................................................................................................... 62

4.3. Процессы поиска на графе.................................................................................................................................................. 65

4.4. Эвристический поиск............................................................................................................................................................ 70

4.5. Экспертная система на правилах..................................................................................................................................... 78

4.6. Экспертные системы, базирующиеся на логике........................................................................................................... 81

Контрольные вопросы....................................................................................................................................................................... 88

5. Системы с доской объявлений..................................................................................................... 89

5.1. Принцип организации систем с доской объявлений.................................................................................................... 89

5.2. Система HEARSAY.............................................................................................................................................................. 91

5.3. Использование источников знаний в системе HEARSAY.......................................................................................... 94

Контрольные вопросы....................................................................................................................................................................... 97

6. Вывод в условиях неопределенности или неполных знаний................................................... 98

6.1. Виды неопределенности...................................................................................................................................................... 98

6.2. Байесовский метод.............................................................................................................................................................. 100

6.3. Биполярные схемы для коэффициентов определенности........................................................................................ 112

6.4. Теория свидетельств Демпстера-Шефера.................................................................................................................... 114

6.5. Нечеткие множества и нечеткая логика........................................................................................................................ 121

6.6. Многоступенчатые рассуждения................................................................................................................................... 127

6.7. Процесс распространения в сети.................................................................................................................................... 130

Контрольные вопросы..................................................................................................................................................................... 134

7. Нейросетевая технология............................................................................................................ 135

7.1. Особенности нейросетей................................................................................................................................................... 135

7.2. Свойства нейрона................................................................................................................................................................ 137

7.3. Использование нелинейных элементов......................................................................................................................... 141

7.4. Сеть Хопфилда..................................................................................................................................................................... 146

7.5. Многослойные сети............................................................................................................................................................ 148

7.6. Динамика обучения и поведения.................................................................................................................................... 151

7.7. Обучение многослойных сетей........................................................................................................................................ 155

7.8. Проблемы и перспективы.................................................................................................................................................. 159

7.9. Применение нейросетевой технологии......................................................................................................................... 161

Контрольные вопросы..................................................................................................................................................................... 169

8. Инструментальный комплекс G2............................................................................................... 170

8.1. База знаний........................................................................................................................................................................... 171

8.2. Сущности и иерархии классов........................................................................................................................................ 173

8.3. Структура данных БЗ........................................................................................................................................................ 175

8.4. Объекты.................................................................................................................................................................................. 178

8.5. Связи и отношения.............................................................................................................................................................. 181

8.6. Исполняемые утверждения БЗ......................................................................................................................................... 182

8.7. Машина вывода................................................................................................................................................................... 184

8.8. Планировщик........................................................................................................................................................................ 186

8.9. Моделирование.................................................................................................................................................................... 188

8.10. Естественно- языковой текстовый редактор........................................................................................................... 191

8.11. Изображения.................................................................................................................................................................... 195

8.12. Управляющие воздействия........................................................................................................................................... 195

8.13. Сообщения........................................................................................................................................................................ 197

8.14. Управление доступом.................................................................................................................................................... 198

8.15. Создание опций меню.................................................................................................................................................... 199

8.16. Перевод опций меню...................................................................................................................................................... 199

8.17. Средства инспекции и отладки................................................................................................................................... 199

8.18. Интерфейс с внешним окружением............................................................................................................................ 200

9. Информационные - ресурсы Интернет..................................................................................... 206

Приложение 1..................................................................................................................................... 207

Приложение 2..................................................................................................................................... 208

Приложение 3..................................................................................................................................... 218

Приложение 4..................................................................................................................................... 222

Приложение 5..................................................................................................................................... 228

Литература........................................................................................................................................... 230

 


Предисловие

 

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

Глава 1 содержит обзор состояния рынка систем искусственного интеллекта, структуру экспертной системы (ЭС), этапы разработки ЭС и представления знаний.

Глава 2 посвящена рассмотрению двух системы логики - исчислению высказываний и исчислению предикатов. Описана формальная система доказательства формул исчисления высказываний и предикатов.

В главе 3 описаны методы представления знаний предметной области – семантические сети, фреймы, правила продукций.

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

Главы 5 и 6 знакомят с некоторыми принципами организации ЭС и вероятностными рассуждениями при поиске решений в условиях неопределенности и выводе в сети при наличии конкурирующих гипотез.

Комбинированное использование экспертной системы и аппарата искусственных нейронных сетей, описанных в главе 7, обеспечивает необходимую гибкость и самообучение на основе знаний.

Описание оболочки G2- графической, объектно – ориентированной среды для построения и сопровождения экспертных систем реального времени, предназначенных для мониторинга, диагностики, оптимизации, планирования и управления динамическими процессами, приведено в главе 8.

Информационные ресурсы Интернет, используемые при подготовке данного пособия перечислены в главе 9.


 

Введение в экспертные системы

 

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

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

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

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

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

 

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

- ЭС будут играть ведущую роль во всех фазах проектирования, разработки, производства, распределения, продажи, поддержки и оказания услуг;

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

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

- задачи не могут быть заданы в числовой форме;

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

- не существует алгоритмического решения задач;

- Неформализованные задачи обычно обладают:

- ошибочностью, неоднозначностью, неполнотой и противоречивостью исходных данных;

- ошибочностью, неоднозначностью, неполнотой и противоречивостью знаний о проблемной области и решаемой задаче;

- большой размерностью пространства решения, т.е. перебор при поиске решения весьма велик;

- динамически изменяющимися данными и знаниями.

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

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

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

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

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

 

Рисунок 1.1 отражает [54] различные аспекты состояния рынка ИИ: инвестиции в разработку в области ИИ (США, Европа, Япония) (Рисунок 1.1, а); доля систем ИИ в информатике (программном обеспечении) (Рисунок 1.1, б); доходы от продаж традиционных языков программирования (Рисунок 1.1, в); инвестиции только в программное обеспечение (США) (Рисунок 1.1, г).

 

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

 

Прирост % в год % от рынка информатики

 

220 28

 

100 Европа

Япония

80 США 0,16

 

1984 87 89 91 93 1985 90 2000

 

а б

млн $ млн $

 

Языки ИИ

 

420 480 ПО для ИИ

Язык для ЭС

230 для ПЭВМ 650

ЕЯ интерфейс

 

Языки для

20 mainframe ЭВМ Распознавание

270 Речи

 

 

1984 88 92 94 96 1986 90 94

в г

Рисунок 1.1. Состояние и перспективы рынка ИИ

 

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

Причины, приведшие СИИ к коммерческому успеху, следующие.

Интегрированность. Разработаны инструментальные средства искусственного интеллекта (ИС ИИ), легко интегрирующиеся с другими информационными технологиями и средствами (с CASE, СУБД, контроллерами, концентраторами данных и т.п.).

Открытость и переносимость. ИС ИИ разрабатываются с соблюдением стандартов, обеспечивающих открытость и переносимость.

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

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

Проблемно/предметно-ориентированные ИС ИИ. Переход от разработок ИС ИИ общего назначения (хотя они не утратили свое значение как средство для создания ориентированных ИС) к проблемно/предметно-ориентированным ИС ИИ [9] обеспечивает: сокращение сроков разработки приложений; увеличение эффективности использования ИС; упрощение и ускорение работы эксперта; повторную используемость информационного и программного обеспечения (объекты, классы, правила, процедуры).

 

Структура экспертных систем

ЭС состоит [37] из следующих основных компонентов: решателя (интерпретатора); рабочей памяти (РП), называемой также базой данных (БД); базы знаний… База данных (рабочая память) предназначена для хранения исходных и…  

Классификация систем, основанных на знаниях

Класс ЭС сегодня объединяет несколько тысяч различных программных комплексов, которые можно классифицировать по различным критериям [54]. Одна из возможных классификаций (Рисунок 1.3).

 

Интерпретация данных

Примеры: - Обнаружение и идентификация различных типов океанских судов по результатам… - Определение основных типов свойств личности по результатам психодиагностического тестирования в системах АВАНТЕСТ и…

Диагностика

Примеры: - Диагностика и терапия сужения коронарных сосудов – ANGY. - Диагностика ошибок в аппаратуре и математическом обеспечении ЭВМ – CRIB.

Мониторинг

Примеры: - Контроль работы электростанций СПРИНТ, помощь диспетчерам атомного реактора… - Контроль аварийных датчиков на химическом заводе – FALCON.

Проектирование

Примеры: - Проектирование конфигураций ЭВМ VAX-11/780 в системе XCON, проектирование… - Синтез электрических цепей – SYN.

Прогнозирование

Примеры: - Предсказание погоды – WIILARD. - Оценки будущего урожая – PLANT.

Планирование

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

- Планирование поведения робота – STRIPS.

- Планирование промышленных заказов – ISIS.

- Планирование эксперимента – MOLGEN.

 

Обучение

Примеры: - Обучение языку программирования LISP в системе «учитель ЛИСПа». - Обучение языку Паскаль – система PROUST.

Управление

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

Примеры:

- Помощь в управлении газовой котельной – GAS.

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

 

Поддержка принятия решений

Примеры: - Выбор стратегии выхода фирмы из кризисной ситуации – CRYSIS. - Помощь в выборе страховой компании или инвестора – CHOICE.

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

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

Пример:

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

 

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

Пример:

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

 

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

Примеры:

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

- Программный инструментарий для разработки динамических систем – G2.

 

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

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

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

- ЭС на ЭВМ средней производительности типа Mainframe.

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

- ЭС на мини- и супермини-ЭВМ VAX, micro-VAX.

- ЭС на персональных компьютерах.

 

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

 

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

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

 

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

 

Этапы разработки экспертных систем

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

Представление знаний в экспертных системах

Первый и основной вопрос, который надо решить при представлении знаний- это вопрос определения состава знаний, т.е. определение того, "ЧТО… Вопрос "КАК ПРЕДСТАВЛЯТЬ" можно разделить на две в значительной… Стремление выделить организацию знаний в самостоятельную задачу вызвано, в частности, тем, что эта задача возникает…

Контрольные вопросы

 

1. Для каждой из перечисленных программ решите, является ли она ЭС

- Программа прогнозирования местной погоды.

- Программа для обнаружения неисправности, если автомобиль не заводится.

- Программа для определения стратегии гонки в режиме реального времени .

- Программа для определения оптимального маршрута коммивояжера.

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

- Программа получения трехмерного изображения дома на основании словесного описания устройства и размеров дома.

 


 

Формальные основы экспертных систем

Исчисление предикатов

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

Доказательство с введением допущения

 

Для доказательства импликации вида А→В допускается, что левая часть А истинна, т.е. А принимается в качестве дополнительной посылки, и делаются попытки доказать правую часть, В.

Сам метод опирается на две важные теоремы о доказательствах [60].

Теорема 1. А ├ В тогда и только тогда, когда ├ А→ В.

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

Теорема 2. А1,А2,...,Аn ├ В тогда и только тогда, когда

├(А1А2...An) → В.

Эта теорема получается из предыдущей и того факта, что все посылки А1,...,Аn истинны тогда и только тогда, когда истинна их конъюнкция (основное свойство связки И).

Наконец, очень полезная эквивалентность |= (X→(Y→Z))↔(XY→Z).

Она легко доказывается с помощью соотношений булевой алгебры так как левая и правая части сводятся к ~X~YZ.

Рассмотрим пример доказательства с введением допущения.

Если А1. А2,..., Аn, Р ├Q,

то ├А1А2...АnР→Q) в силу теоремы 2,

откуда ├А1A2...Аn)→(P→Q) в силу эквивалентности,

откуда ├А1,А2,...,Аn ├Р→Q) в силу теоремы 2.

 

Доказательство приведением к противоречию

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

Доказательство методом резолюции

  Применяется всего одно правило вывода, что позволяет не запоминать…  

Применение метода резолюций для ответов на вопросы

Предположим, что предикат F(х,у), означает х - отец у, и даны следующие факты об отцовстве: F(john,. harry) F(john, sid)F(sid, liz) Таким образом, есть три единичных (т.е. состоящих из одной литеры) дизъюнкта. Они не содержат переменных или…

Эвристики для поиска доказательства

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

Подстановка и унификация

Метод резолюции требует, чтобы делались подстановки в дизъюнкты так, чтобы две литеры с противоположными знаками содержали совпадающие атомы. Так… Р(а, х, f(g(у)) и ~Р(z, f(z),f(u)). Постепенно строим подстановку S. которая представляет собой набор пар вида (t/х), где t - терм, х - переменная, вместо…

Контрольные вопросы

 

1). Изучите следующие правила вывода:

a →m b → p d и a → n
f → y b и c → l x и a → z
e → p c и m → x p и y → w

2). Известно, что a, b и c истинны. Докажите истинность z и w.

3). Напишите факты правила с помощью которых можно установить ЕСЛИ А и В учатся в одной группе ТО знают друг друга.

4). Напишите факты правила с помощью которых можно установить ЕСЛИ А и В супруги ТО С и D брат и сестра.

5). Докажите с помощью метода резолюций истинность утверждений:

a) P Q   b) ~B A
A B   C B
(A ~P) v(B)   ~C
B истинно?   A истинно?

 


 

Представление знаний предметной области

 

 

Семантические сети

Понятие семантической сети основано на древней и очень простой идее о том, что <память> формируется через ассоциации между понятиями. Понятие… Базовым функциональным элементом семантической сети служит структура из двух…  

Фреймы

 

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

 
имя: РУКОВОДИТЕЛЬ
специальность: СЛУЖАЩИЙ
имя: ________________________
возраст:______________________
адрес: _______________________
отдел:_______________________
заработная плата:_____________
дата начала: _________________
до: _________________________
 

Рисунок 3.4 Скелетный фрейм для понятия <РУКОВОДИТЕЛЬ>

 

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

 

имя: РУКОВОДИТЕЛЬ

специальность: СЛУЖАЩИЙ

имя: агрегат (фамилия, имя, отчество)

возраст; агрегат (годы)

адрес: АДРЕС

отдел: диапазон (производство, администрация)

заработная плата: ЗАРПЛАТА

дата начала: агрегат (месяц, год)

до: агрегат (месяц, год) (по умолчанию: теперь)

 

Рисунок 3.5 Фрейм для общего понятия <РУКОВОДИТЕЛЬ>

 

На рис. 3.5 дан тот же фрейм, что и на рис. 3.4, но только с заполненными слотами. При этом часть из них заполнена некими объектами, а не простыми именами. В данном примере фигурируют три различных типа таких заполнителей слотов. Заполнитель слота может быть или константой, или именем другого фрейма. Простейшими из них являются те, что представлены прописными буквами (например, АДРЕС, ЗАРПЛАТА). Это имена других фреймов данной системы, на которые делается ссылка. Кроме того, существуют обозначения <агрегат> и <интервал>. В процессе обработки систем фреймов иногда необходимо наложить ограничения на тип объекта, который может быть использован для заполнения некоторого слота. Обозначение <агрегат> указывает на то, что должны быть заданы определенные объекты, а обозначение <диапазон> - на то, что должен быть выбран один из множества объектов.

Фреймы сравнительно легко реализуются с помощью структуры языка Лисп в виде списка свойств, рассмотренного ранее в связи с обращением к семантическим сетям.

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

 

 

Правила продукций

Самым распространенным форматом для представления знаний, наиболее соответствующим их процедурному характеру, является правило продукции, которое по… <ЕСЛИ условие, ТО действие> Нотация процедур в виде последовательностей правил была впервые предложена математиком Постом.

Контрольные вопросы

 

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

- семантической сети;

- продукционных правил;

- фреймов.

-

 

 


 

Методы стратегии поиска решений

Как было показано в главе 1, экспертные системы состоят из трех компонентов: - базы знаний, содержащей правила продукций; - базы данных, которая отображает текущее состояние некоторой задачи;

Поиск решения задач в пространстве состояний

Чтобы построить описание задачи с использованием пространства состояний, нужно иметь определенное представление о том, что собой представляют… Существующие методы решения задач, используемые в экспертных системах, можно… - Методы поиска в одном пространстве – методы, предназначенные для использования в следующих условиях: области…

Методы поиска решений в одном пространстве

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

Процессы поиска на графе

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

Эвристический поиск

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

Экспертная система на правилах

Таким образом, экспертная система, базирующаяся на правилах (на Прологе) содержит множество правил, которые вызываются посредством входных данных в… Работу этого интерпретатора можно описать последовательностью из трех шагов: … 1. Интерпретатор сопоставляет образец правила с элементами данных в базе знаний.

Экспертные системы, базирующиеся на логике

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

Контрольные вопросы

 

1. Вызовите экспертную систему, базирующуюся на правилах, для выбора породы собаки. Введите различные последовательности ответов "yes" и "no", наблюдая, как работает программа.

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

3. Вызовите программу экспертной системы для выбора породы, основанную на логике. Проведите несколько консультаций и понаблюдайте, как работает система.

4. Модифицируйте программу, включив информацию о другой породе собаки. Напишите соответствующее утверждение логики предикатов, содержащее ее характеристики в виде списка целых чисел. Убедитесь, что каждый список уникален.

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

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

7. Проанализируйте игру крестики-нолики на поле 4х4. Для выигрыша нужно поставить подряд четыре знака. Какую хорошую эвристику можно придумать для этой игры?

 


 

Системы с доской объявлений

  В последние годы в разработке архитектуры экспертных систем появилось новое… Как недостаток систем с доской объявлений требуют значительных вычислительных ресурсов.

Принцип организации систем с доской объявлений

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

Система HEARSAY

Архитектура на основе доски объявлений выросла из разработанной в конце 70 годов системы распознавания речи HEARSAY-II и HEARSAY-III.… - сложной обработки сигналов; - сопоставления физических характеристик звуковых сигналов с символическими элементами естественного языка;

Контрольные вопросы

 

1. Что такое источник знаний в системе с доской объявлений?

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

3.

 


 

Вывод в условиях неопределенности или неполных знаний

 

Виды неопределенности

В предыдущих примерах все знания были определенными. Утверждениями были или ИСТИНА, или ЛОЖЬ. Однако в жизни имеется тенденция к “нечеткости” в…     Человек делает необходимые умозаключения в… Рисунок 6.1 Виды неопределенности

Байесовский метод

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

Биполярные схемы для коэффициентов определенности

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

Теория свидетельств Демпстера-Шефера

Подход, принятый в теории Демпстера-Шефера (ТДШ) [64] отличается от байесовского подхода и метода коэффициентов уверенности тем, что, во-первых,… В рамках ТДШ множеству высказываний А приписывается диапазон значений… Предположим, что существуют две конкурирующие гипотезы h1 и h2. При отсутствии информации, поддерживающей эти…

Нечеткие множества и нечеткая логика

Пусть имеется множество Х и его собственное множество А, т.е. А Ì Х. Тогда подмножество А можно представить в виде совокупности упорядоченных…     где mA(x) функция принадлежности. Причем:

Многоступенчатые рассуждения

Чтобы представить себе, что же такое многоступенчатое рассуждение, допустим, что вы заболели. У вас простуда, вирусная инфекция или грипп, и вы… Если у вас грипп и вы находитесь в уязвимом возрасте, то вызовите врача ct =… Теперь нужно просмотреть правила и в зависимости от конкретных симптомов заболевания решить, обратиться ли к врачу или…

Процесс распространения в сети

  Рассмотрим пример, иллюстрирующий распространение коэффициентов определенности…    

Контрольные вопросы

1. Допустим, в задаче на все вопросы получены ответы ДА или НЕТ. Сосредоточим внимание на двух конкретных вопросах, которые назовем "вопрос А" и "вопрос В". Потребители имеют тенденцию отвечать на эти вопросы одинаково, т.е. те, кто ответил ДА на вопрос А, вероятно, так же ответят и на вопрос В, а те, кто ответил НЕТ на вопрос А, вероятно, так же ответят и на вопрос В.

Пусть р(А) - вероятность ответа ДА на вопрос А.Известно, что р(А) = .6

и ответы на оба вопроса значительно коррелируют друг с другом, поэтому:

p(В | А)=.9; р(А | В)=.8; p (не В | не А) =.85.

Вычислите следующие вероятности: p(В); р(не А | не В); р(А и В).

Какова вероятность того, что в любом испытании ответы на вопросы А и В будут одинаковы?

2. Укажите, будет ли обратимым каждое из следующих правил:

Если команда делает хорошие броски, то она хорошо играет.

Если человек жив, то в нем течет кровь.

Если были ранние заморозки, то урожай персиков будет плохим.

3. Дано: Если (не X), то С; и ct(X) ~ .8. ct( импликация) = .7(nrev)

Каков коэффициент определенности посылки для этого правила? Какова определенность заключения?

 

 

Нейросетевая технология

 

 

Особенности нейросетей

Главное достоинство [37] нейросетей в том, что они предоставляют в руки пользователю некий универсальный нелинейный элемент с возможностью широкого… Набор нелинейных адаптивных элементов позволяет моделировать любое нелинейное… Место нейронных сетей в системах обработки информации можно указать по аналогии со структурой человеческой психики:…

Свойства нейрона

(6.1)   Выходная величина yi является некоторой функцией от этой суммы: yi=f(Sj). Ее называют функцией активации или…

Использование нелинейных элементов

  Один из самых неожиданных результатов анализа И.Минского и С.Пейперта состоял… Для иллюстрации этого вывода рассмотрим простой пример, когда пространство признаков является одномерным. Даже в этом…

Сеть Хопфилда

Сеть Хопфилда получается, если наложить на веса связей следующие условия: 1) все элементы связаны со всеми; 2) cij = cji - прямые и обратные связи симметричны;

Многослойные сети

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

Динамика обучения и поведения

В механике динамика в отличие от статики и кинематики предполагает наличие двух моментов: изменение переменных во времени и обусловленность этих… При описании поведения системы одним из наиболее общих подходов [71] является…  

Обучение многослойных сетей

Такой алгоритм был предложен в ряде работ [74, 75]. Сейчас он известен как метод "обратного распространения ошибки". Этот метод частным… Сущность его в следующем. Если известна целевая функция системы V(x), то можно… Если же интересующие переменные xi- непосредственно не входят в целевую функцию, но связаны с переменными xj-,…

Проблемы и перспективы

Остановимся на трудностях, связанных с обучением нелинейных нейронных сетей. Основные из них следующие [37]. Медленная сходимость процесса обучения. Строго сходимость доказана для… "Ловушки", создаваемые локальными минимумами. Детерминированный алгоритм обучения не в силах обнаружить…

Применение нейросетевой технологии

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

Контрольные вопросы

1. Допустим,

 


 

Инструментальный комплекс G2

История развития инструментальных средств (ИС) для создания ЭС реального времени началась в 1985 г., когда фирма Lisp Machine Inc. выпустила систему… С отставанием от Gensym на 2 - 3 года другие фирмы начали создавать свои ИС… Классы задач, для которых предназначена G2 [37] и подобные ей системы:

База знаний

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

Сущности и иерархии классов

 

Класс в G2 является основой представления знаний. Все, что хранится в БЗ и чем оперирует система, является экземпляром того или иного класса. Все синтаксические конструкции G2 тоже являются классами. Для сохранения общности даже базовые типы данных- символьные, числовые, булевские и истинностные значения нечеткой логики представлены соответствующими классами. Описание класса (тоже экземпляр специального класса) включает ссылку на суперкласс (is-a-иерархия) и перечень атрибутов, специфичных для класса (part-of-иерархия).

Концептуально иерархия классов G2 берет свое начало от корневого класса, именуемого item-or-value (сущность или значение). Класс item-or-value сам по себе не может иметь экземпляров. Однако так как он является корнем всей иерархии классов, он определяет основное поведение всех классов G2. Item-or-value имеет два производных класса - value (хотя концептуально ветвь value представляется классом, в действительности это типы данных G2) и item. Каждый из этих классов имеет свои производные классы. Сущность (item) является корнем разветвленной иерархии классов. Наиболее важные ветви этой иерархии могут быть сгруппированы в небольшое число категорий.

Иерархия модулей и рабочих пространств

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

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

Существуют 2 способа создать G2-приложения.

1. Разрабатывается одномодульное приложение, которое затем при необходимости разделяется на отдельные модули.

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

Структурирование приложения на модули обеспечивает следующие преимущества:

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

- упрощает разработку, отладку и тестирование;

- позволяет изменять модули независимо друг от друга;

- упрощает повторное использование знаний.

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

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

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

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

 

Структура данных БЗ

Глобально сущности в БЗ G2 с точки зрения их использования могут быть разделены на структуры данных и исполняемые утверждения. Примерами первых… Опишем наиболее важные ветви иерархии "item". Объект (object) и его… Связь (connection). Класс для изображения путей между объектами. Можно создать подкласс связей для указания различных…

Объекты

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

Связи и отношения

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

Исполняемые утверждения БЗ

Основу исполняемых утверждений БЗ составляют правила и процедуры. Кроме того, есть формулы, функции, действия и т.п. Правила в G2 имеют традиционный… Способы применения каждого правила определяются его синтаксисом: <правило> ::= {<префикс for>

Машина вывода

  Одним из основных компонентов G2 является машина вывода, выполняющая… • знаний, содержащихся в базе знаний;

Планировщик

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

Моделирование

  Одним из возможных источников данных для G2 является система моделирования… - Средства для вычисления алгебраических, разностных уравнений и дифференциальных исчислений первого порядка;

Естественно- языковой текстовый редактор

Разработчик G2 представляет информацию о разрабатываемом приложении на ограниченном английском языке, и ему предоставлена возможность ссылаться на… 1. По имени: pump-12 (насос-12). 2.С помощью префикса "for" (для) и слова "any" (любой), за которыми следует имя класса. Таким…

Изображения

Изображения используются для того, чтобы предоставить пользователю возможность увидеть значение переменных и выражений. Существуют следующие… • Readout-table (отсчет). Показывает (в горизонтальном прямоугольнике) слева… • Dial (циферблат). Изображает арифметическое значение в виде точки на круговой шкале. При движении по часовой стрелке…

Управляющие воздействия

- Action button (кнопка действия). Изображается в виде прямоугольника с закругленными углами. Нажатие разработчиком на кнопку действия приводит к… - Radio button. Изображается в виде группы маленьких круговых… - Check boxes (кнопка проверки). Изображается в виде маленького квадрата вместе со связанным с ним значением…

Сообщения

Сообщения (messages) есть класс сущностей, которые содержат в себе текст. Сообщения являются средством, позволяющим G2 информировать пользователя о… Сообщения, которые G2 создает в результате исполнения действия inform, или…  

Управление доступом

С помощью средств управления доступом (access control) разработчик может влиять на то, что конечный пользователь видит и может делать с БЗ.… • ограничить (restrict) строки меню, которые видит пользователь в каждом… • ограничить пользователей в возможности передвигать сущности, устанавливать связи и т.п.;

Создание опций меню

Например, предположим, что БЗ содержит класс объектов, называемый "переключатель", и этот класс имеет атрибут "состояние" со…  

Перевод опций меню

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

in Russian:

table = таблица

move = переместить

edit = редактировать.

 

Средства инспекции и отладки

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

Интерфейс с внешним окружением

В G2 реализована распределенная обработка приложения на принципах архитектуры клиент-сервер. Клиентная система Telewindows обеспечивает… G2 разработана как открытая система. Связь с внешними источниками данных… С точки зрения современной концепции разработки открытых систем в системе G2 предлагается более гибкая и надежная…

Информационные - ресурсы Интернет

Ниже даны некоторые ресурсы Интернет, посвященные проблемам искусственного интеллекта и экспертным системам: 1. http://www.aaai.org – сервер Американской ассоциации искусственного… 2. http://www.ai-cbr.org/theindex.html – методика использования прецендентов в системах искусственного интеллекта. …

Приложение 1

 

% Cуществует ли связь между X и Y ?

domains

city=string

% Описание предикатов

predicates

dconnect(city,city)

connect(city,city)

wopros

% База знаний

clauses

% Факты, описываюшие дерево

dconnect (a,b). dconnect (a,c). dconnect (b,d). dconnect (b,e).

dconnect (c,f). dconnect (c,q). dconnect (f,h). dconnect (f,i).

% Правила вывода

connect(X,Y) if dconnect(X,Y).

connect(X,Y) if dconnect(X,Z), dconnect(Z,Y).

wopros:-

write(" Bведите от- "), readln(X),

write(" Bведите до- "), readln(Y), connect(X,Y),nl,

write (" от ",X," до ",Y," есть связь "),

nl,!.

wopros:- write(" НЕТ РЕШЕНИЙ! ").

% Внутренняя цель

goal

makewindow(1,120,7," ответ ",16,0,8,60),

wopros.

 


 

Приложение 2

 

DOMAINS

toch=string

km,ml=real

Int=integer

slist=string*

sslist=slist*

rlist=real*

 

/* Основные и служебные базы данных */

 

DATABASE - sosed

sosed(toch,toch,km,ml)

 

DATABASE - lists

lists(slist)

DATABASE - sum

sum(real)

 

PREDICATES

connect(toch,toch,km,ml,slist,slist)

wopros

start

autoload

working(Int)

main_menu

par(toch,toch,Int)

repeat

find(string,slist)

add(slist,string,slist)

result(slist,slist,slist)

adds(slist)

writelist(slist)

min(rlist,real,integer,integer,real,integer)

createSum(real,real)

summa(slist,real,real,real,real)

dcon(toch,toch,real,real)

createListR(rlist,rlist)

addr(rlist,real,rlist)

createListS(sslist,sslist)

addss(sslist,slist,sslist)

first(rlist,real)

writeN(sslist,integer)

writeall(sslist)

GOAL start.

CLAUSES

 

writelist([]).

writelist([X|L]):-write(" ",X), writelist(L).

 

dcon(X,Y,M,N) :- sosed(X,Y,M,N);sosed(Y,X,M,N).

 

summa([_],N,S,_,_) :- S=N.

summa([X,Y|L],N,S,Км,Бензин) :-bound(Км),dcon(X,Y,M,_), K=M+N, summa([Y|L],K,S,Км,Бензин);

bound(Бензин), dcon(X,Y,_,M), K=M+N, summa([Y|L],K,S,Км,Бензин).

 

add(L1,S,[S|L1]).

 

adds(X) :- lists(X), !.

adds(X) :- assertz(lists(X)).

 

createSum(Км,Бензин) :- lists(X), summa(X,0,Suma,Км,Бензин),

assertz(sum(Suma)), fail.

createSum(_,_).

addr(L1,R,[R|L1]).

createListR(R,L) :- not (sum(_)), R=L.

createListR(R,L) :- sum(X),

addr(L,X,M),retract(sum(X)),createListR(R,M).

 

addss(L1,R,[R|L1]).

createListS(R,L) :- not (lists(_)), R=L.

createListS(R,L) :- lists(X), addss(L,X,M), retract(lists(X)),

createListS(R,M).

 

first([X|_],N) :- N=X.

 

min([],Tmp,Cnt,_,Min,N) :- Min=Tmp, N=Cnt.

min([X|L],Tmp,Cnt,K,Min,N) :- Tmp>X, C=K, KK=K+1, MM=X,

min(L,MM,C,KK,Min,N);

KK=K+1, min(L,Tmp,Cnt,KK,Min,N).

 

writeN([L|_],0) :- writelist(L).

writeN([_|L],N) :- M=N-1, writeN(L,M).

find(R,[R|_]).

find(R,[_|T]) :- find(R,T).

 

result([_],L,R) :- R=L.

result([X|L],M,R) :- add(M,X,L1), result(L,L1,R).

 

writeall([]).

writeall([X|L]) :- writelist(X), nl, writeall(L).

 

/* Основная процедура start */

start:-

autoload,

main_menu.

 

% Процедура connect

 

connect(X,Y,_,_,M,R) :-

sosed(X,Y,AA,BB), R=M;

sosed(Y,X,AA,BB), R=M.

 

connect(X,Y,Км,Бензин,L,R) :-

sosed(X,Z,_,_),

not (find(Z,L)), add(L,Z,M), connect(Z,Y,Км,Бензин,M,R);

sosed(Z,X,_,_),

not (find(Z,L)), add(L,Z,M),

connect(Z,Y,Км,Бензин,M,R).

 

par(X,Y,'1'):-removewindow(15,1),L=[X,Y],connect(X,Y,_,_,L,R),

result(R,[Y],M), adds(M), fail.

par(_,_,'1'):- not(lists(_)), write("НЕТ ПУТИ").

par(_,_,'1'):-createSum(0,_), createListR(L1,[]), first(L1,Z),

min(L1,Z,0,0,M,N), write("Минимальное расстояние = ",M,"км."),createListS(R,[]),

nl,write("Траектория пути - "),writeN(R,N).

par(X,Y,'2'):- removewindow(15,1),L=[X,Y],connect(X,Y,_,_,L,R),

result(R,[Y],M), adds(M), fail.

par(_,_,'2'):- not(lists(_)), write("НЕТ ПУТИ").

par(_,_,'2'):-createSum(_,0), createListR(L1,[]), first(L1,Z),

min(L1,Z,0,0,M,N), write("Минимальный расход бензина = ",M," мл."),

createListS(R,[]),nl, write(" Траектория пути - "),writeN(R,N).

 

par(X,Y,'3'):- removewindow(15,1),L=[X,Y], connect(X,Y,_,_,L,R),

result(R,[Y],M), adds(M),fail.

par(_,_,'3'):- not(lists(_)),write("НЕТ РЕШЕНИЙ").

par(_,_,'3'):- write("Все маршруты :"),nl,createListS(R,[]),writeall(R).

% Процедура wopros

wopros :-

retractall(_,lists),

retractall(_,sum),

write("Ищем путь с параметрами"),nl,

write("От"),nl,readln(X),write("До"),nl,readln(Y),

makewindow(15,$1E,$2F," ВВОД ПАРАМЕТРОВ ",6,18,9,40),

write(" 1 - Расстояние"),nl,

write(" 2 - Расход бензина"),nl,

write(" 3 - Все пути"),nl,

write(" ->"),

readchar(N),

clearwindow,

par(X,Y,N),

removewindow(15,0).

wopros :- removewindow(15,0).

 

/* Процедура автоматической загрузки баз данных */

autoload:-

retractall(_,sosed),

consult("pal.ddd",sosed).

autoload:-

makewindow(2,74,79,"ОШИБКА",6,18,8,40),

cursor(2,10),

write("Нет базы на диске"),

sound(70,294),

removewindow,

!.

 

/* Главное меню */

 

main_menu:-

repeat,

makewindow(1,$1E,$2F,"ТРАЕКТОРИЯ ПУТИ РАЗНОСЧИКА ПИЦЦЫ",0,0,25,80),cursor(7,0),

 

write(" 1 - Сохранение базы"),nl,

write(" 2 - Добавление пункта доставки"),nl,

write(" 3 - Удаление пункта доставки"),nl,

write(" 4 - Просмотр базы"),nl,

write(" 5 - Решение задачи"),nl,

write(" 6 - Выход из программы"),nl,

write(" ->"),

readint(C),

clearwindow,

working(C),

clearwindow,

C = 6,

retractall(_),

removewindow(1,0).

 

/* Процедура сохранения базы данных */

working(1):-

makewindow(5,$5F,$5F," СОХРАНЕНИЕ БАЗЫ ",8,20,9,40),

sound(5,220),

repeat,

save("pal.ddd",sosed),nl,nl,

write(" База сохранена"),nl,nl,nl,

write(" Нажмите любую клавишу..."),nl,

readchar(_),

clearwindow,

!,

removewindow.

 

/* Процедура Добавления связей */

 

working(2):-

makewindow(6,$1E,$2F," ДОБАВЛЕНИЕ ПУНКТА ДОСТАВКИ ",0,0,25,80),

sound(5,220),

cursor(9,0),

write(" введите имя 1 пункта ->"),readln(P1),

write(" введите имя 2 пункта ->"),readln(P2),

write(" введите расстояние (в км.) ->"),readreal(Км),

write(" введите расход бензина (в мл.) ->"),readint(Бензин),

assertz(sosed(P1,P2,Км,Бензин)),

clearwindow,!,

removewindow(6,0).

 

/* Процедура Удаление связей */

working(3):-

makewindow(7,26,$4F," УДАЛЕНИЕ ПУНКТА ДОСТАВКИ ",0,0,25,80),

sound(5,220),

cursor(9,0),

write(" Bведите имя 1 пункта ->"),nl,

readln(P1),

write(" Bведите имя 2 пункта ->"),nl,readln(P2),

retract(sosed(P1,P2,_,_)),

clearwindow,

!,removewindow.

 

/* Процедуры просмотра баз данных */

 

working(4):-

makewindow(9,$1E,$2F," ПРОСМОТР БАЗЫ ДАННЫХ ",0,0,25,80),nl,

write(" г==============================================================¬"),nl,

write(" ¦ База данных ¦"),nl,

write(" ¦==============T=============T============T====================¦"),nl,

write(" ¦ Пункт #1 ¦ Пункт #2 ¦ Расстояние ¦ Расход бензина ¦"),nl,

write(" ¦ ¦ ¦ ¦ ¦"),nl,

write(" ¦==============+=============+============+====================¦"),nl,

sosed(P1,P2,Км,Бензин),cursor(Z,_),

cursor(Z,0),write(" ¦ ",P1),

cursor(Z,15),write(" ¦ ",P2),

cursor(Z,29),write(" ¦ ",Км),

cursor(Z,42),write(" ¦ ",Бензин),

cursor(Z,63),write(" ¦"),nl,fail.

working(4):-

write(" L==============¦=============¦============¦====================-"),

nl,cursor(22,26),

write("Нажмите на любую клавишу"),

readchar(_),

removewindow,!.

 

% Процедура решения задачи

working(5) if

makewindow(10,26,48,"Решение задачи",0,0,25,80),

nl,nl,

sound (5,220),wopros,sound(5,220),

cursor(22,26),

write("Нажмите на любую клавишу"),

readchar(_),

removewindow(10,1),!.

 

/* Процедура выхода из программы */

 

working(6):- removewindow(1,1).

working(_):-

makewindow(11,$4E,$4F,"ОШИБКА ВВОДА",6,18,8,40),

nl,

write(" Введите число от 0 до 6,"),nl,

write(" соответствующее выбранному пункту"),nl,nl,nl,

write(" Нажмите на любую клавишу"),

sound(20,494),

sound(30,392),

readchar(_),

removewindow(11,1).

 

/* Процедура repeat */

repeat.

repeat:- repeat.


 

Приложение 3

 

% Эксперт по породам собак. Продукционная система, базирующаяся на правилах

domains

database

xpositive(symbol,symbol)

xnegative(symbol,symbol)

predicates

do_expert_job

do_consulting

ask(symbol,symbol)

dog_is(symbol)

it_is(symbol)

positive(symbol,symbol)

negative(symbol,symbol)

remember(symbol,symbol,symbol)

clear_facts

goal

do_expert_job.

clauses

/* Система пользовательского интерфейса */

do_expert_job :-

makewindow(1,7,7,"AN EXPERT SYSTEM",1,16,22,58),

nl,write("* * * * * * * * * * * * * * * * * * * *"),

nl,write(" WELCOME TO A DOG EXPERT SYSTEM "),

nl,write(" "),

nl,write("This is a dog identification system. "),

nl,write("Please answer the question about "),

nl,write("the dog you would like by typing in "),

nl,write("'yes' or 'no'. "),

nl,write("* * * * * * * * * * * * * * * * * * * *"), nl,nl,

do_consulting,

write("Press space bar."),nl,

readln(_),

removewindow, exit.

do_consulting :-

dog_is(X),!,nl,

write("the dog you have indicated is a(n)",X,"."),nl,

clear_facts.

do_consulting :-

nl,write("Sorry I can't help you ! "),

clear_facts.

ask(X,Y) :-

write(" Question :- ",X," it ",Y," ?"),

readln(Reply),

remember(X,Y,Reply).

/* МЕХАНИЗМ ВЫВОДА */

positive(X,Y) :- xpositive(X,Y),!.

positive(X,Y) :-

% not

not( negative(X,Y)),!,

ask(X,Y).

negative(X,Y) :-

xnegative(X,Y),!.

remember(X,Y,yes) :-

asserta(xpositive(X,Y)).

remember(X,Y,no) :-

asserta(xnegative(X,Y)), fail.

clear_facts :-

retract(xpositive(_,_)), fail.

clear_facts :-

retract(xnegative(_,_)), fail.

 

/* ПРОДУКЦИОННЫЕ ПРАВИЛА */

dog_is("English Bulldog") :-

it_is("short-haired dog"),

positive(has,"height under 22 inches"),

positive(has,"low-set tail"),

positive(has,"good natured personality"),!.

dog_is("Beagle") :-

it_is("short-haired dog"),

positive(has,"height under 22 inches"),

positive(has,"longer ears"),

positive(has,"good natured personality"),!.

dog_is("Great Dane") :-

it_is("short-haired dog"),

positive(has,"low-set tail"),

positive(has,"good natured personality"),

positive(has,"weight over 100 lb"),!.

dog_is("American Foxhound") :-

it_is("short-haired dog"),

positive(has,"height under 30 inches"),

positive(has,"longer ears"),

positive(has,"good natured personality"),!.

dog_is("Cocker Spaniel") :-

it_is("long-haired dog"),

positive(has,"height under 22 inches"),

positive(has,"low-set tail"),

positive(has,"longer ears"),

positive(has,"good natured personality"),!.

dog_is("Irish Setter") :-

it_is("long-haired dog"),

positive(has,"height under 30 inches"),

positive(has,"longer ears"),!.

dog_is("Collie") :-

it_is("long-haired dog"),

positive(has,"height under 30 inches"),

positive(has,"low-set tail"),

positive(has,"good natured personality"),!.

dog_is("St. Bernard") :-

it_is("long-haired dog"),

positive(has,"low-set tail"),

positive(has,"good natured personality"),

positive(has,"weight over 100 lb"),!.

it_is("short-haired dog") :-

positive(has,"short-haired"),!.

it_is("long-haired dog") :-

positive(has,"long-haired"),!.

 

 


 

Приложение 4

 

% Демонстрация работы экспертной системы, базирующейся на логике

 

% Эксперт по породам собак

% Демонстрация работы экспертной системы, базирующейся на логике

% состоит из базы знаний (БЗ), механизма вывода (МВ)

% и системы пользовательского интерфейса (СПИ).

% База знаний располагается в оперативной памяти

domains

CONDITIONS = BNO *

HISTORY = RNO *

RNO, BNO, FNO = INTEGER

CATEGORY = SYMBOL

database

/* Предикаты базы данных */

rule(RNO, CATEGORY, CATEGORY,CONDITIONS)

cond(BNO, STRING)

yes(BNO)

no(BNO)

topic(string)

predicates

/* Предикаты системы пользовательского интерфейса */

do_expert_job

show_menu

do_consulting

process(integer)

info(CATEGORY)

goes(CATEGORY)

listopt

erase

clear

eval_reply(char)

/* Предикаты механизма вывода */

go(HISTORY, CATEGORY)

check(RNO, HISTORY, CONDITIONS)

notes(BNO)

inpo(HISTORY, RNO, BNO, STRING)

do_answer(HISTORY, RNO, STRING, BNO, INTEGER)

goal

do_expert_job.

clauses

/* База знаний (БЗ) */

topic("dog").

topic("short-haired dog").

topic("long-haired dog").

rule(1, "dog", "short-haired dog", [1] ).

rule(2, "dog", "longt-haired dog", [2] ).

rule(3, "short-haired dog","English Bulldog ", [3,5,7] ).

rule(4, "short-haired dog","Beagle", [3,6,7] ).

rule(5, "short-haired dog","Great Dane", [5,6,7,8] ).

rule(6, "short-haired dog","American Foxhound",[4,6,7] ).

rule(7, "long-haired dog", "Cocker Spaniel", [3,5,6,7] ).

rule(8, "long-haired dog", "Irish Setter", [4,6] ).

rule(9, "long-haired dog", "Collie", [4,5,7] ).

rule(9, "long-haired dog", "St. Bernard", [5,7,8] ).

cond(1, "short-haired" ).

cond(2, "long-haired" ).

cond(3, "height under 22 inches" ).

cond(4, "height under 30 inches" ).

cond(5, "low-set tail" ).

cond(6, "longer ears" ).

cond(7, "good natured personality" ).

cond(8, "weight over 100 lb" ).

/* Система пользовательского интерфейса */

do_expert_job :-

makewindow(1,7,7," DOG EXPERT SYSTEM ",0,0,25,80),

show_menu,

nl,write(" Press space bar. "),

readchar(_), exit.

show_menu :-

write(" "),nl,

write(" * * * * * * * * * * * * * * * * * * "),nl,

write(" * DOG EXPERT * "),nl,

write(" * * "),nl,

write(" * 1. Consultation * "),nl,

write(" * * "),nl,

write(" * * "),nl,

write(" * 2. Exit the system * "),nl,

write(" * * "),nl,

write(" * * * * * * * * * * * * * * * * * * "),nl,

write(" "),nl,

write("Please enter your choice: 1 or 2 : "),nl,

readint(Choice),

process (Choice).

process(1) :- do_consulting.

process(2) :-

removewindow, exit.

do_consulting :-

goes(Mygoal), go([],Mygoal), !.

do_consulting :-

nl, write(" Sorry I can't help yuo."), clear.

do_consulting.

goes(Mygoal) :-

clear, clearwindow,

nl,nl, write(" "),nl,

write(" WELCOME TO THE DOG EXPERT SYSTEM "),nl,

write(" "),nl,

write("This is a dog identification system. "),nl,

write("To begin the process of choosing a "),nl,

write("dog, please type in 'dog'. If you "),nl,

write("wish to see the dog types, please "),nl,

write("type in a question mark (?). "),nl,

write(" "),nl,

readln(Mygoal), info(Mygoal),!.

info("?") :-

clearwindow, write("Reply from the KBS."),nl,

listopt, nl,write("Please any key. "),

readchar(_), clearwindow,

exit.

info(X) :- X >< "?".

listopt :-

write("The dog types are : "),nl,nl, topic(Dog),

write(" ",Dog),nl, fail.

listopt.

inpo(HISTORY,RNO,BNO,TEXT) :-

write("Question :- ",TEXT," ? "),

makewindow(2,7,7,"Response",10,54,7,20),

write("Type 1 for 'yes' ,"),nl,

write("Type 2 for 'no' : "),nl,

readint(RESPONSE), clearwindow,

shiftwindow(1),

do_answer(HISTORY,RNO,TEXT,BNO,RESPONSE).

eval_reply('y') :-

write(" I hope you have found this helpful !").

eval_reply('n') :-

write(" I am sorry I can't help you !").

go(_,Mygoal) :-

not(rule(_,Mygoal,_,_)),!,

nl,write(" The dog you have indicated is a(n) ",

Mygoal,"."),nl,

write("Is a dog you would like to have (y/n) ?"),

nl,readchar(R),

eval_reply(R).

/* Механизм вывода */

go(HISTORY, Mygoal) :-

rule(RNO,Mygoal,NY,COND),

check(RNO,HISTORY,COND),

go([RNO|HISTORY],NY).

check(RNO,HISTORY,[BNO|REST]) :-

yes(BNO),!,

check(RNO,HISTORY,REST).

check(_,_,[BNO|_]) :- no(BNO),!,fail.

check(RNO,HISTORY,[BNO|REST]) :-

cond(BNO,NCOND),

fronttoken(NCOND,"not",COND),

frontchar(COND,_,COND),

cond(BNO1,COND),

notes(BNO1),!,

check(RNO,HISTORY,REST).

check(_,_,[BNO|_]) :-

cond(BNO,NCOND),

fronttoken(NCOND,"not",COND),

frontchar(COND,_,COND),

cond(BNO1,COND),

yes(BNO1),

!,fail.

check(RNO,HISTORY,[BNO|REST]) :-

cond(BNO,TEXT),

inpo(HISTORY,RNO,BNO,TEXT),

check(RNO,HISTORY,REST).

check(_,_,[]).

notes(BNO) :- no(BNO),!.

notes(BNO) :- not(yes(BNO)),!.

do_answer(_,_,_,_,0) :- exit.

do_answer(_,_,_,BNO,1) :-

assert(yes(BNO)),

shiftwindow(1),

write(yes),nl.

do_answer(_,_,_,BNO,2) :-

assert(no(BNO)), write(no),nl, fail.

erase :- retract(_),fail.

erase.

clear :- retract(yes(_)),retract(no(_)),fail,!.

clear.


 

Приложение 5

domains

mesto=a(integer,integer,symbol)

spisok= mesto*

predicates

a(integer,integer,symbol)

путь(mesto,spisok,spisok)

member(mesto,spisok)

можем_идти(mesto,spisok)

clauses

a(1,1,стена).a(1,2,стена).a(1,3,стена).a(1,4,стена).

a(2,1,пусто).a(2,2,пусто).a(2,3,пусто).a(2,4,стена).

a(3,1,выход).a(3,1,пусто).a(3,2,стена).a(3,3,пусто).a(3,4,стена).

a(4,1,стена).a(4,2,стена).a(4,3,пусто).a(4,4,пусто).

a(5,1,стена).a(5,2,пусто).a(5,3,пусто).a(5,4,стена).

% a(I,J) представляет позицию в i ряду j колонке

% нашли путь?

путь(a(I,J,B),[a(I,J,B)],Были):-

a(I,J,выход),nl,write("Выход",I,J).

% Пытаемся идти на север

путь(a(I,J,B),[a(I,J,B)|P],Были) :-

K= I-1,

можем_идти(a(K,J,B),Были),

путь(a(K,J,B),P,[a(K,J,B)|Были]).

% Пытаемся идти на юг

путь(a(I,J,B),[a(I,J,B)|P],Были) :-

K= I+1,

можем_идти(a(K,J,B),Были),

путь(a(K,J,B),P,[a(K,J,B)|Были]).

% Пытаемся идти на запад

путь(a(I,J,B),[a(I,J,B)|P],Были) :-

L= J-1,

можем_идти(a(I,L,B),Были),

путь(a(I,L,B),P,[a(I,L,B)|Были]).

% Пытаемся идти на восток

путь(a(I,J,B),[a(I,J,B)|P],Были) :-

L= J+1,

можем_идти(a(I,L,B),Были),

путь(a(I,L,B),P,[a(I,L,B)|Были]).

% в позицию i j можно попасть если это не стена и мы не были в ней прежде

можем_идти(a(I,J,B),Были):-

a(I,J,пусто),

% проверить были ли?

not (member(a(I,J,_),Были)),

nl.

member(R,[R|T]).

member(R,[H|T]):-member(R,T).

 

goal

 

путь(a(4,2,пусто),P,[a(4,2,пусто)]), write(P).

 

 


Литература

 

1. Aikins J.S. Prototypical knowledge for expert systems//Artificial Intelligence.- 1983.v.20. p.163-210.

2. Baldwin J. E., eds. (1996). Fuzzy Logic. New York: Wiley.

3. Clements B.R. and Preto F. Evaluating Commercial Real Time Expert System Software for Use in the Process Industries. – C&I. – 1993. – P.107-114.

4. Hall C. The Intelligent Software Development Tools Market//Part I.. Intelligent Software Strategies. 1996. February. V.12.- № 2. – P.1 – 12.

5. Hall C. The Intelligent Software Development Tools Market//Part II. Intelligent Software Strategies. 1996. V.12.- № 3. – P.1 – 16.

6. Harmon P. The Intelligent Software Development Tools Market//Part I.. Intelligent Software Strategies. 1995. V.11.- № 2. – P.1 – 13.

7. Harmon P. The Size of Commercial Al Market in the US//Part II. Intelligent Software Strategies. 1994. V.10.- №1. – P.1 – 6.

8. Intelligent Software Stretegies. №2. – 1996.

9. Jamshidi M., Tilti A., Zadeh L. And Boverie S., eds. (1997). Applications of Fuzzy Logic: Towards High Machine Intelligence Quotient Systems. Englewood Cliffs, NJ: Prentice Hall.

10. Kowalski, R. Algorithm=logic+control. Communications of the ACM, vol. 22, no.7, pp. 424-436, July 1979.(Prolog)

11. Kowalski, R. Logic for problem solving. New York: American Elsevier, 1979.(Prolog)

12. Minsky M. A framework for representation knowlege//Psychology computer vision. – New York: McGraw-Hill, 1975

13. Moore D. and other., Questions and Answers about G2//Copyright.- 1993. Gensym Corporation. P. 26-28.

14. Robinson J. A. (1979) Logic: Form and Function. Edinburgh: Edinburgh University Press.

15. Feigenbaum E.A. The art of artificial intelligence: Themes and case studio of knowledge engineering// The fifth International Joint Conference on Artificial Intelligence/ -Boston: MIT, 1977.-P.1014-1029.

16. Братко И. Программирование на языке Пролог для искусственного интеллекта: Пер. с англ. – М.: Мир, 1990. – 560 с., ил.

17. В. О. Сафонов. Экспертные системы - интеллектуальные помощники специалистов. С.-Пб: Санкт-Петербургская организация общества “Знания” России, 1992.

18. Гейн К., Сарсонт Т. Структурный системный анализ: средства и методы. В 2-х ч. Ч1/Пер. С англ. Под ред. А.В. Козлинского. – М.:Эйтекс, 1993. – 188с.

19. Горбань А. Нейроинформатика и ее приложения/Открытые системы, 4, 1998

20. Горбань А. Современные направления развития нейрокомпьютерных технологий в России /Открытие системы, 4, 1997, стр. 25-28.

21. Д. Н. Марселлус. Программирование экспертных систем на Турбо Прологе.- М.: Финансы и статистика, 1994.

22. Д. Уотермен. Руководство по экспертным системам. М.: Мир, 1980.

23. Д. Элти, М. Кумбс. Экспертные системы: концепции и примеры. М.: Финансы и статистика, 1987.

24. К. Нейлор. Как построить свою экспертную систему М.: Энергоатомиздат, 1991.

25. К. Таунсенд, Д. Фохт. Проектирование и программная реализация экспертных систем на персональных ЭВМ.- М.: Финансы и статистика, 1990.

26. Малпас Дж. Реляционный язык пролог и его применение: Пер. с англ./Под редакцией В.Н. Соболева. – М.: Наука. Гл. ред. физ-мат.лит., 1990. – 464 с.

27. Маслов С.Ю. Обратный метод установления выводимости в классическом исчислении предикатов//Доклады Академии наук СССР.Т 159.–1964. №1.С.17-20.

28. Мендельсон Э. Введение в математическую логику. – М.: Наука, 1971.-320с.

29. Минский М. На пути к созданию искусственного разума//Вычислительные машины и мышление. – М.: Мир, 1967. – 552с.

30. Минский М. Структура для представления знания. –Сб. Психология машинного зрения. Под ред. П. Уинстона. М.: Мир, 1978.- с.249-338.

31. Нейлор К. Как построить свою экспертную систему: Пер. с англ. – М.: Энергоатомиздат, 1991. – 286 с.: ил.

32. Нильсон Н. Искусственный интеллект. Методы поиска решений. – М.: Мир, 1973.-265 с.

33. Нильсон Н. Принципы искусственного интеллекта. – М.: Радио и связь, 1985.-376 с.

34. Осуга С. И др. Приобретение знаний/Пер. с япон.под рук.С.Осуги. - М.: Мир, 1990,-304 с.: ил.

35. Осуга С. Обработка знаний/Пер. с япон. – М.: Мир, 1989.- 293с., ил.

36. Петров Э.И. Система Rethink. Применение. Аспекты//Материалы семинара “Динамические интеллектуальные системы в управлении”. - М: ЦРДЗ, 1996. – с.58-64.

37. Попов Э.В. Фоминых И.Б. Кисель Е.Б. Статические и динамические экспертные системы.- М: ЦРДЗ, 1995. – 126 с.

38. Попов Э.В. Экспертные системы реального времени//Материалы семинара “Экспертные системы реального времени ”. - М: ЦРДЗ, 1995. – с.5-22.

39. Попов Э.В. Экспертные системы. Решение неформализованных задач в диалоге с ЭВМ. – М.: Наука, 1987.

40. Попов Э.В., Фридман Г.Р. Алгоритмические основы интеллектуальных роботов и искусственного интеллекта. – М.: Мир, 1976. – 455с.

41. Поспелов Г.С. Искусственный интеллект. Новая информационная технология//Вестник АН СССР. – 1983. - №6. – С. 31-42.

42. Рот М. Интеллектуальный автомат: компьютер в качестве эксперта/ Пер. с нем. А.П. Свиридова. - М.: Энергоатомиздат, 1991

43. Статические и динамические экспертные системы: Учебное пособие/ Э.В. Попов и др. М.: Финансы и статистика, 1996. -320с.: ил.

44. Таусенд К., Фохт Д. Проектирование и программная реализация экспертных систем на персональных ЭВМ /Пер с англ. В.А. Кондратенко. - М.: Финансы и статистика, 1990

45. Тейлор К. Как построить свою экспертную систему/ Пер. с англ. Н.Н. Слепова. - М.: Энергоатомиздат, 1991

46. Уинстон П. Искусственный интеллект. М.1980.

47. Уотермен Д. Руководство по экспертным системам: пер. с англ./ Под ред. В.Л. Стефанюка. -.М.: Мир, 1989

48. Хант Э. Искусственный интеллект. -М.: Мир,1978.

49. Элти Дж., Кумбс М. Экспертные системы: концепции и примеры/Пер с англ. И предисловие Б.И. Шитикова.- М.: Финансы и статистика, 1987.-191 с. :ил.

50. Грей П. Логика, алгебра и базы данных/Пер. с англ. Под ред. Г.В. Орловского, А.О. Слисенко.- М.: Машиностроение, 1989,- 368 с.: ил.

51. Искусственный интеллект: В 3 кн. Кн. 1. Системы общения и экспертные системы: Справочник/Под ред. Э.В. Попова.-М.: Радио и связь, 1990.-464 с.: ил.

52. Тейз А., Грибомон П., Луи Ж. И др. Логический подход к искусственному интеллекту: от классической логики к логическому программированию/Пер с франц.-М.: Мир, 1990.-43с.: ил.

53. Вагин В.М. Дедукция и обобщение в системах принятия решений. - М.: Наука, 1988. - 384с.

54. Т.А. Гаврилова, В.Ф. Хорошевский. Базы знаний интеллектуальных систем.- СПб: Притер, 2000. – 384с.: ил.

55. Нильсон Н. Принципы искусственного интеллекта. - М.: Радио и связь, 1985. - 376с.

56. Искусственный интеллект. - В 3-х кн. Кн.2. Модели и методы: Справочник / Под ред. Д.А. Поспелова - М.: Радио и связь, 1990. - 304с.

57. Представление и использование знаний: Пер. с япон. / Под ред. Х. Уэно, М. Исидзука. - М.: Мир, 1989. - 220с.

58. Осуга С. Обработка знаний: Пер. с япон. - М.: Мир, 1989. - 293с.

59. Ин Ц., Соломон Д. Использование Турбо-Пролога: Пер. с англ.-М.:Мир, 1990.-300 с.

60. Нечеткие множества в моделях управления и искусственного интеллекта. /Под редакцией Д.А. Поспелова. - М.: Наука, 1986.- 312 с.

61. Джексон П. Введение в экспертные системы: Пер. с англ.: Уч.пос.- М.; Издательский дом Вильямс,2001.- 624 с.

62. Дж. Доорс, А. Р. Рейблейн, С. Вадера Пролог – язык программирования будущего; Пер. с англ.; -М.: Финансы и статистика 1990. 144 с.:ил.

63. Адаменко А.Н., Кучуков А.М. Логическое программирование и Visual Prolog. –СПб.: БХВ-Петербург, 2003.-992 с.: ил.

64. Бондарев В.Н. Искусственный интеллект: Учеб.пособие для вузов/ В.Н. Бондарев Ф.Г. Аде- Севастополь: Изд-во СевНТУ, 2002.-615с.: ил.

65. Обработка нечеткой информации в системах принятия решения / А.Н. Борисов, А.В. Алексеев, Г.В. Меркурьев.- М.: Радио и связь, 1989. – 304с.

66. Представление и исследование знаний / Под ред. Х. Уэно, М. Исидзука; Пер. с япон.-М.:Мир 1989. –220с.

67. Голицын Г.А., Фоминых И.Б. Интеграция нейросетевой технологии с експертными системами // Труды 5 Национальной конференции по ИИ – Казань, 1996.

68. Минский М.Л., Пейперт С. Персептероны. - М.: Мир, 1971.

69. Айзерман М.А., Браверман Э.М., Розоноэр Л.И. Метод потенциальных функций в теории обучения машин. – М.: Наука, 1970. –383с.

70. Hopfield J.J. Neural Network and Physical Systems with Emergent Collective Computation Abilities. //Proc. Nat. Acad. Science USA, 1982-V 79, Pp.2445-2558.

71. Голицын Г.А., Петров В.М. Информация- поведение – творчество. М.: Наука, 1991.- 224с.

72. Ивахненко А.Г. Персептроны. - Киев: Наукова думка, 1974.

73. Дуда Р., Харт П. Распознавание образов и анализ сцен. – М. : Мир, 1976. –512с.

74. Бонгард М.М. Проблема узнавания. М.:Наука.- 320с.

75. Барцев С.И., Охонин В.А. Адаптивные сети обработки информации Красноярск: Ин-т физики СЩ АН СССР, 1986, Препринт 59Б.-20с.

76. Джорж Ф.Люгер Искусственный интеллект: стратегии и методы решения сложных проблем, 4-е издание.: Пер. с англ.- М.: Издательский дом “Вильямс”, 2003.-864 с.

– Конец работы –

Используемые теги: Введение, Экспертные, системы0.056

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Введение в экспертные системы

Что будем делать с полученным материалом:

Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Еще рефераты, курсовые, дипломные работы на эту тему:

Экспертные системы. Классификация экспертных систем. Разработка простейшей экспертной системы
Глава 2. Структура систем, основанных на знаниях. 1. Категории пользователей экспертных систем. 2.2. Подсистема приобретения знаний. 3. База… ЭС выдают советы, проводят анализ, дают консультации, ставят диагноз. Практическое применение ЭС на предприятиях способствует эффективности работы и повышению квалификации специалистов.

Лекция 1. Тема: Операционная система. Определение. Уровни операционной системы. Функции операционных систем. 1. Понятие операционной системы
Понятие операционной системы... Причиной появления операционных систем была необходимость создания удобных в... Операционная система ОС это программное обеспечение которое реализует связь между прикладными программами и...

Микропроцессорные системы: система ДЦ-МПК, система "Юг"
Использован практический опыт внедрения линейных пунктов управления (ЛПУ) на 60 станциях в увязке с ЭЦ-4, ЭЦ-9, МРЦ-12, МРЦ-13. Выполнен переход на… В состав аппаратуры центрального пункта управления (ПУ) входят IBM-совместные… Круглосуточный режим работы аппаратных средств ПУ обеспечивается источниками бесперебойного питания, а также системой…

Система эвристического анализа и искусственного интеллекта Экспертные системы
Усложнение информации, ее структурное изменение, да и увеличение ее объемов во много раз, порождают новые требования к ее обработке, увеличение… Экспертные системы не смогли бы получить столь широкого распространения в… Использование методов поиска или языков программирования, характерных для систем искусственного интеллекта, не…

ТЕЛЕКОММУНИКАЦИОННЫЕ СИСТЕМЫ. СИГНАЛЫ И КАНАЛЫ ЭЛЕКТРИЧЕСКОЙ СВЯЗИ. СИСТЕМЫ СВЯЗИ С ЧАСТОТНЫМ РАЗДЕЛЕНИЕМ КАНАЛОВ. ЦИФРОВЫЕ СИСТЕМЫ ПЕРЕДАЧИ
Лабораторные работы часа... Практические занятия часа... Всего аудиторных занятий часов...

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

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

Разработка подсистемы вывода в диагностической экспертной системе
Работа выполнялась с 1 сентября 1998 года по 30 мая 1999 года. Тип работы инженерная является плановой разработкой института. Особенностью данной дипломной работы является возможность ее работы с… При этом подсистема вывода будет использовать экспертные знания, также допускающие элементы нечеткости и неточности.

Введение в операционные системы. Определение, назначение, состав и функции операционных систем
Государственное образовательное учреждение высшего профессионального образования... ТОЛЬЯТТИНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СЕРВИСА...

0.038
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам