Seja dois idiomas regulares fornecidos pelos NFAs M_1 como entrada.M 1 , M 2
Suponha que gostaríamos de verificar se . Isso pode ser feito claramente por um algoritmo quadrático que calcula o autômato do produto , , mas eu queria saber se algo mais eficiente é conhecido.M 1 , M 2
Existe um algoritmo para decidir se ? Qual é o algoritmo mais rápido conhecido?L 1 ∩ L 2 ≠ ∅
Respostas:
Resposta simples : Se existe um algoritmo mais eficiente que é executado no tempo por alguns δ < 2 , a hipótese do tempo exponencial forte seria refutada.O(nδ) δ<2
Vamos provar um teorema mais forte e, em seguida, a resposta simples seguirá.
Teorema : Se pudermos resolver o problema de não-vazio de interseção por dois DFAs em tempo de , qualquer problema que seja solucionável de forma não determinística usando apenas n bits de memória será solucionável de forma determinística em p o l y ( n ) ⋅ 2 ( δ n / 2 ) tempo.O(nδ) poly(n)⋅2(δn/2)
Justificativa : suponha que possamos resolver o não vazio de interseção por dois DFAs em . Deixe uma máquina de Turing M não determinística com uma fita de entrada somente leitura e uma fita de trabalho binária de leitura / gravação. Seja dada uma string de entrada x de comprimento n. Suponha que M não acesse mais de n bits de memória na fita de trabalho binária.O(nδ)
Um cálculo de M na entrada x pode ser representado por uma lista finita de configurações. Cada configuração consiste em um estado, uma posição na fita de entrada, uma posição na fita de trabalho e até n bits de memória que representam a fita de trabalho.
Agora, considere que a fita de trabalho foi dividida ao meio. Em outras palavras, temos uma seção esquerda de células e uma seção direita denn2 n2 n2 n2
Você pode achar útil: https://rjlipton.wordpress.com/2009/08/17/on-the-intersection-of-finite-automata/
Comentários, correções, sugestões e perguntas são bem-vindas. :)
fonte