지정된 DFA가 최소인지 여부를 얼마나 빨리 결정할 수 있습니까?


11

철저하게 문헌에서 연구되어 왔으며, 여러 가지 알고리즘은 다음과 같은 문제를 해결하기 위해 제안되었다 문제가 결정적 유한 오토마타 (DFAS)를 최소로 줄이는하십시오 DFA 감안할 때 , 같은 언어를 받아들이는 해당 최소한의 DFA를 계산 . 이러한 알고리즘의 대부분은 다항식 시간으로 실행됩니다.AA

"는 DFA 주어진 - 그러나, 나는이 문제의 결정 변형 여부를 궁금해 있다 최소한?" -실제로 최소 오토 마톤을 계산하는 것보다 더 효율적으로 해결할 수 있습니다. 분명히 이것은 예를 들어 Hopcroft의 파티션 재정의 알고리즘 을 실행 한 다음 모든 파티션에 정확히 하나의 상태가 포함되어 있는지 여부를 결정 함으로써 효율적으로 수행 될 수 있습니다 .AA

Yuval Filmus 가 그의 답변에서 제안한 것처럼 , 표준 알고리즘을 사용하여 결정 가능성 변형을 더 빨리 해결할 수 있습니다. 불행히도, 나는 어떻게 볼 수 없습니다 (여기서 분명한 요점이 누락되지 않기를 바랍니다).

Yuval은 주석에서 가장 잘 알려진 알고리즘 (위의 알고리즘과 같은 ) 이 일정한 크기의 알파벳에 대해 시간 로 실행된다고 지적합니다 . 따라서, 나는 아마도 가능성이없는 것처럼 보이기 때문에 런타임에서 점증 적으로 상당한 이익에 관심이있는 것은 아닙니다. 나를 가장 귀찮게하는 것은 우리가 무응답 시간을 절약 할 수있는 지름길이 아니라 예-아니오 대답에만 관심이 있다는 사실에서 비롯된 "단축"을 상상할 수 없다는 것입니다. DFA의 최소 성을 결정하는 모든 합리적인 알고리즘은 실제로 DFA를 최소화하고 프로세스 중에 변경 사항이 있는지 확인해야한다고 생각합니다.O(nlogn)


Hopcroft의 알고리즘은 이미 준 선형 시간으로 실행되므로 개선 할 여지가 없습니다.
Yuval Filmus

그렇습니다. @YuvalFilmus
Cornelius Brand

1
O(n+mlogn)m

의사 결정 문제가 최소화 문제와 복잡성에 해당하는 것 같지는 않지만 전자는 사소하지 않은 DFA 동등성에 대한 테스트를 포함하기 때문에 더 어려워 보입니다. 따라서 결정 문제의 복잡성이 "최소화 또는 동등성 테스트"의 최대 값 인 것 같습니다. 동등성 테스트의 복잡성은 무엇입니까?
vzn

@vzn 당신이 "[...] 이것은 사소하지 않다"는 것을 의미한다고 가정합니다 : 예를 들어 제가 질문에 준 절차가 동등성에 대한 테스트를 피하기 때문에 반드시 그럴 필요는 없습니다. 그러나 나는 또한 문제를 최소화하는 것보다 쉽지 않다고 생각합니다.
Cornelius Brand

답변:


5

NL

이제 DFA가 최소라는 것은 무엇을 의미합니까? 두 가지 속성이 있습니다.

  1. qQwΣqswswq

  2. q,rQqr wΣqwsrwt|{s,t}F|=1s,t

xwyLwNL

NLstNL

NLL2n


이것은 공간을 향상시키는 것처럼 보이지만 시간 복잡성은 아닙니까?
vzn

vzn에 동의합니다. 이 답변이 마음에 들지만 원래 질문과 더 밀접하게 관련된 통찰력에 여전히 관심이 있습니다.
Cornelius 브랜드

NLP
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.