Encontrar una relación de recurrencia sobre un diccionario dado

Definir el Diccionario | | = { 1 , 2 , 3 , 4 }| | ={1,2,3,4}. deja una nanortesea ​​el número de todas las palabras de longitud n sobre donde cada 2 dígitos adyacentes son diferentes al igual que el primer y último dígito. por ejemplo 43212 - buena palabra, 3421423 - mala palabra.

he encontrado que a 1 = 0 , a 2 = 12 , a 3 = 4 3 2a1= 0 ,a2= 12 ,a3= 4 3 2, pero puedo encontrar una relación de recurrencia para un nanorte

¿Por qué no es $a_1=4$?
@saulspatz porque el primero y el último no pueden ser iguales
Sí, debería haberlo visto yo mismo; gracias.
Cuando $n\geq2$ la primera y la última letra son diferentes, entonces hay $k-2$ opciones para extender la cadena en una letra. $a_{n+1}=(k-2)a_n$ donde $k$ es el número de letras, en este caso $4$.
@saulspatz Eso no es correcto. Ignora casos como $1412$, donde la secuencia, $141$, no es parte de $a_n$, pero agregar un número al final conduce a una secuencia en $a_{n+1}$.
@DonThousand Sí, tienes razón. Eso es solo una parte.

Respuestas (2)

Deja una nanortesea ​​el número de cadenas admisibles con nnortedígitos

¿Cómo podemos construir una cadena admisible con n + 1norte + 1dígitos?

Hay dos posibilidades. Podemos tomar una cadena admisible con nnortedígitos y agregue cualquiera de los dígitos diferentes del primero y el último al final. Esto contribuye 2 a n2anorteposibilidades, pero como me señaló Don Mil, ignora cadenas como 14121412que no surgen de esta manera. Podemos obtenerlos comenzando con cualquier n 2norte - 2-cadena admisible de dígitos, agregando el primer dígito al final y luego agregando cualquiera de los otros tres dígitos al final de eso.

un norte + 1 = 2 un norte + 3 un norte - 1

anorte + 1= 2anorte+ 3anorte - 1

A la vista de los datos iniciales a 1 = 0 , a 2 = 12 a1= 0 , a2= 12, las técnicas estándar dan la solución a n = 3 n + 3 ( 1 ) n

anorte=3norte+ 3 ( - 1)norte

Escribí un pequeño script en Python para contar las cadenas admisibles por fuerza bruta hasta n = 10norte = 10, y confirmó esta fórmula.

Primero, cuente el número de palabras donde los dígitos adyacentes son diferentes, ignorando la condición de la primera y la última letra. Este límite es obviamente 4 3 n 14 3norte - 1.

De esta cuenta, debemos restar las palabras que violan la condición de primera/última letra. Palabras de longitud nnortesin dos letras adyacentes de modo que la primera letra sea igual a la última, están en biyección con palabras cíclicas de longitud n 1norte - 1sin dos letras adyacentes (solo borre la última letra). Juntando todo esto, obtenemos a n = 4 3 n 1a n 1( norte 2 )

anorte= 4 3norte - 1anorte - 1( norte 2 )
Esta es la recursividad que deseabas. Para resolver esta recursión, aplicamos la misma recursión a un n 1anorte - 1, y así, expandiéndolo hasta el final. el resultado es un n= 4 3 norte - 1 - un norte - 1= 4 3 norte - 1 - ( 4 3 norte - 2 - un norte - 2 )= 4 3 norte - 1 - ( 4 3 norte - 2 - ( 4 3 norte - 3 - un norte - 3 ) )= 4 ( 3 norte - 1 - 3 norte - 2 + 3 norte - 3 - + ( - 1 ) norte - 23 1 + ( - 1 ) norte - 1 un 1 0 )= 4 3 norte - 1 - ( - 1 ) norte - 11 13= 3 norte + 3 ( - 1 ) norte .