Por que alguém geralmente exige construtibilidade de espaço no teorema de Savitch?

8

Quando o famoso teorema de Savitch é declarado, muitas vezes se vê a exigência de que S(n)seja espaço construtível (curiosamente, é omitido na Wikipedia). Minha pergunta simples é: por que precisamos disso? Eu entendo o requisito paraS(n) estar em Ω(logn), o que é claro na prova. Mas nenhuma prova que eu vi até agora usa explicitamente queS(n) é espaço construtível.

Minha explicação: para chamar o procedimento REACH (ou PATH ou o que você quiser chamá-lo), o último parâmetro precisa ser "explicitado" e para não deixar nossos limites espaciais de S (n) para uma chamada , não devemos precisar mais do que S(n) espaço para anotá-la.

Cornelius Brand
fonte

Respostas:

2

Eu acredito que sua explicação está correta. A sub-rotina st-REACH recebe(s,t,) como entrada e descobre se deve ou não t está acessível a partir de s de passos. s e t serão as configurações inicial e final, e =2O(s(n)), o limite superior do número de configurações diferentes.

Para definir é preciso ser capaz de calcular s(n) (ou melhor, 2O(s(n))) Se esse processo demorar mais deO(s2(n))espaço, a máquina inteira terá espaço mais do que o permitido. É possível que mesmoO(s2(n)) é demais por causa da chamada recursiva ao st-REACH (existe algum outro motivo possível?), mas não verifiquei isso.

Tocou.
fonte
8

Isso é bem elaborado no livro de Teoria da Computação de Dexter Kozen, no capítulo 2.

O Teorema de Savitch (Teorema 1 em seu artigo) diz: se S(n)logn, então NSPACE(S(n))DSPACE(S(n)2). A construtibilidade de espaço geralmente parece ser assumida em uma prova, mas esse requisito pode ser removido reiniciando a pesquisa com um limite de espaço fixo que pode aumentar a cada tentativa.

Talvez a confusão ocorra porque o trabalho original de Savitch trata principalmente de investigar seNSPACE(S(n))DSPACE(S(n)). Portanto, gasta muito esforço em funções construtíveis no espaço, devido à seguinte observação do artigo:

É natural perguntar se existe alguma função de armazenamento cujas classes de complexidade determinística e não determinística sejam iguais. A resposta foi dada por Manuel Blum e é "sim". Blum mostrou que existem funções de armazenamento arbitrariamente grandes L (n), de modo que um conjunto é aceito no armazenamento determinístico L (n) se, e somente se, for aceito no armazenamento não determinístico L (n). Essas funções L (n) não são, no entanto, "bem-comportadas" e o Teorema 3 não se aplica a elas.

(Aqui "bem-comportado" refere-se às funções construtivas em espaço, chamadas mensuráveis por Savitch.)

András Salamon
fonte