Регулярная expresssion определяется рекурсивно
- для некоторых - это регулярное выражение,
- - это регулярное выражение,
- - это регулярное выражение,
- где и - регулярные выражения, регулярное выражение,
- где и - регулярные выражения, регулярное выражение,
- где - это регулярное выражение.
Это определение взято со страницы 64
Сипсер, Майкл. Введение в теорию вычислений, 3-е издание. Cengage Learning, 2012.
Теперь у меня есть следующие вопросы.
- Почему не определение содержит
intersection
,complement
илиreverse
операции? - Если мы изменим 4-й элемент на , получим ли мы эквивалентное определение, то есть для каждого регулярного языка есть измененное регулярное выражение и наоборот?
- Я знаю, что это определение является полным и четко определенным, но почему оно предпочтительнее других эквивалентных, четко определенных и полных определений?
Ответы:
1) Если мы также позволяют пересечение и дополнение, то полученные выражения иногда называют расширенные регулярные выражения; поскольку обычные языки закрыты под логическими операциями, они ничего не получают. Это просто синтаксический сахар. Аналогичное заключение справедливо и для обратной операции. Частично причина, по которой в первом случае все другие операции не упоминаются, заключается в том, чтобы сделать определение как можно более простым, чтобы (индуктивные) доказательства не приходилось заботиться о многих случаях. Другая причина может заключаться в том, что если мы разрешаем определенные операции, а другие нет, то в некоторых случаях получаются очень разные (субрегулярные) языковые классы, например, если мы рассмотрим расширенное регулярное выражение без оператора звезды, то мы получим надлежащий подкласс регулярных , так называемые звездообразными бесплатно или апериодические языки см википедии: звезда свободного языка .
2) Если мы сохраним пункты 1. - 6., но просто изменим пункт 4. при использовании пересечения вместо объединения, мы получим надлежащий подкласс обычных языков. Например , мы уже не могли описать язык , поскольку это повлечет за собой объединение и (доказательство см ниже). Если мы допускаем комплементации, все меняется , как мы накидной обратно по законам де Моргана.{ a } { b }L = { a , b } { а } { б }
3) Я частично ответил на это в 1), но что вы имеете в виду, когда говорите, что это определение предпочтительнее? Я знаю определения, где 2. опущено (как мы имеем 6., что ), или 3. опущено (как у нас есть )), или оба опущены; так что это не минимально возможное определение (оно также дает нам некоторый синтаксический сахар, поскольку у нас есть дополнительные символы для описания и ).∅ = L ( ¯ X ∗ { ε } ∅L ( ∅*) = { ε } ∅ = L ( X*¯¯¯¯¯¯¯ { ε } ∅
EDIT : Мой первый вышеупомянутый комментарий в 2) был неправ, языками в индуктивном закрытии под , и делать провайдер блокирует не являются подмножествами для некоторых , например , рассмотрим . Тем не менее , мы имеем , что не может быть описано с помощью такого выражения. Я дам доказательство, а именно I доказательство , что если , для некоторого выражения с модифицированным 4 - й пунктом, а затем , если (и , следовательно ) доказательство идет по индукции по выражению* ∩ х * х ∈ Х L ( ∘ б ) = { Ь } L = { , Ь } L = L ( R ) X = { , Ь } ≠ Ь { , Ь } ⊆ L ⇒ б ∈ L . R L ( R 1 )∘ * ∩ Икс* x ∈ X L ( a ∘ b ) = { a b } L = { a , b } L = L ( R ) Икс= { a , b } a ≠ b
Замечание: один из наиболее часто используемых выводов: если , то или . Это следует какследовательно, и или и . В первом случае мы имеем и, следовательно, .u = a w = a 1 = | а | = | ты ж | = | ты | + | ш | | ты | = 0 | ш | = 1 | ты | = 1 | ш | = 0 u = ε a = wa=uw u=a w=a 1=|a|=|uw|=|u|+|w| |u|=0 |w|=1 |u|=1 |w|=0 u=ε a=w
источник
Технический отчет, в котором представлены регулярные языки, регулярные выражения и конечные автоматы, задает ваш вопрос на странице 70:
(Вскоре после этого было отмечено, чтоE∗ является более удобным оператором, чем E∗F и эквивалентен по мощности. Поэтому в наши дни мы используем вместо него E∗ .)
Ответ занимает несколько страниц. Во-первых, отмечается, что нужно искать ответ в том, образуют ли полученные языки интересный класс и как они сравниваются с языками, описанными другими способами. На странице 72 отмечается, что отрицание и соединение избыточны: они не добавляют никакой выразительной силы. На странице 80 и далее доказано, что обычные языки - это в точности языки, распознаваемые конечными автоматами.
Другими словами: ответ Стефана можно смело считать окончательным, поскольку он уже был приведен в докладе, в котором впервые были представлены эти концепции.
источник
Из этого отбора операторов (объединения, конкатенации и звезды) можно построить НКА с размером линейной к размеру выражения. С другой стороны, если вы добавите пересечение и комплементацию, размер эквивалентного автомата может привести к взрыву, не элементарно, который, как правило, не желательно.
источник