Codificación de Canal

Documentos relacionados
3. TÉCNICAS ARQ: SOLICITUD DE REPETICIÓN AUTOMÁTICA 4. TÉCNICAS FEC: CODIFICACIÓN PARA LA DETECCIÓN Y CORRECCIÓN DE ERRORES

1.5 Técnicas de comunicaciones de datos

En la codificación bloque la fuente de información como una secuencia binaria ("0" o "1 ) es segmentada en bloques u de longitud fija de largo k bits

Teoría de Información y Codificación Ejercicios adicionales (corresponden a la segunda mitad de la materia)

CAPA 2, Control de Errores y Control de Flujo

Aplicaciones de la teoría de grupos, anillos y cuerpos: Teoría de la Codificación

Tema 4: Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

CODIFICADOR DE VITERBI PARA TELEVISION DIGITAL TERRESTRE: DECODIFICADOR DE VITERBI Y REED SOLOMON

Comunicaciones Digitales - Ejercicios Tema 6

Examen Final, Convocatoria Extraordinaria 2 de julio de Modalidad de test A

Examen Final Extraordinario

Tema / La capa de enlace de datos: entramado y detección de errores

Comunicación de datos

Tema: Codificación de canal

Tema 4. Teoría de códigos Introducción. Álgebra. Área de Álgebra Universidade da Coruña

Introducción a los códigos lineales 11

XXVII Escuela Venezolana de Matemáticas EMALCA. Códigos (I) Edgar Martínez-Moro Sept. 2014

Práctica 5: Códigos Lineales

10. Codificación de Canal: Código Hamming y Código Convolucional

CONTROL DE ERRORES DETECCIÓN DE ERRORES

TEMA 5 TÉCNICAS DE PROTECCIÓN FRENTE A ERRORES (CÓDIGOS CONVOLUCIONALES) Códigos convolucionales. Introducción de la redundancia mediante filtrado

Un canal de comunicación puede ser definido como el medio a través del cual la señal del mensaje se propaga desde la fuente hasta el destino.

UNIDAD IV MÉTODOS DE DETECCIÓN DE ERRORES.

Teoría de la Información y Codificación

ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES I CAPÍTULO III ARITMÉTICA Y CODIFICACIÓN

Capítulo 2: Código detector de errores. Materia: Teoría de la información y métodos de codificación.

REPÚBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD BICENTENARIA DE ARAGUA VICERRECTORADO ACADÉMICO SECRETARÍA ARAGUA VENEZUELA

TEMA 1. IT (UC3M) Comunicaciones Digitales Introducción 2 / 24. Finalidad de un sistema de comunicaciones: transmisión

Ampliación Matemática Discreta. Justo Peralta López

Detección y Corrección de Errores

Tema 6. Códigos Lineales

Códigos para tratamiento de errores

1.5.3 Sistemas, Matrices y Determinantes

INSTITUTO POLITÉCNICO NACIONAL SECRETARÍA ACADÉMICA DIRECCIÓN DE EDUCACION SUPERIOR

EL4005 Principios de Comunicaciones Clase No.30: Códigos Lineales de Bloque

Redes y Servicios. Módulo I. Fundamentos y modelos de red. Tema 2. Fundamentos. Parte B. Nivel de enlace

Objetivos formativos de Álgebra

Capa de Enlace de Datos

Tema 2: Sistemas y códigos numéricos

Tecnologías de Comunicación de Datos

EXPERTO EN TEORÍA DE LA INFORMACIÓN Y LA CODIFICACIÓN TRABAJO FINAL CÓDIGOS CONVOLUCIONALES

TEORÍA DE LA INFORMACIÓN Y CODIFICACIÓN CÓDIGOS

Comunicaciones Digitales - Capítulo 3 - Ejercicios

SISTEMA DE TRANSPORTE EN TELEVISION DIGITAL

BLOQUE IV. Nivel de enlace de datos

Teoría Estadística de las Comunicaciones.

11. Generador/comprobador de paridad

Práctica 2 Comprobación de códigos binarios detectores y correctores de errores

TÉCNICAS DIGITALES CÓDIGOS DETECTORES Y CORRECTORES DE ERRORES

Teoría de Información y Codificación Ejercicios adicionales (temas correspondientes al primer parcial)

Álgebra Lineal Grupo A Curso 2011/12. Espacios vectoriales. Bases...

U2: CÓDIGOS BINARIOS

Subsistemas aritméticos y lógicos. Tema 10

TRANSMISIÓN DIGITAL (Curso 2008/9)

Resumen: Códigos Algebraicos, Hamming, filtros FIR.

( 1 sesión) Laboratorio de Señales y Comunicaciones (LSC) Curso

Introducción a la Teoría de Códigos

Sistemas de Comunicaciones

Codificación de Fuente y de Canal

Introducción a los espacios vectoriales

BLOQUE II. Introducción a la Transmisión de Información

Sistemas de Comunicación Examen

Codificación de canal I: introducción y códigos de bloque

Teoría de códigos. Beatriz Graña Otero

Codificación n de canal

Universidad Nacional del Nordeste. Facultad de Ciencias Exactas y Naturales y Agrimensura. Cátedra: Comunicaciones de Datos.

MATLAB y la teoría de la información

Espacios vectoriales reales.

Subsistemas aritméticos y lógicos. Tema 8

Realizar las siguientes operaciones en c-a-2 utilizando el número mínimo de bits necesario para que no haya desbordamiento: 3 + 7, 5 7, 13 8, 10 6.

Señales y Sistemas. Señales y Clasificación Sistemas y Clasificación Respuesta al impulso de los sistemas. 5º Curso-Tratamiento Digital de Señal

Compresión de Vídeo. Juan A. Michell Mar>n Gustavo A. Ruiz Robredo. Tema 1.5. Codificación entrópica. Departamento de Electrónica y Computadores

Transcripción:

Codificación de Canal Mónica Aguilar Igartua

Índice Resumen fundamentos de codificación de canal Códigos bloque Código Lineal. Matrices generadora y de comprobación. Distancia mínima de un código. Redundancia mínima para una capacidad correctora/detectora determinada. Probabilidad de error residual. Eficiencia de un código. Códigos e-perfectos. Códigos de Hamming. Código ISBN. Códigos cíclicos y polinómicos. 2/33

Fundamentos de Codificación de Canal Objetivos de la transmisión digital de la información: Transmisión fiable (control de errores) Transmisión rápida (compresión) Transmisión segura (autenticidad, privacidad) Codificación de canal Codificación de fuente Criptografía Codificación de canal: Protege la información frente a degradaciones del canal. Añade redundancia de forma inteligente. Detecta y/o corrige errores que produce el canal. 3/33

Fundamentos de Codificación de Canal Ubicación del codificador/decodificador de canal en el Sistema de Transmisión de Datos: Fuente Equivalente Codificación de canal Mapeo Modulación Canal Destino Decodificación de canal Mapeo Inverso Demodulación Canal discreto equivalente 4/33

Fundamentos de Codificación de Canal Estrategias de uso: Detectora: ARQ (Automatic Repeat Request), solicitud automática de re-envío. Correctora: FEC (Forward Error Correction), corrige a partir de la información recibida. Clasificación en función de cómo se introduce la redundancia: Códigos Convolucionales x(i) Código y(i) De forma continua a medida que llega la información al codificador Códigos Bloque Asociada a bloques de información X Código Y 5/33

Codificación de Bloque Código (n, k) Redundancia = r = n-k X (x(),, x(k)) Codificador de canal Y (y(),, y(n)) Canal discreto equivalente Z (z(),, z(n)) Decodificador de canal X (x(),, x(k)) X (k digitos) Mensaje de usuario Y (n digitos, n>k) Palabra código Z (n digitos) Palabra recibida X (k digitos) Mensaje estimado x(i) alfabeto de q símbolos q k X Codificador Y q n q k Código Bloque Para ser útil Aplicación biyectiva. q k palabras código distintas. Código Lineal. se reduce la complejidad del código. Estructura sistemática de la palabra código. extraer de inmediato el mensaje de usuario. mensaje redundancia palabra, n dígitos k r 6/33

Código Lineal de Bloque El código bloque de q k palabras código (de longitud n) es un Código Lineal Bloque (n, k) si y sólo si tiene estructura de subespacio vectorial k-dimensional (del espacio vectorial formado por las n-tuplas) sobre un Cuerpo de Galois (GF). Conjunto finito de elementos con los cuales se opera como con los números reales. Consideraremos GF(2). El Codificador se elige de tal manera que sea una aplicación lineal: X Y X 2 Y 2 c X + c 2 X 2 c Y + c 2 Y 2 c, c 2 GF { { Ejemplo: = = 7/33

Matriz Generadora del Código Lineal de Bloque, G Del Código Lineal (n, k) hallamos k palabras código lin. indep. (g, g 2,..., g k ) Base Cada palabra código Y es una combinación lineal de esas k palabras código: k=3 Y = x g + x 2 g 2 + x 3 g 3, x i = {, } Todo mensaje de usuario X puede expresarse como combinación lineal de una base: X = (x, x 2, x 3 ) = x () + x 2 () + x 3 () El código queda determinado conociendo la codificación de una base del conjunto de mensajes de usuario, X: () (g g 2... g n ) = g () (g 2 g 22... g 2n ) = g 2 () (g 3 g 32... g 3n ) = g 3 Matriz Generadora del Código X = (x, x 2,..., x k ) Y = X G G( kxn ) = g g M g 2 k = g g M k g g 2 M k 2 K K g g n M kn 8/33

Código Lineal Sistemático de Bloque Estructura Sistemática k r mensaje redundancia palabra, n dígitos Un código lineal (n, k) SISTEMÁTICO de bloque queda definido por una matriz G(kxn): G( kxn) = M L O K M p p p 2 M k L p p r kr = ( I P( kxr) ) k Ejemplo: Código de paridad. k=2, n=3. r=n-k= (2x3) = = I G 2 9/33

Detección/corrección de errores Cómo detectar errores? X (x(),, x(k)) Codificador de canal Y (y(),, y(n)) Canal discreto equivalente Z (z(),, z(n))? Decodificador de canal Y=X G Si Z Y ERROR. Pero Y no es conocida en recepción! Si Z código ERROR. Es cierto. Si Z código NO ERROR. Es una suposición: puede que el error haya transformado una palabra código en otra! Diseñar el Código para que sea poco probable. Cómo saber si Z a un código C? Comparar Z con todas las Y del código. Ineficaz si k es grande! Una palabra Z a un código C si es a C, subespacio vectorial a C. /33

Matriz de Comprobación del Código Lineal de Bloque, H Un código lineal de bloque (n, k) tiene asociada otra matriz H(rxn): H( rxn) h h = M h 2 r h h = M h 2 r L L L h h h n 2n M r n Matriz de Comprobación del Código G(kxn) H(rxn) g i h j g i h j g i h j = 2 n palabras Z Código C: 2 k palabras Y Y H T = Subespacio vectorial ortogonal a C G H T = /33

Matriz de Comprobación del Código Lineal de Bloque, H En un código lineal de bloque (n, k) SISTEMÁTICO, la matriz H es de la forma: G(kxn) = ( I k P(kxr) ) G H T = H T -P = H(rxn) = ( -P T I r ) I r Nota: En GF(2), +=, -, -P P Ejemplo: Código de paridad. k = 2, n = 3 r = n - k = (2x3) = = ( I P(2x) ) H(x3) = ( I ) ( ) G 2 = Z = Z H T = () = Z C Z = Z H T = () = Z C 2/33

Sea un código lineal de bloque (n, k) sistemático del que conocemos sus matrices G y H. Sea Y una palabra código que se transmite por un canal ruidoso. Se recibe la palabra Z. Z = Y + e e = (e,..., e n ) con Una vez que se ha obtenido e SÍNDROME de Z: s = Z H T s = (s,..., s r ) s = Z H T = (Y+ e ) H T = Y H T + e H T = e H T s = e H T Síndrome y detección de errores e i = si Z i Y i e i = si Z i = Y i (*) Es posible que Z sea errónea siendo s=? Y = Z + e Y canal e, vector de error si Z H T = s = No error (*) si Z H T s Error - Si e C, e Z=Y+e Z C s= - Hay 2 k - palabras código Hay 2 k - errores no detectables Z 3/33

Síndrome y detección de errores Para obtener e, basta con resolver r ecuaciones lineales, con n incógnitas! Hay n - r = k grados de libertad. Hay 2 k soluciones, es decir hay 2 k errores que producen igual síndrome: s = e H T ( s, s,..., s ) 2 r = (e, e 2,..., e n h h ) M h 2 n h h h 2 22 M 2 n L L L h h h r r 2 M r n Para minimizar la probabilidad de error, se elige el error e más probable. Regla de decisión para corregir errores: Cómo determinar Y a partir de Z recibida? Distancia d(y, Z) mínima Depende del Modelo de Canal. 4/33

Modelo de Canal Canal Binario Simétrico (BSC) Canal sin memoria errores aleatorios e independientes no hay ráfagas de errores Y canal Z Canal discreto equivalente p = Prob. error bit -p y i = z i = p p y i = z i = -p Distancia, d(y, Z) = Nº de bits diferentes entre Z e Y = Distancia de Hamming = = Peso (nº bits =) de la suma = W(Y+Z) y c Ejemplo: Código de paridad. k=2, n=3 distancias de Hamming Y Y 2 Y 3 Y 4 d(y, Y 4 )=W(+)=W()=2 d(y 2, Y 3 )=W(+)=W()=2 Y 3 Y 2 2 Y 2 distancias Euclídeas y b y a Y 4 5/33

Modelo de Canal Canal con memoria. Se producen ráfagas de errores ENTRELAZADO: Ejemplo: n = 4 a) b) X X X X X Y Y 2 Y 3 Y 4 Y 5 X X X X X 2 3 4 5 6 7 8 9 2 Canal b) necesita código con capacidad correctora 3 Es necesaria una redundancia 6 Canal a) necesita código con capacidad correctora Es necesaria una redundancia 2. Diseñar código para canal del tipo a), pero procesar las Y antes de enviarlas al canal con memoria....... canal Qué valor debe tener D? X código Y Y Y 2 Y 3 Y 4 Y 5 2 3 4 X 5 6 7 8 X X X X n = 4 D = profundidad de entrelazado D Longitud media ráfaga Qué problema surge? Aumenta el retardo 6/33

Distancia mínima de un código Distancia de Hamming = d(y, Z) = W(Y+Z) Dado un código C lineal de bloque (n, k), su distancia mínima d mín se define como: d mín = mín. d(y i, Y j ), con Y i, Y j C, i j Dado que C es un subespacio vectorial, Y i + Y j es otra palabra código, por tanto: d mín = mín. W(Y k ) = W mín El menor de los pesos de todas las Y Y k Ejemplo: Código de paridad. k=2, n=3 Y Y 2 Y 3 Y 4 W 2 = 2 W 3 = 2 W 4 = 2 W mín = 2 = d mín Qué relación guarda la d mín de un Código con su capacidad detectora y correctora de errores? 7/33

Capacidad correctora/detectora de un código Ejemplo: Z Y j Y i e = 3 δ = 6 d mín = 7 Capacidad correctora de errores e = d min 2 - Capacidad detectora de errores δ = d min d min 2 e + d min δ + - BORRÓN: Y canal Z {, } {,, #} Indica incertidumbre en su valor - dónde? Corregir un error - valor? Conocemos la posición Mayor facilidad de corrección Capacidad correctora de borrones ρ = d min - d min ρ + 8/33

Redundancia y Probabilidad de error residual REDUNDANCIA: Cuál es el valor mínimo de r para garantizar una cierta capacidad correctora? planteemos un caso extremo. Ejemplo: Código lineal de bloque (5, 3) sistemático, que consiste en añadir s al mensaje de usuario. n=5 k=3 r = n-k = 2 k=3 r=2 d mín = + r En general, d mín r + d mín 2 e + r d mín - 2 e r 2 e P E, Probabilidad de error residual: Código bloque capaz de corregir e errores i P = p ( p) n i Canal binario simétrico con prob. error p E n i= e+ n i 9/33

Códigos e-perfectos y Códigos de Hamming Códigos e-perfectos. Corrige hasta e errores y ningún otro más. Cada error corregible Un síndrome diferente s = (s,..., s r ) Nº de síndromes = 2 r = + n + n 2 +... + n e no error error e errores Códigos de Hamming. Código -perfecto e = corrige errores simples. 2 r = + = + n n n = 2 r - r = 2 n = 2 2 -=3 k=n-r= Código (3, ) r = 3 n = 2 3 -=7 k=n-r=4 Código (7, 4) r = 4 n = 2 4 -=5 k=n-r= Código (5, ) 2/33

Código (7, 4) de Hamming Ejercicio. Generar un Código (7, 4) de Hamming. Se trata de obtener la matriz generadora G(kxn). H Código (n, k) n = 7, k = 4 r = n - k = 3 Corrige error simple: e = Sólo una componente de e es diferente de cero. e tiene n=7 componentes, e = (e, e 2,..., e 7 ) Hay 7 vectores error e diferentes Hay 7 errores corregibles 7 síndromes s diferentes Como s = e H T, Cada síndrome asociado a error corregible, coincide con una columna de H(rxn) H(3x7) tiene 7 columnas T ( 3x7) = ( P I ) r Cómo elegimos las 4 columnas de H? x x x x No puede haber una columna. = x x x x 2 columnas no pueden ser iguales. x x x x Las 4 columnas serán las 2 3 --3 = 4 ternas restantes, en cualquier orden. 2/33

H = r x n Código (7, 4) de Hamming ( ) (-P T 3x7 = I ) G( 4x7) = = ( I P) Código generado: Y = X G X Y r s = e H T Y = k x n error síndrome k ª columna de H 2ª columna de H 3ª columna de H 7ª columna de H Corrección de errores simples Detección de errores Corrección de borrones 22/33

Código (7, 4) de Hamming a) Corrección de error simple: Y = Z = s = Z H T = () = () e = () Y = Z + e = + = = = Y b) Capacidad detectora de errores: δ = 2 e = 2 Y = Z = s = Z H T = () = () () Ha habido error. Los 2 errores han sido detectados. No debo corregir, pues el número de errores (2) excede la capacidad correctora, e=: e = () Y = Z + e = + = Y 23/33

Código (7, 4) de Hamming c) Corrección de borrones: ρ = δ = 2 Y = Z = # # Comparando con todas las palabras código, podemos decir SIN DUDA que la palabra código transmitida es Y =. Con un número mayor de borrones, no podemos asegurar el poder discernir entre varias palabras código. Ejemplo: Z = # # # Y = Y =? 24/33

Códigos de Hamming recortados Si borramos cualesquiera B columnas de la matriz de comprobación H(rxn) de un código Hamming, obtenemos una matriz H de orden r x (n-b). A partir de H podemos obtener la matriz G (estructura sistemática) de un código Hamming recortado con los siguientes parámetros: n = n - B k = k - B r = r e = d mín = 3 H = r x n r x n ( 3x7) = H' ( 3x5) = (-P ) T I G' ( 2x5) = ( I P) = k x n k Por ejemplo, B=2: n = 7-2 = 5 k = 4-2 = 2 r = 3 e = d mín = 3 X r Y=X G Código(6,3) Código(5,2) 25/33

Código (5, 2) de Hamming recortado Diseñar un Código (5,2) con el simulador Ptolemy..- La probabilidad de error del canal equivalente es del 2%. 2.- Diseñar las tablas de emisor y receptor. 3.- Hallar la probabilidad de error final residual. 4.- Hallar la eficiencia del código. Compararla con la del Código (7,4). 5.- Conclusiones. p() Código (5, 2) E = k/n = 2/5 =,4 = 4% P E =,38% Código (7, 4) E = k/n = 4/7 =,57 = 57% P E =,78% 26/33

Ejercicios. La matriz de comprobación H(3x7) de un Código de Hamming (7, 4) es: ( ) H 3x7 = Se recibe la palabra Z = ab. Cuál fue el mensaje enviado? Es de Hamming Capacidad correctora de errores e= Capacidad correctora de borrones ρ=2 s = (ab) H T = (a+b+, b, a+) = (,, ) b=, a= Mensaje = 2. Se tiene un canal caracterizable por una prob. de error de bit de -3 que genera ráfagas de error de longitud 2. Es inaceptable una prob. de error de usuario de -7. Considere n=5. Con qué codificador es posible? 5 a) e=, D=4 D 2, P E -6 2 = -5 > -7, No. b) e=2, D= No, no se está entrelazando. c) e=2, D=2 D 2, P E -9 5 = -9 < -7, Sí. 3 El proceso de entrelazado permite suponer errores independientes y aleatorios. n Es aplicable la expresión P E p e+ e+ 27/33

Código ISBN Código ISBN (International Standard Book Number). Código utilizado para detectar errores producidos al mecanografiar. El mensaje de usuario consta de k=9 símbolos {,, 2, 3, 4, 5, 6, 7, 8, 9, X}. Se añade otro símbolo de ese mismo alfabeto como redundancia, r=. La palabra código consta de n=k+r= símbolos. Trabajamos en el Cuerpo de Galois GF(), utilizando aritmética módulo. El código es sistemático: la palabra código está formada por el mensaje de usuario seguido de la redundancia. Obtención de la redundancia: Suma de los 9 dígitos del mensaje ponderados por su posición Proporciona información para detectar errores comunes de transposición. Puede corregir borrón -> ρ= => No corrige ningún error => e= 28/33

Código ISBN Código ISBN. Obtención de las matrices de generación G y de comprobación H. mensaje m m 2 m 3 m 4 m 5 m 6 m 7 m 8 m 9 * * * * * * * * * posición 2 3 4 5 6 7 8 9 redundancia = m +2 m 2 +3 m 3 +4 m 4 +5 m 5 +6 m 6 + + 7 m 7 +8 m 8 +9 m 9 2 3 4 G(9x ) = 5 = 9 x kxn 6 kxr 7 8 9 ( I P(9 ) ) El manuscrito carmesí, A. Gala. 84 32 722-X H(x) = rxn T ( P I ) = ( 9 8 7 6 5 4 3 2 ) -2-3 r - 9 8-4 7 X 6-5 - 5 2-6 3 4-9 -8-7 29/33

3 3/33 /33 Código ISBN Código ISBN. Ejemplo. ( ) ( ) ( ) X 8432722 8432722 9 8 7 6 5 4 3 2 8432722 G X Y = = = ( ) ( ) 29 mod X 98 7 6 5 4 3 2 8432722X H Y T T = = = El manuscrito carmesí, A. Gala. 84 32 722-X Redundancia = = 8+2 4+3 3+4 2+5 +6 7+7 +8 2+9 2 = = 9 mod = = X Corrige borrón ρ = e =

Códigos cíclicos y Códigos polinómicos Códigos cíclicos. Subconjunto de los códigos bloque lineales. Pueden ser modelados fácilmente mediante polinomios. Pueden ser implementados con registros de desplazamiento LFSR (Lineal Feedback Shift Register). Un código bloque lineal C es cíclico si: Y = y n- y n-2... y 3 y 2 y y C Y = y n-2... y 3 y 2 y y y n- C Y = y y n- y n-2... y 3 y 2 y C Correspondencia polinómica: Y = y n- y n-2... y 3 y 2 y y Y(D) = y + y D + y 2 D 2 +... + y n- D n- (MPI=Más Peso a la Izquierda) 3/33

Códigos cíclicos y Códigos polinómicos Códigos cíclicos sistemáticos. Y(D) = y + y D + y 2 D 2 +... + y r- D r- + y r D r +... + y n- D n- Y(D) = R(D) + D r X(D) R(D) = D r X(D) mod g(d) k posiciones r D r X(D) D r X(D) = g(d) C(D) + R(D) Y(D) = R(D) + D r X(D) = g(d) C(D) D r X(D) g(d) R(D) C(D) D r X(D) R(D) Y(D) = g(d) C(D) Y(D) mod g(d) = g(d) = polinomio generador, grado r Errores: Z(D) = Y(D) + e(d) S(D) = Z(D) mod g(d) = Y(D) mod g(d) + e(d) mod g(d) = e(d) mod g(d) =, No error, Error Qué errores se detectan? Aquellos cuyo e(d) no sea múltiplo de g(d). 32/33

Códigos cíclicos y Códigos polinómicos Ejemplo. Código cíclico (7, 4) sistemático definido por el polinomio generador g(d) = D 3 + D 2 +. Hallar la palabra código asociada al mensaje de usuario X =. X= X(D) = D 3 + D + Y(D) = R(D) + D r X(D) R(D) = D r X(D) mod g(d) r = n-k = 7-4 = 3 D r X(D) = D 3 (D 3 + D + ) = D 6 + D 4 + D 3 D 6 + D 4 + D 3 D 3 + D 2 + D 6 + D 5 + D 3 D 3 + D 2 D 5 + D 4 D 5 + D 4 + D 2 D 2 = R(D) Y(D) = R(D) + D r X(D) = D 2 + D 6 + D 4 + D 3 = D 6 + D 4 + D 3 + D 2 Y = 33/33