No trabajo en teoría, pero mi trabajo requiere leer (y comprender) documentos de teoría de vez en cuando. Una vez que entiendo un (conjunto de) resultados, discuto estos resultados con las personas con las que trabajo, la mayoría de las cuales tampoco trabajan en teoría. Durante una de esas discusiones, surgió la siguiente pregunta:
¿Cuándo se dice que dos algoritmos dados son "similares"?
¿Qué quiero decir con "similar"? Digamos que se dice que dos algoritmos son similares si puede hacer cualquiera de las siguientes afirmaciones en un documento sin confundir / molestar a ningún revisor (se aceptan mejores definiciones):
Reclamación 1. "El algoritmo , que es similar al algoritmo B , también resuelve el problema X "
Reclamación 2. "Nuestro algoritmo es similar al Algoritmo "
Déjame hacerlo un poco más específico. Supongamos que estamos trabajando con algoritmos gráficos. Primero, algunas condiciones necesarias para que los dos algoritmos sean similares:
- Deben estar resolviendo el mismo problema.
- Deben tener la misma idea intuitiva de alto nivel.
Por ejemplo, hablar sobre el recorrido del gráfico, el recorrido primero en anchura y primero en profundidad satisfacen las dos condiciones anteriores; para los cálculos de la ruta más corta, la amplitud primero y el algoritmo de Dijkstra satisfacen las dos condiciones anteriores (en gráficos no ponderados, por supuesto); etc.
¿Son estas también condiciones suficientes? Más específicamente, suponga que dos algoritmos satisfacen las condiciones necesarias para ser similares. ¿Realmente los llamarías similares si
- Tienen un rendimiento asintótico diferente?
- para una clase especial de gráficos, un algoritmo requiere tiempo, mientras que el otro requiere O ( n 1 / 3 ) tiempo?
- tienen diferentes condiciones de terminación? (recuerde, están resolviendo el mismo problema)
- El paso de preprocesamiento es diferente en los dos algoritmos?
- La complejidad de la memoria es diferente en los dos algoritmos?
Editar: La pregunta es claramente muy dependiente del contexto y es subjetiva. Sin embargo, esperaba que las cinco condiciones anteriores permitan obtener algunas sugerencias. Me complace modificar aún más la pregunta y dar más detalles, si es necesario para obtener una respuesta. ¡Gracias!