Чтение онлайн

на главную - закладки

Жанры

Программирование на языке Пролог для искусственного интеллекта

Братко Иван

Шрифт:

Рис. 14.3. Два правила из демонстрационной базы знаний системы AL/X для диагностики неисправностей (Reiter 1980). N и S — величины "необходимости" и "достаточности", детально описанные в разд. 14.7. Величина S указывает степень, с которой условие влечет за собой заключение (вывод). Величина N указывает, до какой степени истинность условия необходима для того, чтобы заключение было истинным.

если

 1 существует гипотеза H, что план P ведет к успеху, и

 2 существуют две гипотезы

H1,

что план P1 опровергает план P, и

Н2, что план Р2 опровергает план P, и

 3 имеют место факты:

гипотеза H1 ложна и

гипотеза Н2 ложна

то

 1 породить гипотезу Н3, что составной план "P1 или Р2" опровергает план P, и

 2 породить факт: из Н3 следует не( H)

Рис. 14.4. Правило уточнения плана из системы AL3 для решения шахматных задач (Bratko 1982).

Правила, содержащиеся в базе знаний, имеют вид

ИмяПравила : если Условие то Заключение

где 

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

% Небольшая база знаний для идентификации животных

:- op( 100, xfx, [имеет, 'кормит детенышей',

 'не может', ест, откладывает, это]).

:- op( 100, xf, [плавает, летает, хорошо]).

прав1: если

 Животное имеет шерсть

 или

 Животное 'кормит детенышей' молоком

то

 Животное это млекопитающее.

прав2: если

 Животное имеет перья

 или

 Животное летает и

 Животное откладывает яйца

то

 Животное это птица.

прав3: если

 Животное это млекопитающее и

 ( Животное ест мясо

или

Животное имеет 'острые зубы' и

Животное имеет когти и

Животное имеет

'глаза, направленные вперед' )

то

 Животное
это хищник.

прав4: если

 Животное это хищник и

 Животное имеет

'рыжевато-коричневый цвет' и

 Животное имеет 'темные пятна'

то

 Животное это гепард.

прав5: если

 Животное это хищник и

 Животное имеет

'рыжевато-коричневый цвет' и

 Животное имеет 'черные полосы'

то

 Животное это тигр.

прав6: если

 Животное это птица и

 Животное 'не может' летать и

 Животное плавает

то

 Животное это пингвин.

прав7: если

 Животное это птица и

 Животное летает хорошо

то

 Животное это альбатрос.

факт: X это животное :-

 принадлежит( X, [гепард, тигр, пингвин, альбатрос]).

можно_спросить( _ 'кормит детенышей' _,

 'Животное' 'кормит детенышей' 'Чем').

можно_спросить( _ летает, 'Животное' летает).

можно_спросить( _ откладывает яйца,

 'Животное' откладывает яйца).

можно_спросить( _ ест _, 'Животное' ест 'Что').

можно_спросить( _ имеет _,'Животное' имеет 'Нечто').

можно_спросить( _ 'не может' _,

 'Животное' 'не может' 'Что делать').

можно_спросить( _ плавает, 'Животное' плавает).

можно_спросить( _ летает хорошо,

 'Животное' летает хорошо).

Рис. 14.5. Простая база знаний для идентификации животных. Заимствовано из Winston (1984). Отношение "можно_спросить" определяет вопросы, которые можно задавать пользователю. Операторы 

если
то
,
и
или
определены на рис. 14.10.

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

если

 лампа1 включена и

 лампа1 не работает и

 предохранитель1 заведомо цел

то

 лампа1 заведомо неисправна.

Поделиться:
Популярные книги

Газлайтер. Том 10

Володин Григорий
10. История Телепата
Фантастика:
боевая фантастика
5.00
рейтинг книги
Газлайтер. Том 10

На границе империй. Том 7. Часть 2

INDIGO
8. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
6.13
рейтинг книги
На границе империй. Том 7. Часть 2

Звездная Кровь. Изгой

Елисеев Алексей Станиславович
1. Звездная Кровь. Изгой
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Звездная Кровь. Изгой

Хозяин Теней 4

Петров Максим Николаевич
4. Безбожник
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Хозяин Теней 4

Картофельное счастье попаданки

Иконникова Ольга
Фантастика:
фэнтези
5.00
рейтинг книги
Картофельное счастье попаданки

Экзорцист: Проклятый металл. Жнец. Мор. Осквернитель

Корнев Павел Николаевич
Фантастика:
фэнтези
героическая фантастика
5.50
рейтинг книги
Экзорцист: Проклятый металл. Жнец. Мор. Осквернитель

Доктора вызывали? или Трудовые будни попаданки

Марей Соня
Фантастика:
юмористическая фантастика
попаданцы
5.00
рейтинг книги
Доктора вызывали? или Трудовые будни попаданки

Метатель

Тарасов Ник
1. Метатель
Фантастика:
боевая фантастика
попаданцы
рпг
фэнтези
фантастика: прочее
постапокалипсис
5.00
рейтинг книги
Метатель

Моя на одну ночь

Тоцка Тала
Любовные романы:
современные любовные романы
короткие любовные романы
5.50
рейтинг книги
Моя на одну ночь

Чехов. Книга 2

Гоблин (MeXXanik)
2. Адвокат Чехов
Фантастика:
фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Чехов. Книга 2

Хозяин Теней 2

Петров Максим Николаевич
2. Безбожник
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Хозяин Теней 2

Сумеречный стрелок 7

Карелин Сергей Витальевич
7. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный стрелок 7

Жизнь под чужим солнцем

Михалкова Елена Ивановна
Детективы:
прочие детективы
9.10
рейтинг книги
Жизнь под чужим солнцем

Красноармеец

Поселягин Владимир Геннадьевич
1. Красноармеец
Фантастика:
боевая фантастика
попаданцы
4.60
рейтинг книги
Красноармеец