Скачиваний:
24
Добавлен:
01.05.2014
Размер:
356.35 Кб
Скачать

Упражнения

1. Отношение "является" в версии примера с птицами для языка Пролог (см. разд. 6.2) должно быть транзитивным для того, чтобы отражать весь смысл семантической сети. Иными словами, нижеследующий запрос должен вырабатывать два ответа:

| ?— является (твити, X).

Х = канарейка ;

Х -птица ;

нет

Переопределите предикат "является" таким образом, чтобы он стал транзитивным. (Предупреждение: превращение предиката "является" в тран-

зитивный может привести к нежелательным побочным воздействиям, влияющим на другие правила программы, обращающиеся к предикату "является" как к подцели, скажем, на правила "летает" и "цвет".)

2. Напишите программу, предназначенную для представления семантической сети, изображенной на рис, 6.10.

3. Данное упражнение связано с программой, реализующей ведомость сортов бумаги (см. разд. 6.6). Напишите запрос к самому верхнему состоянию ("бумага"), позволяющий просмотреть все позиции ведомости, содержащей сведения о бумаге.

Воспользуйтесь программой "з" для создания нового состояния с именем «рулоны», находящегося под состоянием «бумага» и содержащего только те позиции ведомости, в которых описывается рулонная бумага.

Воспользуйтесь программами "отобразить" и "характер" для анализа содержимого состояния "рулоны".

Примените программу "з" для создания нового состояния «гладкая», находящегося под состоянием «рулоны». Состояние «гладкая» должно содержать только те позиции ведомости, которые несут информацию о рулонной бумаге с гладкой поверхностью. Просмотрите при помощи программы "отобразить" содержимое состояния «гладкая».

Исследуйте работу программы "послать" при помощи отладочных средств Вашего интерпретатора.

Используя процедуру "findall" (см. приложение II), напишите программу "счет", которая подсчитывает количество позиций ведомости, описывающих бумагу для заданного состояния. Модифицируйте программу "з" таким образом, чтобы при образовании нового состояния пользователю автоматически сообщалось о количестве позиций ведомости, связанных с этим состоянием.

4. Подумайте о других областях применения, которые можно адекватно представить в виде иерархии состояний, где информация из общего состояния наследуется конкретным состоянием. Выберите одну из этих предметных областей и воспользуйтесь механизмом наследования для реализации ее представления.

Соседние файлы в папке Гл.6,7,Прилож.,Допол