Sou um pouco novo, mas muito interessado no campo da teoria da computação e da complexidade, e quero esclarecer meu entendimento sobre como classificar problemas e quão fortemente os problemas estão relacionados à máquina que está sendo usada para resolvê-los.
Meu entendimento
- Máquina de Turing padrão - uma máquina de Turing que possui um alfabeto finito, número finito de estados e uma única fita infinita à direita
- Máquina equivalente a Turing - uma máquina de Turing que pode emular e ser emulada por uma máquina de Turing padrão (muitas vezes com alguma troca entre espaço e tempo alcançada pela emulação)
P
- a classe de problemas que podem ser resolvidos em tempo polinomial usando uma máquina de Turing padrão (definida acima)NP
- a classe de problemas que podem ser verificados em tempo polinomial usando uma máquina de Turing padrãoNP-complete
- os problemas mais difíceis que ainda existemNP
, nos quais todos osNP
problemas podem ser convertidos em tempo polinomial
Minha pergunta
São as classes de complexidade ( P
, NP
, NP-complete
, etc) relacionados com o algoritmo, ou o algoritmo e a máquina?
Dito de outra maneira, se você pudesse criar uma Máquina Equivalente de Turing (que pode resolver todos os problemas que um Standard TM pode, mas em uma quantidade diferente de tempo / espaço) e essa nova máquina poderia resolver um NP-complete
problema no tempo que cresce como um polinômio em relação à entrada, isso implicaria P=NP
?
Ou o NP-complete
problema deve ser solucionado em todas as máquinas de Turing possíveis em tempo polinomial para ser considerado P
?
Ou entendo mal algo fundamental acima?
Eu dei uma olhada (talvez não com os termos de pesquisa corretos, eu não conheço muito bem o jargão), mas parece que a maioria das palestras / notas etc. se concentra em máquinas padrão, mas diz que máquinas personalizadas geralmente têm velocidade de tempo / espaço às custas do espaço / tempo, sem dizer como isso se aplica às classes de complexidade. Ainda não estou familiarizado o suficiente com o jargão nesse campo para encontrar trabalhos que expliquem isso.