Чи закриваються звичайні мови додатково?


10

Конкретно, що я маю на увазі під додаванням, ми визначаємо як алфавіт . З огляду на регулярні мови і під деяким алфавітом , дивитися на . { 0 , 1 , 2 , . . . , i } A B Σ i A × BΣi{0,1,2,...,i}ABΣiA×B

Для кожної впорядкованої пари визначте "суму" цієї впорядкованої пари як , де і - числа в базі i. Ведучі 0 ігноруються, тому знаходиться перед кожним прийнятим рядком. Це означає, що визначається як 0.a + b a b 0 ϵ(a,b)A×Ba+bab0ϵ

Мова - це набір рядків, що представляють усі такі можливі суми.A+B

Поки що я знаю:

  • Це вірно в ( ).Σ1
  • Це справедливо для будь-яких обмежених регулярних мов і , оскільки будь-яка кінцева мова є регулярною, а - кінцевою.Б А + ВABA+B
  • Мова = ss - кратне n у базі b під є регулярним для будь-якого . Це означає, що будь-які мови форми також можуть бути додані, як , що також є регулярним. Однак є такі мови, як = ss починається і закінчується 1}, що не відповідає цим критеріям, тому це не описує всі звичайні мови. { | } Σ b b > = 1 C n C i + C j = C i + jCn{|}Σbb>=1CnCi+Cj=Ci+j{ |D{|

2
Неправда, що якщо A регулярний у базі 2, він також регулярний у базі 3, врахуйте, наприклад, сили 2.
domotorp

Я бачу, ти маєш рацію. Я відповідно редагував питання. Я намагався довести це, і це здавалося правдою, і тоді я неправильно зрозумів, що таке гомоморфізм, і припустив, що це правда. Але це не так, вибачте за це. Якщо мова є регулярною в базі b ^ a для деяких a> 1, вона також є регулярною в будь-якій іншій базі b ^ (ac) для будь-якого 1 <= c <a. (так, наприклад, якщо мова є регулярною в базі 8, вона також є регулярною в базових 4 і 2, просто імітуючи базову-8 dfa).
Філіїда

"Це означає, що ϵ визначається як 0". Я не розумію, що це означає. Якщо 0 і ϵ однакові, то всі 0 можна видалити, а інтерпретація чисел більше не працює.
babou

Справа просто в тому, що якщо порожній рядок ϵ знаходиться в упорядкованій парі, він додає 0 до іншого рядка. Також для будь-якого рядка, який містить провідні 0, їх можна видалити. Це означає, що 000101, наприклад, 101, наприклад, 101. Це те, що я мав на увазі, якщо ϵ з'являється в рядку сам по собі , то він є еквівалентним по відношенню до суми як 0, або 00, або 000 самих по собі . Якщо ці рядки знаходяться в іншій строці, всі ставки відключені, і ця заміна вже не діє.
Філіїда

Відповіді:


14

Так, вони є.

Σi3AABBCABABC використовує той факт, що ви можете робити додавання, скануючи справа наліво, зберігаючи лише одну цифру перенесення як стан.

ABCAB


Це справді дивовижно. Я не розумів, що ти можеш використовувати ці стеки таким чином. Дякую!
Філліїда

Справді, це трохи неприємно, оскільки в цьому випадку він містить лише суми рядків однакового розміру, однак, оскільки ми можемо "імітувати" суми рядків різного розміру, додаючи нулі зліва, і просто змінити dfa в ще один dfa, який розпізнає 0 * перед усіма приймаючими рядками (як тільки ви побудуєте підсумовуючи dfa, щоб розпізнати C з гомоморфізмом).
Філліїда

Я вважаю, що найбільшим ключем є те, що A і B повинні бути "технічно модифіковані" так само, щоб вони були 0 * A і 0 * B, і як тільки ми це зробимо, достатньо для кожної пари a і b знайти сума 0 * a + 0 * b-го обох значень має достатню величину 0s, щоб відповідати розмірам, і тоді результат можна позбавити 0s за необхідності, оскільки C модифікований однаково Це малося на увазі, чи є більш простий спосіб подивитися на те, що мені не вистачає?
Філліїда

Так, є деякі технічні засоби, пов’язані з прокладкою, але вони насправді не змінюють основних ідей, тому я їх опустив.
Девід Еппштейн

Класно, це має сенс.
Філліїда

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.