Визначення можливостей міні-купи (або інших екзотичних) державних машин


44

Див. Кінець цього допису, щоб отримати додаткові роз'яснення щодо визначення (-ів) автоматизованих міні-купи.

Можна уявити використання різноманітних структур даних для зберігання інформації для використання в державних машинах. Наприклад, автоматичні автомати, що висуваються, зберігають інформацію в стек, а машини Тьюрінга використовують стрічку. Показано, що державні машини, що використовують черги, і ті, що використовують дві численні стеки або стрічки, за потужністю еквівалентні машинам Тюрінга.

Уявіть собі міні-купу машини. Він працює точно так само, як автоматичний висувний автоматичний апарат, за такими винятками:

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

Ця машина може приймати всі звичайні мови, просто не використовуючи купу. Він також може прийняти мову , додавши «S в купу, і видалення «s з купи , коли він читає » s. Він може приймати різні інші без контекстні мови. Однак він не може прийняти, наприклад, (зазначено без доказів). EDIT: чи можна? Я не думаю, що це може, але я раніше був здивований, і я впевнений, що буду продовжувати дивуватися, коли мої припущення продовжують робити мене ... ну.{anbn{a,b}n0}aab{w{a,b}w=wR}

Чи може він прийняти будь-які контекстно-чутливі мови чи повні Тюрінг мови?

Загалом, які дослідження, якщо такі є, проводилися в цьому напрямку? Які результати є, якщо такі є? Мене також цікавлять інші різновиди екзотичних державних машин, можливо, ті, що використовують інші структури даних для зберігання або різного роду обмеження доступу (наприклад, те, як LBA обмежуються ТМ). Довідники високо оцінені. Я заздалегідь вибачаюся, якщо це питання демонструє незнання.


Формальне визначення:

Я даю тут декілька більш детальних визначень автоматів міні-купи, щоб уточнити подальше обговорення у питаннях, на які посилається цей матеріал.

Ми визначаємо недетермінований автоматичний хепі-тип 1 типу як 7-кортеж де ...

(Q,q0,A,Σ,Γ,Z0,δ)
  1. Q - кінцевий, не порожній набір станів;
  2. q0Q - початковий стан;
  3. AQ - сукупність станів, що приймають;
  4. Σ - кінцевий непустий вхідний алфавіт;
  5. γ Γ w ( γ ) N w ( γ 1 ) = w ( γ 2 )Γ - кінцевий непустий вхідний алфавіт, де вага символу , такий, що ;γΓw(γ)Nw(γ1)=w(γ2)γ1=γ2
  6. Z0Γ - спеціальний символ "знизу";
  7. δ:Q×(Σ{ϵ})×(Γ{Z0})P(Q×Γ) є функція переходу.

Функція переходу працює, передбачаючи спочатку порожню купу, що складається лише з . Функція переходу може додати до купи довільну колекцію (скінченна, але можливо порожня або з повторами) елементів . Альтернативно, функція переходу може видалити екземпляр елемента з найменшою масою з усіх елементів, що залишилися в купі (тобто елемент зверху в купі). Функція переходу може використовувати лише самий верхній (тобто мінімальної ваги) екземпляр символу для визначення будь-якого даного переходу.γ 1 , & gamma ; 2 , . . . , γ kΓ γ w ( γ )Z0γ1,γ2,...,γkΓγw(γ)

Далі визначте детермінований автомат min-heap типу-1 як недетермінований автомат min-heap типу 1, який задовольняє такій властивості: для всіх рядків такі, що і , .| х | = n σ Σ | δ n + 1 ( q 0 , x σ y , Z 0 ) | 1xσyΣ|x|=nσΣ|δn+1(q0,xσy,Z0)|1

Визначте також недетермінований автомат для міні-купи типу 2, який точно такий же, як і недетермінований автоматичний міні-купу типу 1, за винятком наступних змін:

  1. γ Γ w ( γ ) N w ( γ 1 ) = w ( γ 2 ) γ 1 = γ 2Γ - кінцевий непустий вхідний алфавіт, де вага символу , такий, що не обов'язково означає ; іншими словами, різні символи купи можуть мати однакову вагу.γΓw(γ)Nw(γ1)=w(γ2)γ1=γ2
  2. Коли до купи додаються екземпляри різних символів купи з однаковою вагою, їх відносний порядок зберігається відповідно до упорядкування, що нагадує стек (LIFO).

Дякуємо Рафаелю, що вказав на це більш природне визначення, яке захоплює (і розширює) без контекстні мови.


Деякі результати, продемонстровані на сьогодні:

  1. Автоматизатори min-heap типу 1 розпізнають набір мов, які не є ні підмножиною, ні надмножиною без контекстних мов. [ 1 , 2 ]
  2. Автомати типу min-heap типу 2, за їх визначенням, розпізнають набір мов, що є належним набором без контекстних мов, а також належний набір мов, прийнятих автоматами min-heap типу 1-х.
  3. Мови, прийняті автоматами 1-х мін-купи, схоже, закриті під з'єднанням, конкатенацією та зіркою Кліна, але не доповнюються [ 1 ], перетином чи різницею;
  4. Мови, прийняті недетермінованими автоматами min-heap типу 1, здаються, є належним набором мов, прийнятих детермінованими автоматизаторами min-heap типу 1.

Можливо, є кілька інших результатів, які я пропустив. Більше результатів (можливо) в дорозі.


Подальші запитання

  1. Закриття під обертанням? -- Відчинено
  2. Закриття під доповненням? -- Немає!
  3. Чи недетермінізм збільшує силу? -- Так?
  4. Чи для типу 2? HALCSL-- Відчинено
  5. Чи додавання купи збільшує потужність для типу 1? - для (?)HAL1HAL2=HALkk>2
  6. Чи додає стек збільшує потужність для типу 1? -- Відчинено

1
Велике питання до речі. Мені спокуса копатись за накачаною лемою для цих автоматів.
Рафаель

@Raphael: Я думаю, ви можете використовувати мій (оновлений) доказ для такої леми: будь-яка мова, для якої вам потрібно «запам’ятати» більше, ніж лінійний обсяг інформації в якійсь підрядці, щоб правильно відповідати наступній підрядці, не можна аналізувати на міні-купи автомати. Я не впевнений, чи можлива справжня лемма в стилі накачки - це може бути і окремим випадком моєї леми.
Олексій десять Брінк

@AlextenBrink Оскільки комбінації чисел символів купи можуть використовуватися для кодування матеріалів, я не впевнений, що лінійна межа обмежується.
Рафаель

Відповіді:


25

Ви можете розпізнати канонічну безконтекстну (але залежну від контексту) мову допомогою цього типу станкового апарату. Суть в тому , що ви додаєте маркери в купу для кожного характері, і в час розбору символів, ви додаєте «велику» фішку в купу, так що вони тільки в кінцевому підсумку в нижній частині купи , коли ви розібрані всі символів.{anbncn | n1}abb

Символи купи - і , де . Ми спожити все символи на вході і додати символи в купу. Якщо ми стикаємося з , ми переключаємо стратегії: для кожного ми стикаємося згодом, видаляємо з купи і додаємо в купу. Коли ми зіткнулися з ми повинні були бігти з S , щоб видалити, а потім для кожного в іншому вхідному знімає з купи. Якщо купа в кінці порожня, рядок є мовою. Очевидно, ми відкидаємо, якщо щось піде не так.aba<baabbabcacb

Оновлення:

Мова не можуть бути розпізнані автоматами min-heap. Припустимо, у нас є автоматика з міні-купи, яка може розпізнавати . Ми дивимось на стан, в якому знаходиться автомат після зчитування (перша частина вводу, тому - наступна). Єдина держава , у нас є вміст купи і конкретного стану автомата він знаходиться. Це означає , що після визнання , це потрібно «держава» , щоб утримувати достатню кількість інформації , щоб відповідати .EPAL={wwR|w{a,b}}EPALwwRwwR

Зокрема, для цього повинно бути можливих різних 'станів (де ), оскільки є можливих слів, що складаються з символів і . Оскільки існує лише кінцева кількість станів і лише обмежена кількість символів купи, це означає, що існує якесь слово для якого купа містить експоненціальне число якогось символу купи, скажімо .2nn=|w|2nabwx

Ми спочатку доводимо теорему для детермінованих автоматичних міні-куч, а потім поширюємо це доведення на недетерміновані автомати міні-кучі. Зокрема, детерміновані автомати, які розпізнають якусь мову, не ставлять себе у нескінченний цикл, що є корисною властивістю.

Ми доведемо, що купа може містити не більше, ніж кількість знаків купи, що є лінійною за кількістю прочитаних символів із введення. Це негайно виключає, що з'являється експоненціальна кількість разів на купі, що завершує доказ того, що не може бути розпізнаний автоматичними min-heap.xEPAL

Оскільки в нашому автоматі є лише кінцева кількість станів і тому, що детермінований автомат не покладе себе у нескінченний цикл, при зчитуванні вхідного сигналу він додасть на купу максимум постійну кількість символів. Аналогічно, при використанні деякого символу купи , він може додавати лише максимум постійну кількість знаків купи, які суворо перевищують і це може лише зменшити кількість символів на стеку (інакше ми отримаємо нескінченний цикл).yyy

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

У недетермінованому випадку доказ схожий, але трохи складніший: замість того, щоб додати в групу щонайменше деяку постійну кількість жетонів купи, він додає до купи деяку кількість довільних жетонів купи. Однак вирішальним моментом є те, що це число не залежить від . Зокрема, якщо після розпізнавання (правильне розпізнавання ) ми можемо недетерміновано отримати саме потрібні символи купи , ми можемо також недетерміновано вибрати символи купи, які відповідають іншому слову , і тим самим розпізнаємо , тим самим суперечивши, що автомат міні-купи розпізнає саме .nwwRwwwREPAL

Оновлення 3: Останній аргумент (про недетермінізм) я зроблю суворим. Наведеним вище аргументом повинен існувати нескінченний набір слівтакий, що для кожного, після розпізнавання, купа міститьелементів ( зауважте, що ми можемо говорити прооскільки у нас є нескінченний набір слів). Оскільки ми не можемо отримати багато елементів на купі детермінованими засобами, у нас, мабуть, була певна форма циклу, в якій ми спочатку недетерміновано вирішили додати більше елементів у купу (не витрачаючи введення), а пізніше вирішили вийти з цього цикл, і ми повинні пройти цю петлюразів.W{a,b}wWwω(|w|)O(f(|w|))ω(1)

Візьмемо безліч всіх таких петель , використовуваних . Оскільки існують лише стани , розмір цього набору дорівнює , а набір усіх його підмножин також . Тепер зауважимо, що "детермінована" частина шляхів виконання може сприяти лише лексем, а це означає, що багато експоненціальної кількості різних слів повинні мати шляхи виконання, "детерміновані" частини вносять те саме жетони до купи. Зокрема, єдиний спосіб отримати більше лексем - це взяти петлі, які ми визначили вище.WO(1)O(1)O(1)O(|w|)

Поєднуючи ці спостереження, це означає, що в , і повинні бути два чіткі слова , «детерміновані» частини яких шляхів виконання вносять ті самі жетони до купи, і які диференціюються за допомогою деякого підмножини циклів вище різну кількість разів, але вони використовують один і той же підмножина циклів (пам’ятайте, що є лише цих циклів).Ww1w2O(1)

Тепер ми можемо показати, що також може бути розпізнаний автоматом min-heap: ми слідуємо шляху виконання для як зазначено вище, але петлі стільки ж разів, скільки разів проходить їх шлях виконання для . Це заповнює міні-купу маркерами таким чином, що приймається як суфікс, таким чином завершуючи доказ.w1w2w1w2w2

Оновлення 2:

Мені просто прийшло в голову, що вищесказане означає, що ми можемо імітувати детермінований автомат міні-купи, використовуючи лише логарифмічний простір: ми зберігаємо лічильник для кожного типу символів у min-heap. Як показано вище, цей лічильник буде максимум , а отже, його можна зберігати, використовуючи лише простір (оскільки існує лише постійне число цих лічильників). Це дає нам:O(n)O(logn)

DHALL

HALNL

де - це набір мов, розпізнаних деяким детермінованим автоматичним міні-купою.DHAL


1
+1 для відмінного розуміння, здається, ви повністю зрозуміли мій сенс. Чи правильно я оцінюю, що такі машини не можуть розпізнати паліндроми? Оскільки порядок доданих символів не збережений, це не здається можливим.
Patrick87

@ Patrick87: Я зараз думаю про цю проблему :)
Алекс десять Бринк

@Raphael Дуже круте спостереження щодо машин Тьюрінга з логарифмічними ресурсними обмеженнями, ви, хлопці, зробили фантастичну роботу з вивчення цих автоматів. Ви знаєте, я начебто просто викинув автомат міні-кучі як своєрідний приклад того, що мене зацікавило, але, здається, воно було добре сприйняте. На які ще питання можна відповісти щодо таких автоматів? DHAL = HAL? Які властивості закриття HAL? Чи варто проводити подальші розвідки, і якщо так, чи повинні вони залишатися тут, або ставити нове питання? Ще раз дякую за чудову інформацію.
Patrick87

1
@Raphael: Я зробив цю частину повністю жорсткою. Ви маєте рацію, що повинно бути достатньо великим - я наблизив деталі ліворуч та праворуч. n
Алекс десять Бринк

1
@Raphael: Дійсно, так і є. , тому за теоремою просторової ієрархії та деякими включеннями. CSL=NLINSPACEDHALCSL
Олексій десять Бринк

19

Ось що ми (віримо) знаємо:

  • HALCFL (type-1, type-2)
  • CFLHAL (тип-1)
  • CFLHAL (тип-2, за визначенням)
  • CSLHAL (type-1, type-2)

Дивіться деталі та деякі інші примітки нижче.


HALCFL

Ця частина відповіді стосується як типу-1, так і типу-2.

Автомат з міні-купою (HA) з кінцевим, повністю упорядкованим алфавітом купи приймає .L={anbncnnN}CSLCFL

Припущення: Подібно до КПК, наша перехідна функція споживає верхній самий символ купи і записує довільну кількість символів купи. Купа спочатку містить розрізнений символ який більший за всі інші символи купи.$

Нехай автомат min minA=(Q,ΣI,ΣH,,q0,QF)

  • Q={q0,q1,q2,qf} безліч станів
  • ΣI={a,b,c} вхідний алфавіт.
  • ΣH=a,b,$ купі алфавіту із впорядкуванням .a<b<$
  • QF={qf}
  •  (Q×ΣI×ΣH)×(Q×ΣH) з
    • (q0,a,σ)(q0,aσ) для всіхσΣH
    • (q0,b,a)(q1,b)
    • (q1,b,a)(q1,b)
    • (q1,c,b)(q2,ε)
    • (q2,c,b)(q2,ε)
    • (q2,c,$)(qf,ε)

Автомат пише один в купі для кожного на вході. Коли відбувається, він споживає багато , як був , пише в купу для кожної знайденої . Це не заважає підрахунок , бо купа зручно тримає на вершині. Тільки після того, як всі взяті з купи є прийняті; тільки після того, як буде знайдено стільки скільки (а з ним і ), приймає з порожньою купою та остаточним станом.aabbabbaaccbaA

Таким чином, .L(A)=L


CFLHAL

Ця частина відповіді стосується лише типу 1.

Розглянемо безліч парних палиндромов і припустити , що існує ГК з .EPAL={wwRw{a,b}}AL(A)=L

: знаходимо з татаким чином, що перебуває в одному стані і має однаковий вміст купи після читання і відповідно. Оскільки приймає і і , тому він також приймає (і ), що є протиріччям .w1,w2{a,b}w1w2|w1|=|w2|Aw1w2Aw1w1Rw2w2Rw1w2REPALw2w1RL(A)=EPAL


CSLHAL

Ця частина відповіді стосується як типу-1, так і типу-2.

Ті ж міркування, які ми використовували в (для типу 1), можна використовувати, щоб показати, що контекстно-залежна мова не в .EPAL{www{a,b}}HAL


HAL?CSL

Це все ще відкрито як для типу 1, так і для типу 2.


Далі фактоїди

HA здається ортогональним для підмножини м'яко контекстно-чутливих мов, прийнятих вбудованими Pushdown Automata : Хоча HA може імітувати обмежену кількість складених стеків, вони не можуть імітувати довільно багато (як це може EPA). Однак HA може отримати доступ до верхніх символів стеків, які зараз не знаходяться вгорі (що EPA не може).


+1, відмінна відповідь. По суті еквівалентний методу Брінка, правда? І все-таки суворість і акуратність видатні. Чи задумувались ви над тим, чи можуть такі машини приймати всі CFL? Це здається неможливим, оскільки інформація про замовлення втрачається купою ...
Patrick87

Це та сама ідея, яку і Алекс, так. Рада, що ви можете щось із цього отримати. Я додав ідею для іншого напрямку, але є (величезна?) Прогалина. Потрібно подумати про це завтра з чіткою головою і, можливо, обрізати когось із колег.
Рафаель

Я відчуваю, що я мав би включити доказ коректності, щоб отримати додаткові кредити за суворість. ;) Мабуть, це не повинно бути занадто жорстким за індукцією над . n
Рафаель

Те, що я мав на увазі, підтверджує конспект, який ви позначаєте як припущення, і я вважаю це досить переконливим ... також, і це незначний технічний момент, я думаю, ви використовуєте мову рівних паліндром, не всі palindromes ... хоча доказ, безумовно, працює в будь-якому випадку (зауважте, що він також працює для простих паліндром, тому HAL навіть не такий сильний, як DPDA, інший результат).
Patrick87

@ Patrick87 Проблема полягає в тому, що після читання символів може бути більше можливих конфігурацій даної HA, ніж є слова, зокрема, якщо ми дозволяємо -переклади, що ставлять символи на купу. nε
Рафаель
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.