Vou tentar uma resposta parcial para sua pergunta, mas acho que deve ser suficiente para sua busca.
Ser NP-completo recorre a ser NP E NP-DURO.
Ser NP-HARD significa que todos os problemas no NP podem ser traduzidos, através de uma transformação polinomial do tempo, nesse problema.
Sabe-se que o SSP é NP-HARD (e NP-COMPLETE).
Isso significa, por exemplo, que você pode procurar na Internet a transformação de Polinomial-Time específica que MOSTRA que o SSP é NP-HARD (em qualquer documento que o prove).
Essa transformação é um algoritmo "honesto", com garantia de execução em tempo polinomial e está escrita em algum artigo, em algum lugar. Vamos chamá-lo de 'SSP-T' (para transformação do SSP).
A única maneira de provar que P = NP é EXIBIR um algoritmo de tempo polinomial para um problema em NP.
Portanto, se você assumir que P = NP, estará assumindo que possui em suas próprias mãos um algoritmo de tempo polinomial "honesto" para resolver um problema de NP (qualquer um). Vamos chamar esse algoritmo: 'H'
Agora ... dado qualquer problema no NP, vamos chamá-lo de 'Meu-problema-NP' ...
A solução que você está procurando é:
Aplique o SSP-T para transformá-lo em uma instância do SSP,
Agora use o SSP-T novamente para transformar essa instância do SSP em uma instância do 'H' (o NP de um - qualquer um - problema que VOCÊ SABE resolver em P - com base no pressuposto de que P = NP-- ),
Execute H para encontrar uma solução.
Use o SSP-T para interpretar a solução no SSP
Use o SSP-T mais uma vez para interpretar a solução em 'My-NP-problem' (o problema arbitrário que você queria resolver no começo).
E lá vai você!
Essas 5 etapas seqüenciais são o algoritmo "honesto" que você estava procurando.
Cada etapa é executada em tempo polinomial e é garantida a existência pela própria definição de cada conceito.
Você poderia ter escolhido qualquer outro problema NP-HARD, em vez do SSP, porque a definição de NP-HARD é a que garante (por definição!) Que:
De fato, se você procurar a maneira mais comum de mostrar que qualquer problema é NP-HARD, é uma transformação no SAT-3, que foi um dos primeiros problemas a serem mostrados no NP-HARD (em algum momento nos anos 60/70).
Deixe-me saber de qualquer fraqueza que você possa encontrar no raciocínio / explicação que dei.