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

Здесь есть возможность читать онлайн «Иван Братко - Программирование на языке Пролог для искусственного интеллекта» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 1990, ISBN: 1990, Издательство: Мир, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Программирование на языке Пролог для искусственного интеллекта: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Программирование на языке Пролог для искусственного интеллекта»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Книга известного специалиста по программированию (Югославия), содержащая основы языка Пролог и его приложения для решения задач искусственного интеллекта. Изложение отличается методическими достоинствами — книга написана в хорошем стиле, живым языком. Книга дополняет имеющуюся на русском языке литературу по языку Пролог.
Для программистов разной квалификации, специалистов по искусственному интеллекту, для всех изучающих программирование.

Программирование на языке Пролог для искусственного интеллекта — читать онлайн бесплатно полную книгу (весь текст) целиком

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

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

?- эксперт.

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

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

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

...

% Выдача заключения консультационного сеанса и

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

выдать( Ответ) :-

nl, заключение( Ответ),

nl, write( 'Хотите узнать, как?'),

принять( Ответ1),

( Ответ1 = да, !, отобр( Ответ);

true). % Показ решающего дерева

заключение( Ответ1 и Ответ2) :- !,

заключение( Ответ1), write( 'и'),

заключение( Ответ2).

заключение( Заключение было Найдено) :-

write( Заключение).

% "отобр" отображает полное решающее дерево

отобр( Решение) :-

nl, отобр( Решение, 0), !. % Отступ 0

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

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

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

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

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

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

nl, tab( H),

write( 'было'),

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

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

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

nl, H1 is H + 4,

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

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

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

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

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

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

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

write( Ответ).

Рис. 14.12. Оболочка экспертной системы: Отображение окончательного результата и объяснение типа "как".

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

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

14.5.7. Цели с отрицанием

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

рассмотреть( не Цель, Трасса, Ответ) :- !,

рассмотреть( Цель, Трасса, Ответ1),

обратить( Ответ1, Ответ).

% Получить обратное истинностное значение

обратить( Цель это правда было Найдено,

( не Цель) это ложь было Найдено).

обратить( Цель это ложь было Найдено,

( не Цель) это правда было Найдено).

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

эксперт :-

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ответ1 = нет.

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

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

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

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

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

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

Представляем Вашему вниманию похожие книги на «Программирование на языке Пролог для искусственного интеллекта» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


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

Обсуждение, отзывы о книге «Программирование на языке Пролог для искусственного интеллекта» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x