Алгебра логики
<<  Логическая структура текста Функциональное и логическое программирование  >>
Логическое программирование
Логическое программирование
Содержание
Содержание
Искусственный интеллект
Искусственный интеллект
Методы ИИ
Методы ИИ
Системы, основанные на знаниях
Системы, основанные на знаниях
Пролог как язык ИИ
Пролог как язык ИИ
Определение понятия экспертной системы
Определение понятия экспертной системы
Функции, выполняемые экспертной системой
Функции, выполняемые экспертной системой
Фундаментальные функции
Фундаментальные функции
Грубая структура экспертной системы
Грубая структура экспертной системы
Структура в упрощенном виде…
Структура в упрощенном виде…
Классификация экспертных систем (некоторые критерии)
Классификация экспертных систем (некоторые критерии)
Критерии отличия ЭС от прочих программ ИИ
Критерии отличия ЭС от прочих программ ИИ
Модели знаний
Модели знаний
Представление знаний с помощью правил вывода
Представление знаний с помощью правил вывода
Свойства правил вывода
Свойства правил вывода
Вероятностные оценки
Вероятностные оценки
Пример1: система MYCIN для медицинских консультаций
Пример1: система MYCIN для медицинских консультаций
Пример: экспертная система по распознаванию животных
Пример: экспертная система по распознаванию животных
20
20
Процесс логического вывода
Процесс логического вывода
Механизм логического вывода
Механизм логического вывода
Поиск и механизм логического вывода
Поиск и механизм логического вывода
Почему продукционные ЭС
Почему продукционные ЭС
ЭС с обратным выводом – v.1.0
ЭС с обратным выводом – v.1.0
Пример запуска
Пример запуска
ЭС с обратным выводом – v.1.1
ЭС с обратным выводом – v.1.1
Результат запуска
Результат запуска
ЭС с обратным выводом – v.1.2
ЭС с обратным выводом – v.1.2
ЭС с прямым выводом
ЭС с прямым выводом
ЭС с прямым выводом – v.2.0
ЭС с прямым выводом – v.2.0
ЭС с прямым выводом – v.2.1
ЭС с прямым выводом – v.2.1
ЭС с прямым выводом – простейшая оболочка
ЭС с прямым выводом – простейшая оболочка
Специализированный ЯПЗ
Специализированный ЯПЗ
Запоминание новых фактов: экспертная система с памятью (полный пример
Запоминание новых фактов: экспертная система с памятью (полный пример
Выводы
Выводы
Доп
Доп

Презентация: «Логическое программирование». Автор: radchenko.gleb. Файл: «Логическое программирование.ppt». Размер zip-архива: 2512 КБ.

Логическое программирование

содержание презентации «Логическое программирование.ppt»
СлайдТекст
1 Логическое программирование

Логическое программирование

Презентация 11 Экспертные системы

2 Содержание

Содержание

Системы искусственного интеллекта Что такое экспертная система, ее функции Логические правила вывода Прямой и обратный вывод Формирование объяснений Учет неопределенностей Примеры простейших ЭС Общие выводы

2

3 Искусственный интеллект

Искусственный интеллект

Языки логического программирования создавались как языки искусственного интеллекта Искусственный интеллект – раздел информатики, изучающий человеческие способы рассуждения и решения задач Сильный ИИ – системы, имитирующие человека Знания, анализ ЕЯ, эмоции, … Слабый ИИ – системы, использующие способы рассуждений Представление знаний + Поиск

3

4 Методы ИИ

Методы ИИ

4

5 Системы, основанные на знаниях

Системы, основанные на знаниях

Для уточнения архитектуры системы важно определиться с: Представлением знаний (статических и динамических) Используемым механизмом логического вывода (алгоритмом поиска)

5

6 Пролог как язык ИИ

Пролог как язык ИИ

Особенности языков ИИ – оперирование образами а не числовыми и т.п. данными Основан на логике предикатов – естественный способ представления знаний Структурные термы – удобный способ для описания любого из способов представления знаний Встроенный механизм поиска с возвратом С возможностью изменения (метаинтерпретаторы) Проект ЭВМ 5 поколения Множество потенциальных областей для применения: Представление знаний Машинное обучение Распознавание естественного языка /машинный перевод Распознавание образов / классификация Робототехника Экспертные системы

6

7 Определение понятия экспертной системы

Определение понятия экспертной системы

Экспертная система - это программа, которая ведет себя подобно эксперту в некоторой проблемной области. Она должна иметь способность к объяснению своих решений и тех рассуждений, на основе которых эти решения были приняты. Часто от экспертной системы требуют, чтобы она могла работать с неточной и неполной информацией. Система, способная заменить или упростить работу специалиста в какой-то конкретной предметной области Примеры: MYCIN PROSPECTOR CYC Яндекс-Гуру Для того, чтобы построить экспертную систему, мы должны создать механизмы, обеспечивающие выполнение следующих функций: решение задач, взаимодействие с пользователем и работа в условиях неопределенности. В данной главе мы разработаем и peaлизуем основные идеи построения экспертных систем.

7

8 Функции, выполняемые экспертной системой

Функции, выполняемые экспертной системой

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

8

9 Фундаментальные функции

Фундаментальные функции

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

9

10 Грубая структура экспертной системы

Грубая структура экспертной системы

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

10

11 Структура в упрощенном виде…

Структура в упрощенном виде…

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

11

12 Классификация экспертных систем (некоторые критерии)

Классификация экспертных систем (некоторые критерии)

По назначению ЭС делятся на: ЭС общего назначения. Специализированные ЭС: 1. проблемно-ориентированные для задач диагностики, проектирования, прогнозирования 2. предметно-ориентированные для специфических задач, например, контроля ситуаций на атомных электростанциях. По степени зависимости от внешней среды выделяют: Статические ЭС, не зависящие от внешней среды. Динамические, учитывающие динамику внешней среды и предназначенные для решения задач в реальном времени. Время реакции в таких системах может задаваться в миллисекундах, и эти системы реализуются, как правило, на языке С++. По типу использования различают: Изолированные ЭС. ЭС на входе/выходе других систем. Гибридные ЭС или, иначе говоря, ЭС интегрированные с базами данных и другими программными продуктами (приложениями). По сложности решаемых задач различают: Простые ЭС - до 1000 простых правил. Средние ЭС - от 1000 до 10000 структурированных правил. Сложные ЭС - более 10000 структурированных правил. По стадии создания выделяют: исследовательский, демонстрационный, промышленный, коммерческий образец ЭС…

12

13 Критерии отличия ЭС от прочих программ ИИ

Критерии отличия ЭС от прочих программ ИИ

Критериями выделения экспертных систем являются следующие: 1) отражает ли функционирование программы подход к проблемы со стороны человека; 2) может ли программа объяснить свои действия способом понятным человеку; 3) может ли взаимодействовать с оператором посредством диалога, подобного диалогу на естественном языке. Например, не являются ЭС следующие программы ИИ: программа печати с голоса программа автоматического доказательства хорем программа решающая задачи по нахождении аналогии в геометрических фигурах. Экспертная система – программа, которая ведёт себя подобно эксперту в некоторой проблемной области. Она должна обладать способностью объяснять свои решения и рассуждения, на основе которых они приняты. Часто к экспертным системам предъявляют требования работы в условиях неполноты и неопределённости главной функции. Тогда требуются рассуждения с использованием вероятностного подхода.

13

14 Модели знаний

Модели знаний

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

14

15 Представление знаний с помощью правил вывода

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

Под выводом в ЭС понимается доказательство того, что из множества предположений следует некоторое заключение. Принятая логика получения заключения специфицируется правилами вывода. Вывод осуществляется посредством поиска и сопоставления по образцу. В ЭС, базирующейся на правилах, запросы пользователя трансформируются в форму, сопоставимую с формой правил БЗ. Механизм вывода инициализирует процесс сопоставления, начиная с «верхнего» правила. Обращение к правилу называется «вызовом». Вызов соответствующих правил в процессе сопоставления продолжается до тех пор, пока не произошло сопоставление или не исчерпана вся БЗ, а значение не найдено. Если МВ обнаруживает, что можно вызвать более одного правила, то запускается процесс разрешения конфликта. При разрешении конфликта приоритет отдается обычно тем правилам, которые более конкретны, либо правилам, которые учитывают больше текущих данных. В ЭС, базирующейся на логике, трансформированные запросы являются значениями, которые сопоставляются со списками значений, находящихся в утверждениях БЗ. По своей популярности язык правил вывода, называемых также порождающими правилами (или продукциями), намного превосходит другие формальные системы представления знаний. В целом такие правила представляют собой условные выражения, но они могут иметь разные интерпретации, например, как показано ниже. if предварительное условие Р then заключение С; if ситуация S then действие А; if соблюдаются условия С1 и С2 then условие С не соблюдается.

15

16 Свойства правил вывода

Свойства правил вывода

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

16

17 Вероятностные оценки

Вероятностные оценки

Правила вывода часто определяют логические отношения между понятиями в проблемной области. Чисто логические отношения можно охарактеризовать как принадлежащие к категорическим знаниям. Под словом "категорический" подразумевается, что эти знания всегда рассматриваются как абсолютно истинные. Но в некоторых областях, таких как медицинская диагностика, в основном преобладают неполные или вероятностные знания. Они являются "неполными" в том смысле, что установленные опытным путем закономерности обычно являются истинными только до определенной степени (они чаще всего оправдываются, но не всегда). В таких случаях правила вывода можно изменить, введя оценку вероятности в их логическую интерпретацию, например, следующим образом: if условие A then следует заключение В с достоверностью F Вообще говоря, чтобы разработать практически применимую экспертную систему для некоторой выбранной проблемной области, необходимо проконсультироваться со специалистами в этой области и много узнать о ней самому. Получение определенного представления о проблемной области от экспертов и из литературы, а также преобразование этой информации в выбранное формальное представление знаний называется выявлением знаний. Это, как правило, сложное занятие, описанию которого мы не можем уделить здесь внимания. Но нам для изучения примеров, в качестве материала требуются определенная проблемная область и небольшая база знаний.

17

18 Пример1: система MYCIN для медицинских консультаций

Пример1: система MYCIN для медицинских консультаций

Одно из правил вывода из системы MYCIN для медицинских консультаций. Параметр 0,7 указывает, до какой степени можно доверять этому правилу if 1. инфекция относится к типу первичной бактериемии, и 2. культура локализуется на одном из стерильных участков, и 3. есть основания полагать, что путь проникновения инфекции в организм - желудочно-кишечный тракт then эти факты могут (с достоверностью 0,7) свидетельствовать о том, что рассматриваемый микроорганизм является бактероидным.

18

19 Пример: экспертная система по распознаванию животных

Пример: экспертная система по распознаванию животных

Условия работы ЭС: Каждое животное идентифицируется по уникальному набору присущих ему признаков Задавая последовательно вопросы о наличии/отсутствии определенного признака, можно идентифицировать животное. Представление знаний: Дерево И-ИЛИ Каждый узел дерева транслируется в продкукционное правило ЕСЛИ цвет - рыжевато-коричневый И узор – тёмные пятна И класс – млекопитающее И отряд – хищник ТО животное – обезьяна Листья дерева соответствуют элементарным фактам, которые являются исходными для решения задачи

19

20 20

20

21 Процесс логического вывода

Процесс логического вывода

21

22 Механизм логического вывода

Механизм логического вывода

22

23 Поиск и механизм логического вывода

Поиск и механизм логического вывода

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

23

24 Почему продукционные ЭС

Почему продукционные ЭС

Естественное представление правил – правила могут формулироваться даже экспертами самостоятельно Возможность контроля непротиворечивости базы знаний на этапе добавления правил Прозрачный и простой механизм логического вывода Очевидный механизм объяснений Есть два варианта реализации ЭС на Прологе: Напрямую кодирование правил на Прологе Создание «оболочки» экспертной системы со специализированным языком представления знаний

24

25 ЭС с обратным выводом – v.1.0

ЭС с обратным выводом – v.1.0

animal(обезьяна) :- class(млекопит), type(хищник), color(рыжкор), pattern(темпятна). animal(тигр) :- class(млекопит), type(хищник), color(рыжкор), pattern(темполосы). % (...) class(млекопит) :- has(волосы); prop(даетмолоко). % (...) type(хищник) :- prop(ест_мясо). type(хищник) :- has(острые_зубы), has(когти), has(вперед_см_глаза). % (...) has(X) :- write('У животного есть '), write(X), write(' (введите да/нет): '), read(да). prop(X) :- write('Животное обладает тем свойством, что '), write(X), write(' (введите да/нет): '), read(да). pattern(X) :- write('Животное имеет характер окраски: (текстом): '), read(X). color(X) :- write('Цвет животного (текстом): '), read(X). ... ?- animal(X). В чем недостаток этого решения?

25

26 Пример запуска

Пример запуска

Проблема: При выводе вопросы задаются многократно (предыдущие ответы пользователя не сохраняются) ?- animal(X). У животного есть волосы (введите да/нет): да. Животное обладает тем свойством, что ест_мясо (введите да/нет): да. Цвет животного (текстом): темполосы. У животного есть острые_зубы (введите да/нет): да. У животного есть когти (введите да/нет): да. У животного есть вперед_см_глаза (введите да/нет): да. Цвет животного (текстом): рыжкор. Животное имеет характер окраски: (текстом): темполосы. Животное обладает тем свойством, что даетмолоко (да/нет): нет. У животного есть волосы (введите да/нет): да. Животное обладает тем свойством, что ест_мясо (введите да/нет): да. Цвет животного (текстом): рыжкор. Животное имеет характер окраски: (текстом): темполосы. X = тигр

26

27 ЭС с обратным выводом – v.1.1

ЭС с обратным выводом – v.1.1

% ЭС с обратным выводом – v.1.1 :-dynamic fact/1. :-dynamic nfact/1. animal(обезьяна) :- class(млекопит), type(хищник), color(рыжкор), pattern(темпятна). animal(тигр) :- class(млекопит), type(хищник), color(рыжкор), pattern(темполосы). % ... class(млекопит) :- has(волосы); prop(даетмолоко). type(хищник) :- prop(ест_мясо). type(хищник) :- has(острые_зубы), has(когти), has(вперед_см_глаза). % ... has(X) :- fact(has(X)), !. has(X) :- nfact(has(X)), !, fail. has(X) :- write('У животного есть '), write(X), write(' (да/нет): '), read(Z), assert_fact(Z, has(X)). assert_fact(yes, X) :- asserta(fact(X)). assert_fact(no, X) :- asserta(nfact(X)). color(X) :- fact(color(Z)), !, Z=X. color(X) :- write('Цвет животного (текст): '), read(Z), asserta(fact(color(Z))), !, Z=X. prop(X) :- write('Животное обладает тем свойством, что '), write(X), write(' (да/нет): '), read(да). pattern(X) :- write('Животное имеет характер окраски: (текстом): '), read(X). %?- animal(X).

27

28 Результат запуска

Результат запуска

Проблема: При выводе многие факты выводятся повторно, т.е. промежуточные результаты вывода не сохраняются в рабочей памяти ?- animal(X). У животного есть волосы (да/нет): нет. Животное обладает тем свойством, что даетмолоко (да/нет): нет. У животного есть волосы (да/нет): нет. Животное обладает тем свойством, что даетмолоко (да/нет): нет. No

28

29 ЭС с обратным выводом – v.1.2

ЭС с обратным выводом – v.1.2

animal(обезьяна) :- class(млекопит), type(хищник), color(рыжкор), pattern(темпятна). animal(тигр) :- class(млекопит), type(хищник), color(рыжкор), pattern(темполосы). % (...) class(млекопит) :- has(волосы), asserta((class(млекопит):-!)). class(млекопит) :- prop(даетмолоко), asserta((class(млекопит):-!)). type(хищник) :- prop(ест_мясо), asserta((type(хищник):-!)). type(хищник) :- has(острые_зубы), has(когти), has(вперед_см_глаза), asserta((type(хищник):-!)). has(X) :- fact(has(X)), !. has(X) :- nfact(has(X)), !, fail. has(X) :- write(‘У него есть ‘), write(X), read(Z), assert_fact(Z,has(X)). assert_fact(yes,X) :- asserta(fact(X)). assert_fact(no,X) :- asserta(nfact(X)). color(X) :- fact(color(Z)), !, Z=X. color(X) :- write(‘Цвет ‘), read(Z), asserta(fact(color(Z))), !, Z=X.

29

30 ЭС с прямым выводом

ЭС с прямым выводом

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

30

31 ЭС с прямым выводом – v.2.0

ЭС с прямым выводом – v.2.0

Solve(x) :- repeat, rule(_), animal(x). Rule(1) :- class(млекопит), type(хищник), color(рыжкор), pattern(темпятна), asserta(animal(обезьяна)). Rule(2) :- class(млекопит), type(хищник), color(рыжкор), pattern(темполосы), asserta(animal(тигр)). Rule(3) :- has(волосы), asserta(class(млекопит)). Rule(4) :- prop(даетмолоко), asserta(class(млекопит)). Rule(5) :- prop(ест_мясо), asserta(type(хищник)). Rule(6) :- has(острые_зубы), has(когти), has(вперед_см_глаза), asserta(type(хищник)). … Color(рыжкор). Pattern(темполосы). Prop(даетмолоко). Has(острые_зубы). Has(когти). Has(вперед_см_глаза). ?- Solve(x).

31

32 ЭС с прямым выводом – v.2.1

ЭС с прямым выводом – v.2.1

Solve(x) :- repeat, rule(_), animal(x). Rule(1) :- class(млекопит), type(хищник), color(рыжкор), pattern(темпятна), !, retract((rule(1):-_)), asserta(animal(обезьяна)). Rule(2) :- class(млекопит), type(хищник), color(рыжкор), pattern(темполосы), !, retract((rule(2):-_)), asserta(animal(тигр)). Rule(3) :- has(волосы), !,retract((rule(3):-_)), asserta(class(млекопит)). Rule(4) :- prop(даетмолоко), !, retract(rule(4):-_)), asserta(class(млекопит)). Rule(5) :- prop(ест_мясо), !,retract((rule(5):-_)), asserta(type(хищник)). Rule(6) :- has(острые_зубы), has(когти), has(вперед_см_глаза), !, retract((rule(6):-_)), asserta(type(хищник)).

32

33 ЭС с прямым выводом – простейшая оболочка

ЭС с прямым выводом – простейшая оболочка

:-Op(60,xfx,'--->'). [Class(млекопит), type(хищник), color(рыжкор), pattern(темпятна) ] ---> animal(обезьяна). [Class(млекопит), type(хищник), color(рыжкор), pattern(темполосы) ] ---> animal(тигр). [Has(волосы)] ---> class(млекопит). [Prop(дает_молоко)] ---> class(млекопит). [Prop(ест_мясо)] ---> type(хищник). [Has(зубы),has(когти), has(вперед_см_глаза)] ---> type(хищник). ... Run :- animal(x), write(x), !. run :- cond ---> act, test(cond), retract(cond--->act), asserta(act), run. Test([]). Test([a|t]) :- call(a), test(t).

33

34 Специализированный ЯПЗ

Специализированный ЯПЗ

rule anumal eq обезьяна if class eq млекопит and type eq хищник and color eq рыжкор and pattern eq темпятна. rule anumal eq тигр if class eq млекопит and type eq хищник and color eq рыжкор and pattern eq темполосы. rule type eq млекопит if gives_milk eq y or has_hair eq y. … gives_milk ask ‘Оно даёт молоко? '. eats_meat ask ‘Оно ест мясо? '. color ask ‘Цвет? '. :- op(10,yfx, and), op(15,yfx,or), op(5,xfx,eq), op(5,xfx,neq). :- op(20,xfx, if). :- op(25,fx, rule). :- op(20,xfx, ask).

34

35 Запоминание новых фактов: экспертная система с памятью (полный пример

Запоминание новых фактов: экспертная система с памятью (полный пример

– на стр. с заданием к л.р.)

% в начале работы читаем файл с базой знаний старт:- exists_file('animals.dat'), retractall(_), consult('animals.dat'), (…). % в конце работы – сохраняем знания в файл game_iteration :- write(‘Задумай животное…'), % (…) question('Хочешь продолжить ?'),!, game_iteration; tell('animals.dat'), listing(факты/4), told, write('До встречи!').

35

36 Выводы

Выводы

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

36

37 Доп

Доп

Литература по теме

Братко И. Алгоритмы искусственного интеллекта на языке PROLOG, 3-е издание. : Пер. с англ. — М. : Издательский дом "Вильямc", 200-1. — 640 с. [http://www.twirpx.com/file/20446/] Новицкая Ю. В. Функциональное и логическое программирование. Электронное учебное пособие [http://courses.edu.nstu.ru/index.php?show=14&curs=331]

37

«Логическое программирование»
http://900igr.net/prezentacija/algebra/logicheskoe-programmirovanie-108384.html
cсылка на страницу

Алгебра логики

19 презентаций об алгебре логики
Урок

Алгебра

35 тем
Слайды
900igr.net > Презентации по алгебре > Алгебра логики > Логическое программирование