Получение s можно представить следующим образом:
Образование слова производится по принципу от простого «s»
__
к сложному «ts»= «s». Именно об этом говорится в §5.5 при
__ __
определении инициального автомата. (s0=s, sE=ts,s1=s, s=sE)
Все, что можно вывести при помощи последовательности замен, указывается стрелкой =>, т.е. вместо
_
s= tk tk-1 … t2 t1s _
будем иметь xs=>x tk tk-1 … t2 t1 (5.9)
Обозначим множество выводов типа (5.9) β*.
Считаем, что слово x γ* допускается, если хs0 выводимо
из sE: sE=> хs0 (5.10)
Заменим s0 на пустое слово ε, а sE – на символ z.
z =>x - означает «х допускается».
Пусть a, b, c слова из β*. Если b => и c=>b, то c=>a. Иначе говоря, отношение => транзитивно.
Формальной системой Σ = (β,=>,z) называется свободная полугруппа β* слов над β вместе с заданным на ней транзитивным отношением =>, называемым синтаксисом или структурой вывода, и аксиомой z β.
Если выполнено соотношение a=>b, то выводимо из а. Множество всех слов, выводимых из z, называют ядром формальной системы.
Ф ормальная грамматика Г= (β,γ,=>,z), где γcβ и zγ – это формальная система (β,=>,z), синтаксис которой предназначен для выделения в ядре всех тех слов, которые состоят только из терминальных символов.
Словарным запасом или языком z(Г), порождаемым грамматикой Г- множество всех слов из γ*, выводимых из z через отношения =>.
Словарный запас вместе с синтаксисом, позволяющим выводить из z отдельные слова, составляет формальный язык Λ=(Г,Z(Г)), описываемый формальной грамматикой.
Ядро формального языка содержит множество всех слов, которые встречаются в выводах слов из словарного запаса.
Всякое конечное множество x1, x2,…, xn слов xi над набором символов γ можно рассматривать как формальный язык. При этом β = γU{z}, а отношение => представляет собой перечень слов из словарного запаса: z=>x1,
z=>x2,
z=>xn. (5.11)
Полутуэвские языки
Языки, в которых отношение →(с.б.) строится по более простому отношению →(с.м.), такому, что a→b (с.м.) (a,bβ*) ведет к xay→xby для произвольных х, у β*. При этом говорят, что отношение вывода →(с.б.) является полугрупповым замыканием отношения вывода → (с.м.).
Рассмотрим пример. Пусть β={I}, β*={ε, I, II, III, …}так что β*\{ε}– это представление натуральных чисел ( \ - означает без). Пусть соотношение a=>b (a,bβ*) выполняется тогда, когда натуральное число, соответствующее а, меньше числа, соответствующего b. Диаграммой Хассе этого отношения будет:
(с.б) ε→I→II→III→… (5.12)
Граф отношения →(с.б.), порождающего отношение =>, называется диаграммой Хассе.
поскольку β* бесконечно, для всякого отношения, распространяющегося на бесконечное число слов из β*, неосуществимо перечисление соотношений даже для упрощенного отношения →.
Если в диаграмме Хассе (5.12) задать граф ε→I (с.м.), то
а.) при х1 = у1 = ε и а = ε, b = I, следует (с.б.) x1ay1→x1by1 =
= εаε →εbε = εεε→εIε или ε→I
б.) при х2=ε, у2=I и b=II следует (с.б.) х2 bу2 =εIII, но εIIε→ εIII, εIIε= x1IIy1, но из а.) =>, что x1ay1→x1by1 или x1εy1→x1IIy1= x1Iy1→x1IIy1, т.е. I=II (5.13)
в.) при х3=I, y3=II и b= II следует (с.б.).
х3by3 = IIIII, но εIIIε→ IIIII, εIIIε = x1IIIy1. Далее читаем в обратном порядке εаε →εIε→ εIIε→ εIIIε
εаε → εIIIε, но εаε = εIε→ εIIε→ εIIIε и т.д.
Вывод1 Очевидно, что теперь возможно с помощью конечного отношения →(с.м.) (в примере ε →I), т.е. отношения, которое перечислимо конечным числом пар соотношений, породить бесконечное отношение →(с.б.) как полугрупповое замыкание отношения →(с.м.).
Фактически из конечного числа пар xi, yi можно образовать бесконечное множество( в примере – это IIII …).
Определение1 Формальная грамматика называется полутуэвской, если отношение => является транзитивным замыканием полугруппового замыкания некоторого конечного отношения →(с.м.) на β*.
Определение2 Если соотношение а =>b можно получить с помощью конечного числа соотношений а→с1, с1→с2, с2→с3, …, сn→b, то говорят, что отношение →(с.б.) порождает => и называют отношение => транзитивным замыканием →(с.б.).
Определение3 Каждое соотношение называется продукцией языка.
Определение4 Язык порождаемый полутуэвской формальной грамматикой называется полутуэвским языком. В случае когда не учитывается разбиение β на терминальные и нетерминальные символы, говорят о полутуэвской системе.
Вывод2 Если в полутуэвской системе «b» выводимо из «а», то для x, yβ* xby выводимо из xay. Замену a→b (с.м.) можно применять не только к полному слову «а», но и к каждому подслову «а» внутри любого слова «xay».
Пример к выводу 2 Пусть β состоит из двух элементов, т.е. β={A, B}. Продукциями являются:
ε →AA,
AA→ ε,
ε→BB,
BB→ ε ,
ε →ABAB,
ABAB →ε.
Элементом множества продукций этой системы можно представить графом:
Языки Хомского
Лингвист Ноэм Хомский в1955 г. ввел ограничение в полутуэвские системы: «Не допускается таких продукций, которые заменили бы слово, состоящее только из терминальных символов, на какое–нибудь другое слово».
Определение 1 Полутуэвская грамматика называется грамматикой Хамского типа 0 или грамматикой с фразовой структурой, если все ее продукции имеют вид
(с.м.) a→b, a(β\γ)*\{ε}, bβ* (5.16)
Тогда все слова языка, порождаемого грамматикой, являются максимальными, т.е. из них уже нельзя больше вывести никакого другого слова.
Определение 2 Грамматика, обладающая свойством – длина слов при любом выводе не уменьшается, называется неукорачивающей.
Определение 3 Полутуэвская грамматика называется контекстно-зависимой, если все ее продукции имеют вид:
uAv→ubv, (с.м.) (5.17)
где u,vβ*, Aβ, bβ*\{ε}.
Контекстно-зависимая грамматика Хомского типа 0 с естественным ограничением: Aβ\γ для u, v(β\γ)* - называется грамматикой Хомского типа 1.
Определение 4 Контекстно-зависимая полутуэвская грамматика называется контекстно-свободной, если все ее продукции имеют вид: х→b, (с.б.) (5.18)
где хβ, bβ*\{ε}.
Контекстно-свободная грамматика Хомского типа 1с естественным ограничением хβ\γ называется грамматикой Хомского типа 2.
Пример 1 к грамматике Хомского типа 3
β\γ = {Z. NP,VP, AP, N, V, T, Adj, Adv},
γ = {a, an, ball, colorless, furiously, green, ideas, is, is.not, John, , plays, quietly, sleep, sleeps, square, the, •},
( с.м.) R={z→NP VP,
NP→T AP,
NP→AP, ИМЕННАЯ ГРУППА
AP→Adj AP,
AP→N, (5.19)
VP→V NP,
VP→V Adv, ГЛАГОЛЬНАЯ ГРУППА
VP→is • Adj,
VP→is • not • Adj,
VP→V
N→ ball • ,
слова N→ ideas • , СУЩЕСТВИТЕЛЬНОЕ
N→ John • ,
V→is • ,
V→is • not • ,
V→ plays • , глагол
V→ sleep • ,
V→ sleeps • ,
Adj → colorless • ,
слова Adj → green • , прилагательное
Adj → old • ,
Adj → square • ,
Adv→ furiously • ,