Главная страница   
Экстренная связь
Сейчас на сайте

Админов: 1 из 7
Исполнителей: 6 из 142
Клиентов: 26 из 5770

Наша помощь
Оценить задание
• Программирование
Информатика
Базы данных
СУБД
• Разработка ПО
Бухгалтерский учёт
Экономика, Аудит
Финанс. менеджмент
Финансовый анализ
Эконом. теория
Эконом. предприятия
Финансы и кредит
Менеджмент
Маркетинг
• ТУСУРовцам
Юриспруденция
Право
Психология
Психологическая консультация
Математика
Исследование операций
Методы оптимизации
Физика
Радиотехника
Электроника
Схемотехника
Механика
Метрология
• Перефразирование
История
Английский
Другой предмет
Заготовки
• Каталог
Программирование
Экономика, Аудит
Бухгалтерский учёт
Финансы и кредит
Юриспруденция
Право
История
Психология
Механика
Информация
О сайте
Наши цены
Соглашение
Наши гарантии
Способы оплаты
Вопросы и ответы
Отзывы клиентов
Бонусы и скидки
Регистрация
Вакансии
Написать письмо
Мы работаем
ЕЖЕДНЕВНО
с 9:30 до 23:30 msk
Поиск по сайту
Разное
Архив заказов
Анекдоты
Облака тегов
Карточные игры
Преподы-монстры
Антиплагиат
Мысли вслух







Яндекс.Метрика











Контрольная работа
Прикладные методы искусственного интеллекта. Вариант 6. Контрольная работа 1. Контрольная работа 2.
в среде программирования SWI-Prolog


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

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

Название работы: Прикладные методы искусственного интеллекта. Вариант 6. Контрольная работа 1. Контрольная работа 2.

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

Описание: Прикладные методы искусственного интеллекта
Контрольная работа 1
Первое контрольное задание

Задание состоит из 5 задач, в которых требуется составить программы на Прологе. Первые две задачи требуют запрограммировать простые предикаты. Следующие две - требуют написать простые программы. В последней за-даче требуется составить более сложную программу на Прологе (как правило, требуется определить несколько предикатов). При составлении программ (если не оговорено противное) можно использовать все встроенные предикаты Пролога. Тексты всех программ, если вы мыслите в духе логического программирования, получаются небольшие.
SWI-Prolog не имеет стандартного help'а для Windows, для этого используется предикат help. Вызов help(<имя предиката>) выдает на экран информацию об этом предикате. Вызов help(7) выдает на экран список всех встроенных предикатов с комментариями. Текстовый файл руководства по SWI-Prolog - pl\library\manual. Отладку предикатов можно осуществлять с помощью предиката трассировки trace(<имя предиката>), трассировка предиката отключается - trace(<имя предиката>, -all).

Вариант 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
Второе контрольное задание состоит из двух задач. Вам надо запрограммировать на Прологе решение логической задачи и создать экспертную систему.
Каким образом можно создавать экспертные системы на Прологе вы прочитаете в 3 разделе. Там же формулируется точно задача, что вам необходимо сделать.
Логическую задачу вы решаете в соответствии с данным вам вариантом. Для решения логической задачи (“волк, коза и капуста”, “отец и два сына”, “ 8 ферзей”, “ рыцари и дамы”, “миссионеры и людоеды”, “обезьяна и банан” и др.) вам необходимо представить задачу в виде пространства состояний и найти решение с помощью поиска в глубину или ширину.

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

Год: 2018

<<< Назад к списку

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

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

Тел.: +7(937)424-22-35
Viber: +7(937)424-22-35
Telegram: +7(937)424-22-35
ВКонтакте: vk.com/kursovikcom
E-mail: info@kursovik.com
Skype: kursovik.com





ВНИМАНИЕ ! Сотрудники сайта KURSOVIK.COM в своей работе осуществляют сбор, обработку и обобщение информации по предложенным клиентам темам. Результатом данной работы является информационная подборка, которая НЕ ЯВЛЯЕТСЯ готовой НАУЧНОЙ РАБОТОЙ, она лишь служит основой для её написания самим клиентом.
Данный сайт НЕ ЯВЛЯЕТСЯ средством массовой информации.
Данный сайт НЕ ЯВЛЯЕТСЯ рекламой каких-либо товаров или услуг.
© 2001-2020 kursovik.com
➥ Оценить задание
➥ Контакты