TRANMÓN DE DATO 006/07 Práctc : Codfccón Artmétc. Apelldos, nombre Apelldos, nombre Grupo Puesto Fech 0 Octubre/ Novembre 006 El objetvo de est práctc es ntroducr l lumno en los fundmentos de ls codfccón rtmétc y su estudo bjo determnds crcunstncs. En el fchero codfcconartmetc.zp se encuentrn los rchvos necesros pr l relzcón de est práctc. Justo ntes del fnl de l práctc, comprm el proyecto en un fchero TxDtosPGXX.zp (donde G ndcrá el grupo, A o B, y XX el puesto del lbortoro sgndo), conéctese l sstem de entreg de práctcs de l ntrnet y entréguelo en el grupo que correspond (A o B). Guárdese dconlmente un cop personl, pr posbles futurs reutlzcón del códgo en práctcs posterores. ntroduccón L codfccón rtmétc se fundment en el conocmento pror de ls probblddes de símbolo. Esto, lo converte en un método estdístco. Est codfccón se bs en l codfccón de un secuenc [ de símbolos de un mner conjunt. ) Pr ello prtremos de un coleccón de ntervlos entre 0, cd uno de los cules estrá socdo cd uno de los posbles símbolos de fuente, tenendo un mgntud proporconl l probbldd de símbolo. Asocremos cd uno de los posbles símbolos de fuente ( ) de tl form que [0,) y Φ. [, b ) [, ) [ 0,) b U Pr cd símbolo codfcr, modfcremos de l sguente form: con un ntervlo ( ), {, }. Defnmos un ntervlo ncl [ ) nuevo nuevo [, b ) [, b ) [, b ) + ( b ), + ( b ) b, nuevo nuevo El vlor fnl de uno de los límtes del ntervlo [, b ) será sufcente pr l recupercón de l secuenc de símbolos. En nuestro cso, tomremos el límte nferor.
Por ejemplo: {, }, p 0.5, p 0. y p 0. [ 0,0.5), [ 0.5,0.7) y [ 0.7,) [, ) [ 0,) b De form generl: [, b ) Codfcremos l secuenc de símbolos: [, b nuevo ) [ 0 + ( 0) 0,0 + ( 0) 0.5) [ 0,0.5), [, ) [ 0,0.5) nuevo b [ nuevo, b ) [ 0 + ( 0.5 0) 0.5,0 + ( 0.5 0) 0.7) [ 0.5,0.5), [, ) [ 0.5,0.5) nuevo b [ nuevo, bnuevo ) [ 0.5 + ( 0.5 0.5) 0,0.5 + ( 0.5 0.5) 0.5) [ 0.5,0.) [, ) [ 0.5,0.) b [, b nuevo nuevo ) [ 0.5 + ( 0. 0.5) 0.7,0.5 + ( 0. 0.5) ) [ 0.850,0.) [, ) [ 0.850,0.) b [ nuevo, bnuevo ) [ 0.850 + ( 0. 0.850) 0.5,0.850 + ( 0. 0.850) 0.7) [ 0.95,0.955),[, ) [ 0.95,0.955) b Luego, el vlor codfcr será 0.95,, L decodfccón de un codfccón se regrá por l sguente regl, nvers de l de l codfccón: nuevo + ( b ) b endo [, b ) uno de los ntervlos de los símbolos, el cul l que pertenece. Pr el ejemplo nteror, l el proceso de decodfccón serí el sguente:
[, b ) [ 0,0. ) 0.95 0.95 5 0 0.95 0 0.5 0 [, b ) [ 0.5,0. ) 0.5850 0.5850 7 0.5850 0.5 0.7 0.5 [, b ) [ 0,0. ) 0.450 0.450 5 0.450 0 0.5 0 [, b ) [ 0.7, ) 0.85 4 0.85 0.85 0.7 0.7 [, b ) [ 0.5,0. ) 0.5 5 0.5 7 0.5 0.5 4 0 FN 0.5 0 Codfccón Artmétc mplementr l funcón mtlb: functon [X]codfcconArtmetc(P,ecuenc, d, n) P: Un vector fl con l probbldd de los símbolos. ec: Un vector fl con l secuenc de símbolos codfcr (el índce de cd uno de los símbolos correspondentes ls probblddes de P). d: Número de decmles que se vn consderr pr obtener el numero entero pr l codfccón. n: El número de bts que l funcón podrá utlzr pr codfcr l secuenc. X: L secuenc codfcd como un número bnro de n bts. L funcón mplementd deberá mostrr demás por pntll el vlor decml codfcr obtendo del cálculo de los ntervlos y el vlor entero obtendo prtr de dcho vlor decml como pso prevo l codfccón bnr. Not: Pr el pso de un vlor decml bnro se puede utlzr l funcón decbn(d, n), donde d es un número decml culquer y n el número mínmo de bts pr codfcr d. no se especfc n se relzrá l codfccón con el mínmo posble número de bts. Consultr l yud de Mtlb pr más nformcón. Not: L conocd problemátc en cunto l precsón de representcón de números en Mtlb puede llevr errores en l ejecucón de est funcón. e recomend plcr l funcón redonde proporcond cd elemento cundo se relcen comprcones entre números.
. Ejercco.. Clculr mednte l funcón mplementd, codfccónartmétc, l codfccón correspondente l ejemplo de l ntroduccón. Utlce los vlores d y n que consdere oportunos. on coherentes los resultdos? Comentr los resultdos.. Ejercco. Fuente A P Dd l fuente A con 4 símbolos {,,, 4 } { p p, p, p } {0.,0.,0.4,0. }, 4 con probblddes.. Clculr nlítcmente el vlor codfcr, resultnte de un codfccón rtmétc, pr l,,, secuenc 4.. Clculr mednte l funcón mplementd, codfcconartmetc, ese msmo vlor. on coherentes los resultdos? Cuáles son los vlores mínmos de d y n necesros pr poder codfcr l secuenc? Por qué?
. Ejercco. Fuente B P Dd l fuente B con 4 símbolos {,,, 4 } { p p, p, p } {0.,0.,0.,0.6 }, 4 con probblddes.. Clculr nlítcmente el vlor codfcr, resultnte de un codfccón rtmétc, pr l,, secuenc.. Clculr mednte l funcón mplementd, codfcconartmetc, ese msmo vlor. on coherentes los resultdos? Cuáles son los vlores mínmos de d y n necesros pr poder codfcr l secuenc?.. Clculr mednte l funcón mplementd, codfccónartmétc el vlor codfcdo,,,,,, resultnte de un codfccón rtmétc, pr l secuenc. Cuáles son los vlores mínmos de d y n necesros pr poder codfcr l secuenc?
.4 Comprtv.4. Comente ls ventjs e nconvenentes de umentr o dsmnur los vlores d y n l hor de relzr l codfccón rtmétc..4. Cree que exste lgun dependenc entre los vlores d y n o por el contrro no dependen el uno del otro? Qué otros fctores podrín nflur en dchos vlores? Justfque l respuest..4. Compre los resultdos obtendos pr ls fuentes A y B y los dstntos ejemplos ejecutdos. Qué dferencs y/o semejnzs se pueden encontrr? A qué cree que se deben dchs semejnzs y/o dferencs?
Decodfccón Artmétc mplementr l funcón mtlb: functon [V]decodfcconArtmetc(B, P, d) B: ecuenc bnr correspondente un vlor codfcdo mednte codfccón rtmétc. P: Un vector fl con l probbldd de los símbolos codfcdos. d: Número de decmles que se hn consderdo pr obtener el número entero pr l codfccón rtmétc. V: Vector fl con l secuenc decodfcd L funcón mplementd deberá mostrr demás por pntll el vlor decml obtendo prtr de l secuenc bnr como pso prevo l decodfccón rtmétc. Not: Pr el pso de un vlor bnro decml se puede utlzr l funcón bndec(b), donde b es un secuenc bnr. Consultr l yud de Mtlb pr más nformcón. Not: L conocd problemátc en cunto l precsón de representcón de números en Mtlb puede llevr errores en l ejecucón de est funcón. e recomend plcr l funcón redonde proporcond cd elemento cundo se relcen comprcones entre números. Not: L condcón de prd en el bucle del lgortmo de decodfccón rtmétc puede no cumplrse nunc s no se hn codfcdo los símbolos con l precsón sufcente. Pr evtr esto se recomend ñdr un contdor de tercones l bucle de form que se deteng l ejecucón cundo se supere un límte rzonble (por ejemplo 50 tercones).. Ejercco. Fuente A P Dd l msm fuente A del punto. con 4 símbolos {,,, 4 } { p p, p, p } {0.,0.,0.4,0. }, 4 con probblddes.. Clculr mednte l funcón mplementd, codfccónartmetc, el vlor codfcdo, C,,,, resultnte de un codfccón rtmétc, pr l secuenc 4. Utlce los vlores d y n que consdere oportunos. A contnucón decodfque l secuenc obtend C utlzndo l funcón mplementd decodfcconartmetc con el msmo vlor d utlzdo pr l codfccón. Qué vlores d y n h utlzdo? Comente los resultdos.
.. Rept el expermento nteror utlzndo un vlor d tnto pr codfccón como pr decodfccón gul. e reconstruye correctmente l secuenc orgnl? Por qué? Expong los resultdos obtendos... Rept el expermento nteror utlzndo un vlor d tnto pr codfccón como pr decodfccón gul 6. e reconstruye correctmente l secuenc orgnl? Por qué? Expong los resultdos obtendos...4 Qué ocurre cundo los vlores sgndos d son dferentes en el proceso de codfccón y en el de decodfccón?