¿Cuál es la ecuación general para calcular la probabilidad de encontrar una cadena de longitud N en una cadena M más larga de caracteres aleatorios, cada uno elegido de {AZ}?

Obtener una respuesta exacta para el caso general es difícil.

Si por “aleatorio” quiere decir que cada personaje se elige independientemente con la misma probabilidad entre AZ, entonces es trivial calcular la probabilidad de obtener la cadena especificada si [matemática] M = N [/ matemática]. Es [matemáticas] (\ frac {1} {26}) ^ N [/ matemáticas]. Para general [math] M [/ math], sabemos que el número esperado de cadenas encontradas es [math] (M-N + 1) (\ frac {1} {26}) ^ N [/ math].

Si encontrar las cadenas eran eventos independientes, entonces la probabilidad de encontrar cualquier cadena sería [matemática] 1- [1 – (\ frac {1} {26}) ^ N] ^ M [/ matemática]. Pero no son independientes. Si la cadena es “ABC”, por ejemplo, encontrar la cadena que comienza en la ubicación [matemática] K [/ matemática] significa que no puede haber ninguna repetición que comience desde la ubicación [matemática] K-2 [/ matemática] a [matemática] K + 2 [/ matemáticas]. Por otro lado, si la cadena es “AAA”, encontrar una cadena que comience en la ubicación [matemática] K [/ matemática] hace que la probabilidad de [matemática] K-1 [/ matemática] y [matemática] K + 1 [ / math] [math] \ frac {1} {26} [/ math] en lugar de [math] (\ frac {1} {26}) ^ N [/ math], y la probabilidad de que las cadenas comiencen en [math] K-2 [/ matemática] o [matemática] K + 2 [/ matemática] [matemática] (\ frac {1} {26}) ^ 2 [/ matemática].

Entonces, para la cadena “ABC”, la probabilidad es ligeramente mayor que [matemática] 1- [1 – (\ frac {1} {26}) ^ N] ^ M [/ matemática] porque los eventos tienen correlación negativa. Es más probable que obtenga un solo evento, es menos probable que obtenga un gran número de eventos, pero el número esperado de eventos es el mismo. Para “AAA”, lo contrario es cierto y la probabilidad de obtener al menos una cadena es menor que [matemática] 1- [1 – (\ frac {1} {26}) ^ N] ^ M [/ matemática].

No existe una fórmula simple para la respuesta exacta, aunque hay buenas aproximaciones.

More Interesting

¿Cómo diseñaría un algoritmo para clasificar 100 millones de libros y encontrar duplicados funcionales?

¿Cómo es tomar CS 267 (Algoritmos gráficos) en Stanford?

¿Funciona la siguiente implementación para encontrar la subcadena común más larga dentro de dos cadenas?

¿Puede [math] \ sqrt {n} ^ 2 = -n [/ math]?

Si U = {todos los enteros positivos menores o iguales a 30} y N = {todos los números impares menores o iguales a 19}, ¿qué es N 'y n (N')?

¿Cuál es el tiempo de ejecución esperado de un algoritmo que genera aleatoriamente cadenas únicas de longitud D?

¿Por qué muchos elementos utilizados en la función objetivo de un algoritmo de aprendizaje asumen todas las características centradas en cero y tienen una varianza en el mismo orden?

¿Cuáles son algunas habilidades de programación, algoritmos o marcos que se ven muy bien pero que son muy simples?

Dado un conjunto etiquetado de nodos, ¿podemos 'siempre' construir un árbol de búsqueda binario (BST) para ellos?

¿Cuál es la lógica detrás de los algoritmos de ajuste de aprendizaje automático?

¿Qué libro de algoritmos introductorios debería leer una mente matemáticamente inclinada?

Cómo almacenar y verificar números primos menores que 10 ^ 12 con el algoritmo sieve ()

¿Cuál sería un ejemplo de un problema de programación que sería difícil si no fuera posible sin el uso de array?

¿Cuál es la mejor fuente para aprender del algoritmo y la estructura de datos para principiantes?

Cómo memorizar los algoritmos del cubo de Rubik