Прикладные методы ИИ: КР1. Вариант 9. 1. Напишите предикат p(+V, -L). 2. Напишите предикат exists(+P, +L). 3. Напишите программу вычисления целочисленного квадратного корня из натурального числа N. 4. Напишите предикат для вычисления чисел Фибоначчи, используя метод накапливающего параметра. 5. Одним из примеров использования предиката name/2 может служить генерация новых атомов. КР2. Вариант 9. 1. Задача о волке, козе и капусте. Поиск в ширину. 2. Создать полноценную оболочку экспертной системы
Контрольная работа
в среде программирования SWI-Prolog
Среда программирования: SWI-Prolog
Название работы: Прикладные методы ИИ: КР1. Вариант 9. 1. Напишите предикат p(+V, -L). 2. Напишите предикат exists(+P, +L). 3. Напишите программу вычисления целочисленного квадратного корня из натурального числа N. 4. Напишите предикат для вычисления чисел Фибоначчи, используя метод накапливающего параметра. 5. Одним из примеров использования предиката name/2 может служить генерация новых атомов. КР2. Вариант 9. 1. Задача о волке, козе и капусте. Поиск в ширину. 2. Создать полноценную оболочку экспертной системы
Вид работы: Контрольная работа
Описание: Контрольные работы:
Текстовая контрольная работа № 1.
Первое контрольное задание
Вариант 9.
1. Напишите предикат p(+V, -L) - истинный тогда и только тогда, когда список L получается из списка V после удаления всех повторяющихся элементов, т. е. из списка получается множество.
2. Напишите предикат exists(+P, +L), который проверяет «Существует ли элемент списка L, удовлетворяющий предикату P?».
3. Напишите программу вычисления целочисленного квадратного корня из натурального числа N, определяемого как число I, такое, что I*I ≤ N, но (I+1)*(I+1) > N. Используйте определение предиката between/3 для генерирования последовательности натуральных чисел с помощью механизма возвратов.
4. Напишите предикат для вычисления чисел Фибоначчи, используя метод накапливающего параметра.
5. Одним из примеров использования предиката name/2 может служить генерация новых атомов для представления вновь вводимых объектов, например, abc1, abc2, abc3 и т.д. Эти имена характеризуются тем, что все они состоят из корня, определяющего тип именуемого объекта, и целочисленного суффикса для различения объектов одного типа. Напишите программу новое_имя(+X, -Y). Последовательность имен создается с помощью возвратов. Указание. Воспользуйтесь предикатом int_to_atom(+N,-X), который конвертирует натуральное число N в атом X.
Текстовая контрольная работа № 2.
Вариант 9.
1. Логическая задача.
Задача о волке, козе и капусте. Поиск в ширину.
На одном берегу реки находится фермер, волк, коза и капуста. Рядом лодка. Как фермер может переправиться со всем этим «хозяйством» на другой берег? С собой на лодку он может взять только один объект: волка, козу или капусту. Когда он в лодке, на любом из берегов не должна быть «криминальная» ситуация: волк не должен находиться с козой, а коза не должна быть вместе с капустой.
Указания к решению. Различные состояния этой задачи задаются информацией, на каком берегу находятся фермер, волк, коза и капуста, лодка всегда находится там, где фермер. Поэтому структура state(Фермер,Волк,Коза,Капуста) полностью описывает состояние. Возможные значение каждого аргумента: атомы west (западный берег) и east (восточный берег). Начальное состояние: state(east,east,east,east). Конечное состояние: state(west,west,west,west).
2. Экспертная система.
Создать полноценную оболочку экспертной системы.
Эта оболочка должна удовлетворять следующим требованиям:
1) если база знаний является просто программой на «почти» полном Прологе, то оболочка ведет себя как метаинтерпретатор этой программы с объяснением как было получено доказательство;
2) если предполагается, что часть информации будет запрашиваться у пользователя, то оболочка ведет активный диалог и может объяснить почему она спрашивает пользователя;
3) применяется механизм рассуждения в условиях неопределенности.
Придумайте свою базу знаний с неопределенностями. Эта база знаний должна включать также правила для предикатов askable и explainThis. В этой базе знаний необходим целевой предикат, с помощью которого проверяется достоверность различных гипотез (в базе знаний «Болезни» таким предикатом является hy(_,_) ).
Обеспечьте, чтобы оболочка получала все возможные решения, а не останавливалась на одном.
Год: 2023
Данный заказ (контрольная работа) выполнялся нашим сайтом в 2023-м году, в рамках этого заказа была разработана программа в среде программирования SWI-Prolog. Если у Вас похожее задание на программу, которую нужно написать на SWI-Prolog, либо на другом языке программирования, пожалуйста заполните форму, приведённую ниже, после чего Ваше задание в первую очередь рассмотрит наш программист, выполнявший в 2023-м году этот заказ, если он откажется, то Ваше задание оценят другие наши программисты в течение 48-и часов, если оценка нужна срочно, просим Вас оставить пометку об этом - напишите в тексте задания фразу "СРОЧНЫЙ ЗАКАЗ".
Viber:
+79374242235
Telegram: kursovikcom ВКонтакте: kursovikcom WhatsApp +79374242235 E-mail: info@kursovik.com Skype: kursovik.com |