Não trabalho em teoria, mas meu trabalho exige a leitura (e a compreensão) de trabalhos de teoria de vez em quando. Depois de entender um (conjunto de) resultados, discuto esses resultados com pessoas com quem trabalho, a maioria das quais também não trabalha em teoria. Durante uma dessas discussões, surgiu a seguinte pergunta:
Quando alguém diz que dois algoritmos dados são "semelhantes"?
O que quero dizer com "semelhante"? Digamos que dois algoritmos sejam semelhantes se você puder fazer uma das seguintes reivindicações em um artigo sem confundir / incomodar qualquer revisor (boas definições bem-vindas):
Reivindicação 1. "O algoritmo , que é semelhante ao algoritmo , também resolve o problema "X
Reivindicação 2. "Nosso algoritmo é semelhante ao algoritmo "
Deixe-me torná-lo um pouco mais específico. Suponha que estamos trabalhando com algoritmos de gráfico. Primeiro, algumas condições necessárias para que os dois algoritmos sejam semelhantes:
- Eles devem estar resolvendo o mesmo problema.
- Eles devem ter a mesma ideia intuitiva de alto nível.
Por exemplo, falando sobre travessia de gráfico, travessia de largura primeiro e profundidade primeiro satisfazem as duas condições acima; para cálculos de caminho mais curto, a amplitude em primeiro lugar e o algoritmo de Dijkstra atendem às duas condições acima (em gráficos não ponderados, é claro); etc.
Essas também são condições suficientes? Mais especificamente, suponha que dois algoritmos satisfaçam as condições necessárias para serem semelhantes. Você realmente os chamaria de semelhantes, se
- eles têm desempenho assintótico diferente?
- para uma classe especial de gráficos, um algoritmo requer o tempo enquanto o outro requer tempo?
- eles têm diferentes condições de terminação? (lembre-se, eles estão resolvendo o mesmo problema)
- a etapa de pré-processamento é diferente nos dois algoritmos?
- a complexidade da memória é diferente nos dois algoritmos?
Edit: A questão é claramente muito dependente do contexto e é subjetiva. Eu esperava que as cinco condições acima permitissem obter algumas sugestões. É um prazer modificar a pergunta e fornecer mais detalhes, se necessário, para obter uma resposta. Obrigado!