1)имена других фреймов или 2)фасеты:
а) агрегат – указывает, что должны быть заданы требуемые объекты.
б) диапазон – указывает, что должен быть выполнен 1 из множества объектов.
в) по умолчанию.
автор |
|
Ф.И.О. |
Агрегат (Ф.И.О.) |
отдел |
Диапазон (производство, управление) |
Вопрос №14.
Фрейм – это таблица, структура и принцип организации, который является развитием понятие отношения в реляционной модели данных.
Структура фрейма:
Имя фрейма |
|||
Имя слота |
Указатель наследования |
Указатель типа |
Значение слота |
Слот 1 |
S (тот же) |
Frame; List; |
|
……… |
U (уникально) |
Atom; List; |
|
Слот N |
I (независимый тип) |
Text |
Слот - это элемент данных.
Указатель наследования – показывает какую информацию об атрибуте, наследуют слоты нижнего уровня с теми же именами.
S – слот наследуется с теми же значениями данных.
U – слот наследуется, но данные могут принимать любое значение.
I – слот не наследуется.
Frame (указатель) – имя фрейма верхнего уровня.
Atom (переменная)
List (присоединительная процедура), List (список), Text.
Вопрос №15.
Пролог – это декларативный язык, то есть программа написанная на нем, представляет набор фактов с правилами, которая обеспечивает получение заключений на основе фактов. В основе языка лежит упрощенная версия синтаксиса логики предиката – это логическая функция, отражающая отношения между аргументами принимающая значение истина, если это отношение есть, и ложь в противном случае. Программы на прологе включают в себя:
Постановку задачи в виде множества формул. Они описываются в разделе (Clauses). Описание цели Goal, то есть формулировку, которую нужно доказать исходя из множества правил и фактов содержащихся в постановке.
Факты – это отношения между объектами или свойства объектов.
Любит (саша, маша)
девочка (маша)
Правило: - Это заключение для которого известно, что оно истинно, если доказано, сто заданный набор условий является истинным.
«:-»- если
Правило состоит из 2-х частей:
1) Заголовок - это факт, который был истинным, если бы были истинными условия.
2) Правило – это ряд условий, которые должны быть истинными.
Саша любит все, что маша.
любит (саша, Что-нибудь)
:-любит (маша, Что-нибудь)
Вопрос №16.
1) Clauses (или раздел приложений). Факты и правила.
2) Predicates (раздел предикатов). В нем появляются предикаты, описанные в разделе Clauses. В прологе есть большое количество предикатов, которое не требует объявления. Все предикаты данного раздела перечисляются с указанием типов их аргумента (доменов).
любит (арг. 1 тип1, …)
250 символов арг.2 тип N,…
Аргументы предикатов должны принадлежать доменам известных прологу. домены могут быть стандартными и объявленными.
Предикат_мой
(Symbol, Integer)
(Имя, Возраст), то необходимо завести
Domains
имя = symbol
возраст = integer
3) Domains (раздел доменов или типов данных). Целью этого раздела является объявление специальных доменов, которые отсутствуют в стандартных доменах.
Саша мужчина, которому 22 года
Domains
name, sex = symbol
age = integer
Predicates
person (name, Sex, age)
4) Goal (раздел цель). Аналогичен телу правила и в нем указывается список под цели.
Domains
/* - многострочные комментарии. Объявление типов данных */
Predicates
% - объявление предикатов (однострочные комментарии)
Clauses
% предложение
% (факты и правила)
Goal
/* подцель1, подцель2…..
Вопрос №17.
Детерминизм означает, что любое множество входных значений вызывает единственное возможное множество команд, которое используется для определения выходных значений.
Visual Prolog обладает строго детерминированной системой и системой его проверки. Это заставляет программиста объявлять 2 аспекта поведения предикатов и фактов.
Аспекты:
1) Может ли вызов предиката завершаться неуспешно.
2) Какое количество решений предикат может выдать.
Для того, чтобы сделать предикаты не детерминированными, (то есть допустить множественные решения).
nondeterm
имя_предиката(....)
Примеры работы с правилами
Девочка вегетарианка и ест только то, что говорит ей доктор.
девочка_может_есть (Пища_меню):-
овощи (Пища_меню),
список_докторский (Пища_меню).
Пример:
Пусть у нас имеются факты.
родитель (петя, саша)
отец (петя, саша)
мать (света, саша)
Правило:
Человек является родителем другого, если он является отцом (матерью).
родитель (Персона1, Персона2):-
отец (Персона1, Персона2).
родитель (Персона1, Персона2):-
мать (Персона1, Персона2).
Вопрос №18.
Унификация – это процесс сопоставления вызова из раздела GOAL с предложением в разделе CLAUSES.
Пример:
Режиссёр хочет снять сериал, но ему нужна книга более 300 страниц.
domains
заголовок, автор=symbol
объем=integer
predicates
книга (заголовок, объём)
писатель (автор, заголовок)
сериал (symbol)
clauses
писатель (Федя, «Доктор Нет»).
писатель (маша, «Моби Дик»).
книга («Доктор Нет», 250).
книга («Моби Дик», 310).
сериал (Название):-
писатель (_, Название),
книга (Название, ТОМ), ТОМ>300.
1. goal
писатель (X,Y).
Шаги:
- Prolog проверяет каждое предложение писатель и сопоставляет X и Y с предложениями.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.