fbpx
Wikipedia

Algoritmo no determinista

En ciencias de la computación, un algoritmo no determinista es un algoritmo que con la misma entrada ofrece muchos posibles resultados, y por tanto no ofrece una solución única. No se puede saber de antemano cuál será el resultado de la ejecución de un algoritmo no determinista.

Un algoritmo determinista que utiliza f(n) pasos siempre acaba en n pasos y se obtiene la misma solución. Un algoritmo no determinista que tiene f(n) niveles no debe devolver el mismo resultado en cada una de sus ejecuciones.

Uso

En la teoría estándar de la computación la definición de algoritmo deja en claro que de por sí un algoritmo es determinista.

Sin embargo, los algoritmos no deterministas emplean modelos de computación tales como la Máquina de Turing probabilística, que no son deterministas. Se considera entonces que los algoritmos no deterministas son un caso especial.

Conversión de algoritmos no deterministas en deterministas

Una forma de simular algoritmos no deterministas N mediante el empleo de otros deterministas D puede realizarse tratando los estados de N como estados de D. Esto significa que D puede trazar todas las posibilidades y trayectorias de ejecución del algoritmo N.

Otra posibilidad es emplear algoritmos de generación de números aleatorios que consisten en perturbar los estados mediante el establecimiento de todas las posibilidades mediante un generador de números aleatorios. El resultado es un algoritmo determinista probabilístico.

Conversión de algoritmos deterministas en no deterministas

El algunas ocasiones, el hecho anterior puede producirse en el sentido inverso de manera que el comportamiento de un algoritmo varie pase a encontrarse en un lugar diferente

En este caso, deben existir una serie de factores que permitan que dicho algoritmo llegue a convertirse en uno no determinista. A continuación se expondrán las causas más importantes:

  • El hecho de emplear un estado ajeno durante el proceso de secuenciación de datos (como puede ser la introducción de un dato por parte de un usuario, o la aparición de una nueva variable que no ha sido controlada) y por ello se considera aleatoria.
  • Un fallo en el ámbito ya sea del software o hardware puede producir un resultado no previsto tras la ejecución de cada una de las fases.
  • Una última causa puede ser que al intentar realizar ciertas operaciones, existan estados concurrentes (hecho que puede darse si se mantienen muchos procesos ejecutándose al mismo tiempo en un solo archivo).Si ocurre algo similar a lo descrito anteriormente podría originarse una salida no deseada por el usuario.

Véase también

  •   Datos: Q3490301

algoritmo, determinista, ciencias, computación, algoritmo, determinista, algoritmo, misma, entrada, ofrece, muchos, posibles, resultados, tanto, ofrece, solución, única, puede, saber, antemano, cuál, será, resultado, ejecución, algoritmo, determinista, algorit. En ciencias de la computacion un algoritmo no determinista es un algoritmo que con la misma entrada ofrece muchos posibles resultados y por tanto no ofrece una solucion unica No se puede saber de antemano cual sera el resultado de la ejecucion de un algoritmo no determinista Un algoritmo determinista que utiliza f n pasos siempre acaba en n pasos y se obtiene la misma solucion Un algoritmo no determinista que tiene f n niveles no debe devolver el mismo resultado en cada una de sus ejecuciones Indice 1 Uso 2 Conversion de algoritmos no deterministas en deterministas 3 Conversion de algoritmos deterministas en no deterministas 4 Vease tambienUso EditarEn la teoria estandar de la computacion la definicion de algoritmo deja en claro que de por si un algoritmo es determinista Sin embargo los algoritmos no deterministas emplean modelos de computacion tales como la Maquina de Turing probabilistica que no son deterministas Se considera entonces que los algoritmos no deterministas son un caso especial Conversion de algoritmos no deterministas en deterministas EditarUna forma de simular algoritmos no deterministas N mediante el empleo de otros deterministas D puede realizarse tratando los estados de N como estados de D Esto significa que D puede trazar todas las posibilidades y trayectorias de ejecucion del algoritmo N Otra posibilidad es emplear algoritmos de generacion de numeros aleatorios que consisten en perturbar los estados mediante el establecimiento de todas las posibilidades mediante un generador de numeros aleatorios El resultado es un algoritmo determinista probabilistico Conversion de algoritmos deterministas en no deterministas EditarEl algunas ocasiones el hecho anterior puede producirse en el sentido inverso de manera que el comportamiento de un algoritmo varie pase a encontrarse en un lugar diferenteEn este caso deben existir una serie de factores que permitan que dicho algoritmo llegue a convertirse en uno no determinista A continuacion se expondran las causas mas importantes El hecho de emplear un estado ajeno durante el proceso de secuenciacion de datos como puede ser la introduccion de un dato por parte de un usuario o la aparicion de una nueva variable que no ha sido controlada y por ello se considera aleatoria Un fallo en el ambito ya sea del software o hardware puede producir un resultado no previsto tras la ejecucion de cada una de las fases Una ultima causa puede ser que al intentar realizar ciertas operaciones existan estados concurrentes hecho que puede darse si se mantienen muchos procesos ejecutandose al mismo tiempo en un solo archivo Si ocurre algo similar a lo descrito anteriormente podria originarse una salida no deseada por el usuario Vease tambien EditarAlgoritmo determinista Datos Q3490301 Obtenido de https es wikipedia org w index php title Algoritmo no determinista amp oldid 134213615, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos