Tese de Cobham - Cobham's thesis
A tese de Cobham , também conhecida como tese de Cobham – Edmonds (em homenagem a Alan Cobham e Jack Edmonds ), afirma que problemas computacionais podem ser computados de maneira viável em algum dispositivo computacional apenas se puderem ser computados em tempo polinomial ; isto é, se eles encontram-se na classe de complexidade P . Em termos modernos, identifica problemas tratáveis com a classe de complexidade P .
Formalmente, dizer que um problema pode ser resolvido em tempo polinomial é dizer que existe um algoritmo que, dada uma instância de n bits do problema como entrada, pode produzir uma solução em tempo O ( n c ), a letra O é notação big-o e C é uma constante que depende do problema mas não o caso particular do problema.
O artigo de Alan Cobham de 1965 intitulado "A dificuldade computacional intrínseca das funções" é uma das primeiras menções ao conceito da classe de complexidade P , que consiste em problemas decidíveis em tempo polinomial. Cobham teorizou que essa classe de complexidade era uma boa maneira de descrever o conjunto de problemas computáveis viáveis .
O artigo de 1965 de Jack Edmonds "Paths, trees and flowers" também é creditado por identificar P com problemas tratáveis.
Limitações
Embora a tese de Cobham seja um marco importante no desenvolvimento da teoria da complexidade computacional , ela tem limitações quando aplicada à viabilidade prática de algoritmos. A tese essencialmente afirma que " P " significa "fácil, rápido e prático", enquanto "não em P " significa "difícil, lento e impraticável". Mas isso nem sempre é verdade, porque a tese abstrai algumas variáveis importantes que influenciam o tempo de execução na prática:
- Ele ignora fatores constantes e termos de ordem inferior.
- Ele ignora o tamanho do expoente. O teorema da hierarquia de tempo prova a existência de problemas em P requerendo expoentes arbitrariamente grandes.
- Ele ignora o tamanho típico da entrada.
Todos os três estão relacionados e são reclamações gerais sobre a análise de algoritmos , mas se aplicam particularmente à tese de Cobham, uma vez que faz uma afirmação explícita sobre a praticidade. De acordo com a tese de Cobham, um problema para o qual o melhor algoritmo leva n 200 instruções é considerado viável, e um problema com um algoritmo que leva 2 0,00001 n instruções inviável - embora nunca se pudesse resolver uma instância de tamanho n = 2 com o algoritmo anterior , enquanto uma instância do último problema de tamanho n = 10 6 poderia ser resolvida sem dificuldade. Em campos onde os problemas práticos têm milhões de variáveis (como Pesquisa Operacional ou Automação de Projeto Eletrônico ), até mesmo algoritmos O ( n 3 ) são freqüentemente impraticáveis.