2FA complexidade do estado do k-Clique?


15

De forma simples:

Um autômato finito bidirecional pode reconhecer gráficos vertex que contêm um triângulo com estados ?o ( v 3 )vo(v3)

Detalhes

De interesse aqui estão os gráficos vertex codificados usando uma sequência de arestas, cada aresta sendo um par de vértices distintos de .{ 0 , 1 , , v - 1 }v{0,1,,v1}

Suponha que seja uma sequência de autômatos finitos bidirecionais (determinísticos ou não determinísticos), de modo que M_v reconheça k -Clique nos gráficos de entrada v -vertex e possua estados s (v) . Uma forma geral da pergunta é então: s (v) = \ Omega (v ^ k) ?M v k v s ( v ) s ( v ) = Ω ( v k )(Mv)Mvkvs(v)s(v)=Ω(vk)

Se k=k(v)=ω(1) e s(v)vk(v) para infinitamente muitas v , em seguida, NL ≠ NP. Menos ambiciosamente, portanto, estou estipulando que k é fixo e o caso k=3 é o primeiro não trivial.

fundo

Um autômato finito bidirecional (2FA) é uma máquina de Turing que não possui espaço de trabalho, apenas um número fixo de estados internos, mas pode mover sua cabeça de entrada somente leitura para frente e para trás. Por outro lado, o tipo usual de autômato finito (1FA) move sua cabeça de entrada somente leitura em uma única direção. Os autômatos finitos podem ser determinísticos (DFA) ou não determinísticos (NFA), além de ter acesso unidirecional ou bidirecional à sua entrada.

Uma propriedade de gráfico Q é um subconjunto de gráficos. Vamos Qv denotam as v gráficos -vertex com imóveis Q . Para cada propriedade de gráfico Q , o idioma Qv pode ser reconhecido por um 1DFA com no máximo 2v(v1)/2 estados, usando um estado para todos os gráficos possíveis e rotulando-os de acordo com Q e transições entre estados rotulados por bordas. Qv é, portanto, uma linguagem regular para qualquer propriedade Q . Pelo teorema de Myhill-Nerode, existe então um 1DFA único até o isomorfismo, que reconhece Qv . Se isso tiver 2s(v)estados, os limites padrão da explosão produzem que um 2FA que reconhece possui pelo menos . Portanto, essa abordagem via limites padrão de explosão produz apenas no máximo um limite quadrático em inferior ao número de estados em um 2FA para qualquer (mesmo quando é difícil ou indecidível). s ( v ) Ω ( 1 ) v Q v QQvs(v)Ω(1)vQvQ

k k v ( vk -Clique é a propriedade gráfica de conter um subgráfico -vertex completo . O reconhecimento de -Clique pode ser feito por um 1NFA que primeiro escolhe não-deterministicamente um dos diferentes cliques em potencial a serem procurados e depois varre a entrada uma vez, procurando cada uma das arestas necessárias para confirmar o clique e mantendo o controle dessas arestas usando estados para cada uma das diferentes cliques potenciais. Esse 1NFA possui estados, em que . Quando é corrigido, isso ékkv k2k(k-1)/2 ( v(vk)k2k(k1)/21cvekΘ(vk)k=3(vk)2k(k1)/2=(cv2(k1)/2/k)k.vk1cvekΘ(vk)estados. Permitir o acesso bidirecional à entrada potencialmente permite uma melhoria nesse limite unidirecional. A questão é então perguntar por se um 2FA pode se sair melhor que esse limite superior de 1FA.k=3

Adendo (16-04-2017): veja também uma pergunta relacionada ao tempo determinístico e uma boa resposta que abrange os algoritmos mais conhecidos . Minha pergunta se concentra no espaço não determinístico não uniforme. Nesse contexto, a redução à multiplicação de matrizes usada pelos algoritmos com eficiência de tempo é pior que a abordagem de força bruta.


Eu realmente gosto dessas perguntas! Obrigado por compartilhar isso! :)
Michael Wehar

Respostas:


7

Parece-me que triângulos podem ser feitos por um 2FA com o estado (n sendo o número de vértices).O ( n 2 )AO(n2)

Para a ideia é a seguinte:k=3

  1. Na fase 1, escolhe algumas arestas e armazena em seu estadoA(i,j)(phase1,i,j)
  2. Na fase 2, ele se move para alguma extremidade da forma ou e assume um estado da forma(i,m)(m,i)(phase2,j,m)
  3. Na fase 3, verifica se há alguma aresta ou e assume um estado de aceitação se encontrar uma.(j,m)(m,j)

Na verdade, isso quase pode ser feito da esquerda para a direita (então pode, de maneira não-determinística, decidir ir primeiro para ou na fase 2). No entanto, se a 2ª aresta estiver na forma ( m , i ) , A precisa primeiro ler ie em seguida m , ou seja, é necessário um único passo à esquerda aqui.( j , m ) ( m , j )A(j,m)(m,j)(m,i)Aim

Isso deve resultar em autômatos com estados para k -Clique para k > 3 , primeiro adivinhando um conjunto S de tamanho k - 3 e testando que os nós de S são conectados em pares por arestas e, para cada de i, j, m no exemplo acima, a verificação de que eles têm bordas para todos os nós no S .O(nk1)kk>3Sk3SS


Não vejo como isso é ? Três vértices i , j , m estão sendo rastreados. O(n2)i,j,m
András Salamon

Apenas dois de cada vez. A leitura na fase 2 é feita em duas transições. Na leitura de i , A basicamente passa de (fase 1, i, j) a (fase 1a, i, j) (indicando que acabou de ver i ) e no próximo passo para (fase 2, j, m). Neste ponto, é feito com i , como já vimos ( i , j ) e ( i , m ) e somente ( j , m ) precisa ser verificado. (i,m)iAii(i,j)(i,m)(j,m)
22615 Thomas Thomas S

Se o número de arestas e vértices for aproximadamente o mesmo, acho que isso funciona bem, mas o caso interessante é quando . Em outras palavras, acho que seus usos atingir pelo menos v e estados. e=Ω(v2)ve
Michael Wehar

1
Eu acho que você está certo. Se a entrada é fornecida em um bom formato, isso funciona. :)
Michael Wehar

1
@Marzio: não, ele diz (não, ele diz determinístico ou não determinístico)
Thomas S
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.