Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
FLOGOL IDE (отчёт).pdf
Скачиваний:
13
Добавлен:
28.06.2014
Размер:
923.8 Кб
Скачать

 

Эквализация определена для НО R1

и

R2 , имеющих арности (n1 ,n)

и

(n2 ,n) ,

соответсвенно.

Результат

операции

будет иметь

арность

(n1 +n2 ,n) .

 

 

 

 

 

 

 

 

 

Условная композиция

НО

R1

и

R2

обозначается знаком

и

представляет

собой проекцию

R2

по

первому

компоненту графика на

область определения НО R1 .

В основу построения языка S-FLOGOL положен язык функционально-

логического программирования FLOGOL (Function and LOGic Oriented Language) [4], опирающийся на формализм направленного отношения, что позволяет в естественной форме выражать основные семантические объекты, используемые при формулировке задач искусственного интеллекта.

К таким объектам относятся предикаты, функции, конструкторы, кортежи и др. Программа на языке S-FLOGOL представляется в виде базы данных определений НО, одно из которых выделенно в качестве запроса к базе. Вычисление запроса производится на основе сетевого представления направленных отношений.

2. Сетевое представление направленных отношений.

Сетевое представление НО является естественной и наглядной формой определения НО, а также основой для создания эффективных моделей их вычисления [1]. На базе сетевого представления НО реализованы такие компоненты системы функционально-логического программирования как графический редактор и подсистема вычислений.

2.1. Формальное определение сетевого представления НО.

Базисом

элементов

B

называется тройка (X , µ', µ" ) ,

где X -

конечное множество сортов элементов;

µ', µ": X 0.. задают

арность

(µ'(x ), µ"(x ))

элементов

каждого сорта

x . По определению,

µ '(x )

называется количеством входов, а

µ"(x ) - количеством выходов элементов

сорта x . Для краткости, базис будем рассматривать как множество сортов элементов с указанием в качестве верхних индексов их арностей.

Размеченной сетью S арности (n',n") , n', n"0 , в базисе элементов B

называется шестерка < P, I ,O,E,G,σ0 >, где

P - конечное множество точек сети S ;

6

σ0 -

частичное отображение

точек сети

на

носитель

D

(начальная

разметка точек сети); подмножество точек сети - область определения

σ0 -

обозначим

Pσ0

(точка p P \ Pσ0 считается неразмеченной);

 

 

 

 

I,O P * - кортежи входных и выходных точек сети

S ,

| I |= n'

и

| O |= n";

E B ×P *

-

множество элементов сети

S ,

такое,

что

для

всех

e ≡< x, I e ,Oe

> E

| I e

| = µ'(x ) ,

| Oe | = µ"(x ) ;

e

называется элементом

сети

S

сорта x , I e

- кортежем его входных, а

Oe

- кортежем его

выходных точек;

 

 

 

 

 

 

 

 

 

 

 

 

G - граф семантического различия точек сети

S , сокращенно, dif –граф

сети S (точнее, G множество ребер этого графа, а P – множество его

вершин).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Фиксируем интерпретацию

ϕ сортов элементов из базиса

B

так, что

для всех

x ( n',n") B

ϕ x -

НО

арности

(n',n")

на

носителе

D .

Интерпретация

Ψϕ Σ

множества

Σ размеченных сетей,

индуцированная

интерпретацией

ϕ , есть

 

 

 

 

 

 

 

 

 

 

 

U{(α,α′′) | ( σ : P D)(( p Pσ0 )(σ( p) =σ0 ( p) &α′ =σ(I ) &α′′ =σ(O) &

<P,I ,O,E,G,σ0 > Σ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

′′

 

 

′′

 

 

 

 

 

 

 

 

 

 

 

( {p , p

} G)σ( p ) σ( p ) & ( e ≡< x, IeOe > E)(<σ(Ie ),σ(Oe ) > ϕ x )}.

 

Иными словами, график НО определяется возможными способами доопределения начальной разметки, удовлетворяющими известным требованиям, предъявляемыми к разметке множеством элементов сети и графом семантического различия при заданной интерпретации элементов

базиса. Если начальная разметка таким требованиям не удовлетворяет, то

сеть интерпретируется как пустое НО.

Формирование сетевого представления осуществляется при помощи

следующих (синтаксических) операций [16]:

-добавление к сети нового элемента,

-отождествление двух или более точек сети,

-разрушение связей заданной точки сети,

-удаление элемента из сети,

7

-добавление ребра в граф семантического различия,

-удаление ребра из графа семантического различия,

-добавление разметки для точки сети,

-удаление разметки точки сети.

Для удобства обозначения принадлежности точек входным или

выходным кортежам элементов введем следующие определения. Точка называется связанной с элементом, если она является компонентом его входного или выходного кортежа. Элемент называется связанным с точкой, если точка связана с этим элементом.

2.2.Графическая интерпретация сетевого представления.

Вграфическом виде сеть задается рамкой сети, элементами сети, точками и дугами. Составные части изображения сетей будем называть

объектами. Элементы сетей в графической нотации изображаются прямоугольниками с именем сорта в левом верхнем углу. Точки сети изображаются кружками, причем неразмеченные точки обозначается сплошными черными кружками, а размеченные – светлыми кружками с черным ободком.

Элементы и точки связываются дугами. Дуга является особым объектом сети, так как понятие дуги отсутствует в формальном определении сети, в котором связи точек задавались через входные и выходные кортежи точек элементов сети, а также через входные и выходные кортежи точек самой сети. Понятие «рамки» позволяет рассматривать саму сеть как особого вида элемент.

Дуга – это объект сети, отображающий вхождение некоторой точки во входной или выходной кортеж элемента сети на некоторой позиции. Графическое изображение представляет собой ломаную линию (с углом излома 90°), соединяющую центр изображения точки со специально

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

прямоугольнике соответствуют порядку вхождений во входной или выходной

кортеж, так, что увеличение номера позиции в кортеже соответствующему

порядку размещения точек присоединения сверху вниз. Примером такого распределения точек является равномерное распределение присоединительных точек по вертикальному ребру прямоугольника

8

изображения элемента сети. Если точка сети принадлежит входному кортежу, то соответствующая присоединительная точка дуги располагается на левой стороне изображающего элемент сети прямоугольника, иначе присоединительная точка изображается на его правой стороне. Так как одна точка сети может иметь несколько вхождений в один и тот же кортеж, то для каждого вхождения формируется своя собственная дуга.

На следующем рисунке приведен обычный вид сетевого представления и соответствие графического изображения объектов сети составляющим формального определения сети.

List

 

 

 

 

 

 

List

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I=λ, O=(c)

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ICons = (a, b), Ocons ==(c)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

 

 

 

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

IF = λ, OF =(a)

 

 

 

Cons

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Cons

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

 

 

 

 

 

 

 

 

 

 

 

 

 

Nil

 

 

 

 

P = {a, b, c}, Pσ0=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Nil

 

 

 

 

 

 

 

 

 

 

 

 

G = , E = {e1, e2, e3}

 

 

 

 

 

 

 

INil = λ, ONil =(b)

 

 

 

 

 

 

 

 

 

 

e1 = {F, λ, (a)}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e2

= {Nil, λ, (b)}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e3

= {Cons, (a, b),(c)}

Перейдем к рассмотрению создания программ, основанных на сетевом представлении НО. Программой для базовой модели вычисления является контекстно-свободная сетевая грамматика (КССГ), заданная пятеркой < , ,α, P >. Через и обозначены, соответственно, терминальный и

нетерминальный базисы КССГ. Терминальный базис содержит сорта тех

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

очередь, содержит сорта элементов, являющихся левыми частями правил из

множества P. Элемент пятерки α соответствует одному из элементов

нетерминального базиса и называется аксиомой грамматики.

9