1 votos

Permutaciones con repetición que comienzan y/o terminan con miembros de un subconjunto

Para este ejemplo, tomemos las letras aleatorias OOOAEESTMLHHXX. ¿Cómo puedo encontrar todas las permutaciones, teniendo en cuenta las repeticiones, que empiezan y terminan con miembros de un subconjunto, en este caso cualquiera de las vocales?

Conozco la fórmula de las permutaciones con repetición n!/(n1!n2!...) donde n1/n2... son los recuentos de cada elemento, pero no consigo averiguar cómo dividir los casos para no incluir permutaciones únicas varias veces.

Originalmente quería hacer casos para cada vocal donde empezara al principio (O___) o al final (___O), sumarlos, y luego restar los casos en los que la cadena empieza Y termina con la vocal en particular (ya que O___O estaría incluida en cada uno de los casos sumados, quitamos uno de ellos). El problema que veo aquí es que para las vocales futuras, estoy repitiendo casos como A___O, que podría estar contando de nuevo pero que ya se incluyó al calcular para O.

También pensé en calcular todos los casos que empiezan y terminan con consonantes (que sigo pensando que probablemente sea el camino a seguir), pero no veo otra forma que emparejar manualmente cada caso de consonantes para la parte delantera y trasera de la palabra, y luego usar la fórmula de repetición, lo que parece TANTOS cálculos.

¿Hay algo más fácil que me esté perdiendo? Se agradece mucho.

1voto

user2661923 Puntos 87

La clave de este problema es combinar la elegancia y la fuerza bruta.

La cadena es "OOOAEESTMLHHXX".

Hay una restricción: la primera y la última letra deben ser cada una "O", "A" o "E". Aunque la cadena podría (por ejemplo) empezar y terminar con "O", como sólo hay una "A", ésta no puede aparecer en ambos extremos de la cadena.

Esto significa que existen los grupos de letras "OOO", "EE", "HH" y "XX".
También existen las letras simples "A", "S", "T", "M" y "L".

Por lo tanto, la cadena puede variar en longitud de 2 a 14, inclusive.

Tal y como yo lo veo, vas a necesitar 6 variables.
Dejemos que $L_O \equiv ~$ el número de letras "O" utilizadas.
Dejemos que $L_E\equiv ~$ el número de letras "E" utilizadas.
Dejemos que $L_H \equiv ~$ el número de letras "H" utilizadas.
Dejemos que $L_X \equiv ~$ el número de letras "X" utilizadas.
Dejemos que $L_Z \equiv ~$ el número de letras utilizadas del grupo "A", "S", "T", "M" y "L"
Dejemos que $T \equiv ~$ el número total de letras utilizadas en la cadena.

La parte preliminar de este análisis se parecerá a el siguiente problema .

Cuando estudies este problema te darás cuenta de algunos puntos.

  • Hay dos maneras de atacar el # de soluciones - [Estrellas y Barras + Inclusión - Exclusión] o generar funciones.

  • El número de soluciones que genere será en realidad una función de $T$ que representa la longitud variable de la cadena (es decir, de 2 a 14 inclusive).

  • Lo único que hace este análisis es identificar todas las posibles soluciones enteras no negativas soluciones enteras para cada una de las variables $L_O, L_E, L_H, L_X, L_Z.$

  • En cada valor posible de $T$ Debe centrarse en cada una de las soluciones individuales soluciones por separado .

  • A continuación, hay que calcular una fórmula que represente el número de posibles cadenas, en función de las 6 variables.

  • Tenga en cuenta que tiene que ser muy cuidadoso para ciruela pasa eliminar cualquiera de las soluciones que no tengan al menos dos vocales. Dado que el número de vocales se se refleja en la interacción entre $L_O, L_E,~$ y si $a$ hace una aparición, tienes un par de opciones aquí.

    Podrías separar "a" del otro grupo y convertirla en una variable propia.

    O puede declinar la división de "a", y simplemente ignorar cualquier cadena que que no empiecen y terminen con una vocal.


Lo creas o no, a menos que alguien tenga un enfoque más elegante, aquí es donde comienza la diversión. Para un conjunto dado de valores para las variables, tienes que enumerar el número de posibles cadenas distintas que se pueden formar.

Voy a darles una enumeración inicial. Sin embargo, tendrá que pulir la fórmula, ya que la primera y la última letra deben empezar por una vocal.

Puedes pensar en el número de cadenas como una fracción que es igual a

$$\frac{T!}{D\text{(enominaor)}}.$$

Aquí,

$$D = (L_O!) \times (L_E!) \times (L_H!) \times (L_X!).$$

La razón de esto es que (por ejemplo) si la "O" aparece en un grupo de $L_O$ ranuras, hay que compensar que se cuente $(L_O!)$ veces. Este enfoque es la forma más fácil de ajustar el recuento excesivo.

I destacar : Dejo la restricción de que ambos extremos de la cadena sean vocales.

Obviamente, vas a tener que programar tu ordenador con mucho cuidado.


Hay una alternativa obvia. Como sería ridículo intentar contar el número de soluciones (sin usar un ordenador) usando todo un grupo de fórmulas elegantes, tienes dos alternativas.

  1. Propón un enfoque más elegante que el que he sugerido.

  2. Abandonar toda elegancia y simplemente utilizar la fuerza bruta para que el ordenador que el ordenador recorra todas las cadenas posibles, para ver cuáles satisfacen las restricciones. En este caso, el número de cadenas posibles sería estrictamente inferior a o igual a a lo siguiente:

$$\sum_{k=2}^{14} ~\binom{14}{k} \times k!$$ .

Anexo
Ten en cuenta que desconozco totalmente tanto las funciones generadoras como las exponenciales. I sospecha que existe un enfoque más elegante a través de las funciones generadoras exponenciales. Sin embargo, podría estar equivocado.

Tendrías que estudiar primero las funciones generadoras y luego estudiar las funciones generadoras exponenciales para que esto funcione. Además, tendrías que incluir de alguna manera la restricción de que la cadena empiece y termine con una vocal.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X