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


10

Існує відкрита проблема в формальних мовах, відома як Роздільна проблема; що коротко зазначено як два чіткі рядки довжиною , наскільки великим для DFA потрібно "розділити" їх, тобто прийняти один рядок, але відхилити інший.n

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

Усі вони обговорюють проблему поділу двох чітких рядків. Мені цікаво , чи є якась - або робота в області поділу списків рядків, значення , яке надається два списки рядків, і , якого розміру потрібно DFA приймати кожен рядок в і відхиляти кожен рядок в . Ця проблема еквівалентна гольфу-регексу.Б А ВABAB

Є кілька основних питань, над якими я працював, наприклад, якщо один із списків має розмір або якщо всі рядки мають різну довжину.1

Я обшукував, але не знайшов жодних паперів, які б вирішили цю проблему. Чи проводились якісь дослідження в цій галузі?

Заздалегідь спасибі.



Посилання VZN чудове! Однак я вважаю, що ви можете знайти ще більше інформації, якщо поглянути в додаток: "Комп'ютери та нездатність: Посібник до теорії повноти NP"
Майкл Вехар

Крім того, якщо вам цікаво розділити два списки лінійними машинами Тюрінга, лінійно обмеженими часом, я трохи розробив і опублікував запис в Інтернеті (це нічого не особливо). В основному, для двох списків елементів, де кожна струна має довжину не більше n, ви можете розділити списки за допомогою машини Тьюрінга, яка має станів і має "оптимальний час виконання". klog(n)log(log(n))
Майкл Уехар

1
За Gold1978 ми знаємо, що проблема визначення того, чи можна розділити два списки за допомогою DFA заданого розміру, не є повною NP. Якщо ви модифікуєте проблему, щоб сказати, що вона відокремлена машиною Тюрінга із обмеженим часом, записаним уніарним, то невідомо, чи проблема не заповнена NP. Було запропоновано, що ця проблема може бути пов'язана з проблемою мінімальної ланцюга, і в такому випадку вона дозволить вирішити відкриті проблеми структурної складності, якби ви показали, що вона знаходиться в P або якщо вона NP-повна.
Майкл Уехар

Відповіді:


8

Питання, яке ви задаєте, відоме як проблема розділення для мов: Враховуючи дві мови і L , чи існує третя мова M (роздільник), яка їх розділяє, тобто K M і M L = .KLMKMML=

Ви зацікавлені у вузькому випадку , коли і L кінцеві, і в розмірі ДКА для M .KLM

У статті 2013 року автори вказують на:

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

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

Ви також можете подивитися на інтерполянт Крейга , аналогічну проблему в логічних формулах. Інтерполяція використовується, наприклад, для перевірки моделей на основі SAT, в налаштуваннях, які, на мою думку, ближче до того, що ви шукаєте (особливо щодо кінцевості введення). Цей документ повинен бути гарною відправною точкою.


Я ціную, що ти поділився цим. Я не знав про цей документ. Дякую. :)
Майкл Вехар

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