Искусственный интеллект: КР №1 и КР №2 (вариант 6)

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



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

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

Название работы: Искусственный интеллект: КР №1 и КР №2 (вариант 6)

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

Описание: Искусственный интеллект
Контрольная работа 1, вариант 6

Задача 1
Напишите предикат p(+V, +X, -L) - истинный тогда и только тогда, когда список L получается из списка V после удаления всех вхождений X на всех уровнях, например, p([1, [2, 3, [1]], [3, 1]], 1, [[2, 3, []], [3]]) - истина.

Задача 2
Напишите обобщение предиката member, когда ищется элемент на всех уровнях в списке.

Задача 3
Встроенный предикат functor(+Term, ?Functor, ?Arity) определяет для заданного составного терма Term его функтор Functor и местность Arity.
Встроенный предикат arg(+N, +Term, ?Value) определяет для целого числа N и заданного составного терма Term его N-ый аргумент Value.
Определите предикаты functor1 и arg1 - аналоги предикатов functor и arg через предикат univ (=..)

Задача 4
Напишите предикат range(?M, ?N, ?L), истинный тогда и только тогда, когда L - список целых чисел, расположенных между M и N включительно (предикат должен допускать различное использование, когда не менее двух из трех аргументов конкретизированы).
(Указание. Используйте предикаты var(+X) и nonvar(+X)).

Задача 5
Определим операторы:
:- op( 100, fy, ~).
:- op( 110, xfy, &).
:- op( 120, xfy, v).
Булева формула есть терм, определяемый следующим образом: константы true и false - булевы формулы; если X и Y - булевы формулы, то и X v Y, X & Y, ~X - булевы формулы, здесь v и & - бинарные инфиксные операторы дизъюнкции и конъюнкции, а ~ - унарный оператор отрицания.
Напишите программу, задающую отношение negation_inward(+F1,-F2), которое выполнено, если логическая формула F2 получается из логической формулы F1 внесением всех операторов отрицания внутрь конъюнкций и дизъюнкций.

Контрольная работа 2, вариант 6

Вариант 6
Запрограммировать на Прологе решение логической задачи «Задача об обезьяне и банане».
Поиск в ширину.
Возле двери комнаты стоит обезьяна. В середине этой комнаты к потолку подвешен банан. Обезьяна голодна и хочет съесть банан, однако она не может дотянуться до него, находясь на полу. Около окна этой же комнаты на полу лежит ящик, которым обезьяна может воспользоваться. Обезьяна может предпринимать следующие действия: ходить по полу, залезать на ящик, двигать ящик (если она уже находится около него) и схватить банан, если она уже стоит на ящике прямо под бананом. Может ли обезьяна добраться до банана?
Указания к решению задачи. Различные состояния задачи можно описать структурой
state(ПоложениеОбезьяныВКомнате, % значения: дверь, окно, середина
ОбезьянаНаЯщикеИлиНет, % значения: ящик, пол
ПоложениеЯщикаВКомнате, % значения: дверь, окно, середина
ИмеетИлиНеИмеетБанан) % значения: да, нет
Существует 4 типа ходов:
1) схватить банан - если обезьяна на ящике в середине комнаты и банана не имеет;
2) залезть на ящик, если обезьяна находится на полу, рядом с ящиком;
3) подвинуть ящик с одного разрешенного места на другое, если обезьяна на полу рядом с ящиком;
4) перейти по полу с одного разрешенного места на другое.
Начальное состояние: state('дверь','пол','окно','нет'). Конечное состояние: state(_,_,_,'да').

Год: 2020

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

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

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