Está en la página 1de 4

EJERCICIOS DE PROCESOS ESTOCASTICOS

ALUMNO: PALO SOTO, DARLINNE HUBERT


GRUPO: 25
ENUNCIADO DEL PROBLEMA:
Considrese el alfabeto {a,b,c} cuyos elementos tienen la siguiente tabla de multiplicar, donde
las filas representan el smbolo izquierdo y las columnas el derecho
a b c
a b b a
b c b a
c a c c

As, ab=b, ba=c, etctera. Ntese que la multiplicacin definida por esta tabla no es
conmutativa ni asociativa. Se pide encontrar un algoritmo eficiente que examine una cadena x
= x1x2xn de caracteres del alfabeto y devuelva el nmero de formas diferentes en que se
pueden poner parntesis en la expresin para obtener a. Por ejemplo, si x = acc, el algoritmo
debera devolver 2 porque (ac)(c) = a y (a)(cc) = a. Estudiar su coste en trminos de n, la
longitud de la cadena x.

Si tenemos la secuencia x1x2x3xn, entonces al analizar las combinaciones, donde la partcula
mnima estara conformada por una o dos letras como mximo, tenemos las combinaciones:
(X1)(x2x3x4xn)
(x1x2)(x3x4xn)
(x1x2x3)(x4xn)
Y as, donde la secuencia (x1x2x3) de la 3era combinacin, se calculara de la siguiente manera:
(x1)(x2x3)
(x1x2)(x3)
De esta forma observamos, que el clculo de (x1x2) se realiza 2 veces hasta ahora, as como
tambin el clculo de (x1). Lo que nos lleva al siguiente algoritmo:
1) Si la cadena ya se ha resuelto antes, devolver el valor.
2) Dividir los ejercicios con la misma funcin que :
Funcion(X1) * Funcion(x2x3x4xn) + Funcion(x1x2) * Funcion(x3x4xn) +
Funcion(x1x2x3) * Funcion(x4xn)
3) Si la longitud de la cadena es 1 y es el carcter que busca, devolver 1
4) Si la longitud de la cadena es 2
a. Buscar las reglas que corresponden
b. Verificar si cumple (devolver 1 o 0).
5) Almacenar los datos en una estructura que los indexe por la cadena dada
Analizando el problema para una cadena ms larga:
ACCC:
Encontraramos las siguientes subcadenas para la comprobacin:
(A)(CCC) : De esta cadena (CCC) se pueden analizar los casos de (CC)(C) y (C)(CC).
(AC)(CC) : Esta ya cumple con la longitud mnima (longitud de 2 o 1).
(ACC)(C) : De esta cadena (ACC) se pueden analizar los casos de (A)(CC) y (AC)(C).
Al analizar estas combinaciones tenemos:
Para obtener A se puede lograr si los factores son: (A)(C) , (B)(C) o (C)(A)

Entonces:
Para (A)(CCC)
(A)(CCC): busca A cumple con la primera regla, habra que buscar (C) en el segundo factor:
(A): busca A, slo hay una forma : 1
(CCC): busca C, se parte en (CC)(C) y (C)(CC), reglas :(B)(A), (C)(B), (C)(C)
(CC) : slo hay una forma de obtener C, devolver 1.
(C) : slo hay una forma de obtener C, devolver 1.
Para (CCC) : (C)(CC) slo dan 1 forma (1*1) y (CC)(C) slo da una forma(1*1) : 1+1 = 2
Para (A)(CCC) = 1*2 = 2 formas de colocar parntesis.

Para (AC)(CC)
(AC)(CC): busca A reglas (A)(C),(B)(C),(C)(A)
(AC): busca A,B,C, combinaciones de parntesis: 1,0,0
(CC): busca C,C,A combinaciones de parntesis : 1,1,0.
Aqu ya podemos ver que buscamos combinaciones para (CC) que ya hemos
encontrado en la combinacion (A)(CCC)
Para (AC)(CC) : (1*1)+(0*1)+(0*0) = 1 forma

Para (ACC)(C)
(ACC)(C): busca A, reglas (A)(C),(B)(C),(C)(A)
(ACC): busca A,B,C
(AC)(C): busca A, reglas (A)(C),(B)(C),(C)(A), formas posibles: 1*1 + 0*1 + 0*0= 1
(AC): busca A,B,C formas: 1,0,0
(C): busca C,C,A formas: 1,1,0
(AC)(C): busca B, reglas (A)(A),(A)(B),(B)(B), formas posibles: 1*0+1*0+0*0=0
(AC): busca A,A,B formas: 1,1,0
(C): busca A,B,B formas : 0,0,0
(AC)(C): busca C, reglas (B)(A),(C)(B),(C)(C), formas posibles: 0*1+0*0+0*1 = 0
(AC): busca B,C,C formas: 0,0,0
(C): busca A,B,C formas: 0,0,1
(AC)(C): busca A,B,C formas: 1,0,0
(A)(CC): busca A, reglas (A)(C),(B)(C),(C)(A), formas posibles: 1*1+0*1+0*0=1
(A) busca A,B,C formas : 1,0,0
(CC) busca C,C,A formas: 1,1,0
(A)(CC): busca B, reglas (A)(A),(A)(B),(B)(B), formas posibles: 1*0+1*0+0*0=0
(A) busca A,A,B formas : 1,1,0
(CC) busca A,B,B formas: 0,0,0
(A)(CC): busca C, reglas (B)(A),(C)(B),(C)(C), formas posibles: 0*0+0*0+0*1=0
(A) busca B,C,C formas : 0,0,0
(CC) busca A,B,C formas: 0,0,1
(A)(CC): busca A,B,C formas 1,0,0
(ACC) busca A,B,C formas: 1,0,0 + 1,0,0 = 2,0,0
(C): busca C,C,A formas : 1,1,0
(C): busca C, formas: 1
(C): busca A, formas: 0

(ACC)(C) busca A, formas 2*1+0*1+0*0 = 2

(ACCC) busca A, formas 2+1+2=5 formas de obtener A, las cuales son:

(A)(CCC) = 2 formas: (A)((CC)(C)) y (A)((C)(CC))
(AC)(CC) = 1 forma: (AC)(CC)
(ACC)(C) = 2 formas: ((AC)(C))(C) y ((A)(CC))(C)

También podría gustarte