Відокремлення слів із випадковими DFA


15

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

Очевидно, що випадкова DFA з достатньо багатьма станами розділяє рядки з високою ймовірністю. Зокрема, якщо u,vΣn , випадковий DFA зі станами O(n) навряд чи коли-небудь перегляне той самий стан, як тільки він дістанеться до першого місця, де u і v відрізняються, і тому розділяє u і v .

Чи можемо ми зробити краще? В ідеалі, що є найменшим й , що випадкова DFA з F ( N ) держав розділяє рядків довжини п з позитивною ймовірністю (або , можливо , ймовірність 1 / 2 )? Короткий пошук не дав багато результатів щодо властивостей випадкових DFA; все, що я міг знайти, було http://arxiv.org/abs/1311.6830 .f(n)f(n)n1/2


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

1
Що означає "відокремлюється"? Приймає одне, а інше відкидає? Якщо так, чи очевидно, що станів достатньо? O(n)
usul

Так, відокремлювальний засіб приймає рівно один. І ви маєте рацію: найтривіальніший аргумент розділення насправді вимагає станів (те, що я написав вище, є неправильним), хоча я був би здивований, якби їх було недостатньо. O(n2)
Джеффрі Ірвінг

1
Ви не очікуєте, що межі залежать від того, наскільки слова відрізняються? Здається, що слова, які відрізняються однією буквою, було б важче розрізнити випадковим чином, тому що потрібно дискримінувати при цьому один перехід, і дуже різними словами було б легше. [Для узагальнення ви можете забути про найдовший загальний префікс (ви отримуєте з цього випадковий стан); тоді різні листи надсилають вас або в один і той же стан, або в різні штати; тоді, якщо штати різні, вам потрібно переглянути імовірність пересинхронізації та залишатися синхронізованими (починається знову залежно від слів) ...]
a3nm

Так, як і відкрита проблема, мене цікавлять найскладніші слова, які можна дискримінувати. Слова, які різняться лише в декількох місцях, вже можуть бути розділені станами , тому вони навряд чи будуть важкою справою. O(logn)
Джеффрі Ірвінг

Відповіді:


2

[Редагувати: ця відповідь не працює, див. Коментарі.]

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

Я припускаю, що ваші межі повинні залежати від того, наскільки і v відрізняються; якщо цього немає, мені здається зрозумілим, що найгірший випадок - це рядки, що відрізняються лише своїм першим символом (рядки, що відрізняються на множині X позицій, мають більше шансів розказатись, ніж рядки, що відрізняються наборомuvX позицій , Я б сказала, і поставити різницю якомога раніше дає можливість повторно синхронізуватись).YX

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

Зараз я розгляну слово отримане з u і v , наступним чином: w i = 1, якщо u i = v i , а w i = 0 в іншому випадку. Я думаю, що зрозуміло, що w - це єдине цікаве, що слід врахувати про uwuvwi=1ui=viwi=0wu та .v

Тепер визначте ймовірність того, що ми знаходимося в одному стані після читання префіксів довжини i of u і v , а q ( i ) = 1 - p (p(i)iuv ймовірність того, що ми не є.q(i)=1p(i)

Я думаю, що у нас коли w i + 1 дорівнює 1 . Інтуїтивно ми знаходимося в одному стані, прочитавши букви i + 1 або тоді, коли ми були в одному стані після читання i , або коли ми знаходились у двох різних (випадкових) станах, ми намалювали два переходи у випадкові стани, і вони трапилися з бути тим самим. Аналогічно маємо p ( i +p(i+1)=p(i)+q(i)/nwi+11i+1i коли w i + 1 дорівнює 0 : ви малюєте два випадкових стани, незалежно від того, з чого ви починали.p(i+1)=1/nwi+10

З цього я думаю, ви могли обчислити ймовірність перебування в одному стані після читання і v .uv


На жаль, далеко не очевидно, що є єдиною цікавою властивістю u та v . Найпростіший спосіб це побачити - це тривіально ненулева ймовірність відрізнити будь-яке нетривіальне w від 0 n ; дійсно, достатньо лише двох станів незалежно від n . Однак, як обговорюється в arxiv.org/pdf/1103.4513.pdf , є слова u , v довжини n st no o ( log n ) стан DFA може їх розрізнити. Це суперечить вашим формулам для p ( i )wuvw0nnu,vno(logn)p(i).
Джеффрі Ірвінг

1
Для уточнення, ваші формули були б правильними, якби переходи DFA були випадковою функцією рядкового індексу; оскільки вони не залежать від індексу, ймовірності співвідносяться досить складно.
Джеффрі Ірвінг

Я боюся, що я не отримаю вашої зустрічної приклади. Існує прба з двома станами розрізнення 0 n і w 0 n , добре; і, можливо, є слова довжиною n, які не можна сказати окрім станів o ( log n ) . Але як це суперечить моєму твердженню, що w - єдине важливе, або мої формули для p ( i )>00nw0nno(logn)wp(i)? Що стосується кореляцій, то, я бачу, може бути такий вигляд, про який ви згадуєте, але я ще не розумію, чому саме він не вдається. Якщо ви проходите двічі через один і той же стан, існує кореляція, але чи є підстави думати, що це вплине в певному напрямку в середньому?
a3nm

Якщо , u і v розрізняють з позитивною ймовірністю. Однак для досить великих n і малих чисел станів ми знаємо, що p ( n ) = 1 для деяких u і v . Оскільки з ваших формул випливає, що якщо p ( i ) < 1, то p ( i + 1 ) = p ( i ) + ( ( i )p(n)<1uvnp(n)=1uvp(i)<1 , ваша формула не фіксує того факту, що певні u і v неможливо розрізнити. p(i+1)=p(i)+(1p(i))/n=p(i)(11/n)+1/n<1uv
Джеффрі Ірвінг

Ага ... правда, я розумію. Якщо жоден малий DFA не може розрізнити два слова, то жоден випадковий DFA також не може їх розрізнити. Тож справді існує проблема з моїм підходом, ймовірність зрештою має впасти до нуля, через ці кореляції, здається. Вибачте за надання невірної відповіді. q(i)
a3nm
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.