특수한 경우를위한 DFA 교차 알고리즘


9

특수한 경우 DFA 교차에 대한 효율적인 알고리즘에 관심이 있습니다. 즉, DFA가 특정 구조를 따르거나 제한된 알파벳으로 작동하는 경우. 그러한 경우 알고리즘을 찾을 수있는 소스가 있습니까?

질문을 너무 광범위하게 만들지 않기 위해 다음 구조가 특히 중요합니다. 교차 할 모든 DFA는 이진 알파벳 (0 | 1)으로 작동하며, 상관 없음 기호를 사용할 수도 있습니다. 또한, 모든 상태는 최대 2 개의 전이만있는 K 개의 특수 상태를 제외하고 하나의 전이만 있습니다 (이러한 전이는 항상 0 또는 1이지만 상관 없음). K는 실제 목적으로 10보다 작은 정수입니다. 또한 단일 수락 상태가 있습니다. 또한 교차점은 항상 "스트립"형태의 DFA, 즉 다음 이미지와 같이 분기가없는 것으로 알려져 있습니다.

여기에 이미지 설명을 입력하십시오

편집 : 아마도 입력 DFA에 대한 제약 조건에 대한 설명이 명확하지 않을 수 있습니다. 이 단락에서 개선하려고 노력할 것입니다. 입력 T DFA가 있습니다. 이러한 각 DFA는 이진 알파벳에서만 작동합니다. 그들 각각은 최대 N 개의 상태를 가지고 있습니다. 각 DFA의 각 상태는 다음 중 하나입니다.

1) 수락 상태 (단지이며 다른 상태로 전환되지 않음)

2) 동일한 대상 상태로 두 번의 전환 (0 및 1)이있는 상태 (대부분의 상태는이 종류 임)

3) 서로 다른 목표 상태로 전환되는 두 가지 상태 (0 및 1)가있는 상태 (최대 K )

허용되는 상태는 하나 뿐이며 각 입력 DFA 에는 최대 3 개의 K 유형이 있습니다 (3). 또한 모든 입력 DFA의 교차 DFA가 N 보다 작은 크기의 "스트립"(위에서 설명 된 바와 같이)임을 보장한다 .

EDIT2 : 의견에서 DW가 요청한 몇 가지 추가 제약 사항 :

  • 입력 DFA는 DAG입니다.
  • 입력 DFA는 주석의 DW 정의에 따라 "평준화"됩니다. 즉, 당신은 모든 전환은 정수에서 이동하는 방식으로 모든 주에 다른 정수를 지정할 수 있습니다 U 정수로 V 등이 유 + 1 = 절 .
  • 각 입력 DFA에 대한 수락 상태 수는 K를 초과하지 않습니다 .

어떤 아이디어? 감사.


정확히 "무관심"을 어떻게 모델링합니까? 어떤 방식으로 오토마타를 비결정론 적으로 만드는 것처럼 보입니다.
Shaull

@Shaull 왜 오토 마톤을 결정적이지 않게 만들어야 하는가? 동일한 상태에서 다른 전환이있는 경우에만 발생할 수 있으며 명시 적으로 제외됩니다.
babou

1
무엇입니까 a DFA in form of "strip", i.e., no branches? 귀하의 경우 표준 알고리즘보다 더 잘 할 수 있다고 믿는 특별한 이유가 있습니까?
babou

1
안녕. 실제 교차점을 계산하는 것은 많은 것을 단순화 할 것이기 때문에 훌륭하지만 공허함을 결정하는 것도 유용 할 것입니다.
ale64bit

1
교차 그래프 에 관한 새로운 논문을 보았습니다. 이 이론 중 일부가 관련이있을 수 있습니까? 이론적 인 컴퓨터 과학 채팅 에서 귀하의 의견에 언급 된 응용 프로그램을 확장 할 수 있습니까? 더 많은 토론을 계속하도록 다른 사람들을 초대하십시오.
vzn

답변:


9

, P 내부에있는 DFA 비 공허 삽입 문제의 일부 사례가 있습니다. 제 석사 논문 은이 질문에 전념하고 있지만 불행히도 프랑스어입니다. 그러나 대부분의 결과가 에 나타 납니다 .[2]

알파벳이 단항 인 경우 각 DFA에 최대 2 개의 최종 상태가 있으면 문제가 L- 완료되고, 그렇지 않으면 NP- 완료입니다. 다른 경우의 대부분은 오토마타의 전이 단일체에 대한 제한이다. 예를 들어, 아벨 리아 그룹 전이 모노 유 이드의 경우, 각 DFA가 최대 하나의 최종 상태를 가질 때 문제는 이고 그렇지 않은 경우 NP- 완료입니다. 기본 2 그룹 전이 모노 유 이드의 경우, 각 DFA에 최대 2 개의 최종 상태가있을 때 문제는 L- 완료이고, 그렇지 않으면 NP- 완료입니다.NC3


에서만 찾을 수있는보다 정확한 질문에 대해 말씀 드리겠습니다 . 작동하고 트리 모양의 DFA가 제공 되고, 즉 각 상태 에 대해 에서 까지의 고유 한 경로 가 존재하는 상태 (초기 상태) 가 있다고 가정합니다 . 그런 다음 교차 비 공허를 결정하는 것은 다음과 같습니다.[1]{0,1}uvuv

  1. 각 DFA에서 하나의 최종 상태에 대해 L 완료
  2. 각 DFA에서 2 개의 최종 상태에 대해 NL 완료
  3. 각 DFA에서 3 개 이상의 최종 상태에 대해 NP- 완료.

경도 결과는 각각 0, 1 또는 2 번 (포크 한 경우에도) 유지됩니다 ( ). 이제 DFA가 트리 대신 비순환 그래프로 보내지면 각 DFA에서 하나의 최종 상태와 경우에도 문제가 NP 완료된 것입니다 . 감소는 매우 간단하며 Monotone 1-in-3 3-SAT입니다.KK=2

따라서 아니요 , 귀하의 문제에 효율적인 알고리즘이 있다고 생각하지 않습니다.

이제 오토마타의 수가 고정되어 있다면 최근에 출판 한 Michael Wehar 와 논의하고 싶을 수도있다 .[3]


편집 : OP가 자신의 질문을 편집 했으므로 새로운 요구 사항으로 대답을 명확히하겠습니다. NP- 완전 문제 Monotone 1-in-3 3-SAT ( 부정없이 3-CNF의 수식이 제공 되고 각 절에 정확히 하나의 변수를 적용 하는 할당이 있는지 여부를 결정해야 함)를 고려하십시오 . 다음과 같이이 문제를 비 공통 교차 문제로 줄일 수 있습니다. 예를 들어 절의 경우 다음과 같은 오토 마톤을 작성합니다.x2x3x5

축소 가젯

오토마타는 나무 (따라서 DAG)이며 수평을 유지하며 세 가지 최종 상태를 갖습니다. 실제로 DAG에 만족하는 경우 세 가지 최종 상태가 하나의 상태로 병합됩니다. 더욱이, 단지 2 개의 상태 만이 2 개의 (명확한) 발신 전이를 갖습니다.

  1. 마이클 블론디 언 Complexité raffinée du problème d' intersection d' automates, M.Sc. 논문, Montréal Université de Montréal, 2012.
  2. Michael Blondin, Andreas Krebs et Pierre McKenzie. 파이널 스테이트가 거의없는 교차 유한 오토마타의 복잡성, 계산 복잡성 (CC), 2014.
  3. 마이클 위 하르 교차점 비-빈도에 대한 경도 결과. ICALP, 2014.

2
고마워요! 나는 당신의 대답을 받아들입니다. 이 문제는 여러 단계를 거쳐 모든 DFA 솔루션을이 특정 특성과 교차시키는 데 필요한 모든 실제 테스트에서 비롯되었습니다. 그럼에도 불구하고, 우리는 결국 간단한 DFA를 얻을 것이지만, 중간 DFA (순차적으로 교차하는 동안)가 기하 급수적으로 증가하는 과정으로 인해 프로세스가 끝나지 않았다는 것을 관찰했습니다. 따라서 중개자 "순진한"단계를 거치지 않고 답을 얻는 방법에 대한 질문입니다.
ale64bit

1
고마워요 (불분명해서 죄송합니다.이 분야의 초보자는 아닙니다). 이제 내가 얻지 못한 것이 있습니다. "트리 모양"은 "루트에서 다른 모든 노드로의 고유 한 경로"를 의미합니다. 그러나 예를 들어 편집에 게시 한 이미지에서 0/1 전환을 단일 레이블로 계산하지 않는 한 나무가 아닙니다.
ale64bit

1
당신은 옳습니다. 그러나 나의 이해는 당신이 "무관심"전환을 허용한다는 것입니다. 그렇지 않습니까?
Michael Blondin

2
안녕 마이클 좋은 답변 주셔서 감사합니다. 모든 것이 잘되기를 바랍니다. :)
Michael Wehar

2
@MichaelWehar k와 c를 모두 고치면 "빠른"문제를 해결할 수 있다고 언급했다. 그러나 시간 복잡성, 공간 복잡성에 대해서는 언급하지 않습니다. 그 맥락에서 정확히 "빠른"의미는 무엇입니까?
ale64bit
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.