Может ли постоянная неоднозначность уменьшить сложность состояния обычных языков?

16

Мы говорим , что НКА является постоянно Неоднозначность , если существует K N такое , что любое слово W Е * принимается либо 0 или (точно) К путям.MkNwΣ0k

Если автомат постоянно неоднозначен при k = 1 , то M называется однозначным FA (UFA).Mk=1M

Пусть обычный язык.L

Может ли какой-то постоянно неоднозначный автомат для L быть меньше, чем самый маленький UFA, который принимает L ? Насколько меньше это может быть?McLL

Может ли конечно неоднозначный автомат быть экспоненциально меньшим, чем самый маленький CFA для того же языка?

Известно, что существуют конечно неоднозначные автоматы (существует , так что каждое слово может быть принято до k путями), которые экспоненциально меньше, чем наименьшая UFA для того же языка, но я не видел кое-что о постоянной неоднозначности.k k

Кроме того, вот связанный вопрос, который я отправил здесь несколько месяцев назад.

РЕДАКТИРОВАТЬ:

Ответ Domotorp показывает, что является полиномиально сводимым к U F A , но не затрагивает вопрос о том, можем ли мы получить это сокращение полиномиального пространства с помощью C F A s.CFAUFACFA

Таким образом, возникает новый вопрос: насколько меньше (линейно / квадратично / и т. Д.) по сравнению с минимальным U F A ? для того же языка?CFAUFA

RB
источник
являются ; -переходы разрешено? ϵ
Денис
Возможно , это может быть полезно: в Kupke, Разделяющие константы из полиномиальной неоднозначности конечных автоматов следующая иерархия представлена: я не проверял соответствующий документ , потому что он находится за платного доступа. dfa2nunfa2ncafa2n???2npafa2nnfa
Марцио Де Биаси
Спасибо @MarzioDeBiasi, но, к сожалению, это не помогает (я также надеялся, когда увидел презентацию). Они используют другое обозначение, чем то, которое я использую (и я видел в разных статьях). Их «постоянная неоднозначность» - это то, что я назвал конечной двусмысленностью, поэтому связь между их Кафа и УФА была мне уже известна. Так как мое приложение подсчитывает решения проблем NPC, мой язык всегда конечен, и поэтому каждое слово принимается путями, которые они называют «постоянными». O(1)
РБ
Мне интересно, помогает ли мое определение уменьшить сложность состояний, поскольку у меня есть CFA, который экспоненциально меньше, чем самая маленькая UFA, которую я знаю, чтобы построить, и мне было интересно, возможно ли, что для языка не существует маленькой UFA.
РБ
1
@ Денис, да, но поможет ли это уменьшить сложность состояния? Я бы предположил, что вы можете уменьшить количество ребер только такими ходами.
РБ

Ответы:

4

Я утверждаю , что если на каком - то языке есть CFA с с состояниями и 0 или с принятием путей для каждого слова, то есть УФА с C s s гр состояний. Основная идея состоит в том, что состояния UFA являются (упорядоченными) c-кортежами состояний CFA, и он принимает, если и только если все c состояния принимают. Конечно, мы также должны убедиться, что это были действительно разные вычисления и что мы не считаем все c ! перестановки, поэтому для них нам нужны дополнительные биты C s памяти.s0cCsscc!Cs

Немного более подробное описание основной идеи: если является состоянием UFA, то оно имеет переход из него (читая некоторую букву a ) в состояние ( s 1 , , s c ) тогда и только тогда, когда CFA имеет переход (чтение буквы a ) от s i к s i для каждого i . Состояние ( s 1 , , s c )(s1,,sc)a(s1,,sc)asisii(s1,,sc)принимает, если и только если принимает для каждого i . Конечно, начальное состояние UFA - это ( s 0 , , s 0 ), где s 0 - начальное состояние CFA.sii(s0,,s0)s0

Проблема с вышеупомянутым состоит в том, что моделируемые пробеги CFA могли бы быть тем же самым. Таким образом , мы добавим некоторую дополнительную информацию, закодированную, скажем, в графе на гр вершин, имеет ребро между вершиной я и вершина J , если во время запуска до сих пор , по крайней мере , когда мы имели , что гр ягр J .ccijcicj

c!iji

domotorp
источник
Спасибо за ваш ответ @domotorp. К сожалению, я не могу сказать, что понимаю это. Можете ли вы дать более подробную информацию (например, как будет закодировано доказательство первичности?). Благодарность !
РБ
Я так или иначе понял, что для этого языка также есть UFA, так что забудьте об этом. Как насчет оставшейся части моего ответа?
Домоторп
Mk=ccw, just that only c of them will end in an accepting state. What would the states of the UFA be? Can you please try to formalize it?
R B
There you go, I hope now it's clear.
domotorp