Cita:
Empezado por roman
Hola,
Desde luego tú eres el experto en estas lides, pero me parece que un algoritmo determinista no es exactamente lo que describes. Un algoritmo determinista es aquél en que a iguales condiciones de entrada se obtiene la misma salida. Pero eso no implica ue no pueda haber bifurcaciones en el camino.
// Saludos
|
En realidad roman, estamos diciendo lo mismo pero de forma distinta. Si debiera de dar una descripción formal de lo que es un algoritmo determinista diría que es aquel que si se conoce las entradas, se conoce exactamente la salida y la cual no varía. Ya que la máquina de estado para dicho proceso es conocida, predecible, por tanto y única y no posee un componente que altere o bifurque las condiciones dentro de ésta.
Luego, la máquina de estados para esta simple ecuación A = B + C es totalmente determinista.
Un algoritmo es no determinista cuando no podemos predecir el siguiente estado o no existe un flujo previamente conocido entre un paso y otro o recibe un conjunto de entrada no previamente definifido.
Desde luego que existen algoritmos que tienen bifurcaciones y pasos de estados y terminan regresando un valor esperado. Desde una perspectiva externa el algoritmo obedece a un determinismo, aún cuando internamente tenga componentes indeterminadas.
Por esto también he recalcado que la clasificación de los algoritmos no necesariamente implica que son excluyentes de uno a otro, sino que también depende de como se lo mire.
Saludos,