Me estoy tirando de los pelos por una pregunta de repaso para mi final de mañana.
Encuentra una relación de recurrencia (y sus condiciones iniciales) para el número de cadenas de bits de longitud n que contienen dos 1s consecutivos.
Este es mi proceso de pensamiento/trabajo, ¿podría alguien ayudarme a descubrir en qué me estoy equivocando?
Sabiendo que una cadena de bits de longitud 0 ó 1 no puede contener dos bits consecutivos de ningún tipo, y que sólo una cadena de bits de longitud 2 (la cadena 11) puede contener dos unos consecutivos, tengo las condiciones iniciales a(0) = 0
, a(1) = 0
y a(2) = 1
. Ahora estoy tratando de encontrar una fórmula para el término a(n+2)
.
Sé que hay tres formas para una cadena de bits de longitud n + 2
para tener dos 1s consecutivos:
- Condición
X
: Ambosn + 1
yn + 2
son 1.count(X) = 2^n
porque esto todavía dejan
bits que no se han tenido en cuenta. - Condición
Y
: Ambosn
yn + 1
son 1.count(Y) = 2^n
por la misma razón. - Condición
Z
: La primeran
bits contienen 11 en alguna parte.count(Z) = 4 * a(n)
porque la adición de 2 bits a laa(n)
cuadruplica el número de cadenas posibles.
Dado que estas tres condiciones no son mutuamente excluyentes,
a(n+2) = count(X) + count(Y) + count(Z) - (count(X ∩ Y) + count(X ∩ Z) + count(Y ∩ Z)) + count(X ∩ Y ∩ Z)
o
a(n+2) = 2^n + 2^n + 4 * a(n) - (2^(n-1) + a(n) + 2 * a(n-1)) + a(n-1)
Esto demuestra con éxito la condición inicial a(2) = 1
y el siguiente - a(3) = 3
. Pero cuando introduzco 4, obtengo 9. Al enumerar las posibles cadenas a mano y rodear las que satisfacen la condición, sólo obtengo 8. ¿Qué estoy haciendo mal?
Gracias.
1 votos
La forma estándar es encontrar una recurrencia para el número $b_n$ de cadenas de bits que tienen no dos consecutivos $1$ 's, entonces $a_n=2^n-b_n$ .
0 votos
En su enfoque, $count(Y\cap Z)$ se ve mal. Para una aproximación directa podrías contar (1) las cadenas de n bits con dos 1's consecutivos que empiezan por 0, (2) las cadenas de n bits con dos 1's consecutivos que empiezan por 10, y (3) las cadenas de n bits con dos 1's consecutivos que empiezan por 11.