• No se han encontrado resultados

CÓDIGOS DE ESTADOS FINITOS

4. CONSTRUCCIÓN DE CÓDIGOS DE ESTADOS FINITOS

Típicamente, el algoritmo anterior se emplea del siguiente modo: comenzar con v siendo el vector cuyas componentes son todas 1 y aplicar el algoritmo; si la respuesta es un vector no nulo, ya tenemos el autovector aproximado que buscamos. En caso contrario, tomar v siendo el vector cuyas componentes son todas 2, y así sucesivamente. El teorema 6.17 asegura que en algún momento terminaremos con este procedimiento, pues existe un (A, n)-AA v. Si hacemos p = m´axIvI, aplicando el algoritmo comenzando con el vector cuyas componentes son todas p,

se obtendrá como respuesta un vector no nulo (ejercicio).

Ejemplo 6.18. Apliquemos el algoritmo anterior a la matriz A =  1 36 1 

y el n = 5 del ejemplo 6.13. Comenzando con v = 11

 , obtenemos sucesivamente  1 1  → 0 1  → 0 0  → 0 0  Comenzando con v = 22  , obtenemos sucesivamente  2 2  → 1 2  → 1 1  → 0 1  → 0 0  → 0 0  Comenzando con v = 33  , obtenemos sucesivamente  3 3  → 2 3  → 2 3 

y hemos obtenido el más pequeño de los (A, 5)-autovectores aproximados. 4. Construcción de códigos de estados nitos

En esta sección completaremos la demostración del Teorema de los Códigos de Estados Finitos. Lo haremos de manera constructiva, es decir, proporcionando también un método para construir el CEF, conocidos n y el shift sóco X con h(X) ≥ log n.

El primer paso es obtener una presentación resolvente a derecha (G0, L0) para X. Luego,

basados en el corolario 5.24, elegimos una componente irreducible G = (G00, L) con h (X G) =

h (XG0) = h(X) ≥ log n. A partir de G, y siguiendo una adecuada secuencia de desdoblamientos

de estados de grafos rotulados, construimos una presentación de X en la que desde cada vértice salen al menos n aristas, y en esa presentación eliminamos algunas aristas para obtener un grafo G en el que, desde cada vértice, queden saliendo exactamente n aristas. La función rotuladora restringida a esas aristas será nuestra rotuladora de salidas O, y como rotuladora de entradas I elegimos cualquier coloreo de rutas del grafo que resulta. Así obtenemos el CEF (G, I, O) que buscamos.

Para ello, necesitamos demostrar una proposición que constituye el corazón de la demos- tración de que efectivamente existe aquella secuencia de desdoblamientos de estados de grafos rotulados de la que hablamos más arriba. Y dicha proposición usa un sencillo hecho de teoría de números que enunciamos a continuación.

Lema 6.19. Sea {mi}ni=1una sucesión de n enteros positivos. Entonces, existe S ⊆ {1, . . . , n}

tal que n es factor de Pi∈Smi.

Demostración. Para cada N ∈ {1, . . . , n}, sea pN =

 PN

i=1mi mod n.

Si los pN son todos distintos, debe haber algún N∗ tal que pN∗ = 0 (pues los posibles restos

de una división por n son 0, 1, . . . , n − 1) y, en ese caso n es factor de PN∗

i=1mi; luego, basta

72 6. CÓDIGOS DE ESTADOS FINITOS

Si no son todos distintos, debe haber N1 < N2 tales que pN1 = pN2. Eso signica que

PN1

i=1mi =

 PN2

i=1mi mod n, es decir, P N2

i=N1+1mi = 0 mod n. De aquí que P

N2

i=N1+1mi es

múltiplo de n; luego, basta tomar S = {N1+ 1, . . . , N2}para ver que el enunciado es cierto. 

Proposición 6.20. Sean n un entero positivo, G = (V, Σ, i, t) un grafo irreducible con matriz de adyacencia A, y v > 0 un (A, n)-autovector aproximado. Supongamos que algún estado K∗ ∈ V tiene menos de n aristas saliendo de él. Entonces, existe I ∈ V y una partición

de ΣI en subconjuntos no vacíos Σ1I y Σ2I tal que el grafo G0 que resulta de desdoblar I en

I1, I2 usando esa partición posee matriz de adyacencia A0 que admite un (A0, n)-autovector aproximado v0 > 0 con v0

I1 + vI02 = vI y v0J = vJ para todo J ∈ V − {I1, I2}.

Demostración. Sea p = m´axJ ∈V vJ. Notar que debe haber algún estado K tal que vK < p,

pues, de lo contrario, tendríamos que ∀K ∈ V, vK = p y entonces PLAK∗LvL= pP

LAK∗L =

p |ΣK∗|; como v es (A, n)-AA, tendríamos que p |ΣK∗| ≥ nvK∗ = np, es decir, |ΣK∗| ≥ n,

contradiciendo la hipótesis de que desde K∗ salen menos de n aristas.

Elijamos entonces I0, K ∈ V tales que v

K < py vI0 = p. Como G es irreducible, hay camino

en G desde I0 hasta K. Sea I el último estado en el recorrido de ese camino tal que v

I = p, y

e∗ la arista de ese camino que sale del estado I. Observar que vt(e∗) < p.

Designemos m = |ΣI|. Como v es (A, n)-AA, es Pe∈ΣIvt(e) ≥ nvI = np(observación 6.14).

Además, ∀e ∈ ΣI, vt(e) ≤ p y ∃e∗ ∈ ΣI : vt(e∗) < p. Luego, P

e∈ΣIvt(e) < p |ΣI| = pm. De

lo anterior, tenemos que m > n, es decir, hay más de n aristas saliendo de I. Enumeremos las aristas de G que salen de I como e1, . . . , en, . . . , em con e1 = e∗. Aplicando el lema 6.19 a

la sucesión vt(e1), . . . , vt(en)

, vemos que existe S ⊆ {1, . . . , n} tal que Pi∈Svt(ei) = qn para

algún q ∈ Z+. Designemos Σ1

I = {ei : i ∈ S} y Σ2I = ΣI − Σ1I. Tendremos que Σ1I 6= ∅ 6= Σ2I

(pues |ΣI| > |Σ1I|). Sea G

0 = (V0, Σ0, i0, t0) el grafo que resulta de hacer un desdoblamiento

elemental de G por el estado I usando la partición ΣI = {Σ1I, Σ2I}, y llamemos A

0 a su matriz

de adyacencia. Denamos v0 mediante:

v0J =    q si J = I1 vI − q si J = I2 vJ si J ∈ V − {I1, I2}

Veamos que v0 así denido es positivo. Para J 6= I2, v0

J > 0 pues q > 0 y vJ > 0. Y para

ver que v0

I2 > 0, notemos que nq = Pe∈Σ1

Ivt(e) ≤

Pn

i=1vt(ei) < np, pues vt(e1) = vt(e∗) < p y

vt(ei) ≤ p para i ∈ {2, . . . , n} (así que P

n

i=1vt(ei) < np); de allí que q < p y, en consecuencia,

v0I2 = vI− q = p − q > 0.

Tengamos presente que cada arista e de G que no termina en I es también arista en G0 y

cumple que v0

t0(e) = vt(e); en tanto, cada arista e de G que termina en I (incluidos los rulos en

I) aparece desdoblada en G0 como e1 y e2, siendo v0

t0(e1)+ v 0 t0(e2)= v 0 I1 + v 0 I2 = vI = vt(e).

Resta ver que v0 es (A0, n)-AA. Lo haremos por la segunda caracterización dada en la

observación 6.14.

Si J = I1: Designemos ∆1 a los rulos en I1, ∆2 a las aristas que van de I1 a I2 y ∆ a

las que salen de I1 y no terminan ni en I1 ni en I2 (siendo ∆ ⊂ Σ1

I). Se tiene que Σ0I1

es la unión disjunta ∆ ∪ ∆1∪ ∆2, y además Σ1

I es la unión disjunta de ∆ con los rulos

en I que están en Σ1

I. Por lo dicho más arriba, por cada arista e1 ∈ ∆1 hay una arista

e2 ∈ ∆2 y viceversa; y cada pareja e1, e2 proviene de un rulo e ∈ ΣI

I∩ Σ1I. Entonces, X e∈Σ0 I1 v0t0(e) = X e∈∆ v0t0(e)+ X e∈∆1 v0t0(e)+ X e∈∆2 v0t0(e)= X e∈∆ vt(e) + X e∈ΣI I∩Σ1I v0t0(e)+ vt00(e)  = X e∈∆ vt(e)+ X e∈ΣI I∩Σ 1 I vt(e) = X e∈Σ1 I vt(e) = nq = nv0I1

4. CONSTRUCCIÓN DE CÓDIGOS DE ESTADOS FINITOS 73

Si J = I2: Por análisis similar al realizado en el caso anterior, resulta P e∈Σ0 I2 vt00(e) = P e∈Σ2 Ivt(e), y, como Σ 2 I = ΣI − Σ1I, se tiene que X e∈Σ0 I2 v0t(e) = X e∈ΣI−Σ1I vt(e) = X e∈ΣI vt(e) ! − nq ≥ nvI− nq = n(vI − q) = nv0I2

Si J /∈ {I1, I2}: Designemos ∆1 a las aristas que van de J a I1, ∆2 a las que van de

J a I2 y ∆ a las que van de J hasta un vértice distinto de I1 y de I2. Se tiene que

Σ0J es la unión disjunta ∆ ∪ ∆1 ∪ ∆2. Como antes, por cada arista e1 ∈ ∆1 hay una

arista e2 ∈ ∆2 y viceversa; y cada pareja e1, e2 proviene de una arista e en G desde J

hasta I. Procediendo de manera análoga a lo anterior, se llega a ver que Pe∈Σ0 Jv 0 t0(e)= P e∈ΣJ vt(e) ≥ nvJ = nv 0 J.

Es decir, para todos los vértices de G0 se cumple la desigualdad requerida en la observación

6.14 en cuanto a v0, A0 y n, resultando entonces que v0 es un (A0, n)-AA.

 Teorema 6.21. Sean n ∈ Z+ y G un grafo irreducible con matriz de adyacencia A. Si

λA ≥ n, entonces existe una sucesión de grafos G0, G1, . . . , Gm tales que G0 = G, Gm tiene

al menos n aristas saliendo desde cada vértice, y para cada i ∈ {1, . . . , m}, Gi resulta de un

desdoblamiento elemental de Gi−1.

Demostración. Sea v > 0 un (A, n)-AA, cuya existencia está garantizada por el teorema 6.16. Hagamos G0 = G. Si desde cada estado de G salen al menos de n aristas, tomamos m = 0

y el enunciado se cumple. En caso contrario, sea G1 el grafo que resulta de aplicar a G0 la

proposición 6.20, cuya matriz de adyacencia tendrá un autovector aproximado v(1) > 0 cuya

dimensión es una unidad mayor que la de v pero cuya suma de componentes es igual a la suma de las componentes de v. Si G1 tampoco tiene al menos n aristas saliendo desde cada

vértice, le aplicamos nuevamente la proposición 6.20 para obtener un grafo G2 cuya matriz de

adyacencia tiene autovector aproximado v(2) > 0 con dimensión una unidad mayor que la de

v(1) y suma de coecientes igual a la suma de los coecientes de v(1), y así sucesivamente. El

proceso debe terminar, pues cada v(i) que se obtiene en cada paso es estrictamente positivo y

tiene una coordenada más que v(i−1), pero sus respectivas sumas de coecientes son iguales.

Entonces, el último Gm obtenido es el buscado. 

Ahora podemos completar la demostración del Teorema de los Códigos de Estados Finitos, cuya vuelta nos estaba faltando.

Demostración. (Suciencia de la condición de entropía para existencia de un (X, n)-CEF.) Supongamos que X es un shift sóco con h(X) ≥ log n, y sea (H, L) una pre- sentación resolvente a derecha para X. Sea G0 una componente irreducible de H tal que

h (XG0) = h (XG), y sea A la matriz de adyacencia de G0. Designemos L0 a la restricción

de L a las aristas de G0. Como h(X) = log λA ≥ log n, es λA ≥ n. Aplicando entonces a G0

el teorema 6.21, obtenemos la sucesión de grafos rotulados G0 = (G0, L0), . . . , Gm = (Gm, Lm)

donde G1, . . . , Gm son los que resultan del teorema, y cada grafo rotulado Gi es el correspon-

diente desdoblamiento (como grafo rotulado) de Gi−1. Sabemos que X ⊇ XG0 = XGm, y, por

proposición 6.6, Gm es cerrante a derecha con demora m. Como Gm tiene al menos n aristas

saliendo desde cada vértice, elegimos exactamente n aristas saliendo desde cada vértice (eli- minando las otras) para obtener así un subgrafo G coloreable al que dotamos de un coloreo de rutas I. Designando por O a la restricción de Lm a las aristas de G, resulta que la terna

(G, I, O) es un (X, n)-CEF, pues O∞(XG) = (Lm)∞(XG) ⊆ (Lm)∞(XGm) = XGm ⊆ X. 

Ejemplo 6.22. Sea X el shift sóco mostrado en la gura 7. Analizaremos si es posible construir un (X, 3)-CEF, y, en caso armativo, veremos la aplicación del procedimiento que está implícito en las demostraciones anteriores para obtener tal código de estados nitos.

74 6. CÓDIGOS DE ESTADOS FINITOS

Figura 7. Shift sóco X para construir un (X, 3)-CEF El grafo subyacente es irreducible y su matriz de adyacencia es

A =   2 1 1 0 1 1 2 1 0  

Su autovalor de Perron es λA = 3, 1149 . . ., y como la presentación es resolvente a derecha, es

h(X) = log λA ≥ log 3. Entonces, de acuerdo al Teorema de los Códigos de Estados Finitos,

existe un (X, 3)-CEF.

Como el grafo subyacente ya es irreducible y la presentación es resolvente a derecha, el grafo rotulado de la gura 7 será nuestro G0 de arranque. Como hay estados con menos de tres aristas

salientes, deberemos seguir el procedimiento dado en la demostración de la proposición 6.20. Por aplicación del algoritmo de búsqueda de autovector aproximado, llegamos a que v = [3, 1, 2] es un (A, 3)-AA. De acuerdo a la demostración de la proposición 6.20, buscamos una arista e∗ que arranque en un estado I con v

I maximal, y termine en un estado J con vJ no

maximal. Hay varias opciones; elegiremos I = 1 y e∗ la arista de 1 a 3 que tiene rótulo a.

De acuerdo a la demostración, elegimos Σ1

I conteniendo e

y la arista de 1 a 2 con rótulo d,

y Σ2

I son todas las otras aristas que salen de I (los dos rulos en 1, en este caso). Notar que

P

e∈Σ1

Ivt(e) = 3, así que el q de la demostración vale, en esta etapa, 1. Luego, el autovector

aproximado correspondiente al grafo desdoblado G1 tendrá coecientes 1 y 2, respectivamente,

para los dos estados en que se desdoblará I; los otros estados conservarán el valor que tienen asociado en G0.

En la gura 8, mostramos la sucesión de desdoblamientos de grafos rotulados que se produce. En cada paso, mostramos dentro de un hexágono al lado de cada estado el valor del coeciente del autovector aproximado que le corresponde en esa etapa, e indicamos con I el estado por el cual se produce el desdoblamiento, con (∗) la arista e∗, y con línea discontinua las aristas de

Σ1I.

El proceso para en G3, pues hemos llegado a una presentación en la que desde cada vértice

salen al menos tres aristas.

Elegimos entonces exactamente tres aristas saliendo de cada vértice, eliminando las otras, y coloreamos el grafo rotulado resultante con el alfabeto de entradas A = {0, 1, 2}. La misma gura 8 muestra, en la parte inferior, uno de los posibles (X, 3)-CEF. 

Usando el hecho de que h XN = Nh(X) (donde XN es la presentación de X en bloques

de tamaño N sin solape), en los ejercicios se verá cómo se puede adaptar el Teorema de los Códigos de Estados Finitos para construir códigos aún sin cumplirse de manera directa la condición h(X) ≥ log n.

4. CONSTRUCCIÓN DE CÓDIGOS DE ESTADOS FINITOS 75

G0 G1

G2 G3