¿Cuál es la relación entre el análisis probabilístico y el algoritmo aleatorio?

Coreman y col. explique en 5.3, y traeré la versión corta:

Para el problema de contratación, el análisis probabilístico nos permite diferenciar diferentes entradas, como los conjuntos de candidatos peores a mejores: (1,2,3,4,5….) Y viceversa (10,9,8….). Esto dará como resultado costos radicalmente diferentes, ya que los costos de contratación son los más altos (ver 5.1 para revisión). Estos dos casos representan distribuciones diferentes. Para este Alg. el peor tiempo de ejecución siempre sería lg (n), por lo tanto, el alg. Es determinista .
En el caso de un algoritmo aleatorio , el algoritmo clasificará a los candidatos de tal manera que garantice una distribución específica . Eso significa que ” ninguna entrada en particular provoca su peor comportamiento. “Eso también significa que la primera línea en dicho algoritmo estará permutando la entrada. Como la permutación ocurre al azar, todas las distribuciones son igualmente probables.

Khan Academy siempre es un buen lugar para comenzar:

Babero – Basado en Introducción a Algoritmos, Tercera Edición

No creo que sea una muy buena forma de decirlo. El análisis probabilístico se puede aplicar a algoritmos deterministas, así como a algoritmos aleatorios. La forma de verlo es que a veces estamos interesados ​​en el límite del peor de los casos (por ejemplo, en el tiempo de ejecución de un algoritmo), donde no importa qué entradas ingresemos, tenemos una garantía. Otras veces, sin embargo, podemos estar interesados ​​en el tiempo de ejecución de caso promedio , donde promediamos la distribución de posibles entradas. O tal vez estamos interesados ​​en un límite casi seguro , donde hay como un pequeño conjunto de entradas que nos desalientan, pero esas entradas ocurren con probabilidad cero en una distribución de entrada dada. El punto es que con el análisis probabilístico, podemos hacer declaraciones más fuertes sobre el rendimiento de un algoritmo (calificado por probabilidad) que si nos limitamos al análisis del peor de los casos.

More Interesting

Dadas dos cadenas de longitud N, ¿cómo encuentro la ventana máxima de patrones coincidentes si pueden mutarse?

¿Debo aprender el concepto profundo del aprendizaje automático como el curso de Andrew Ng o es suficiente para saber qué algoritmo se utiliza cuando?

En Python, ¿cómo reemplazo una cadena en el texto sin reemplazar las subcadenas?

¿Cuál es la intuición de que la factorización no es NP completa?

¿Dónde puedo encontrar problemas difíciles de algoritmo / estructura de datos?

¿Qué es la compresión de datos en la base de datos?

¿Conoces alguna biblioteca de diario E2PROM que pueda usarse en controladores de 8 bits o al menos un algoritmo para hacerlo?

¿Mejorará la velocidad de búsqueda y clasificación de algoritmos o hemos alcanzado el límite?

Cómo desarrollar un algoritmo para detectar rangos de negociación horizontales / patrones de consolidación

¿Cuál es la lista de MOOC que uno debe mirar en su licenciatura para aprender estructuras y algoritmos de datos C, C ++?

¿Alguien puede dar un ejemplo en Java de pasar una matriz unidimensional, una matriz bidimensional y una matriz tridimensional por referencia y luego manipularlos?

¿Alguien puede explicar la solución a SPOJ.com - Problema M3TILE?

¿Por qué los temas 'estructura de datos' y 'algoritmo' siempre están conectados? ¿Hay un curso o libro que solo se ocupe de la estructura de datos?

¿Qué se puede lograr de los algoritmos de aprendizaje? ¿Conducirá a un individuo a ser un mejor programador?

Cómo entender cómo funcionan los algoritmos