Порождающие грамматики общего типа (ПГОТ)
Обозначение грамматики: G = áN, S, P, Sñ, где: N – нетерминальный алфавит; S – терминальный алфавит; P – множество продукций; т. е. правил вывода вида a – –> β, где α, β Î (N È S)*; S – аксиома грамматики. Пример 1. G1 = á{S}, {a, b}, P, Sñ, где: P: 1. aSa – –> aSb; 2. S – –> a; 3. S – –> aSa. Непосредственная выводимость: цепочка β непосредственно выводима из цепочки α в грамматике G, если найдутся такие цепочки γ1, γ2, w1, w2, что α = γ1w1γ2, В цепочке α подцепочки γ1, γ2 – контекст. Непосредственно выводимая цепочка получается применением одной продукции грамматики; обозначение непосредственной выводимости: α = => β. Примеры непосредственной выводимости в приведенной грамматике: aSa = => aSb; aSa = => aaa. Знак «= =>» можно интерпретировать как обозначение бинарного отношения непосредственной выводимости. Используя понятие непосредственной выводимости, определим выводимость. Таким образом, выводимость – рефлексивное и транзитивное бинарное отношение. В рассмотренной грамматике G1 возможны выводы: S = =>* a (вывод длины 1); Язык, порождаемый грамматикой (обозначение – L(G)) – множество терминальных цепочек, выводимых из аксиомы, т. е. L(G) = {z ∊ Σ* | S = =>* z}. Пример 2. G2 = <N, Σ, P, S>; N = {A, B, C, S}; S – аксиома; Σ = {a, b, c}; P: 1. S – –> aSBC; 2. S – –> abC
3. CB – –> BC 4. bB – –> bb 5. bC – –> bc 6. cC – –> cc Пример вывода: S = => aSBC = => aabCBC = => aabBCC = => aabbCC = => Грамматика G2 порождает язык L(G) = {an bn cn | n ³ 1}. Порождающие грамматики общего типа реализуются машинами Тьюринга. В теории и практике разработки систем программирования, операционных систем, средств синтаксического анализа, компиляции и перевода применяются и другие Все известные грамматики являются частным случаем ПГОТ и получаются посредством ограничений, налагаемых на продукции.
Автоматные грамматики Порождающая грамматика G = áN, S, P, Sñ называется автоматной, если ее правило вывода имеет следующий вид: - правосторонние правила, или - левосторонние правила, где A, B – элементы нетерминального алфавита; a – элемент терминального алфавита. Языки, порождаемые А-грамматиками, называются регулярными языками (также языками Клини). Пример 3: G3 = á{S, A}, {a, b}, P, S>ñ, где приняты правосторонние правила: P: 1. S – –> aS; 2. S – –> aA; 3. A – –> bA; 4. A – –> b. Пример вывода: S = = > aS = = > aaA = = > aabA = = > aabb. В общем случае грамматика G3 порождает язык L(G3) = {an bm | n, m > 0}. А-грамматики маломощны (этот термин характеризует большое в среднем число Иллюстрация связи между автоматными грамматиками и автоматами Рассмотрим правостороннюю А-грамматику G4 = áN, S, P, Sñ: N = {S1, S2, S3}, где S1 – аксиома; Σ = {x, y, a, b} P: 1. S1 – –> ybS1 2. S1 – –> xaS2 3. S2 – –> xaS2 4. S2 – –> yaS3 5. S3 – –> xbS1 Правила вывода включают входные терминальные символы x и y и выходные терминальные символы а и b.
Граф автомата Мили, реализующий данную грамматику, приведен на рис. 23.
Рис. 23. Граф, реализующий грамматику G4
Рисунок иллюстрирует следующие соответствия: нетерминалы соответствуют состояниям; терминалы соответствуют входным и выходным символам; продукции определяют переходы. Полученный автомат является преобразователем входных слов в выходные. Так, слово 'yxyx' преобразуется в слово 'baab'. Множество выходных слов образует язык, который порождается данной грамматикой. Взаимодействие автомата со средой В теории автоматов значительное место занимали экспериментальные методы:
x(t) x(t) y(t) y(t)
Среду Е можно рассматривать как детерминированный или стохастический автомат, поведение которого зависит от его внутреннего состояния, внешних сигналов и времени. Введем следующие обозначения: y(t) – действия автомата; х(t) – реакция среды; х(t)= +1 – благоприятная реакция (выигрыш); х(t)= -1 – неблагоприятная реакция (проигрыш). В стационарной среде каждое действие автомата вызывает с вероятностью pm значение реакции х(t)= -1 и с вероятностью qm значение х(t)= +1. При этом, qm = 1 - pm; Принято считать, что автомат обладает целесообразным поведением, если на множестве экспериментальных результатов (при различных соотношениях параметров qm и pm) математическое ожидание выигрыша М > М0, где М0 – математическое ожидание выигрыша при qm = pm = 0,5. Исторически сложились такие направления исследований с применением моделирования: Поведение автоматов в детерминированных и случайных средах. Игры автоматов. Коллективное поведение автоматов. Клеточные автоматы. Большую роль в развитии фундаментальной теории автоматов сыграли такие исследователи, как Дж.фон Нейман, К. Шеннон, М. Л. Цетлин, В. М. Глушков, М. Минский. Подходящим руководством для первоначального изучения теории формальных грамматик является книга М. Гросса и А. Лантена [4].
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|