Sílvio A. Abrantes. Uns pequenos truques que facilitam alguns cálculos de Códigos e Teoria da Informação

Documentos relacionados
Teoria da Informação ( ) Exame de Recurso ( ) Resolução. (1 p), (1 p), p = H(0,4;0,4;0,2) = 1,522

Exemplos: -5+7=2; 12-5=7; -4-3=-7; -9+5=-4; -8+9=1; -4-2=-6; -6+10=4

Unidade I MATEMÁTICA. Prof. Celso Ribeiro Campos

Detecção e correcção de erros

Cálculo com expressões que envolvem radicais

Aula 27 - Álgebra II. x (m(x)), x 2 + x + (m(x)), x 2 + x (m(x)) operações deste corpo são as seguintes:

Conjuntos. Notações e Símbolos

Descodificação iterativa

MATEMÁTICA I. Ana Paula Figueiredo

Home Programa Exercícios Provas Professor Links. 2.1 Representação de um número na base dois. O número binário 101,101 significa, na base dois:

Racionalização de denominadores

Aritmética Binária e Complemento a Base. Introdução ao Computador 2010/1 Renan Manola

Organização de Computadores I

Teoria da Informação ( ) Exame de Recurso ( ) Resolução ( ) ( ) 2log2. log log

4 de outubro de MAT140 - Cálculo I - Método de integração: Frações Parciais

Aula demonstrativa Apresentação... 2 Relação das Questões Comentadas... 8 Gabaritos... 11

Curso Satélite de. Matemática. Sessão n.º 1. Universidade Portucalense

Adição de números decimais

Matemática. Operações Básicas. Professor Dudan.

Cálculo Numérico Noções básicas sobre erros

Matemática I. 1 Propriedades dos números reais

3. Limites e Continuidade

Polinômios de Legendre

Módulo de Progressões Aritméticas. Soma dos termos de uma P.A. 1 a série E.M. Professores Tiago Miranda e Cleber Assis

No circuito abaixo determinar as correntes nos ramos e seus verdadeiros sentidos.

ARITMÉTICA BINÁRIA. São duas as operações executadas pelo computador:

MATEMÁTICA 1 ARITMÉTICA Professor Matheus Secco

MÓDULO 2 POTÊNCIA. Capítulos do módulo:

Apontamentos de Matemática 6.º ano

Revisão: Potenciação e propriedades. Prof. Valderi Nunes.

PROFICIÊNCIA EM MATEMÁTICA Conjuntos Numéricos, Potenciação e Radiciação

Alexandre Miranda Alves Anderson Tiago da Silva Edson José Teixeira. MAT146 - Cálculo I - Integração por Frações Parciais

Conteúdos Ideias-Chave Objectivos específicos. múltiplo de outro número, este é divisor do primeiro.

Matemática Básica. Capítulo Conjuntos

216 e) 10 1 = 10 f) (-0,4) 0 = 1 g) (-4,3) 1 = - 4,3

Prof. a : Patrícia Caldana

E essa procura pela abstração da natureza foi fundamental para a evolução, não só, mas também, dos conjuntos numéricos

Formação Continuada Nova Eja. Plano de Ação II INTRODUÇÃO

MA11 - Unidade 4 Representação Decimal dos Reais Semana 11/04 a 17/04

1 a LISTA DE EXERCÍCIOS Sistemas de Equações Lineares e Matrizes Álgebra Linear - 1 o Semestre /2018 Engenharia Aeroespacial

Prefeitura Municipal de Caxias do Estado do Maranhão CAXIAS-MA

Sistemas de Controle 1

AGRUPAMENTO DE ESCOLAS DR. VIEIRA DE CARVALHO

Números Racionais. MAT1514 MEB 2/2016 T42 Diurno Substituição da Profa. Martha Monteiro

Fundamentos de Arquiteturas de Computadores

Sistemas de Computação

1. O que podemos dizer sobre a imagem da função. f : Z Z, f(x) = x 2 + x + 1?

MÓDULO III OPERAÇÕES COM DECIMAIS. 3 (três décimos) 3 da. 2 da área. 4. Transformação de número decimal em fração

25 = 5 para calcular a raiz quadrada de 25, devemos encontrar um número que

parciais primeira parte

IGUALDADES EM IR IDENTIDADES NOTÁVEIS

Todos os exercícios sugeridos nesta apostila se referem ao volume 1. MATEMÁTICA I 1 CONJUNTOS NUMÉRICOS

Sistemas de Equações Lineares e Equações Vectoriais Aula 2 Álgebra Linear Pedro A. Santos

SEDUC-AL. Professor Especialidade: Matemática. Secretaria do Planejamento, Gestão e Patrimônio do Estado de Alagoas

SEBENTA de Sistemas de Numeração

Fundamentos de Telecomunicações

1 Congruências e aritmética modular

REVISÃO DOS CONTEÚDOS

ÁLGEBRA LINEAR A FICHA 2

Companhia Águas de Joinville do estado de Santa Catarina CAJ-SC. Agente Operacional. Concurso Público Edital 001/2017

ARQUITETURA DE COMPUTADORES

Circuitos Lógicos Aula 5

Nota importante: U é a matriz condensada obtida no processo de condensação da matriz

Chama-se conjunto dos números naturais símbolo N o conjunto formado pelos números. OBS: De um modo geral, se A é um conjunto numérico qualquer, tem-se

SME CÁLCULO NUMÉRICO I PROFESSORES MARCOS ARENALES MARISTELA SANTOS. Agosto 2011

Cálculo Numérico Prof. Guilherme Amorim 24/10/2013. Aula 2 Erros e Aritmética de Ponto Flutuante

AGRUPAMENTO DE ESCOLAS DR. VIEIRA DE CARVALHO

Organização de Computadores I

araribá matemática Quadro de conteúdos e objetivos Quadro de conteúdos e objetivos Unidade 1 Números inteiros adição e subtração

UFF/GMA - Matemática Básica I - Parte III Notas de aula - Marlene

1 bases numéricas. capítulo

à situação. à situação.

Aula 5: Conversões Entre Bases Numéricas

Critérios de divisibilidade Para alguns números como o dois, o três, o cinco e outros, existem regras que permitem verificar a divisibilidade sem se

1 Potências e raízes em Aritmética Modular. Seja p primo e a um inteiro primo com p; a aplicação

Conjuntos Numéricos Conjunto dos números naturais

Métodos Numéricos. Turma CI-202-D. Josiney de Souza.

ARQUITETURA DE COMPUTADORES

NÚMEROS ESPECIAIS. Luciana Santos da Silva Martino. lulismartino.wordpress.com PROFMAT - Colégio Pedro II

2 Descrição do Problema

Prefeitura Municipal de Guarujá do Estado de São Paulo GUARUJÁ-SP. Assistente Administrativo. Edital 001/2018

CURSO PRF 2017 MATEMÁTICA

Códigos de bloco. Luis Henrique Assumpção Lolis. 1 de novembro de Luis Henrique Assumpção Lolis Códigos de bloco 1

Ponto Flutuante IEEE 754

Definimos como conjunto uma coleção qualquer de elementos.

Arquitetura de Computadores Sistema de Numeração. Apresentado por Prof. Fred Sauer Mat. Elaborado por Prof. Ricardo Quintão

OPEMAT. Olimpíada Pernambucana de Matemática

Códigos perfeitos e sistemas de Steiner

Antiderivadas e Integrais Indefinidas

No circuito abaixo determinar as correntes nos ramos, seus verdadeiros sentidos e quais elementos são geradores e receptores.

REVISÃO DOS CONTEÚDOS

Códigos de Detecção de Erros 2ª. parte. Prof. Ricardo de O. Duarte DECOM - UFOP

Módulo de Números Naturais. Divisibilidade e Teorema da Divisão Euclideana. 8 ano E.F.

PARTE I I: ARITMÉTICA COMPUTACIONAL ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

Operações Fundamentais com Números

Códigos cíclicos - Parte 1

Nível II (6º ao 9º ano) Sistema de Recuperação 3º período e Anual Matemática

Este conjunto de testes formativos para a cadeira de Matemática Discreta baseia-se na matéria do manual indicado.

Transcrição:

Sílvio A. Abrantes Livro de receitas. Receitas?! Uns pequenos truques que facilitam alguns cálculos de Códigos e Teoria da Informação Abril 00

Codificação aritmética: Representação binária de números reais positivos inferiores a 1 Problema a resolver: dado um número real r entre 0 e 1, qual é a sua representação binária se r for dado como uma fracção ou como um número decimal? forma imediata: Há várias maneiras de resolver o problema, que passa por exprimir o número r na m j r = b, em que os coeficientes b j são binários (0 ou 1). A partir daí a solução é j j= 1 m j (. 1 ) 1 r = b = bb b bb b j m m j= 1 em que bb 1 b m é a representação binária pretendida. Se o número r for uma fracção em que o denominador é uma potência de (fracção diádica) a representação binária é muito simples: acha-se a representação binária do numerador com um número de bits igual ao expoente da potência de. Por exemplo, a expansão binária de 13/64 = 13/ 6 é (.001101), ou 001101, porque 13=1101 e precisamos de 6 bits. E se o denominador não for uma potência de? Nesse caso pode não ser muito fácil ou imediato exprimir o número r através daquele somatório. Receita 1 : Duplicar o número. Sempre que o resultado for menor que 1 o dígito binário correspondente é 0, senão é 1. Neste último caso subtrai-se 1 ao resultado e prossegue-se com as duplicações. 1 De acordo com Neal Koblitz, A Course in Number Theory and Cryptography, Springer Verlag, ª edição, 1994.

Exemplos 1) Fracção: r = 7 Vamos construir uma tabela com os passos a dar: Duplicações e ajustes 47 87 7 47 87 7 Bits 0 1 0 0 1 0 Na quarta coluna a fracção 7 foi obtida assim: ( 87 1). O padrão 010 repete-se indefinidamente (representemos esse facto por 010 ). A representação binária de 7 é, portanto, ) Decimal: r = 0,8776 ( ).010 010010010 7 = Poderíamos construir uma tabela análoga à anterior, disposta na horizontal. Em vez disso façamo-lo na vertical para melhor visualizar as duplicações: Duplicações e ajustes Bits 1,755 1 1,5104 1 1,008 1 0,0416 0 0,083 0 0,1664 0 0,3338 0 0,6676 0 1,335 1 0,6704 0 1,3408 1 O processo prosseguiria como até aqui. A representação binária de 0,8776 é, portanto, 11100000101. 3

Codificação aritmética: Como representar um intervalo com o menor número de bits? Ou: Como calcular fracções diádicas com o menor denominador Queremos representar um intervalo [α, β[ de largura L por uma fracção diádica r para daí se obter a menor representação binária (representação binária com menos bits). Uma fracção diádica é um número racional da forma q r = m (q inteiro; m inteiro não negativo) Trata-se de um caso especial das fracções p-ádicas q/p m, em que p é um número primo. Estamos interessados em obter uma fracção diádica que tenha o menor denominador possível. Para isso q deverá ser ímpar e m o menor possível. Sendo os extremos do intervalo não-negativos, q será também não-negativo. Mas porquê uma fracção diádica? Porque a sua representação ou expansão binária é muito fácil de calcular: repare-se que sendo q inteiro e inferior a m podemos escrever m m q 1 m j j r = = b = b = (. bb 1 b ) bb 1 b m m j j m m j = 1 j = 1 onde os m coeficientes b j são binários (0 ou 1) e bb 1 b m representa a expansão binária de r. Vê-se então que o expoente m é o número de bits a reter na representação binária do numerador q. Assim, a expansão binária de 11/3, por exemplo, é imediata: com 5 = 3 precisamos de 5 bits para representar 11 = 1011, isto é, (.01011) ou 01011. Seja então o intervalo [α, β[. Qual o melhor representante binário deste intervalo (no sentido de necessitar de menos bits)? Por exemplo, qual é a palavra binária que representa com menos bits o intervalo [0,35; 0,493[? Há dois métodos de cálculo da fracção diádica adequada: De acordo com Hankerson, Harris e Johnson, Introduction to Information Theory and Data Compression, CRC Press, 1998, pág. 13. 4

Método 1: Passo 1: Encontrar o menor inteiro t tal que 1 t L = β α ou 1 L. t (é equivalente a determinar o inteiro t tal que t + t 1 L < ou que t = log L ) x Passo : Resolver a dupla inequação α < β para inteiros x. Há um inteiro, no máximo t dois, que satisfaz a dupla inequação. Se houver dois inteiros, serão consecutivos e deverá escolher-se o inteiro par. Em qualquer caso r = x t, simplificando com os menores termos possíveis, é a fracção diádica com menor denominador no intervalo [α, β[. Método : Expandem-se α e β na forma binária até que as palavras binárias comecem a ser diferentes (em α o primeiro bit diferente é um 0 e em β é um 1 ). Tomam-se os bits comuns e acrescenta-se um 1. O problema com este método é que há duas excepções: quando pelo menos um dos extremos, α ou β, já é ele próprio uma fracção diádica. Exemplos Exemplo 1 com o método 1: Intervalo [0,4936; 0,5008[, largura 0,007 Vai ser 1/ pois 0,5 = 1/ pertence ao intervalo e 1/ é a sua fracção diádica com menor denominador. Mas se não soubéssemos? Aplicando o método 1: Passo 1: encontrar o menor inteiro t tal que t 1 0, 007 t L = β α = (ou que t + t 1 1 L = 138,9), ou o inteiro t que satisfaça 0,007<. A solução é t = 8. x x Passo : agora determinamos o inteiro x em α t < β, isto é, 0, 4936 < 0, 5008. A 8 solução, dupla, é x = 17 e x = 18. Escolhe-se x = 18 por ser par (é que assim vai permitir simplificar a fracção). 18 1 A fracção pretendida é, finalmente, r = x t = 56 =, como se esperava. A representação binária é (.1) ou, desprezando o ponto, simplesmente 1. 5

Exemplo com o método 1: Intervalo [0,876; 0,8776[, largura 0,0016 Passo 1: encontrar o menor t que satisfaz 1 0,0016 t ou, de modo equivalente, t que t t+ 1 satisfaz 0,0016<. A solução é t = 10. x Passo : resolver 0,876 < 0,8776, isto é, x = 898 (só há uma solução inteira). Assim, a 10 fracção diádica com menor denominador é: x 898 449 r = t = = 104 51 Daqui se tira a representação binária que desejamos: 8 7 6 0 449 56+ 18+ 64+ 1 1 + 1 + 1 + 1 = = = (.111000001) 51 51 51 Representação binária: 111000001. Exemplo com o método : Intervalo [0,876; 0,8776[, largura 0,0016 Representação binária de α: α = 0,876 = (.11100000010 ) Representação binária de β: β = 0,8776 = (.11100000101 ) Nem α nem β são fracções diádicas (não são dízimas finitas) pelo que o intervalo dado não faz parte das excepções do método. Os bits comuns a α e β são 11100000. Acrescentando um bit 1 obtemos r = (.111000001), como há pouco. Logo, a melhor representação binária do intervalo é: 111000001. Situações de excepção do método Se α = (. aa 1 a t 1) a expansão é finita, isto é, α é uma fracção diádica. Nesse caso r = α. Se α > (. aa 1 a t 1) e β = (. aa 1 a t 11) 6

(isto é, α = (. aa 1 a t 10 1 ) e β = (. aa 1 a t 11000 ) é uma fracção diádica) Em α o bit 0 a seguir ao bit at 1 é o primeiro bit diferente de β. Depois desse bit 0 há-de aparecer um bit 1. Se depois deste apenas aparecerem zeros toma-se r = α ; se não, o primeiro zero depois do 1 passa a 1 e trunca-se a expansão aí, originando r. Por exemplo, se α = (.101010111) e β = (.101011) (primeira excepção), toma-se r = (.101010111) imediatamente. Se α = (.10101011001 ) e β = (.101011) (segunda excepção) os bits comuns aos dois números são 10101 e em α aparecem mais alguns uns (10101011 ). Se depois destes uns os bits fossem todos 0 a expansão seria r = (.10101011) mas como não é assim, o bit 0 que surge logo a seguir passa a 1 e a expansão binária procurada fica encontrada: r = (.101010111), como se ilustra na figura seguinte. 10101011001 011001 10101 0111 101010111 7

Códigos correctores de erros: Receita para multiplicar um vector binário por uma matriz binária Receita: Somam-se as linhas de ordem i da matriz, em que i é a posição dos uns no vector. Exemplos de aplicação: 1) codificação de códigos de blocos binários A palavra de código Y é obtida multiplicando o vector de informação X pela matriz geradora G: Y = XG. ) descodificação de códigos de blocos binários: cálculo da síndrome O vector síndrome é obtido multiplicando a palavra codificada Z pela matriz de verificação de paridade H: S = ZH. Exemplo numérico de geração de palavras de código: Seja [ xx xx ] X = 1 3 4 = [1011] e a matriz geradora de um código (7, 4) 1 0 0 0 1 1 1 0 1 0 0 1 0 1 G = 0 0 1 0 0 1 1 0 0 0 1 1 1 0 Com esta matriz geradora a palavra de código Y correspondente a X é igual a Y = XG = [1011c 1 c c 3 ]. Quanto vale Y? Uma maneira de calcular os três bits de paridade C = [c 1 c c 3 ] é fazer a multiplicação matricial habitual linha-coluna, obtendo-se as chamadas equações de paridade, c = x + x + x c = x + x + x c = x + x + x 1 1 4 1 3 4 3 1 3 8

de que resultaria C = [ 1+ 1 1+ 1+ 1 1+ 1] = [ 0 1 0], ou seja, = [ 1 0 1 1 0 1 0] Y. Uma maneira mais rápida é somar simplesmente as linhas 1, 3 e 4 de G: Y = 1 0 0 0 1 1 1 (1) 0 0 1 0 0 1 1 (3) 0 0 0 1 1 1 0 (4) [1 0 1 1 0 1 0] 9

Teoria da Informação: Simplificação de canais discretos compostos Um canal discreto sem memória como a da figura seguinte pode ser representado pelo diagrama de probabilidades de transição ou pela matriz de transição. X Canal discreto sem memória Y Assim, por exemplo, se à entrada tivermos um sinal discreto X com dois valores possíveis, x 0 e x 1, e à saída tivermos Y com três valores possíveis, y 0, y 1 e y, o diagrama de probabilidades de transição e a matriz de transição são como se apresentam a seguir. p(y 0 x 0) y 0 x 0 p(y 1 x 0) p(y 0 x 1) y 1 x 1 p(y x 1) p(y x 0) y [ PY ( X) ] Py ( 0 x0) Py ( 1 x0) Py ( x0) = Py ( 0 x1) Py ( 1 x1) Py ( x1) E se tivermos dois canais em série como nas figuras seguintes? Como determinar o canal global equivalente X Y? X Canal discreto W Canal discreto sem memória sem memória Y 10

p(w 0 x 0 ) w 0 p(y 0 w 0 ) x 0 y 0 w 1 x 1 p(w x 0 ) p(y 1 w 1 ) y 1 w Há duas maneiras: 1. A partir das matrizes de transição: Receita: A matriz de transição global é igual ao produto das matrizes de transição individuais.. A partir do diagrama de probabilidades de transição: Receita: As probabilidades condicionais p( y x ) (x i entrada; y j saída) são iguais à soma das probabilidades associadas aos diversos trajectos de x i para y j. j i Exemplo 1 (com matriz): Na figura anterior seja e [ PW ( X) ] Pw ( 0 x0) Pw ( 1 x0) Pw ( x0) 0, 0,3 0,5 = Pw ( 0 x1) Pw ( 1 x1) Pw ( x1) = 0, 4 0,5 0,1 0,6 0, 4 ( ) = 0,5 0,5 0, 7 0,3 [ PY W ] A matriz global do canal binário resultante é dada pelo produto das duas matrizes: 0,6 0,38 = = 0,56 0, 44 [ PY ( X) ] [ PW ( X) ] [ PY ( W) ] 11

Exemplo (com diagrama): Seja o canal composto seguinte: 0,4 w 0 0,8 x 0 0, 0,4 w 1 0, 0,3 y 0 x 1 0,6 0,4 0,7 y 1 1,0 w Há dois percursos de x 0 para y 0 : x w y 0 0 0 x w y 0 1 0 Py ( 0 x0) = Pw ( 0 x0) Py ( 0 w0) + Pw ( 1 x0) Py ( 0 w1) = x0 w0 y0 x0 w1 y0 = 0, 4 0,8 + 0, 4 0,3 = 0, 44 Há dois percursos de x 1 para y 0 : x w y 1 0 0 x w y 1 1 0 Py ( x) = Pw ( x) Py ( w) + Pw ( x) Py ( w) = 0 1 0 1 0 0 1 1 0 1 = 0,6 0,8 + 0, 4 0,3 = 0,6 Há três percursos de x 0 para y 1 : percursos. x w y x w y x w y 0 0 1 0 1 1 0 1 Logo, a probabilidade Py ( 1 x 0) é a soma das probabilidades associadas aos três No caso que falta, de x 1 para y 1, far-se-ia de modo semelhante. O resultado final seria o canal binário seguinte: x 0 p(y 0 x 0 )=0,44 y 0 p(y 0 x 1 )=0,6 p(y 1 x 0 )=0,56 x 1 p(y 1 x 1 )=0,4 y 1 1