Complexidade de Espaço, PSPACE e o Teorema de Savitch
Objetivos de Aprendizagem
- Definir as classes de complexidade de espaço e , PSPACE e L, e explicar por que espaço sublinear exige uma fita de entrada só de leitura.
- Situar as classes na cadeia e justificar cada inclusão.
- Provar o teorema de Savitch, , com o algoritmo recursivo de ponto médio para alcançabilidade, e concluir que PSPACE = NPSPACE.
- Explicar por que o TQBF é PSPACE-completo e por que isso torna o jogo perfeito em jogos generalizados PSPACE-difícil.
Contexto e Motivação
algorithms-software/computability-complexity mediu problemas pelo tempo e os organizou em P, NP e coNP. O tempo não é o único recurso. A memória muitas vezes é a restrição que aperta: um roteador, um smart card ou um algoritmo de streaming (o conceito anterior) têm muito menos memória do que tempo. Medir espaço em vez de tempo produz uma paisagem com diferenças surpreendentes. O tempo, uma vez gasto, se foi, mas o espaço pode ser reutilizado, e esse único fato torna o não determinismo muito mais barato para o espaço do que se acredita que seja para o tempo.
Os resultados centrais aqui, o teorema de Savitch (1970) e a PSPACE-completude das fórmulas booleanas quantificadas (Stockmeyer e Meyer, 1973), são matéria central do 18.404J do MIT (Theory of Computation, ministrado por Sipser) e do livro de Arora e Barak. Eles também explicam por que a busca em árvores de jogo de ai-theory/artificial-intelligence é fundamentalmente difícil: decidir quem vence um jogo é o problema PSPACE canônico.
Teoria Central
Classes de espaço
O uso de espaço de uma máquina de Turing na entrada é o número de células da fita de trabalho que ela visita. Para as classes abaixo, a entrada fica numa fita separada só de leitura que não conta, senão qualquer máquina usaria pelo menos células só para guardar a entrada e as classes sublineares seriam vazias.
- : linguagens decididas por uma MT determinística usando de espaço de trabalho.
- : o mesmo para MTs não determinísticas.
- e .
- e : espaço logarítmico, o suficiente para um número constante de ponteiros para a entrada.
A cadeia de inclusões
- : tente todo certificado de comprimento polinomial, um de cada vez, reutilizando o mesmo espaço em cada checagem.
- : uma máquina que usa espaço tem no máximo configurações distintas (estado, posições das cabeças, conteúdo da fita); se rodasse por mais tempo que isso, repetiria uma configuração e entraria em laço para sempre. Então um decisor para em tempo exponencial.
- : uma máquina NL tem só um número polinomial de configurações; aceitar significa existir um caminho no seu grafo de configurações do início até a aceitação, o que a busca em largura decide em tempo polinomial.
O teorema da hierarquia de espaço dá e o da hierarquia de tempo, , então pelo menos uma inclusão em cada metade da cadeia é estrita, mas não se sabe quais.
O teorema de Savitch
Teorema. Para , .
A prova se reduz à alcançabilidade no grafo de configurações: a configuração inicial da máquina não determinística alcança uma de aceitação em no máximo passos? Defina um procedimento recursivo que responde se alcança em no máximo passos:
- Se : verifique diretamente se ou se vai para num passo.
- Senão, para cada configuração (um ponto médio candidato): se e , aceite.
- Rejeite se nenhum ponto médio funcionar.
Cada quadro recursivo guarda algumas configurações, espaço . A profundidade da recursão é , porque cai pela metade a cada vez. A segunda chamada recursiva reutiliza o espaço da primeira. Total: . O tempo de execução é exponencial, o que é irrelevante para o limite de espaço.
Como o quadrado de um polinômio é um polinômio, PSPACE = NPSPACE: ao contrário da questão em aberto P versus NP, o não determinismo não acrescenta nada ao espaço polinomial. (Um resultado diferente e posterior, o de Immerman-Szelepcsényi, mostra que .)
TQBF e jogos
Uma fórmula booleana totalmente quantificada tem toda variável ligada por ou , por exemplo . O TQBF pergunta se uma fórmula assim é verdadeira.
- Está em PSPACE: avalie recursivamente, testando os dois valores da variável mais externa e reutilizando o espaço para o segundo ramo; a profundidade é o número de variáveis, cada quadro de tamanho constante.
- É PSPACE-difícil: para qualquer máquina PSPACE, uma fórmula de tamanho polinomial expressa "a configuração alcança em passos" usando a mesma ideia de ponto médio de Savitch, com um quantificador permitindo que uma única subfórmula verifique as duas metades em vez de ser escrita duas vezes (o que explodiria o tamanho).
O TQBF é um jogo: o jogador escolhe valores para tornar a fórmula verdadeira, o jogador para torná-la falsa, alternando. Muitos jogos de dois jogadores com informação perfeita e duração limitada polinomialmente (geografia generalizada, Hex generalizado em tabuleiros ) se reduzem a partir dele e são PSPACE-completos. Jogos cuja duração pode ser exponencial, como o xadrez generalizado e o Go com certas regras, são até EXPTIME-completos.
Exemplos Resolvidos
Exemplo 1: espaço versus tempo num grafo de configurações
Problema: Uma máquina não determinística usa células de trabalho num alfabeto de fita binário, com 20 estados, em entradas de comprimento . Limite o número de configurações, o espaço determinístico de que a simulação de Savitch precisa (em configurações guardadas) e o seu tempo de execução.
Rastreamento: Uma configuração registra o estado (20), o conteúdo da fita de trabalho (), a posição da cabeça de trabalho (40) e a posição da cabeça de entrada (): cerca de configurações. A alcançabilidade precisa de caminhos de comprimento até , então a profundidade da recursão é de uns 70 quadros, cada um guardando três configurações de cerca de 70 bits: aproximadamente bits de espaço de trabalho. O tempo de execução, porém, é de cerca de tentativas de ponto médio, astronomicamente grande. Savitch troca um tempo enorme por um espaço modesto, que é exatamente o ponto do teorema.
Exemplo 2: avaliando uma fórmula quantificada como um jogo
Problema: Decida se é verdadeira.
Rastreamento: A matriz diz que exatamente um de , é verdadeiro, isto é, . Para : o jogador escolhe , e é verdadeiro. Para : escolha , e é verdadeiro. Os dois ramos funcionam, então a fórmula é verdadeira. A avaliação recursiva guardou só a atribuição parcial atual, dois bits, e explorou os ramos um de cada vez, o mesmo padrão de reuso de espaço do algoritmo PSPACE. Trocar os quantificadores, , a torna falsa: nenhum único funciona para os dois valores de .
Equívocos Comuns e Armadilhas
- "Problemas PSPACE são só problemas NP lentos." PSPACE contém NP e coNP, e se PSPACE = NP a hierarquia polinomial colapsa; acredita-se que o TQBF seja estritamente mais difícil do que o SAT, porque quantificadores alternados parecem exigir mais do que um único certificado.
- "Savitch mostra que o não determinismo é de graça." Mostra que ele custa no máximo um quadrado em espaço. Para o tempo, a pergunta análoga é P versus NP, que continua em aberto, e a melhor simulação determinística conhecida de tempo não determinístico é exponencial.
- "Espaço logarítmico é pouco demais para fazer qualquer coisa." L contém a conectividade em grafos não direcionados (Reingold, 2005), aritmética sobre números da entrada e muitas tarefas de parsing; um número constante de contadores e ponteiros de bits é surpreendentemente poderoso.
Resumo
A complexidade de espaço conta células da fita de trabalho com uma entrada só de leitura, gerando L, NL, PSPACE e NPSPACE, que se encaixam na cadeia de L a EXPTIME passando por P e NP. Como o espaço pode ser reutilizado, o algoritmo recursivo de ponto médio de Savitch simula espaço não determinístico em espaço determinístico , então PSPACE é igual a NPSPACE, em contraste com a questão em aberto P versus NP. O TQBF, decidir fórmulas booleanas totalmente quantificadas, é PSPACE-completo, e a sua leitura como um jogo de dois jogadores torna o jogo ótimo em muitos jogos generalizados PSPACE-difícil. O próximo conceito faz outra pergunta sobre recursos: o que muda quando um algoritmo eficiente pode jogar moedas?