Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Реализация сетевой модели вычислений с аксиоматической и рекурсивной формами задания функций и предикатов (бакалаврская работа)

.pdf
Скачиваний:
6
Добавлен:
28.06.2014
Размер:
704.41 Кб
Скачать

10

Рис 1.4.2 Правила редукции сетей с функциональными и предикатными сортами элементов.

Используемый термин сетевая резолюция относится к процедуре вывода общезначимости формул языка исчисления предикатов первого порядка на базе сетевого представления схем направленных отношений. Основными отличиями сетевой резолюции от традиционного резолютивного логического вывода являются[2]:

1)базирующаяся на сетевом представлении схем d -отношений техника проведения доказательства, в частности, выполнения тех действий, которые являются аналогом процедуры унификации;

2)отказ при доказательстве от явного использования эрбрановской интерпретации и, вследствие этого, получение в ходе доказательства

(возможно, не успешного!) в компактной сетевой форме

11

функциональных уравнений, решения которых представляют собой модели рассматриваемой формулы при любых интерпретациях предикатных символов;

3)использование прямого вывода истинности заданной формулы, а не доказательства тождественной ложности инверсной, что потребовало применения не традиционной, а двойственной формы скулемизации;

4)применение специальной техники доказательства формул с равенством на базе сетевого представления схем d -отношений;

1.5.Схемы аксиом

1.A ∙ ( B C ) = ( A B ) ∙ C .

2.

A<n′,n′′>

n′′

= A .

 

 

 

 

 

 

 

 

 

 

n

 

= A .

 

 

 

 

3.

A<n′,n′′>

 

 

 

 

4.

A#(B#C) = (A#B)#C.

 

 

 

5.

A # = A .

 

 

 

 

 

6.

# A = A .

 

 

 

 

 

7.

′ ′

′′

′′

′′

′′

(A #B ) ∙ (A #B )

= (A

A )#(B

B ).

8.

nB nA ∙ ( A<nA ,n′′A > # B<nB ,n′′B > ) ∙ n′′A n′′B = B # A .

9.∙ = .

10.∙ = .

11.∙ ( # ) = ∙ ( # ) .

12.( # ) ∙ = ( # ) ∙ .

12

13.( # ) · = .

14.( # ) · ( # ) = · .

15.Ç = 1Æ1 .

16.. = 1 1

17. (AÇ A) = A.

18. A< n′,n′′> nn′′ .

19.A B = B A .

20.(AÈB) ÈС = AÈ(B ÈC).

21.A A = A.

22.nn A<n,n′′> = nn′′ .

23.A<n′,n> n n′′ = nn′′ .

24. nn′′ A<n′,n′′> .

25. A<n′ ,n′′ > # nn′′ = n′ +nn′′ +n′′ .

A A A A

26. nn′′ # A<n′ ,n′′ > = n′ +nn′′ +n′′ .

A A A A

27.(AÈB) ·C = A·C ÈB·C .

28.A·(BÈC) = A·B È A·C .

29.(AÈB)#C = A#C ÈB#C.

30.A#(B ÈC) = A#B È A#C .

Правила вывода:

П1.

A B, B C

.

 

 

 

A £ C

П2.

A B

 

.

E [B / A]E

13

Здесь [B / A]E – результат замены в схеме E некоторого вхождения схемы A на схему B .

Истинность аксиом и непротиворечивость правил вывода поддаются непосредственной проверке[1].

2. Различные представления схем направленных отношений

2.1. Схематическое представление

Схематическое представление является самым наглядным способом изображения направленных отношшений.

Первое из рассматриваемых представлений, так называемое "лоскутное" ( rag ) представление (сокращенно, r -представление) связано с особенностями базисных операций последовательной и параллельной композиции d -отношений и, как нам кажется, поясняет выбор их названий. В r -представлении адекватно отражаются как собственные свойства этих операций (см. аксиомы 1,4),так и их связь между собой (аксиома 7) и с

?

константами (аксиомы 2,3,5,6).

Рис 2.1 Пример схематического изображения сети

14

Определим два подмножества элементарных сетей – безэлементных S 0

(не зависящее от выбора базиса B ) и одноэлементных S 1B {S1x | x B} . Для обозначения сетей из S 0 используются те же символы, что и для элементарных комбинаторных d -отношений (констант); далее будет очевидна их связь и, следовательно, станет понятен сам выбор таких символов.

Рис 2.2 Элементарные сети

Рассмотрим простые схемы d -отношений, полученные (∙,#)-компози-

цией констант и переменных. r -Представление таких схем определим индуктивно:

1)элементарные схемы – константы и переменные – изображаются

прямоугольниками, внутри которых помещаются соответствующие символы – констант или переменных; для всех случаев, кроме

n

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

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

n

n = 0

и высота

* длина, а при

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

будем выбирать для них именно нулевые размеры;

 

 

 

2) если

′′

и известны

r -представления схем

A

и A′′

с

A A

A

внешними границами в форме прямоугольников, то путем

соответствующей

трансформации (сжимания или растягивания)

в

15

вертикальном направлении они приводятся к одинаковой, в общем случае ненулевой высоте (исключение составляет случай

′′

 

), после чего правая граница r -представления

A

= A

 

A

совмещается с левой границей r -представления A′′ (рис. 2.1a);если A A′# A′′, то путем трансформации r -представлений A′ и A′′ в горизонтальном направлении они приводятся к одинаковой, в общем

 

ненулевой (кроме случая A′ = A′′ ≡

n

 

 

случае,

) длине,

после чего

нижняя

граница

r -представления

A

совмещается

с

верхней

границей r -представления

A′′ (рис. 2.1b).На рис. 2.1c

показан

пример

 

r

-представления

 

схемы

( A ∙ ∙ A # ) ∙ ∙ B # B

( A # ) , где

 

A имеет

арность

< 1,1 > , а

B – арность

< 1,2 > .

 

 

 

Рис. 2.2. -Представление:

а) последовательная композиция: ,

b)параллельная композиция: ,

c)пример r-представления.

16

Соответствия элементарных констант и их схематических представлений(Рис 2.3).

Рис 2.3 Соответствие схематического представления констант и их алгебраических и графических представлений

Пример схематического представления операции (рис 2.4) сложения натуральных чисел.

Натуральное число – число, порожденное конструктором типа натуральных чисел.

<0,1> Null– Конструктор нуля.

<1,1> Succ – Конструктор перехода к следующему числу <2,1> Add – Сложение двух чисел.

Рис 2.4 Пример схематического представления сети

17

2.2. Алгебраическое представление

Еще один тип представления. Смысл заключается в построении алгебраического представления, эквивалентного схематическому. Вся сеть делится на прямоугольные области, затем каждая область заменяется своим алгебраиеским представлением. Алгебраическое представления областей, находящихся на одной вертикали объединяются символом параллельной композиции, А на одной горизонтали – последовательной(рис 2.5)

.

Рис 2.5 Визуализация композиций схем НО

18

Пример.

Для приведенных выше примеров соответствующие алнгебраические представления будут такими

3 41 = 3677 ∙ 8699 3 4 2 = 3677 ∙ 8699 ∙ 8699

Рис 2.6 Пример представления функции в алгебраическом представлении

2.3. Графическое представление.

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

Идея построения заключается в присваивании имен точкам сети, и построении зависимостей между этими точками через другие функции.

19

Пример:

Add = {a,c:e? b = Succ(a), e = Succ(d), d = Add(b,c)}

Или

Add = {a,c: Succ(Add(Succ(a), c))}

Все 3 представления направленных отношений эквивалентны

3. Реализация программы

Цель программы – производить вычисление схем направленных отношений основываясь на принципе сетевой резолюции.

Входные данные берутся из файла с определениями функций в одной из форм (алгебраической или графической). Затем составляется список функций во внутреннем представлении программы.

По запросу пользователя происходит процесс подстановки одной функции в другую. Тем самым порождая новые определения второй функции.

Программа реализована на языке C# в среде Visual Studio 2010. Программа состоит из 2х логических частей:

1.Построение по входному файлу списка лексем.

2.Построение внутреннего представления функций.

Разбор файла происходит согласно заданной грамматике. Сначала определяется сама правосторонняя грамматика, по ней строится граф переходов и начальное состояние. Затем входной файл построчно разбирается, согласно заданной грамматике.