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


13

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

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

L is regular⇔∃x,y∈N0:f(n)=x⋅n+y

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

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


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

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

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

Відповіді:


9

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

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

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

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

  • ak{k}
  • (ak)∗{xk∣x∈N0}
  • R1R2S1+S2R1S1R2S2+
  • R1|R2S1∪S2R1S1R2S2|

6

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