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

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

Жанры

Неизвестно

Шрифт:

отобр( Ответ1 и Ответ2, Н) :- !, % Отступ Н

отобр( Ответ1, Н),

tab( H), write( 'и'), nl,

отобр( Ответ2, Н).

отобр( Ответ был Найден, Н) :- % Отступ Н

tab( H), печответ( Ответ), % Показ заключения

nl, tab( H),

write( 'было'),

отобр1( Найден, Н).
% Показ доказательства

отобр1( Выведено из Ответ, Н) :- !,

write( Выведено), write( 'из'), % Показ имени правила

nl, H1 is H + 4,

отобр( Ответ, H1). % Показ "предшественника"

отобр1( Найдено, _ ) :-

% Найдено = 'сказано' или 'найдено как факт'

write( Найдено), nl.

печответ( Цель это правда) :- !,

write( Цель). % На выходе 'это правда' опускается

печответ( Ответ) :- % Отрицательный ответ

write( Ответ).

Рис. 14. 12. Оболочка экспертной системы:

Отображение окончательного результата и

объяснение типа "как".

?- эксперт.

Пожалуйста, спрашивайте: % Приглашение пользователю

X это животное и голиаф это Х. % Вопрос пользователя

Это правда: голиаф имеет шерсть?

. . .

14. 5. 6. Одно замечание по поводу программы-оболочки

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

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

14. 5. 7. Цели с отрицанием

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

% Процедура-драйвер верхнего уровня

эксперт :-

принять_вопрос( Вопрос),

% Ввести вопрос пользователя

( ответ_да( Вопрос);

% Попытка найти положительный ответ

ответ_нет( Вопрос) ).

% Если нет положительного ответа, то найти отрицательный

ответ_да( Вопрос) :-

% Искать положительный ответ на Вопрос

статус( отрицательный),

% Пока еще нет положительного ответа

рассмотреть( Вопрос, [ ], Ответ), % Трасса пуста

положительный( Ответ), % Искать положительный ответ

статус( положительный),

% Найден положительный ответ

выдать( Ответ), nl,

write( 'Нужны еще решения?' ),

принять( Ответ1), % Прочесть ответ пользователя

Ответ1 = нет.

% В противном случае возврат к "рассмотреть"

ответ_нет( Вопрос):-

% Искать отрицательный ответ на Вопрос

retract( пока_нет_положительного_решения), !,

% Не было положительного решения?

рассмотреть( Вопрос, [ ], Ответ),

отрицательный( Ответ),

выдать( Ответ), nl,

write( 'Нужны еще решения?' ),

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

Том 4. Солнце ездит на оленях

Кожевников Алексей Венедиктович
4. Кожевников А.В. Собрание сочинений в 4 томах
Проза:
советская классическая проза
5.00
рейтинг книги
Том 4. Солнце ездит на оленях

Третий Генерал: Тома I-II

Зот Бакалавр
1. Третий Генерал
Фантастика:
городское фэнтези
попаданцы
аниме
сказочная фантастика
5.00
рейтинг книги
Третий Генерал: Тома I-II

К востоку от Эдема

Стейнбек Джон Эрнст
Проза:
классическая проза
8.53
рейтинг книги
К востоку от Эдема

Богатырские фамилии. Красные и белые (Сборники рассказов)

Алексеев Сергей Петрович
3. Собрание сочинений в трех томах
Проза:
историческая проза
5.25
рейтинг книги
Богатырские фамилии. Красные и белые (Сборники рассказов)

Твори

Хвильовий Микола
Проза:
классическая проза
5.00
рейтинг книги
Твори

Я уже бог. Книга XL

Дрейк Сириус
40. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Я уже бог. Книга XL

Цикл "Пограничная трилогия"+Романы вне цикла. Компиляция. 1-5

Маккарти Кормак
Приключения:
вестерны
5.00
рейтинг книги
Цикл Пограничная трилогия+Романы вне цикла. Компиляция. 1-5

Гражданский процесс

Чечота Д М
Научно-образовательная:
юриспруденция
5.00
рейтинг книги
Гражданский процесс

Матабар X

Клеванский Кирилл Сергеевич
10. Матабар
Проза:
магический реализм
5.00
рейтинг книги
Матабар X

"Фантастика 2024-136". Компиляция. Книги 1-24

Белогорский Евгений Александрович
Фантастика 2024. Компиляция
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Фантастика 2024-136. Компиляция. Книги 1-24

Таверна на прокачку. Трилогия

Ковальчук Олег Валентинович
1. Хозяин очага и крова
Фантастика:
рпг
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Таверна на прокачку. Трилогия

Неучтенный элемент. Том 8

NikL
8. Антимаг. Вне системы
Фантастика:
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 8

Чужеземные тропы, незнакомые моря

Раквитц Эрих
Приключения:
путешествия и география
5.00
рейтинг книги
Чужеземные тропы, незнакомые моря

Основы общей психологии

Рубинштейн Сергей Леонидович
Мастера психологии
Научно-образовательная:
психология
5.00
рейтинг книги
Основы общей психологии