Конспект лекций москва 2004 удк 519. 713(075)+519. 76(075) ббк 22. 18я7
Вид материала | Конспект |
- Учебное пособие тверь 2008 удк 519. 876 (075. 8 + 338 (075. 8) Ббк 3817я731-1 + 450., 2962.9kb.
- Тексты лекций Москва 2008 удк 339. 9(075. 8) Ббк 65. 5я73-2, 1528.45kb.
- Программно-технический комплекс Учебное пособие Новочеркасск юргту (нпи) 2010. Удк, 3911.73kb.
- Удк 152. 27 (075. 8) + 157 (075. 8) + 152. 3 (075, 60.12kb.
- Краткий конспект лекций Кемерово 2002 удк: 744 (075), 1231.26kb.
- Методические указания по курсу Новосибирск 2004 ббк ю 937. 4 Удк 152. 26 (075), 802.63kb.
- Москва 2011 ббк 63. 3 (2)я 7 к 90 удк 947 (075) История России, 110.08kb.
- Курс лекций Гродно 2005 удк 631. 1 (075., 1193.16kb.
- Удк 070(075. 8) Ббк 76. 01я73, 5789.66kb.
- Удк 339. 9(470)(075. 8) Ббк, 7329.81kb.
2. Языки. Операции над языками
Произвольное множество цепочек над алфавитом V, иначе любое подмножество свободной полугруппы V*, называется фомальным языком над V. Поэтому язык может быть задан как любое множество:
- перечислением элементов;
- ограничивающим свойством;
- через известные множества;
- порождающей процедурой.
В основном будем использовать четвёртый способ, но рассмотрение языков начнем с третьего способа их представления.
Например, для любого V множество слов четной длины является языком. Множество слов нечетной длины также является языком, но в отличие от первого — не замкнутым относительно операции конкатенации. Будем обозначать языки буквой L (с индексами или без них). Рассмотрим операции над языками.
Так как язык является множеством, то применимы все соответствующие операции, для которых выполняются все законы теории множеств.
В частности, L, L.
2.1. Теоретико-множественные операции
Пусть L1 и L2 – два языка над алфавитом V. Язык L называется объединением этих языков ( обозначается L = L1 L2 ), если L ={x / x L1 x L2}.
Пересечением языков L1 и L2 называется язык L (обозначается L = L1 L2 ), такой, что L ={x / x L1 & x L2}.
Дополнением языка L1 до V* называется язык L (обозначается L=V*\L1), такой, что L={ x/ xV* & x L1}.
2.2.Специфические операции
Произведением (иначе конкатенацией) языков L1 и L2 называется язык L (обозначается L=L1L2), если L={x y/xL1 & yL2}.
Например, L1={ ac, a }, L2={ cb, b}, тогда L1L2 ={ acb, accb, ab}.
Свойства операции конкатенации:
- операция умножения языков ассоциативна:
L1 (L2 L3)= (L1 L2) L3;
- операция умножения языков дистрибутивна относительно объединения:
L (L1L2 ) = LL1 LL2 ,
(L1L2 ) L = L1L L2L;
- операция умножения языков не коммутативна: L1 L2 L2 L1.
- L {}= {} L = L;
- L(L1L2 ) LL1 LL2 , в общем случае равенства нет, что легко показать, подобрав соответствующий пример.
В силу ассоциативности операции произведения, как и в случае конкатенации цепочек, записывается как L=L1n. По определению, L0={}. Отметим, что {} . так как (пустой язык) вообще не содержит никаких цепочек.
Итерацией языка L1 называется язык L (обозначается L=L1*), если L=L10 L11 L12 … =. Как нетрудно видеть, итерация алфавита V* (алфавит можно рассматривать как язык, состоящий из односимвольных слов) образует язык, состоящий из всех возможных цепочек, составленных из символов V. Это обстоятельство и объясняет, почему V* используется для обозначения всех слов над алфавитом V.
Вводится также операция усеченной итерации. L называется усеченной итерацией языка L1 (обозначается L=L1+), если L=L10 L11 L12 … =.
3. Абстрактные формальные системы
Абстрактная формальная система – это
- Алфавит А ( множество слов в этом алфавите – А*).
- Разрешимое множество А1 А*, элементы множества А1 называют аксиомами.
- Конечное множество вычислимых отношений Ri (1, …, n, ) на множестве A*, называемых правилами вывода. В этом случае слово непосредственно выводимо из слов 1, …, n по правилу Ri.
Аксиомы тоже могут быть заданы как унарные отношения, но это не всегда удобно.
Выводимость. Вывод формулы В из формул A1, A2, … , An – последовательность формул F1, F2, … , Fm = B, такая, что Fi (i=1,…, m) – либо аксиома, либо одна из формул A1, A2, … , An, либо непосредственно выводима из некоторого подмножества множества {F1, F2, … , Fi-1}по одному из правил вывода. Если существует вывод формулы В из формул A1, A2, … , An, то В выводима из A1, A2, … , An . Множество формул, выводимых из аксиом, называется теоремами теории.
Теорема 1. Для любой формальной теории множество выводимых в ней слов перечислимо.
Доказательство.
Рассмотрим А** – множество всех конечных последовательностей 1, …, n, где i – слова в алфавите А. А** – перечислимо. Из-за разрешимости множества аксиом и вычислимости правил вывода по любой последовательности можно эффективно узнать, является ли она выводом в данной формальной системе (FS).
Если в процессе перечисления А** отбрасывать все последовательности, не являющиеся выводами, то получаем перечисление множества выводов, а значит, последних слов выводов.
Следовательно, множество слов (формул), выводимых в произвольной формальной системе, перечислимо.
Примеры формальных систем: системы продукций Поста (канонические системы), системы подстановок, формальные грамматики, исчисления и т.д.
Каноническая система – это , где
A= {a1,a2,…, an} – алфавит констант,
X= {x1, x2,…,xm} – алфавит переменных,
M= {M1, M2, …, Mk} – множество аксиом, Mi(AX)*,
R = {R1, R2, …, Rl} – множество продукций, имеющих вид 1, 2,…, j, где i, (AX)*, 1, 2,…,j называются посылками, – следствием (заключением).
Слова в (AX)* называются термами, слова в А* – просто словами.
Слово называется применением аксиомы , если получается из подстановкой слов вместо переменных.
Слово непосредственно выводимо из 1, …, n применением продукции R , если существует подстановка слов вместо переменных в продукцию R, которая посылки превратит в 1, …, n, а заключение – в .
Например, из acab , cabb применением продукции a x1 b, x1 b x2 b x2 (подстановка x1=ca, x2=b) непосредственно выводимо bb.
Выводимость – транзитивное и рефлексивное замыкание непосредственной выводимости.
Доказуемое в формальной системе утверждение (теорема формальной системы) – утверждение, выводимое из множества аксиом.
Например, формальная система <{I}, {x}, {I}, {xx I I}> позволяет построить множество нечетных чисел в унарном представлении.
Теорема 2. Для любого перечислимого множества М слов в алфавите А существует каноническая система над А, множество теорем которой совпадает с М (доказательство с использованием машин Тьюринга приводится в [3]).