Referências para técnicas de prova TCS

38

Existem referências (online ou em forma de livro) que organizam e discutem os teoremas do TCS pela técnica de prova? Garey e Johnson fazem isso para os vários tipos de construções de widgets necessários para as provas de completude do NP (particularmente no capítulo 3 do livro), mas estou pensando se há algo que trate as técnicas de prova no TCS de maneira mais ampla.

Por exemplo, os tópicos podem incluir diagonalização, discriminada ainda mais pelo tipo de construção usada; provas por histórias de computação; construções de quadros; argumentos de incompressibilidade, etc. Suponho que eu poderia apenas detalhar uma teoria padrão do texto de computação e reorganizar as seções, mas seria ótimo se houver algo lá fora que também forneça alguns comentários adicionais e mostre onde existem pontos em comum entre as técnicas utilizadas. usava.

Só para esclarecer, como qualquer texto usará provas, o que estou realmente interessado em encontrar é uma referência em que as técnicas de prova sejam o assunto real.

Além do capítulo 3 de Garey e Johnson, aqui está outro exemplo parcial que me ocorreu: em Li e Vitanyi , no capítulo 6 eles discutem o método da incompressibilidade e dão exemplos de como aplicar a técnica.

Kurt
fonte
este livro é ótimo para complexidade computacional cs.princeton.edu/theory/complexity
Marcos Villagra
essa é uma pergunta tão ampla que seu escopo é todo o campo! votação para fechar, a menos que possa ser significativamente reduzido. Além disso, é mais provável que seja um wiki da comunidade, pois não há uma resposta definitiva.
Suresh Venkat
1
Não estou procurando uma lista de técnicas de prova; Eu esperava que já houvesse uma referência dessa natureza em algum lugar que alguém pudesse me indicar. Por que não deixar isso aberto por mais um tempo até que mais olhos tenham a chance de vê-lo?
Kurt
5
Não posso deixar de pensar que estou sendo incompreendida aqui. Se a pergunta for muito ampla, deve haver muitas respostas possíveis. Não conheço nenhuma resposta direta (obviamente, ou não teria perguntado), e talvez apenas duas respostas parciais.
Kurt
1
O problema é que a técnica de prova em um subcampo do TCS geralmente não segue para outro campo. Eu acho que os matemáticos geralmente estudam provas em seus cursos para aprender técnicas de prova. Por exemplo, a diagonalização não se aplica à comprovação correta de um programa, enquanto os invariantes são de pouca ou nenhuma utilidade na teoria da computabilidade; técnicas de prova para complexidade amortizada são relevantes apenas para esse subcampo. A redução é incomum, pois é aplicada em computabilidade, complexidade e criptografia comprovável. Google "teoremas de graça" para uma técnica relevante apenas para programas em determinados idiomas.
Blaisorblade 10/09/10

Respostas:

36

The Complexity Theory Companion de Hemaspaandra e Ogihara . Não é exaustivo em termos de técnicas (imagino que não exista), mas acho que se qualifica como resposta à sua pergunta. Aqui estão os títulos dos capítulos:

  • A técnica de auto-redutibilidade.
  • A técnica de função unidirecional.
  • A técnica de dividir e conquistar do torneio.
  • A técnica de isolamento.
  • A técnica de redução de testemunhas.
  • A técnica de interpolação polinomial.
  • A técnica do grupo não solucionável.
  • A técnica de restrição aleatória.
  • A técnica polinomial.
Joshua Grochow
fonte
1
Obrigado! Na sinopse da editora, "... o livro é --- diferente de outros textos sobre complexidade --- organizado pela técnica e não pelo tópico" definitivamente soa como o que eu tinha em mente. (Eu tenho que admitir que eu não reconhecem muitos desses títulos dos capítulos - este livro será, provavelmente, um pouco áspero indo para mim.)
Kurt
25

Aqui está outro livro em que os capítulos são mais focados em técnicas de prova.

"Combinatória Extremal com Aplicações em Ciência da Computação", por Stasys Jukna. É um bom livro e abrange muitas combinações que você pode precisar no TCS. É claro que seu assunto não inclui diagonalização, tabelas, etc., mas é uma coleção de técnicas combinatórias organizadas que procuram um aplicativo (e em vários locais do texto, os aplicativos são explicitados).

Um "rascunho inicial" da segunda edição está disponível aqui .

Ryan Williams
fonte
Obrigado, parece um texto realmente útil - fui adiante e pedi uma cópia para mim.
Kurt
15

O livro "Gemas da Ciência da Computação Teórica" ​​é uma boa maneira de aprender muitas técnicas diferentes (embora você veja cada uma delas aplicada apenas uma vez):

http://www.calvin.edu/~rpruim/publications/gems/

Dave Doty
fonte
Parece um texto interessante, mas tentei pesquisá-lo na Amazon ( amazon.com/Gems-Theoretical-Computer-Science-Sch%C3%B6ning/dp/… ) e tive que fazer uma pesquisa dupla! Deve estar esgotado e muito valorizado.
Kurt
15

Existe um wiki dedicado a diferentes técnicas de prova: http://www.tricki.org/ (parece inspirado em Timothy Gowers).

ilyaraz
fonte
Ah, isso tem o potencial de ser exatamente o que eu estava esperando. Vejo que eles têm entradas de espaço reservado para complexidade computacional e algoritmos, mas, infelizmente, até agora estão em branco.
Kurt
Você pode melhorar essas seções, eu acho.
Ilyaraz 20/08
Na verdade, eu provavelmente aprenderia melhor um tópico escrevendo uma nova entrada do que lendo uma já existente ... um bom projeto a longo prazo, talvez.
Kurt
13

Outras técnicas são úteis em muitas partes da ciência da computação teórica:

Noga Alon e Joel H. Spencer, The Probabilistic Method (3a edição), Wiley, ISBN 0470170204.

András Salamon
fonte
12

S. Fenner, L. Fortnow, S. Kurtz e L. Li. Um kit de ferramentas do construtor oracle. Information and Computation, 182 (2): 95-136, 2003. (também disponível na página inicial de Lance ).

Este é basicamente um documento de pesquisa sobre o uso da genéricos na construção de "oráculos projetados" (ou seja, oráculos projetados para ter várias propriedades). Embora seja um artigo, acho que se qualifica como resposta à pergunta, porque está focado na técnica e em seus usos, e não em qualquer resultado específico. [Mas isso é muito mais específico que o Companheiro da teoria da complexidade, e é por isso que pensei que deveria estar em uma resposta separada.]

Joshua Grochow
fonte
7

Iniciamos algumas perguntas de referência no cs.SE cobrem problemas típicos (até o momento introdutórios) do TCS. Além da relevância geral, algumas respostas contêm métodos que podem não ser conhecidos por todo pesquisador, por exemplo:

Também temos Como não resolver P = NP? que é mais sobre anti-técnicas.

Raphael
fonte
1

No mesmo espírito das anotações de Sanjeev Arora que a @umar postou, gosto das anotações e exercícios da aula de Madhur Tulsiani para a aula "Mathematics Toolkit" publicada na página do curso . Além do excelente material de Arora, suas anotações têm uma boa cobertura da teoria dos grafos espectrais, bem como do método de atualização dos pesos multiplicativos.

rahulmehta95
fonte