АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ. 1. База данных содержит следующие факты:

Читайте также:
  1. B) суммарное количество выполненной работы
  2. CРЕДА, ДЕНЬ ЗАДАНИЯ
  3. I. Общие работы по теории культуры
  4. I. Организация выполнения выпускной квалификационной работы
  5. II проверка домашнего задания
  6. II. Задание для самостоятельной подготовки
  7. II. Организация работы Комиссии по повышению квалификации и в целом всей деятельности по повышению квалификации
  8. II. ПЕРЕЧЕНЬ ЗАДАНИЙ ДЛЯ ВЫПОЛНЕНИЯ РАБОТЫ
  9. II. Порядок подготовки, защиты и оценки квалификационной работы
  10. II. Работы учеников Уильяма Джеймса: Дж. Дьюи, С. Холла, Дж. Кэттела, Э. Торндайка
  11. II. Рекомендации по оформлению контрольной работы.
  12. II. Требования охраны труда перед началом работы.

1. База данных содержит следующие факты:

увлекается(“Коля”, гитара).

увлекается(“Оля”, скрипка).

увлекается(“Дима”, плаванье).

увлекается(“Таня”, теннис).

спорт(плаванье).

спорт(теннис).

муз_инстр(скрипка).

муз_инстр(гитара).

а) составить правило спортсмен и определить, кто увлекается спортом;

б) проследить за поиском решения с помощью отладчика;

в) построить целевое дерево поиска с возвратом.

 

2. База данных содержит следующие факты:

увлекается(“Дима”, плаванье).

увлекается(“Таня”, теннис).

увлекается(“Коля”, гитара).

увлекается(“Оля”, скрипка).

спорт(плаванье).

спорт(теннис).

муз_инстр(скрипка).

муз_инстр(гитара).

а) составить правило музыкант и определить, кто увлекается музыкой;

б) проследить за поиском решения с помощью отладчика;

в) построить целевое дерево поиска с возвратом.


Отчет о выполненной самостоятельной работе должен содержать:

1) тему лабораторной работы;

2) условие задачи;

3) листинг программы;

4) результаты ее тестирования;

5) целевое дерево поиска решения.

1.5 Управление поиском с возвратом:
предикаты fail и отсечения.

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.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.)