|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ. 1. База данных содержит следующие факты:1. База данных содержит следующие факты: увлекается(“Коля”, гитара). увлекается(“Оля”, скрипка). увлекается(“Дима”, плаванье). увлекается(“Таня”, теннис). спорт(плаванье). спорт(теннис). муз_инстр(скрипка). муз_инстр(гитара). а) составить правило спортсмен и определить, кто увлекается спортом; б) проследить за поиском решения с помощью отладчика; в) построить целевое дерево поиска с возвратом.
2. База данных содержит следующие факты: увлекается(“Дима”, плаванье). увлекается(“Таня”, теннис). увлекается(“Коля”, гитара). увлекается(“Оля”, скрипка). спорт(плаванье). спорт(теннис). муз_инстр(скрипка). муз_инстр(гитара). а) составить правило музыкант и определить, кто увлекается музыкой; б) проследить за поиском решения с помощью отладчика; в) построить целевое дерево поиска с возвратом. Отчет о выполненной самостоятельной работе должен содержать: 1) тему лабораторной работы; 2) условие задачи; 3) листинг программы; 4) результаты ее тестирования; 5) целевое дерево поиска решения. 1.5 Управление поиском с возвратом: fail – это тождественно-ложный предикат, искусственно создающий ситуацию неуспеха. После выполнения этого предиката управление передается в точку отката и поиск продолжается. Использование предиката fail позволяет найти все решения задачи. Чтобы ограничить пространство поиска и прервать поиск решений при выполнении какого-либо условия, используется предикат отсечения (обозначается!), Однажды пройдя через отсечение, невозможно вернуться назад, т.к. этот предикат является тождественно-истинным. Процесс может только перейти к следующей подцели, если такая имеется. Например, p:- p1, p2,!, p3. Если достигнуты цели p1 и p2, то возврат к ним для поиска новых решений невозможен.
Пример 1 База данных содержит факты вида: student(имя, курс). Создать проект, позволяющий сформировать список студентов 1-го курса. Решение: PREDICATES student(symbol,integer) spisok CLAUSES student(vova,3). student(lena,1). student(dima,1). student(ira,2). student(marina,1). spisok:-student(X,1),write(X),nl,fail. GOAL write("Список студентов 1-курса"),nl,spisok. Результат выполнения программы: Список студентов 1-курса lena dima marina Пример 2 База данных содержит факты вида father(name, name). Создать проект, позволяющий определить кто чей отец. Решение: DOMAINS name=symbol PREDICATES father (name, name) everybody CLAUSES father ("Павел", "Петр"). father ("Петр", "Михаил"). father ("Петр", "Иван"). everybody:- father (X, Y), write(X," - это отец",Y,"а"),nl, fail. GOAL everybody. Результат выполнения программы: Павел - это отец Петра Петр - это отец Михаила Петр - это отец Ивана Пример 3 Создать проект, реализующий железнодорожный справочник. В справочнике содержится следующая информация о каждом поезде: номер поезда, пункт назначения и время отправления. а) вывести всю информацию из справочника. Решение: DOMAINS nom=integer p, t=string PREDICATES poezd(nom,p,t) CLAUSES poezd(233,moskva,"12-30"). poezd(257,moskva,"22-40"). poezd(133,armavir,"10-20"). poezd(353,armavir,"20-40"). poezd(353,adler,"02-30"). poezd(413,adler,"11-10"). poezd(256,piter,"21-30"). GOAL write(" Расписание поездов"), nl, write("Номер Пункт прибытия Время отправления"), nl, poezd(N,P,T), write(N," ",P," ",T),nl,fail. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.) |