Прикладные методы ИИ Искусственного интеллекта: КР1 + КР2. Вариант 4. Напишите предикат. Миссионеры и людоеды. Поиск в ширину. Создание экспертной системы

Контрольная работа
в среде программирования SWI-Prolog



Если Вы считаете, что данная страница каким-либо образом нарушает Ваши авторские права, то Вам следует обратиться в администрацию нашего сайта по адресу info@kursovik.com либо через форму обратной связи

Среда программирования: SWI-Prolog

Название работы: Прикладные методы ИИ Искусственного интеллекта: КР1 + КР2. Вариант 4. Напишите предикат. Миссионеры и людоеды. Поиск в ширину. Создание экспертной системы

Вид работы: Контрольная работа

Описание: Прикладные методы ИИ Искусственного интеллекта.

Контрольная работа 1. Вариант 4
Задание 1
Напишите предикат p(+X, +N, +V, -L) - истинный тогда и только тогда, когда список L получается после добавления X на N-е место в список V.
Задание 2
Напишите предикат p(+N, +V, -L) - истинный тогда и только тогда, когда список L получается после удаления N-го элемента из списка V.
Задание 3
Запрограммируйте предикат p(+A,+B), распознающий, можно ли получить список элементов A из списка элементов B посредством вычеркивания некоторых элементов.
Алгоритм: Если A - пустой список, то ответом будет "да". В противном случае нужно посмотреть, не пуст ли список B. Если это так, то ответом будет "нет". Иначе нужно сравнить первый элемент списка A с первым элементом списка B. Если они совпадают, то надо снова применить тот же алгоритм к остатку списка A и остатку списка B. В противном случае нужно снова применить тот же алгоритм к исходному списку A и остатку списка B.
Задание 4
Напишите предикат p(+X, +Y, +L) - истинный тогда и только тогда, когда X и Y являются соседними элементами списка L.
Задание 5
Определим операторы:
:- op( 100, fy, ~).
:- op( 110, xfy, &).
:- op( 120, xfy, v).
Булева формула есть терм, определяемый следующим образом: константы true и false - булевы формулы; если X и Y - булевы формулы, то и X v Y, X & Y, ~X - булевы формулы, здесь v и & - бинарные инфиксные операторы дизъюнкции и конъюнкции, а ~ - унарный оператор отрицания.
Напишите программу, распознающую логические формулы в дизъюнктивной нормальной форме, т.е. формулы, являющиеся дизъюнкцией конъюнкций литералов, где литерал - атомарная формула или ее отрицание.

Контрольная работа 2. Вариант 4. Миссионеры и людоеды. Поиск в ширину.
Миссионеры и людоеды.
Три миссионера и три людоеда находятся по одну сторону реки, через которую они хотят переправиться. В их распоряжении имеется лодка, которая может выдержать вес только двух человек. Кроме того, если в какой-то момент число людоедов станет больше числа миссионеров, миссионеры будут съедены независимо от того, на каком берегу реки это случится. Указания к решению. Различные состояния этой задачи однозначно задаются информацией, на каком берегу находятся лодка и сколько миссионеров и людоедов на этом же берегу.
Поэтому структура
state(ЛокализацияЛодки, ЧислоМиссионеровНаТомБерегуГдеЛодка, ЧислоЛюдоедовНаТомБерегуГдеЛодка)
полностью описывает состояние. Допустимые состояния для решения задачи – это те, когда людоеды не могут съесть миссионеров ни на том берегу, где лодка, ни на противоположном,
Возможные значение первого аргумента: атомы west (западный берег) и east (восточный берег). Возможные значения остальных аргументов: 0, 1, 2 или 3.
Начальное состояние: state(east,3, 3).
Конечное состояние: state(west,3,3).

Создание экспертной системы
Несложное комбинирование программ 9 и 10 позволит создать полноценную оболочку экспертной системы. Эта оболочка должна удовлетворять следующим требованиям:
1) если база знаний является просто программой на “почти” полном Прологе, то оболочка ведет себя как метаинтерпретатор этой программы с объяснением как было получено доказательство;
2) если предполагается, что часть информации будет запрашиваться у пользователя, то оболочка ведет активный диалог и может объяснить почему она спрашивает пользователя;
3) применяется механизм рассуждения в условиях неопределенности. Придумайте свою базу знаний с неопределенностями. Эта база знаний должна включать также правила для предикатов askable и explainThis. В этой базе знаний необходим целевой предикат, с помощью которого проверяется достоверность различных гипотез (в базе знаний “Болезни” таким предикатом является hy(_,_) ). Обеспечьте, чтобы оболочка получала все возможные решения, а не останавливалась на одном.

Год: 2024

Данный заказ (контрольная работа) выполнялся нашим сайтом в 2024-м году, в рамках этого заказа была разработана программа в среде программирования SWI-Prolog. Если у Вас похожее задание на программу, которую нужно написать на SWI-Prolog, либо на другом языке программирования, пожалуйста заполните форму, приведённую ниже, после чего Ваше задание в первую очередь рассмотрит наш программист, выполнявший в 2024-м году этот заказ, если он откажется, то Ваше задание оценят другие наши программисты в течение 48-и часов, если оценка нужна срочно, просим Вас оставить пометку об этом - напишите в тексте задания фразу "СРОЧНЫЙ ЗАКАЗ".

Купить эту работу

Viber: +79374242235
Telegram: kursovikcom
ВКонтакте: kursovikcom
WhatsApp +79374242235
E-mail: info@kursovik.com
Skype: kursovik.com