Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Теория автоматов Часть 2




Как происходят стратегические изменения

 

Матрица “изменения - сопротивления”

Отношение к изменениям    
“Сторонник” “Противник”    
Пассивные сторонники Опасный элемент Открытое Проявление отношения к изменениям
Да Нет Скрытое

 

Выявить опасный элемент.

Перетянуть противника в пассивные сторонники.

Руководство может выработать несколько стилей для уменьшения сопротивления изменениям:

1. Конкурентный (победитель - побежденный)

2. Самоустранения (а что произойдет дальше)

3. Компромиссный – паритетность (чтобы было выгодно всем)

4. Приспособленческий – руководство будет ориентировано под ранее сложившиеся структуры.

Чем выше сопротивление изменениям, тем больше нестабильность системы.

 

 

Формальные грамматики и языки. Применение.

Основные понятия и определения

 

 

Теория формальных грамматик (ФГ) дает:

 

- способы задания входных данных;

- способы задания и генерации выходных данных;

- способы задания функции, алгоритма преобразования входных данных в выходные;

- способы анализа входных данных

и др.

 

Основное применение ФГ:

 

- разработка собственных компиляторов;

- разработка переводчиков;

- преобразование строк, массивов;

- разработка поисковых запросов.

 

 

Опр. Алфавит V - конечное непустое множество элементов, называемых символами (буквами).

Опр. Цепочкой a в алфавите V называется любая конечная последовательность символов этого алфавита.

Пример. Пусть алфавит V = {a,b,c}. Тогда baaa является словом в алфавите V.

Опр. Цепочка, которая не содержит ни одного символа, называется пустой цепочкой и обозначается e(l).

Опр. Длиной цепочки w называется число составляющих ее символов (обозначается | w |), причём каждый символ считается столько раз, сколько раз он встречается в w.

Пример. Очевидно, |baaa| = 4 и | e | = 0.

 

 

Обозначим через V* множество, содержащее все цепочки в алфавите V, включая пустую цепочку e, а через V + - множество, содержащее все цепочки в алфавите V, исключая пустую цепочку e.

Пример. Пусть V = {1,0}, тогда V* = {e, 0,l,00,01,10,11,000,...},

а V+ ={0,1,00,01,10,11,000,...}.

 

 

Опр. Если х и у - слова в алфавите V, то слово ху (результат приписывания слова у в конец слова х) называется конкатенацией (катенацией, сцеплением) слов х и у. Иногда конкатенацию слов х и у обозначают х × у.

Опр. Если х - слово и п Î N, то через хп обозначается слово х × х ×... × x. По определению х0 = e.

Пример. ba3 = bааа и (ba)3 = bababa.

Опр. Говорят, что слово х - префикс (начало) слова у, если у = хи.

Опр. Говорят, что слово х - суффикс (конец) слова у, если у = их.

Опр. Говорят, что слово х — подслово слова у, если у = uxv для некоторых слов и и v.

Опр. Через |w|a обозначается количество вхождений символа а в слово w.

Пример. Если V = {a,b,c}, то |baaa| а = 3, |baaa| b = 1 и |baaa| c = 0.

 

 

Опр. Формальный язык – это множество конечных слов (строк, цепочек) над конечным алфавитом V.

Поскольку каждый язык является множеством, можно рассматривать операции объединения, пересечения, разности и дополнения языков, заданных над одним и тем же алфавитом (обозначения L1 È L2, L1 Ç L2, L1 — L2).

Пример. Множество {a, abb} является языком над алфавитом { a,b }.

Пример. Множество {akbal | k ≤ l } является языком над алфавитом {a,b}.

Необходимо различать пустой язык L=0 и язык, содержащий только пустую цепочку: L={e}≠0.

Опр. Пусть L – язык над алфавитом V*. Тогда язык V* — L называется дополнением языка L относительно алфавита V. Когда из контекста ясно, о каком алфавите идёт речь, говорят просто, что язык V* — L является дополнением языка L.

 

 

Опр. Грамматика – система правил, предназначенная для задания множества цепочек и символов данного алфавита. G – грамматика; L(G) – язык этой грамматики.

 

 

Выделяют 3 группы формальных грамматик:

 

1. Порождающие (позволяют строить правильную цепочку в заданном алфавите с описанием ее строения и не позволяют строить ни одной неправильной цепочки).

2. Распознающие (позволяют определить к каждой входной цепочке: является ли она правильной; в случае положительного ответа распознающая ФГ выдает строение цепочки).

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

 

Способы описания языков

 

Конечный язык можно описать простым перечислением его цепочек.

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

Можно выделить два основных подхода для такого представления: механизм распознавания и механизм порождения (генерации).

Механизм распознавания (распознаватель), по сути, является процедурой специального вида, которая по заданной цепочке определяет, принадлежит ли она языку. Если принадлежит, то процедура останавливается с ответом «да», т. е. допускает цепочку; иначе – останавливается с ответом «нет» или зацикливается. Язык, определяемый распознавателем – это множество всех цепочек, которые он допускает.

Примеры распознавателей:

· Машина Тьюринга (МТ). Язык, который можно задать с помощью МТ, называется рекурсивно перечислимым. Вместо МТ можно использовать эквивалентные алгоритмические схемы: нормальный алгоритм Маркова (НАМ), машину Поста и др.

· Линейно ограниченный автомат (ЛОА). Представляет собой МТ, в которой лента не бесконечна, а ограничена длиной входного слова. Определяет контекстно-зависимые языки.

· Автомат с магазинной (внешней) памятью (МП-автомат). В отличие от ЛОА, головка не может изменять входное слово и не может сдвигаться влево; имеется дополнительная бесконечная память (магазин, или стек), работающая по дисциплине LIFO. Определяет контекстно-свободные языки.

· Конечный автомат (КА). Отличается от МП-автомата отсутствием магазина. Определяет регулярные языки.

 

Основной способ реализации механизма порождения — использование порождающих грамматик, которые иногда называют грамматиками Хомского. Порождающие ФГ являются наиболее важными и распространенными.

 

Порождающей ФГ называется четверка вида: G = (VT,VN,P,S),

где VN - конечное множество нетерминальных символов грамматики (обычно прописные латинские буквы);

VT - множество терминальных символов грамматики (обычно строчные латинские буквы, цифры, и т.п.), VT Ç VN = 0;

Р - множество правил вывода грамматики; элемент (α,β) множества Р называется правилом вывода и записывается в виде α→β (читается: «из цепочки α выводится цепочка β»)

S - начальный символ грамматики, S Î VN.

Для записи правил вывода с одинаковыми левыми частями вида α→β1, α→β2,…,α→βn используется сокращенная форма записи α→β1|β2|…|βn.

Пример. Грамматика G 1 = ({0, 1}, {A, S}, Р1, S), где множество Р1 состоит из правил вида: 1) S→0A1; 2) 0А→00А1; 3)А→ e.

Опр. Цепочка βÎ (VT È VN)* непосредственно выводима из цепочки αÎ (VT È VN)+ в грамматике G = (VT,VN,P,S) (обозначается: αÞβ ), если α=ξ1γξ2 и β=ξ1δξ2, где ξ1, ξ2, δ Î V*, γÎV+ и правило вывода γ→δ содержится во множестве Р.

Опр. Цепочка βÎ V* выводима из цепочки αÎ V+ в грамматике G =(VT,VN,P,S) (обозначается: αÞ*β ), если существует последовательность цепочек γ0,γ1,…,γn (n≥0) такая, что α=γ0Þγ1Þ…Þγn=β.

Пример. В грамматике G1 S=>*000111, т.к. существует вывод S => 0А1=> 00А11 => 000A111 => 000111.

 

Опр. Языком, порожденным грамматикой G = (VT, VN,P,S), называется множество всех цепочек в алфавите VT, которые выводимы из начального символа грамматики S с помощью правил множества Р, т.е. множество L(G)= {α Î V* |S Þ *α}.

Пример. Для грамматики G1 L(G1)={0 n 1 n | п>0}.

Опр. Цепочка αÎV *, для которой существует вывод S Þ *α, называется сентенциальной формой в грамматике G = (VT, VN,P, S).

Опр. Грамматики G1 и G2 называются эквивалентными, если L(G1) =L(G2).

Пример. Для грамматики G1 эквивалентной будет грамматика G2 = ({0, 1}, {S}, Р2, S), где множество правил вывода Р2 содержит правила вида S→0S1|01.

 

 

Классификация грамматик и языков по Хомскому

 

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

 

Тип 0. (формальные грамматики с фразовой структурой, неограниченные). Грамматика G = (VT, VN,P, S) называется грамматикой типа 0, если на ее правила вывода не накладывается никаких ограничений, кроме тех, которые указаны в определении грамматики. Любое правило α→β может быть построено с использованием произвольных цепочек α, βÎ(VTÈVN). Этот тип грамматик самый общий, включающий все грамматики. Однако некоторые грамматики могут принадлежать только к этому типу. Практического применения в силу своей сложности такие грамматики не имеют. Например:

P = TR→HT или abC→xDa.

 

Тип 1. (контекстно-зависимые, контекстные грамматики, грамматика непосредственно составляющих, НС-грамматика). К этому типу относятся контекстно-зависимые (КЗ) грамматики и неукорачивающие грамматики.

Грамматика G = (VT,VN,P,S) называется контекстно-зависимой грамматикой (КЗ-грамматикой), если каждое правило вывода из множества Р имеет вид αAβ→αγβ, где α, β∈V*, γ∈V+, A∈VN.

Грамматика G = (VT,VN,P,S) называется неукорачивающий грамматикой, если каждое правило вывода из множества Р имеет вид αAβ→αγβ, где α, β∈V*, γ∈V+, A∈VN и |A|<=|γ|.

Эти классы грамматик эквивалентны. Могут использоваться при анализе текстов на естественных языках, однако при построении компиляторов практически не используются в силу своей сложности. Для контекстно-зависимых грамматик доказано утверждение: по некоторому алгоритму за конечное число шагов можно установить, принадлежит цепочка терминальных символов данному языку или нет.

 

Тип 2. (Контекстно-свободной грамматикой, КС-грамматикой, бесконтекстной грамматикой). Грамматика G = (VT,VN,P,S) называется контекстно-свободной грамматикой (КС-грамматикой), если ее правила вывода имеют вид: A→β, где β∈V+ (для неукорачивающих КС-грамматик, β∈V* для укорачивающих), A∈VN. То есть грамматика допускает появление в левой части правила только нетерминального символа. КС-грамматики широко применяются для описания синтаксиса компьютерных языков (программирования).

 

Тип 3. (регулярная, Р-грамматика, линейная. К третьему типу относятся регулярные грамматики (автоматные) — самые простые из формальных грамматик. Они являются контекстно-свободными, но с ограниченными возможностями. Все регулярные

грамматики могут быть разделены на два эквивалентных класса:

· Грамматика G = (VT, VN, Р, S) называется праволинейной, если ее правила вывода имеют вид A→γB или A→γ, где γ∈VT*, A, B∈VN;

· Грамматика G = (VT, VN, Р, S) называется леволинейной, если ее правила вывода имеют вид A→Bγ или A→γ, где γ∈VT*, A, B∈VN.

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

 




Поделиться с друзьями:


Дата добавления: 2015-05-26; Просмотров: 570; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.036 сек.