¿Por qué algún algoritmo tiene la misma salida?

Como comentó Harris Siddiqui, “algoritmo determinista”. Manteniendo las cosas simples.

La definición de la palabra se puede expresar como:

Un proceso o conjunto de reglas a seguir en los cálculos u otras operaciones de resolución de problemas, especialmente por una computadora.

Hablando en general:

un proceso o un conjunto de reglas a seguir para hacer algo .

Vamos a tomar un descanso y hacer un poco de té.

Algoritmo # 1:

  1. Vierta la cantidad medida de agua en una olla.
  2. Colóquelo en la estufa.
  3. Enciende la estufa.
  4. Espere hasta que el agua hierva.
  5. Agregue hojas de té (1 cuchara de té por taza)
  6. Apague la estufa
  7. Cubra la olla.
  8. Empinada por cinco minutos.
  9. Vierta la taza a través del tamiz.
  10. Beba con cuidado y disfrute. ¡El contenido de advertencia puede estar caliente!

o tal vez;

Algoritmo # 2:

  1. Vierta la cantidad medida de agua en una tetera eléctrica.
  2. Encenderlo.
  3. Espera a que el agua hierva.
  4. Coloque la bolsa de té en la taza.
  5. Vierta agua caliente en la taza.
  6. Sumerja la bolsa de té hasta la concentración deseada.
  7. Beba con cuidado y disfrute. ¡El contenido de advertencia puede estar caliente!

Esencialmente, ambos algoritmos le dan el mismo resultado final. Solo diferentes formas de hacer lo mismo.

Ahora para responder específicamente a su pregunta en forma breve:

¿Por qué diferentes algoritmos producen la misma salida?

Porque están diseñados para hacer eso.

“Hay más de una forma de pelar un gato”

Incluso en taxidermia, diferentes procedimientos pueden arrojar resultados idénticos. De manera similar (y menos horriblemente), puede aplicar primero la mantequilla de maní o la gelatina al pan al hacer un sándwich, incluso puede aplicarlas a la rebanada de pan opuesta que normalmente haría y el resultado sería un sándwich de mantequilla de maní y jalea .

En algoritmos específicamente, hay una ruta crítica de operaciones que deben realizarse para obtener el resultado deseado. Hay un número infinito de formas de alcanzar el estado terminal de esa ruta, muchas de las cuales serán mucho más largas de lo deseado y muchos de esos procedimientos más largos serán mucho más intuitivos para el ingeniero que los procedimientos ofuscados pero más óptimos.

Hay varios algoritmos que resuelven el mismo problema pero tienen una complejidad de tiempo y espacio diferente. A medida que todo se desarrolla, los algoritmos se vuelven más eficientes y requieren menos tiempo para obtener la respuesta.