Чи є одинарна мова регулярною, якщо її показник є лінійною функцією?


13

Під час виконання поточного завдання для моїх офіційних мов та курсів автоматів я наче зациклювався на вправах, що стосуються одинарних мов (я сподіваюся, що це правильний термін), тобто мов, які будуються на одній букві. Я не хочу питати про конкретні вправи, але, скоріше, про набагато більш загальну думку, яку я придумав:

Нехай і L = { a f ( n )Σ : n N 0 } . Моя гіпотеза: L  регулярна x , y N 0 : f ( n ) = x n + yΣ={a}L={af(n)Σ:nN0}

L is regularx,yN0:f(n)=xn+y

Чи бачило це питання раніше якесь наукове лікування? Це "очевидно" правда / хибність?

Для мене, очевидно, напрямок " " вірно, тому що можна просто побудувати DFA з x + y станами, які цикли через стани x після того, як прочитали y стани і прийняли iff, якщо він знаходиться в номері стану y .x+yxyy


Хороша робота з цим спостереженням - нічого, чого я б очікував від середніх студентів!
Рафаель

Домовились. Це дуже приємне спостереження.
Рік Декер

Це не очевидно з назви, але у нас виникало це питання раніше, до невеликої лемітики еквівалентності: Які можливі набори довжин слів у звичайній мові?
Жил 'SO- перестань бути злим'

Відповіді:


9

Лінійний близький, але технічний термін, який ви шукаєте, є напівлінійним: тобто кінцевим об'єднанням лінійних множин.

Половина доказів цього є наслідком теореми Париха , який говорить про те, що будь-яка контекстна мова має напівлінійну карту Париха (тобто набір векторів, що містять зустрічі кожної літери в алфавіті).

Для одинарної мови парна карта мови є самою мовою (тобто кожне слово однозначно ідентифікується за кількістю літер), тому кожна одинарна звичайна мова є напівлінійною.

Друга половина доказу показує, що ви можете побудувати звичайну мову, що містить кожен одинарний напівлінійний набір. Це вимагає трохи роботи, але це не надто складно, якщо ви використовуєте регулярні вирази:

  • ak{k}
  • (ak){xkxN0}
  • R1R2S1+S2R1S1R2S2+
  • R1|R2S1S2R1S1R2S2|

6

L={akk=3n+1 or k=7n+4}
L={akk=4n+2 or k=13}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.