Доведення закриття під час зміни мов, прийнятих автоматичними системами min-heap


16

Це наступне питання цього .

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

Відомо, що звичайні мови закриваються під різними операціями (ми можемо обмежитися базовими операціями, такими як об'єднання, перетин, доповнення, різниця, конкатенація, зірка Клейна та перевернення), тоді як без контекстні мови мають різні замикання. властивості (вони закриті під об'єднанням, конкатенацією, зіркою Клінова та реверсією).

Чи закритий HAL під обертанням?


У чому полягають використання таких машин? Або це академічна вправа?
Дейв Кларк

@DaveClark Ну, це здебільшого академічні вправи (наскільки я знаю, я просто склав їх у зв’язаному питанні). Однак вони можуть робити обчислення так само, як і інші машини (DFA, TM та ін.), Тому, можливо, вони можуть бути корисними для них.
Patrick87

Це питання ілюструє, чому ви хочете, щоб граматики супроводжували ваші автомати. Арр, мій мозок!
Рафаель

4
Я намагався довести це, використовуючи мову формату , але це зайняло занадто багато часу, і я здався. Можливо, ця ідея допоможе комусь. {xyy is a lexicographically sorted copy of x}
Ран Г.

@RanG. Я думаю, що це має спрацювати. Я радий нагородити нагороду за відповідь, яка доводить, що мова є в і дає гідні міркування про те, що відміну немає. HAL
Рафаель

Відповіді:


4

Розглянемо мову (де # 0 ( x ) позначає кількість нулів у x ).

L×2={xyzx,y,z{0,1},#0(x)=#0(y) and |x|+|y|=z}
#0(x)x

Легко визначитися з за допомогою машини HAL - зауважте, що машині потрібно відслідковувати дві властивості: кількість нулів у x vs y та довжину x , y (vs z ). Він може натиснути a в купу за кожен нуль, який він бачить у x (а потім пізніше з'явиться будь-який нуль, помічений у y ); крім того, він натискає на будь-який біт у x , y (а пізніше з'являється будь-який біт z ). Оскільки всі зсунуті вниз по купі, вони не заважають рахувати. L×2xyx,yz0x0y1x,y1z10 служить роздільником, і його можна практично ігнорувати.

Тепер нехай є зворотною мовою. Тобто L = { z y x x , y , z { 0 , 1 } , # 0 ( x ) = # 0 ( y )  і  | х | + | у | = Г } Покажемо , що ні HAL машина не може вирішити , L .L=L×2R

L={zyxx,y,z{0,1},#0(x)=#0(y) and |x|+|y|=z}
L

zx,yz|x|+|y|yyxxx

Більш формально, ми будемо використовувати якийсь аргумент "накачування". Тобто ми візьмемо дуже довгий вклад і покажемо, що "стан" машини повинен повторитися під час обробки цього вводу, що дозволить нам "замінити" вхід, як тільки машина повторить свій "стан".

Для формального підтвердження нам потрібно спростити структуру машини HAL, а саме, що вона не містить "петлі" -переходів 1 . З цього припущення ми бачимо, що для кожного вхідного символу, який машина обробляє, вміст купи може збільшуватися / зменшуватися щонайбільше c (для деяких досить великих констант c ).ε1cc


HL4n|x|=|y|=n|z|=2nz,y#0(y)=n/2різнай«и такіщогухL.(nn/2)xzyxL

Розглянемо вміст купи відразу після обробки . Він містить, щонайменше, 3 n c символів (де кожен символ є з фіксованого алфавіту Γ ), за нашим припущенням. Однак є ( nzy3ncΓ(nn/2)xsx1,x2

  1. n/2x1x2
  2. n/2xx1x2x1,x2n20.8n2x1,x2(3.5cn)|Γ||Q|3

zyx1px2sx1pxn/2x2sx2x1px2sx1x2#0(y)x1x2

1
2 x1n/2n/4log(nk)nH(k/n)H()H(1/4)0.81(nn/4)>20.8nn
3 Γ|Γ|nnn(n+1|Γ|1)n|Γ||Γ|


Приємно! Формальну частину доведеться прочитати пізніше. 1) Оголошення See: Дивіться також тут . 2) Аргумент розбивається, якщо дозволити недетермінований вибір повернутого символу купи (серед усіх символів одного пріоритету).
Рафаель
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.