Códigos Corretores de Erros

Tamanho: px
Começar a partir da página:

Download "Códigos Corretores de Erros"

Transcrição

1 Universidade Federal de São Carlos Centro de Ciências Exatas e de Tecnologia Departamento de Matemática Códigos Corretores de Erros Autor: Carla Meneghesso Orientador: Prof. Dr. Sadao Massago Disciplina: Trabalho de Conclusão de Curso Curso: Licenciatura em Matemática Professores Responsáveis: Karina Schiabel Silva Sadao Massago Vera Lúcia Carbone São Carlos, 6 de agosto de 22.

2

3 i Códigos Corretores de Erros Autor: Carla Meneghesso Orientador: Prof. Dr. Sadao Massago Disciplina: Trabalho de Conclusão de Curso Curso: Licenciatura em Matemática Professores Responsáveis: Karina Schiabel Silva Sadao Massago Vera Lúcia Carbone Instituição: Universidade Federal de São Carlos Centro de Ciências Exatas e de Tecnologia Departamento de Matemática São Carlos, 6 de agosto de 22. Carla Meneghesso Sadao Massago

4

5 iii Dedicatória Este trabalho dedico aos meus pais Onofre e Maria de Lourdes que me fizeram lutar até o final apesar de todas as dificuldades e possibilitaram que eu realizasse o meu maior sonho: estudar.

6

7 Agradecimentos Agradeço aos meus pais Onofre e Maria de Lourdes e ao meu irmão Arthur por me ajudarem nessa longa caminhada. Sem a minha família este trabalho não seria possível, pois me apoiaram e me deram forças para superar momentos difíceis. Agradeço ao Prof. Dr. Sadao Massago pela imprescindível ajuda e tempo dedicados, pela orientação no desenvolvimento do meu trabalho fosse desenvolvido. Muito obrigada pela compreensão por eu trabalhar e não pude me dedicar tanto quanto gostaria neste trabalho. Agradeço ao meu namorado Carlos Eduardo Domingues Nazário por toda a paciência, carinho, compreensão e ajuda dedicada, pois sem seu companheirismo eu não teria conseguido ir até o fim da graduação. Muitíssimo obrigada, pois muitos foram os momentos que você deixou de buscar seus sonhos para que o meu se realizasse. Sem o seu apoio este trabalho não existiria. Este trabalho simboliza a superação de um momento muito delicado da minha vida na qual aprendi não só a importância da Matemática, mas também que podemos seguir em frente mesmo que alguns obstáculos tenham surgido e tentado impedir que nossos sonhos fossem concretizados. A Matemática me conquistou desde o colégio e esta monografia é uma pequena demonstração de que esta ciência é singular em minha vida.

8 vi

9 Procure ser um homem de valor, em vez de ser um homem de sucesso. (Albert Einstein)

10 viii

11 ix Resumo Neste trabalho serão apresentados conceitos básicos de códigos, vetores para projetar códigos detectores de erros que podem ocorrer na transmissão de dados e os dígitos de verificação. Posteriormente definimos o que é um código detector de erros, como também a métrica de Hamming, os parâmetros de um código e equivalência de códigos. Para o desenvolvimento do projeto foi necessário estudar anéis, corpos e anéis de polinômios para que pudéssemos descrever os corpos finitos e sua construção. Foram estudados os Códigos Lineares (Códigos Duais e Códigos de Reed-Muller), Códigos Cíclicos, decodificação destes e finalmente trabalhamos com algumas aplicações de códigos. Neste trabalho foi possível identificar a aplicação da Matemática em mercadorias e transmissão de dados, que é uma vasta aplicação de conceitos algébricos que facilitam o dia-a-dia das pessoas.

12

13 Introdução Historicamente, a informação por meio de códigos era utilizada com o objetivo de ocultar uma mensagem, denominados de Criptografia. O enfoque deste projeto não é criptografia, mas os códigos utilizados quando a informação digital deve ser transmitida com o uso de meios analógicos tais como a luz, ondas de rádio, gravações eletromagnéticas, etc. Com a introdução dos computadores no século XX, houve uma necessidade de transmitir grandes quantidades de dados com rapidez e precisão. Além dos computadores, outros avanços tecnológicos dependem de códigos, tais como: comunicação via satélite, CD, Códigos Universais de Produtos (UPC-Universal Product Code) associados aos códigos de barras e o Padrão Internacional de Numeração de Livros (ISBN- International Standard Book Number). Os vetores utilizados para o estudo de códigos não são vetores de R n, mas vetores em F n onde F é um corpo finito. Assim, terão um número finito de possibilidades para cada componente. Tais vetores dependem de um tipo diferente de aritmética - chamada aritmética modular. A teoria moderna de códigos originou-se com o trabalho de Claude Shannon (96 2), que teve um papel importante na criação da teoria da informação e da base teórica para os hoje chamados códigos corretores de erros. A teoria dos códigos vem sendo utilizada com sucesso na nossa história recente. Em 965, a nave espacial Mariner 4 enviou 22 fotos em preto e branco de Marte com 64 tons de cinza para cada um de seus 2 2 pontos, que é um elemento de Z 6 2. A esses vetores não acrescentavam-se informações adicionais, pois a transmissão era muito lenta, demorando em torno de 8 horas para transmitir cada foto. Em 972, a nave espacial Mariner 9 transmitiu imagens de Marte com uma resolução de pontos. Como a velocidade da transmissão era maior, o código foi recodificado através de uma função injetora ϕ : Z 6 2 = Z 32 2 para acrescentar o código de canal que permite detectar e corrigir até sete erros. O dado recebido era corrigido e decodificado através de uma transformação ϕ ( ), obtendo-se o elemento de Z 6 2 que representa o tom de cinza correspondente. Esse código pertence à família de códigos chamados de Códigos de Reed-Muller. Em 979, a nave espacial Voyager transmitiu imagens coloridas de Júpiter. Cada elemento de imagem de uma cor foi representado por uma das 2 2 = 496 tonalidades. O codificador da fonte usava 2 bits binários e o codificador de canal usava 24 bits. Esse era

14 xii o chamado código de Golay que permitia corrigir até três erros. No capítulo, são apresentados conceitos algébricos que darão suporte aos demais capítulos que tratam de códigos detectores e códigos corretores de erros, como anel dos inteiros, classificação e construção de corpos finitos, espaço vetorial, etc. O capítulo 2 trata dos códigos binários e como os vetores de códigos são determinados, incluindo o processo de codificação e de decodificação de uma mensagem. No capítulo 3 são estudados os códigos detectores de erros, incluindo os códigos bit de paridade. Neste capítulo serão dadas aplicações dos códigos detectores de erros, como o UPC (Universal Product Code), o EAN3 e o ISBN (International Standard Book Number). No capítulo 4 é feita um abordagem dos códigos corretores de erros, tratando da matriz geradora do código e de teste de paridade no Matlab, Métrica de Hamming, Equivalência de códigos, Código de Hamming, Decodificação, Algoritmo da decodificação, Distâncias mínimas e Corretores de erros geométricos. No capítulo 5 são estudados os Códigos lineares, a matriz geradora destes códigos, Códigos duais, Códigos de Reed-Muller e Decodificação de Códigos de Reed-Muller. No capítulo 6 é feito o estudo dos Códigos cíclicos e sua decodificação.

15 xiii Sumário Conceitos Preliminares 2 Códigos 7 2. Códigos Binários Códigos Detectores de Erros 9 3. Código bit de paridade par (3, 2) Aplicações de Códigos Detectores de Erros Códigos Corretores de Erros 7 4. Matriz geradora e de teste de paridade no Matlab Métrica de Hamming Códigos de Hamming Decodificação Algoritmo da Decodificação Distâncias Mínimas e Corretores de Erros Geometricamente Códigos Lineares Equivalência de Códigos Matriz Geradora de um Código Códigos Duais Códigos de Reed-Muller Decodificação de Códigos de Reed-Muller Referências Bibliográficas 43

16

17 xv Lista de Figuras. Aritmética módulo m Aritmética módulo Reta numerada enrolada em volta de um círculo Palavras de código de bit de paridade par (3, 2) Exemplo de UPC Explicação do código de barras utilizado em produtos Exemplo do código de barras utilizado atualmente ISBN Procedimento para transmissão de dados Representação do disco e da esfera de centro em a e raio t Representação geométrica dos códigos corretores de erros Representação esférica dos códigos corretores de erros

18

19 Capítulo Conceitos Preliminares Para o desenvolvimento do estudo de códigos, precisamos introduzir alguns conceitos básicos de estruturas algébricas, tais como anéis e corpos, o que permitem tratar os conjuntos que possuem operações com propriedades similares. Definição.. Um anel comutativo é um conjunto A munido de duas operações, + : A A A (a, b) a + b e : A A A (a, b) a b que chamaremos respectivamente de adição e multiplicação, possuindo as seguintes propriedades: (i) Associatividade da adição: a, b, c A, (a + b) + c = a + (b + c). (ii) Existência de elemento neutro para a adição: Existe um elemento chamado zero e denotado por, tal que a A, a + = + a = a. (iii) Existência de elemento inverso para a adição: Dado a A, existe um único elemento chamado simétrico de a e denotado por a tal que a + ( a) = a + a =. (iv) Comutatividade da adição: a, b A, a + b = b + a. (v) Associatividade da multiplicação: a, b, c A, (a.b).c = a.(b.c). (vi) Existência de elemento neutro para a multiplicação: Existe um elemento neutro chamado unidade e denotado por tal que a A, a. =.a = a. (vii) Comutatitvidade da multiplicação: a, b A, a.b = b.a. (viii) Distributividade da multiplicação com relação à adição: a, b, c A, a.(b + c) = a.b + a.c.

20 2. Conceitos Preliminares Exemplo.2. O anel dos inteiros módulo m. O Z m = {,, 2,..., m, }, m possui as operações + e definidas por: (i) a + b = a + b, (ii) a b = a b No exemplo.2, o conjunto Z m = {,, 2,..., m, } de inteiros módulo m corresponde ao relógio de m horas representado pela Figura. e o conjunto dos vetores m-ários de comprimento n são denotados por Z n m. Os códigos que utilizam os vetores m-ários são chamados códigos m-ários. Figura.: Aritmética módulo m No caso dos inteiros módulo 3, podemos representar o conjunto como um relógio de três horas, como na Figura.2. Figura.2: Aritmética módulo 3 Quando calculamos +2 = interpretamos do seguinte modo: duas horas após hora é hora. Assim, como 24: e 2: são representados pela mesma marca em um relógio de doze horas, 3 e são equivalentes em um relógio de três horas. Todos os números múltiplos de 3 são equivalentes a ; os números que são iguais a mais um múltiplo de 3 é equivalente a ; e 2 é equivalente a qualquer número que seja igual a 2 mais um múltiplo de 3. É como se fosse uma reta numerada enrolada em volta de um círculo como na Figura.3. Exemplo.3. Em Z 5 3 sejam u = (2, 2,,, 2) e v = (, 2, 2, 2, ). Então:

21 . Conceitos Preliminares 3 Figura.3: Reta numerada enrolada em volta de um círculo u v = = = Os vetores de código em Z 5 3 são chamados de vetores ternários de comprimento 5. Definição.4. Um anel A será chamado de domínio de integridade, se possuir a seguinte propriedade: a, b A, a e b a.b. Como [2] não é invertível, temos que Z 4 não é um corpo. Como [2] [2] = [4] = [], temos que esse anel não é um domínio de integridade. Definição.5. Um elemento a de um anel A será dito invertível se existir um elemento b A tal que a b =. Nesse caso, dizemos que b é um inverso de a. Definição.6. Um anel onde todo elemento não nulo é invertível é chamado de corpo. Um exemplo de corpo são os inteiros módulo 3 que consistem no conjunto Z 3 = {,, 2}, com adição e multiplicação dadas como no exemplo.3. A tabela de operação é como segue. Tabela.: Operações de adição e multiplicação em Z e Como os elementos não nulos e 2 são invertíveis, com inversos respectivamente e 2, temos que Z 3 é um corpo. Teorema.7. O anel Z m é um corpo se, e somente se, m é um número primo. Exemplo.8. Seja b = (b, b 2,, b n ) um vetor de Z n 3. Incluindo um dígito de checagem ao vetor de código, vamos ter um código com n + termos e pode ser expresso como v = (b, b 2,, b n, d) onde d é um dígito de checagem de forma que v = e v é um vetor de código em Z n+ 3. O dígito de checagem satisfaz

22 4. Conceitos Preliminares b + b b n + d = em Z 3 Definição.9. Um conjunto não vazio V é um espaço vetorial sobre (um corpo) K se em seus elementos, denominados vetores, estiverem definidas as seguintes operações: (A) A cada par u, v de vetores de V corresponde um único vetor u + v V, chamado soma de u e v, de modo que: (A) u + v = v + u, u, v V (propriedade comutativa). (A2) (u + v) + w = u + (v + w), u, v, w V (propriedade associativa). (A3) existe um vetor em V, denominado vetor nulo e denotado por, tal que + v = v v V. (A4) a cada vetor v V, existe um vetor em V denotado por v, tal que v + ( v) =. (M) A cada par α K e v V, corresponde um vetor α v V, denominado produto por escalar de α por v de modo que: (M) (αβ) v = α (β v), α, β K e v V (propriedade associativa). (M2) v = v, v V (onde é o elemento identidade de K). Além disso, vamos impor que as operações dadas em (A) e (M) se distribuam, isto é, que tenham as seguintes propriedades: (D) α (u + v) = α u + α v, α K e u, v V. (D2) (α + β) v = α v + β v, α, β K e v V. Definição.. Seja V um espaço vetorial sobre um corpo K. Um subconjunto W de V é um subespaço vetorial de V se a restrição das operações de V a W torna esse conjunto um K-espaço vetorial. Note que como Z 2 é corpo, Z n 2 é um espaço vetorial. Dado um corpo F, V = F n é um espaço vetorial com produto escalar canônico. No exemplo.3, considerando o vetor u = (2, 2,,, 2), ao somarmos suas coordenadas temos = e vemos que o dígito de checagem deve ser 2 para que a soma das coordenadas com o dígito de checagem seja igual a zero módulo Z 3 e então o vetor código de checagem é v = (2, 2,,, 2, 2). Os códigos de checagem de dígitos podem detectar erros simples, mas para detectar a troca de duas coordenadas adjacentes, por exemplo, outros tipos de códigos são utilizados. Muitos deles substituem o vetor de checagem por algum outro vetor c cautelosamente escolhido. Como os dados no computador, os dados são codificados usando sequência de s e s que podem ser associados ao vetor binário v Z n 2. Por esta razão, o corpo Z 2 tem papel importante na teoria de códigos.

23 . Conceitos Preliminares 5 Proposição.. Seja A, +, um anel e seja I um subconjunto de A. Então, I é um subanel de A se e somente se as seguintes condições são verificadas: (i) I (o elemento neutro de A pertence a I) (ii) x, y I = x y I (I é fechado para a diferença) (iii) x, y I = x y I (I é fechado para o produto). Definição.2. Seja A um anel e seja I um subanel de A. Dizemos que I é um ideal de A se (i) (x + y) I, x, y I (ii) a x I, a A, x I (simbolicamente A I I e I A I).

24 6. Conceitos Preliminares

25 7 Capítulo 2 Códigos 2. Códigos Binários Os códigos binários consistem em vetores cujas coordenadas são iguais a ou. Os computadores descrevem dados em termo de s e s (que podem ser interpretados como desligado/ligado, fechado/aberto, falso/verdadeiro ou não/sim). A aritmética é como segue + e Com tais operações, nosso conjunto de escalares {, } é o conjunto dos inteiros módulo 2 que denotaremos por Z 2. Exemplo 2.. Soma em Z = e = Regra de Paridade, ou seja se número de s for par, a soma é. Se for ímpar, a soma será. O vetor do espaço vetorial Z n 2 (sobre o escalar Z 2 ) é o conjunto das n-uplas de s e s. Os vetores em Z n 2 são chamados de vetores binários de comprimento n. Exemplo 2.2. Os vetores em Z 2 2 são (, ), (, ), (, ) e (, ) Exemplo 2.3. Sejam u = (,,,, ) e v = (,,,, ) dois vetores binários de comprimento 5. Determine u.v O cálculo de u.v é feito em Z 2, por isso temos u.v = = =

26 8 2. Códigos Para a transmissão de dados, começamos codificando cada palavra da mensagem por um vetor binário. Ou seja, converte-se o que se quer transmitir numa sequência de bits que compõe o vetor binário. Definição 2.4. Um código binário é um conjunto de vetores binários (de mesmo comprimento) chamados vetores de códigos. O processo de conversão de uma mensagem em vetores de código é chamado codificação, e o processo inverso é chamado decodificação.

27 9 Capítulo 3 Códigos Detectores de Erros O Código detector de erros é a representação de uma mensagem que permite detectar erros. Note que no envio de mensagens através de um canal (por exemplo uma linha de telefone, ondas de rádio, um cabo de fibra ótica) podem ocorrer ruídos, como sinais de interferência ou sujeira. O mesmo ocorre quando se faz a leitura de código de barras, CD/DVD ou HD, na qual o erro pode ser introduzido. O objetivo do código é detectar possíveis erros na transmissão ou na leitura. Um destes códigos detectores de erros é o bit de paridade, que permite obter um código eficiente e relativamente simples. A seguir faremos uma abordagem do código bit de paridade par (3, 2). 3. Código bit de paridade par (3, 2) No código bit de paridade par (3, 2) adiciona-se um bit de paridade no final da mensagem. Esse bit é a soma módulo 2 dos bits da mensagem obtendo-se assim a palavra de código c = [c, c, c + c ] Logo, somando-se os dígitos temos: { se for par Soma dos dígitos = [número de bits ativo] = se for ímpar Logo, a soma de dígitos de c sempre é. Vejamos na tabela 3., as palavras de código para cada mensagem enviada. Este código tem d = 2 e detecta a presença de e 3 bits errados, pois o valor d = 2 garante que erros de bit podem ser detectados, para qualquer código. Neste código é possível também detectar 3 bits errados. A decodificação é realizada recalculando a paridade da mensagem recebida e fazendo a comparação da mesma com o código transmitido. Se as palavras enviada e recebida forem iguais não serão detectados erros, caso contrário poderão ser detectados ou 3 erros na palavra recebida. A figura 3. mostra a posição relativa das palavras de código, mostrando que d = 2, pois é necessário percorrer duas arestas do cubo para ir de uma até outra palavra de código. Quando ocorrem um número

28 3. Códigos Detectores de Erros Tabela 3.: Mensagens e palavras de código para o código bit de paridade par (3, 2) Mensagem Palavra de código ímpar de erros sobre qualquer palavra de código, é possível detectá-los, já que resulta numa palavra que não pertence ao código. Figura 3.: Palavras de código de bit de paridade par (3, 2) Vejamos como funcionam os códigos detectores de erros através de alguns exemplos. Exemplo 3.. Desejamos codificar e transmitir uma mensagem que consiste em uma das palavras up, down, left, right. São quatro palavras, mas acrescentando bit de paridade no final, teremos quatro vetores de Z 3 2, como na Tabela 3.2. Tabela 3.2: Comandos codificados como elementos de Z 3 2 Mensagem Up Down Left Right Código (,,) (,,) (,,) (,,) Decodificar uma mensagem é simples quando não ocorrem erros na sua transmissão. Vamos considerar que ocorreu um erro na transmissão, resultando em alteração em uma das coordenadas do vetor de código e o down que é (,, ), foi recebido como (,, ), (,, ) ou (,, ). Como nenhum deles é um código válido (up, down, left ou right), sabemos que ocorreu um erro na transmissão, mas ainda não temos as ferramentas para detectar onde está o erro. O exemplo 3. é um código detector de erros. Mas o avanço tecnológico permitiu não somente detectar como também corrigir erros de transmissão. Uma forma de detectar erros é utilizar o código de checagem de paridade, que consiste na introdução de dígito de

29 3.2. Aplicações de Códigos Detectores de Erros checagem acrescentado a cada vetor para que a paridade, ou número total de s, seja um número par. Exemplo 3.2. Se a mensagem a ser enviada for o vetor binário (,,,,, ), que possui um número ímpar de s, o dígito de checagem será, para que o número total de s no vetor de código seja par. Logo, o vetor de código será (,,,,,, ). Se acontecer algum erro na transmissão da mensagem ele será detectado, pois a paridade do vetor de código será alterada de par para ímpar. Por exemplo, se ocorrer um erro na terceira coordenada, o vetor de código a ser recebido é (,,,,,, ) e sua paridade é ímpar, pois tem cinco s. Agora veremos o dígito de checagem mais geral. Vamos supor a mensagem que se quer enviar seja o vetor b = (b, b 2,..., b n ) em Z n k. O vetor código de checagem de paridade é v = (b, b 2,..., b n, d) em Z n+ k, onde o dígito de checagem d é escolhido de maneira que b + b b n + d = em Z k ou.v = onde = (,,..., ) é um vetor com todas as coordenadas iguais a. O vetor é chamado vetor de checagem. Quando ocorrem erros, temos que v para algum v. Nesse projeto, estamos estudando o caso que ocorre apenas um erro. As coordenadas dos vetores de código podem ser elementos do conjunto finito Z k+ = {,, 2,..., k} para k 2 que é um anel. 3.2 Aplicações de Códigos Detectores de Erros Dentre as aplicações dos Códigos Detectores de Erros estão o UPC (Código Universal de Produto), o EAN-3 (Código de barras) e o ISBN (Padrão Internacional de Numeração de Livros), que são códigos que possuem o dígito de checagem. UPC(Universal Product Code) - Código Universal de Produto e EAN-3 Há dois tipos de códigos de barras em uso para identificação dos itens à venda. O UPC é o mais antigo deles, usado inicialmente apenas na América do Norte. Ele utiliza doze dígitos (escrito na forma de barras) para ser lidos por uma máquina de luz refletida. Também vem com os números abaixo das barras para ser lidos por um humano quando necessário. Com o tempo, passou-se a usar o EAN-3 que utiliza treze dígitos, que permite também distinguir o país de origem do produto. Esse é o que está sendo utilizado no Brasil. Os dois tipos de códigos são muito semelhantes, onde o UPC usa apenas um dígito para

30 2 3. Códigos Detectores de Erros identificar o país de origem, enquanto o EAN-3 utiliza dois dígitos e portanto possui 3 dígitos. Para compreender o funcionamento dos códigos detectores de erros é preciso entender como é atribuído a cada produto, um dígito que permite essa detecção. Suponhamos que um produto está identificado. O UPC é um código associado aos códigos de barras encontrados em mercadorias, na qual o leitor do código de barras escaneia as barras pretas e brancas que correspondem a um vetor -ário v = (v, v 2,..., v, d) Z 2 de comprimento 2. As informações sobre o fabricante e o produto são dadas pelas primeiras componentes. A última componente d é o dígito de checagem escolhido de maneira que c.v = em Z, onde o vetor de checagem c é dado por c = (3,, 3,, 3,, 3,, 3,, 3, ) Depois de um rearranjo, temos 3(v + v 3 + v 5 + v 7 + v 9 + v ) + (v 2 + v 4 + v 6 + v 8 + v ) + d = onde d é o dígito de checagem. Os pesos dos dígitos das posições pares e ímpares são diferentes para detectar o deslocamento de digitos devido a erros de entrada, como troca de posição de dois dígitos consecutivos. O dígito de checagem é escolhido de maneira que o lado esquerdo da expressão resulte num múltiplo de. Exemplo 3.3. Seja o UPC como mostrado na Figura 3.3. Vamos verificar se o dígito de checagem realmente é 6, considerando que os cálculos são feitos em Z. Figura 3.2: Exemplo de UPC Temos que v = (, 7, 4, 9, 2, 7,, 2,, 9, 4, d) e sabendo que c = (3,, 3,, 3,, 3,, 3,, 3, ), obtemos: c v = d

31 3.2. Aplicações de Códigos Detectores de Erros 3 = 3.( ) +.( d) = 3.() +.(4) + d = 4 + d Como 4 + d = em Z, então d deve ser igual a 6. Exemplo 3.4. O UPC permite detectar erros simples (erro na coordenada) ou erros gerados por trocas entre as coordenadas. Vamos supor que no exemplo 3.3, o UPC seja escrito como v = (, 7, 4, 2, 9, 7,, 2,, 9, 4, 6), ou seja, a quarta e a quinta coordenadas tiveram suas posições invertidas. Fazendo os cálculos em Z obtemos: c v = = 3.( ) +.( ) = 3.(7) +.(3) = 4 Como c v = 4 em Z, então concluímos que houve algum erro. Agora suponhamos que um determinado produto está identificado no sistema EAN-3, por uma dada sequência de dígitos v = (v, v 2,..., v 2, d). Os primeiros doze dígitos identificam o país de origem, o fabricante e o produto específico, e são determinados a cargo de uma autoridade classificadora em cada país. Veja a figura a seguir. Figura 3.3: Explicação do código de barras utilizado em produtos O décimo terceiro dígito, chamado de dígito de verificação utilizado para a detecção de erros, e será denotado por d. Denotaremos essa sequência como um vetor α = (v, v 2,..., v 2, d). O sistema EAN 3 utiliza o vetor de checagem ou vetor de pesos c = (, 3,, 3,, 3,, 3,, 3,, 3, ). A sistemática é a mesma do UPC, mudando apenas o número de dígitos do vetor que representa o artigo. Por exemplo, no caso do código da figura que segue, os números indicam o país de origem, o fabricante e o produto são

32 4 3. Códigos Detectores de Erros Figura 3.4: Exemplo do código de barras utilizado atualmente Vamos determinar o dígito de verificação d e fazendo o produto escalar com o vetor de pesos, temos: 7 + (3.8) (3.5) + + (3.2) (3.6) (3.4) + d = 99 + d Logo, deve-se ser d =, pois a soma acima deve ser múltiplo de. Se fosse qualquer outro número de a 9, não resultaria no múltiplo de e então o computador avisaria que um erro foi cometido. Se mais de um erro for cometido na digitação, provavelmente será detectado, mas isso não é garantido já que eles podem compensar mutuamente e a soma poderia ainda continuar sendo um múltiplo de. Veremos a função do vetor de pesos? Se a escolha do dígito de verificação fosse feita para a soma das coordenadas de (v, v 2,..., v 2, d) ser múltiplo de, o que equivaleria a considerar o vetor de pesos (,,,,,,,,,,,, ), ainda poderia detectar um erro. Acontece que há um outro tipo de erro de digitação muito comum, que consiste em digitar todos os números corretamente, mas trocar a ordem de dois dígitos consecutivos. Nesse caso o vetor (,,,,,,,,,,,, ) não detecta o erro. Logo, o sistema de detecção acima não tem a capacidade de detectar todo erro de transposição cometido. A transposição de dois dígitos v i e v i+ não é detectada no EAN-3, se e somente se v i v i+ = 5 (se v i é ímpar, tem-se a diferença com o sinal trocado). ISBN(Intenational Standard Book Number)- Padrão Internacional de Numeração de Livros O ISBN é um outro código de checagem de dígito, utilizado universalmente para a classificação de livros. É projetado para detectar mais tipos de erros que o UPC. O vetor de código é um vetor em Z. As primeiras 9 componentes dão país, editor e informação sobre o livro e a décima componente é o dígito de checagem. Para o código ISBN, o vetor de checagem ou vetor peso é c = (, 9, 8, 7, 6, 5, 4, 3, 2, ) e a condição é que c.b = em Z, ou seja, de que o produto escalar do vetor de código pelo vetor de checagem seja múltiplo de. Sendo o vetor b = (v, v 2, v 3,..., v 9, d), temos: c.b =.v + 9.v v v v v v v v 9 + d onde d é o dígito de checagem. Ou seja, d deve ser escolhido de modo que c.b seja múltiplo de. Quando o dígito de checagem é, utiliza-se o numeral romano X em seu lugar, pois é preferível que cada componente de um ISBN seja um único dígito.

33 3.2. Aplicações de Códigos Detectores de Erros 5 Exemplo 3.5. Consideramos o ISBN a seguir que tem número igual a O dígito de verificação final é 9, pois Figura 3.5: ISBN (8, 5, 2, 4, 4,,, 6, 9, 9).(, 9, 8, 7, 6, 5, 4, 3, 2, ) = = 242, que é um múltiplo de. Segundo Milies [5], autores como D.F. Beckley e J. Verhoeff investigaram os erros cometidos por operadores humanos. Os erros num único dígito e as transposições são os mais frequentes, atingindo cerca de 8%. A codificação apresentada aqui foi projetada para detectar tais erros.

34

35 7 Capítulo 4 Códigos Corretores de Erros Vamos estudar neste capítulo códigos corretores de erros, que permitem tanto detectar como corrigir certos tipos de erros na transmissão ou armazenamento de dados. Para entender como funcionam, vamos utilizar como exemplo, um robô que se move sobre um tabuleiro quadriculado e que ao darmos um dos comandos (leste, oeste, norte, sul), o robô se desloca de uma casa para a outra. Os quatro comandos acima podem ser codificados como elementos de Z 2 2, como se segue: Leste Norte Oeste Sul Cada código que representa um dos comandos acima (,,, ) é chamado de código da fonte. Suponhamos que os pares ordenados devam ser transmitidos via rádio que pode sofrer interferências. Suponhamos que ao enviar a mensagem como (ir para leste), o robô recebeu a mensagem (ir para oeste) o que faria com que fosse para oeste. Para evitar que a mensagem seja um dos comandos existente, é necessário introduzir redundâncias na codificação para permitir detectar e corrigir erros. Então vamos introduzir mais dígitos aos códigos que representam os comandos, como segue: Na recodificação acima, as duas primeiras posições são o código da fonte e nas três posições restantes são redundâncias introduzidas. Este novo código recodificado é chamado de código de canal. Como exemplo, suponhamos que tenha ocorrido um erro na transmissão do código e que foi recebido. O código recebido não corresponde a nenhum dos códigos da tabela, portanto, detectamos erros. O código mais próximo da mensagem válida, ou seja, o código da tabela que apresenta a menor quantidade de dígitos distintos do código recebido é, que é a palavra transmitida.

36 8 4. Códigos Corretores de Erros Figura 4.: Procedimento para transmissão de dados O funcionamento dos códigos corretores do exemplo do robô é esquematizado a seguir: O esquema acima exemplifica os códigos corretores de erros. Inicialmente, transformamos os dados a serem transmitidos em um código da fonte que é convertido num código de canal, acrescentando-se redundâncias. Ao receber, detecta e corrige os erros e em seguida, o código de canal é decodificado em código da fonte. Neste projeto serão estudados os códigos, denominados códigos simétricos que apresentam as seguintes propriedades: (a) Todos os símbolos (dígitos) transmitidos têm a mesma probabilidade de serem recebidos errados e essa probabilidade é pequena; (b) Se um símbolo é recebido errado, a probabilidade de ser qualquer um dos outros símbolos é a mesma. Agora vamos entender matematicamente como funciona o vetor de código e o processo de geração de um código. Seja a nossa mensagem, um vetor x em Z k 2 para algum k, e iremos codificá-lo utilizando uma transformação por meio da matriz T : Z k 2 Z n 2 para algum n > k T (x) será um vetor de código. Um código pode ser descrito através de uma transformação envolvendo matriz. [ ] Exemplo 4.. Seja G = e definimos T : Z 2 Z 3 2 por T (x) = G t x Onde elementos de Z 2 são matrizes. A matriz G é chamada de Matriz geradora do código. Para checar se um vetor recebido é um código, precisamos fazer duas verificações de paridade. Pela G, é necessário que o vetor recebido c = c c 2 satisfaça c = c 2 = c 3 Em Z 2, temos c 3

37 4. Códigos Corretores de Erros 9 c = c 2 c + c 2 = = c = c 3 c + c 3 = [ ] Se P =, então é equivalente a P c =. A matriz P é chamada de matriz de verificação de paridade para o código e p c implica que houve erros. [ ] Observe que P G t =. Para entender como funciona, vamos supor que enviamos uma mensagem codificada como (,, ) = Suponha que ocorreu um erro na transmissão e recebemos c = (,, ) Logo, [ ] [ ] [ ] + + P c = = =. + + Logo, c não [ pode ] ser um vetor de código. Mas onde estará o erro? Podemos verificar que P c = que é a segunda coluna da matriz de verificação de paridade P. Isso significa que o erro está na segunda coordenada de c, o que permite corrigir o erro, invertendo para. Definição 4.2. Se k < n. Um código binário (n, k) dado como T : Z k 2 Z n 2 é [ ] dito de comprimento n e dimensão k. Uma matriz G = A, onde A é uma matriz [ k (n = ] k) sobre Z 2 é dito matriz geradora padrão para o código. Uma matriz P = B I n k é dito matriz de verificação de paridade padrão. G e P são associados ao código T : Z 2 k Z 2 n quando T x = Gt x e P G t x = x, ou seja, P G t =. No teorema a seguir temos a condição para G ser a matriz geradora padrão para um código binário de correção de erros e como encontramos uma matriz de verificação de paridade padrão associada a P. [ Teorema 4.3. Sejam G = I k I k k n ] [ A e P = B I n k ]. P será a matriz de verificação de paridade associada a matriz geradora padrão G se, e somente se, A t = B. Além disso, o código binário correspondente (n, k) será um corretor de erros (em uma componente) se, e somente se, as colunas de P forem não nulas e distintas. Demonstração. Chamamos a t i a i-ésima linha de uma matriz A e b i, o i-ésima coluna de B. Seja G uma matriz geradora padrão e P uma matriz de verificação de paridade. Vamos assumir que as duas matrizes correspondem ao mesmo código binário. Portanto, para todo x em Z k 2, P G x =. Usando a multiplicação por blocos temos:

38 2 4. Códigos Corretores de Erros [ P G t x = B I ] [ I A t ] x = para todo x em Z k 2 Ou seja, [ B I ] [ I A t ] x = (BI + IA t ) x = Para todo x em Z k 2, temos ou Bx + A t x = = Bx = A t x = A t x B x = A x Se agora tomarmos x = e i, o i-ésimo vetor de base canônica de Z k 2, vemos que Portanto, B=A t. [ Reciprocamente, se B = A t, PG t = B b i = B e i = A t e i = a t i para todo i I ] [ I A t ] = B + A t = em Z 2. Agora, veremos que se P i forem não nulas e distintas, então é matriz de paridade para corretor de erros, precisamos verificar que P detecta posição de erros. Seja x, a mensagem em Z k 2 e c = Gx. Então teríamos P c =. Se ocorrer um erro na i-ésima posição de c, o código recebido seria c = c + ei. Então temos P c = P c + P e i = + P i que é a i-ésima coluna de P. Como todas as coluna sde P são distintas (e não nulas) podemos identificar a posição do erro. Exemplo 4.4. Veremos um código corretor de erros que usa três equações para verificação de paridade, que formam as linhas de P. Então temos n k = 3 e logo k = n 3. Os vetores da mensagem pertencem a Z k 2, e queremos que k (portanto n) seja o maior possível para transmitir mais informações. Pelo Teorema 4.3, as colunas de P precisam ser distintas e não nulas. O máximo ocorre quando consistem em todos os 2 3 = 7 vetores não nulos de Z n k 2 = Z 3 2. Uma destas opções é P = Isso significa que A = e dessa forma, uma matriz geradora é

39 4.. Matriz geradora e de teste de paridade no Matlab 2 G = 4 7 Para exemplificar como a matriz geradora funciona, vamos considerar x = (,,, ) e codificar como c = G x t = (,,,,,, ) Se esse vetor for recebido, será considerado correto, já que P c =. Agora, se for [ ] T recebido c =, então P c = [ [ Como P c, ocorreu um erro. Como o vetor é ] t = [ ] t ], que é a terceira coluna da matriz P. O erro está na terceira componente de c. Alterando essa componente, recuperamos o vetor de código c. Como as quatro primeiras componentes de um vetor de código são o vetor de mensagem original,podemos decodificar c e obtemos o vetor original [ ] T x =. O código do exemplo 4.4 é chamado de código de Hamming (7,4). Em geral, todos os códigos binários construídos dessa forma são chamados de código de Hamming (n, k), o que veremos mais adiante. Um código de Hamming (n, k) tem n = 2 n k. 4. Matriz geradora e de teste de paridade no Matlab Vamos determinar a matriz geradora padrão (G) e a matriz de verificação de paridade (H) para um código binário (7, 4), utilizando a função hammgen no Matlab. O parâmetro de entrada é o fator r de desenho do código, tal que (n, k) = (2 r, 2 r r). A[ função ] A hammgen retorna, além das matrizes H e G definidas neste caso como G = e I [ ] k H = I n k A T, também os valores de n e k. No Matlab executamos a primeira linha, que tem como parâmetro de entrada apenas r = 3, e os dados de saída são H, G e os valores de n e k. No Matlab também podemos obter uma palavra de código, ou seja, um vetor de código (código da fonte) acrescido de redundâncias introduzidas, chamadas de código de canal. Para isso, multiplicamos o vetor de código pela matriz geradora G.

40 22 4. Códigos Corretores de Erros

41 4.2. Métrica de Hamming 23 Agora vamos introduzir um erro na palavra de código, trocando o segundo bit desta através da soma com um padrão de erro. Em seguida, calculamos a síndrome e verificamos que é a segunda linha de H T, correspondendo ao padrão de erro somado à segunda palavra. 4.2 Métrica de Hamming Seja A um conjunto finito que daqui em diante será chamado de alfabeto. Um código corretor de erros é um subconjunto próprio qualquer de A n. Para ter a noção de proximidade entre palavras (sequência de alfabetos), veremos um modo de medir a distância entre palavras. Definição 4.5. Dados dois elementos u, v A n, a distância de Hamming entre u e v é definida como d(u, v) = {i : u i = v i, i n}. Proposição 4.6. Dados u, v, w A n, valem as seguintes propriedades: (i) Positividade: d(u, v) e d(u, v) = u = v. (ii) Simetria: d(u, v) = d(v, u). (iii) Desigualdade Triangular: d(u, v) d(u, w) + d(w, v). Logo, a distância de Hamming é uma métrica, também chamados de métrica de Hamming. Definição 4.7. Seja C um código. A distância mínima de C é o número

42 24 4. Códigos Corretores de Erros d = min{d(u, v) : u v com u, v C e u v }. No exemplo do robô dado no início deste capítulo, se C é o código do robô, temos que d = 3. Definição 4.8. Dado a A n e um número real t >, definimos o disco e a esfera de centro em a e raio t como sendo D(a, t) = {u A n : d(u, a) t}, S(a, t) = {u A n : d(u, a) = t}. respectivamente. A definição 4.8 pode ser representada da seguinte forma: Figura 4.2: Representação do disco e da esfera de centro em a e raio t Como consequência da definição 4.8 e desigualdade triangular, temos: Lema 4.9. Seja C um código com distância mínima d. Se c e c são palavras distintas de C, então D(c, κ) D(c, κ) =. Teorema 4.. Seja C um código com distância mínima d. Então C pode corrigir até κ = d erros e detectar até d erros. 2 Demonstração. Se ao transmitirmos uma palavra c do código cometermos t erros com t κ, originando a palavra r, então d(r, c) = t κ. Pelo Lema 4.9, a distância de r a qualquer outra palavra do código é maior do que κ. Isso determina c univocamente a partir de r, como sendo o código mais próximo. Por outro lado, dada uma palavra do código, podemos nela introduzir até d erros sem encontrar uma outra palavra do código, e assim, a detecção do erro será possível. A tabela 4. apresenta as capacidades de detecção, correção e detecção e correção simultâneas, em função da distância mínima, para alguns valores. Analisando a tabela acima, verificamos que:

43 4.3. Códigos de Hamming 25 Tabela 4.: Capacidades de detecção e correção de erros em função da distância mínima d Detecção (l) Correção (t) Detecção e Correção simultâneas (l, t) Não tem 2 Não tem 3 2 Não tem 4 3 (2,) (3,) () Apenas para d 4 é que se torna possível a detecção e a correção em simultâneo; (2) A capacidade de detecção é sempre superior à capacidade de correção; (3) Um código com d = não tem capacidade para detectar erros; por exemplo, considerando as 8 palavras do código binário natural a 3 bit, verifica-se que qualquer alteração de um bit numa palavra vai produzir outra palavra que pertence ao código; este erro é indetectável (as palavras de código são excessivamente semelhantes entre si). As capacidades de detecção e correção são obtidos à custa da introdução de redundâncias e dependem da distância mínima do código. Aumentar a distância mínima melhora as capacidades de detecção e correção, mas em contrapartida diminui a aficiência do código. Os critérios para determinação dos códigos de codificação de canal são: () Dado o R, onde R é a medida da eficiência do código, maximizar d; (2) Dada a d minimizar R. Definição 4.. Seja C A n um código com distância mínima d e seja κ = d 2. O código C será dito perfeito se D(c, κ) = A n. c C Um código C sobre um alfabeto A possui três parâmetros fundamentais [n, M, d], que são, respectivamente, o seu comprimento (o número n corresponde ao espaço ambiente A n onde C se encontra), o seu número de elementos e a sua distância mínima. 4.3 Códigos de Hamming Um código de Hamming de ordem m sobre F 2 = Z 2 é um código com matriz teste de paridade H m de ordem m n, cujas colunas são os elementos de F m 2 {} numa ordem qualquer.

44 26 4. Códigos Corretores de Erros Temos que o comprimento de um código de Hamming de ordem m é n = 2 m e a sua dimensão é κ = n m = 2 m m. Como veremos no próximo capítulo, podemos converter a matriz geradora de verificação de paridade na forma padrão. matriz H 3 =. Considere a Essa é a matriz de um código de Hamming (matriz de verificação de paridade) correspondente a m = 3. Proposição 4.2. Todo código de Hammming é perfeito. 4.4 Decodificação A decodificação é o procedimento de detecção e correção de erros num determinado código. Define-se o vetor erro e como sendo a diferença entre o vetor recebido r e o vetor transmitido c, isto é, e = r c Exemplo 4.3. Suponha que num código dado sobre F 2, tenhamos transmitido a palavra () e foi recebido a palavra recebida tenha sido (), então e = () () = (). O peso do vetor erro corresponde ao número de erros cometidos durante a transmissão. Seja H a matriz teste de paridade do código, chamamos Hv de síndrome de v. Como Hc =, temos que He t = H(r c) = Hr Hc = Hr. Portanto, a palavra recebida e o vetor erro têm mesma síndrome. Lema 4.4. Seja C um código linear em K n com capacidade de correção κ. Se r K n e c C são tais que d(c, r) κ então existe um único vetor e com ω(e) κ, tal que a síndrome é igual à síndrome de r. Além disso, que c = r e. Cada conjunto da forma v + C é chamado de classe lateral de v segundo C. Note que v + C = C v C. Lema 4.5. Os vetores u e v de K n têm a mesma síndrome se, e somente se, u v + C.

45 4.5. Algoritmo da Decodificação 27 Definição 4.6. Um vetor de peso mínimo numa classe lateral é chamado de elemento líder dessa classe. 4.5 Algoritmo da Decodificação () Calcule a síndrome s = Hr. (2) Se s está na tabela de cálculo das síndromes, seja l o elemento líder da classe determinada por s; troque r por r l. (3) Se s não está na tabela de cálculo das síndromes, então mensagem recebida foram cometidos mais do que κ erros. Exemplo 4.7. Considere o código linear (6, 3) definido sobre F 2 com matriz teste de paridade H = Neste caso d = 3 e, portanto, κ = d 2 =.. Os vetores de peso com suas respectivas síndromes estão relacionados abaixo Líder Síndrome Suponhamos, agora, que a palavra recebida seja (a) r = (). Logo, S = Hr = () e, portanto, e = (). Consequentemente, c = r e = (). (b) r = (). Logo, S = Hr = (), que não se encontra na tabela. Sendo assim, foi cometido mais do que erro na mensagem r.

46 28 4. Códigos Corretores de Erros 4.6 Distâncias Mínimas e Corretores de Erros Geometricamente Seja C um código de tripla repetição, temos um subconjunto de Z 3 2. Podemos representar os vetores de Z 3 2 como vértices de um cubo unitário (figura 4.3(a)). A distância de Hamming entre quaisquer dois vetores x e y é só o caminho mais curto para ir de x até y, passando pelas arestas. O código C corresponde a dois desses vértices, c = e c =. O fato de d(c) = 3 corresponde ao fato de c e c estarem a três unidades (arestas) um do outro (figura 4.3(b)). Se um vetor recebido x estiver ao máximo de uma unidade de algum desses vetores-códigos e soubermos que ocorreu no máximo um erro, poderemos corretamente decodificar x como o vetor-código mais próximo. Em geral, não podemos desenhar figuras de Z n 2. Figura 4.3: Representação geométrica dos códigos corretores de erros Considere um código que pode corrigir até κ erros e os vetores-código nos centros das esferas de raio κ. Os vetores-código estão separados um dos outros por pelo menos d unidades. Se um vetor recebido x estiver no interior de uma dessas esferas, ele será decodificado como o vetor correspondente ao centro daquela esfera (veja a figura 4.4). Figura 4.4: Representação esférica dos códigos corretores de erros Esse processo é conhecido como decodificador pelo vizinho mais próximo. A figura sugere que se um código é capaz de corrigir κ erros, então as esferas centradas nos vetores-código não podem ser tocadas nem sobrepostas, tendo-se d > 2κ.

47 29 Capítulo 5 Códigos Lineares Neste capítulo apresentaremos a classe de códigos denominada de Códigos Lineares. Definição 5.. Um código C K n será chamado de código linear se for um subespaço vetorial de K n. O código do robô citado anteriormente, por exemplo, é um código linear, pois o alfabeto nesse caso é A = F 2, o código é o subespaço vetorial de F 5 2, que é a imagem da transformação linear T : F 2 2 F 5 2 (x, x 2 ) (x, x 2, x, x + x 2, x 2 ) Pela definição, todo código linear é um espaço vetorial de dimensão finita. Seja κ a dimensão do código C e seja {v, v 2,..., v κ } base C, portanto, todo elemento de C se escreve de modo único na forma λ v + λ 2 v λ κ v κ onde os λ i, i =,..., κ, são elementos de K. Segue daí que e, consequentemente, M = C = q κ dim K C = κ = log q q κ = log q M. Definição 5.2. Dado x K n, define-se o peso de x como sendo o número inteiro ω(x) := {i : x i } = d(x, )

48 3 5. Códigos Lineares onde d representa a métrica de Hamming. Definição 5.3. O peso de um código linear C definido como inteiro ω(c) := min{ω(x) : x C {}. Proposição 5.4. Seja C K n um código linear com distância mínima d. Temos que (i) x, y K n, d(x, y) = ω(x y). (ii) d = ω(c). Devido o item ii da Proposição 5.4, a distância mínima de um código linear C será também chamada de peso do código C. Em álgebra linear, existem duas maneiras práticas de descrever subespaços vetoriais: uma como imagem, e outra como núcleo de transformações lineares. Veremos como se obtém a representação de C como imagem. Escolhemos uma base v, v 2,..., v κ de C e considere a aplicação linear T : K κ K n x = (x, x 2,..., x κ ) (x v + x 2 v x κ v κ ) Então T é uma transformação linear injetora, cuja imagem é C. Portanto, ter um código C K n de dimensão κ é equivalente a ter uma transformação linear injetora T : K κ K n com C = Im(T ). Ele é denominado de forma paramétrica, pois os elementos de C são parametrizados pelos elementos x de K κ. Agora veremos como representar como núcleo da transformação linear. Tome um subespaço C de K n complementar de C, isto é, e considere a aplicação linear C C = K n, H : C C K n k u v v

49 5.. Equivalência de Códigos 3 Então o núcleo é C. Para saber se c C, basta verificar se Hv =, o que tem custo computacional bem pequeno. Exemplo 5.5. Considere o corpo finito F 3 = {,, 2} = Z 3 com três elementos e seja C F 4 3, o código gerado pelos vetores v = e v 2 = 2. Esse código possui 9(= q κ = 3 2 ) elementos, por ter dimensão 2 sobre um corpo de 3 elementos. Uma representação paramétrica é dada por x v + x 2 v 2 O código C é o núcleo da transformação linear H : F 4 3 F 2 3 x = (x,..., x 4 ) (2x + 2x 2 + x 3, 2x + x 2 + x 4 ) 5. Equivalência de Códigos A noção de equivalência de códigos usa o conceito de isometria. Definição 5.6. Sejam A um alfabeto e n um número natural. Diremos que uma função F : A n A n é uma isometria de A n se ela preserva a distância de Hamming. Em símbolos: d(f (x), F (y)) = d(x, y) x, y A n. Algumas propriedades conhecidas da isometria são: Proposição Toda isometria é uma bijeção. 2. A função identidade é uma isometria. 3. Se F é uma isometria, então F é uma isometria. 4. Se F e G são isometrias, então F G é uma isometria. Dado a permutação π de {,..., n}, denotemos T π (a,..., a n ) = (a π(),..., a π(n) ). Se f : A = A é bijeção, definimos Tf i(a,..., a n ) = (a,..., f(a i ),..., a n ). Definição 5.8. Dados dois códigos C e C em A n, diremos que C é equivalente a C se existir uma isometria F de A n tal que F (C) = C. O estudo mais aprofundado sobre a isometria costuma ser feita em livros sobre espaços métricos.

50 32 5. Códigos Lineares Teorema 5.9. Seja F : A n A n uma isometria, então existem uma permutação π de {,..., n} e bijeções f i de A, i =,..., n, tais que F = T π Tf Tf n n. Corolário 5.. Sejam C e C dois códigos em A n. Temos que C e C são equivalentes se, e somente se, existem uma permutação π de {,..., n} e bijeções f,..., f n de A tais que C = {(f π() (x π() ),..., f πn (x π(n) )) : (x,..., x n ) C}. Definição 5.. Seja K um corpo finito. Dois códigos lineares C e C são linearmente equivalentes se existir uma isometria linear T : K n K n tal que T (C) = C. Pelo Teorema 5.9, segue que dois códigos lineares C e C em K n são linearmente equivalentes se, e somente se, existir uma permutação π de {,..., n} e elementos c,..., c n de K\{} tais que C = {(c x π(),..., c n x π(n) ) : (x,..., x n ) C}. Logo, dois códigos são linearmente equivalentes se, e somente se, cada um deles pode ser obtido do outro por uma sequência de operações do tipo: i. Multiplicação dos elementos numa dada posição por um escalar não nulo. ii. Permutação das posições das palavras do código, {, 2,..., n} aplicado em todas as palavras do código. por uma permutação de 5.2 Matriz Geradora de um Código Sejam K um corpo finito com q elementos e C K n um código linear. Denominamos parâmetros do código linear C à terna de inteiros (n, κ, d), onde κ é a dimensão de C sobre K, e d representa a distância mínima de C (que é igual ao peso ω(c)). O número de elementos M de C é igual a q κ. Seja β = {v,..., v κ } uma base ordenada de C e considere a matriz G, cujas linhas são os vetores v i = (v i,..., v in ), i =,..., κ, isto é, G = v. v k = v v 2 v n v k v k2 v kn A matriz G é chamada de matriz geradora de C associada à base β. Considere a transformação linear definida por

Matrizes e Sistemas Lineares. Professor: Juliano de Bem Francisco. Departamento de Matemática Universidade Federal de Santa Catarina.

Matrizes e Sistemas Lineares. Professor: Juliano de Bem Francisco. Departamento de Matemática Universidade Federal de Santa Catarina. e Aula Zero - Álgebra Linear Professor: Juliano de Bem Francisco Departamento de Matemática Universidade Federal de Santa Catarina agosto de 2011 Outline e e Part I - Definição: e Consideremos o conjunto

Leia mais

Geometria Analítica. Prof Marcelo Maraschin de Souza

Geometria Analítica. Prof Marcelo Maraschin de Souza Geometria Analítica Prof Marcelo Maraschin de Souza Disciplina Aulas: Segunda-feira e terça-feira: 8:00 até 9:50 Avaliações: listas de exercícios e três provas; Sala: 222; Livros. Conteúdos Plano de Ensino

Leia mais

CORPOS FINITOS E SEUS GRUPOS MULTIPLICATIVOS

CORPOS FINITOS E SEUS GRUPOS MULTIPLICATIVOS CORPOS FINITOS E SEUS GRUPOS MULTIPLICATIVOS LUCAS GLAZAR GAZZOLI - RA: 071572 DAVID RICARDO BARRETO LIMA SILVA - RA: 042885 1. Introdução Dado um corpo K, finito, é fácil observar que vale a seguinte

Leia mais

CAPÍTULO 2 SISTEMAS DE NUMERAÇÃO E CÓDIGOS

CAPÍTULO 2 SISTEMAS DE NUMERAÇÃO E CÓDIGOS CAPÍTULO 2 SISTEMAS DE NUMERAÇÃO E CÓDIGOS Código BCD; Comparação entre BCD e Binário; Circuitos Digitais para BCD; Código Gray; Código ASCII; Detecção de erros pelo método de Paridade O que é um Código?

Leia mais

ESCOLA SUPERIOR DE TECNOLOGIA DE VISEU

ESCOLA SUPERIOR DE TECNOLOGIA DE VISEU INSTITUTO POLITÉCNICO DE VISEU ESCOLA SUPERIOR DE TECNOLOGIA DE VISEU Departamento Matemática Disciplina Matemática I Curso Gestão de Empresas Ano 1 o Ano Lectivo 2007/2008 Semestre 1 o Apontamentos Teóricos:

Leia mais

Capítulo 7. 1. Bissetrizes de duas retas concorrentes. Proposição 1

Capítulo 7. 1. Bissetrizes de duas retas concorrentes. Proposição 1 Capítulo 7 Na aula anterior definimos o produto interno entre dois vetores e vimos como determinar a equação de uma reta no plano de diversas formas. Nesta aula, vamos determinar as bissetrizes de duas

Leia mais

FABIANO KLEIN CRITÉRIOS NÃO CLÁSSICOS DE DIVISIBILIDADE

FABIANO KLEIN CRITÉRIOS NÃO CLÁSSICOS DE DIVISIBILIDADE FABIANO KLEIN CRITÉRIOS NÃO CLÁSSICOS DE DIVISIBILIDADE FLORIANÓPOLIS 2007 FABIANO KLEIN CRITÉRIOS NÃO CLÁSSICOS DE DIVISIBILIDADE Trabalho de conclusão de Curso apresentado ao curso de Matemática Habilitação

Leia mais

7. Funções de Lógica Combinacional. 7. Funções de Lógica Combinacional 1. Somadores Básicos. Objetivos. Objetivos. Circuitos Digitais 03/11/2014

7. Funções de Lógica Combinacional. 7. Funções de Lógica Combinacional 1. Somadores Básicos. Objetivos. Objetivos. Circuitos Digitais 03/11/2014 Objetivos 7. Funções de Lógica Combinacional Fazer distinção entre meio-somadores e somadores-completos Usar somadores-completos para implementar somadores binários em paralelo Explicar as diferenças entre

Leia mais

Natureza da Informação Semana 7: Erros

Natureza da Informação Semana 7: Erros Natureza da Informação Semana 7: Erros Prof. João Henrique Kleinschmidt Material elaborado pelos professores de NI Comunicação Até agora trabalhamos com informações e suas representações por meio de códigos

Leia mais

Números Inteiros AULA. 3.1 Introdução

Números Inteiros AULA. 3.1 Introdução AULA 3 META: Apresentar os números inteiros axiomaticamente através dos Números Naturais. OBJETIVOS: Ao fim da aula os alunos deverão ser capazes de: Definir números inteiros axiomaticamente. Realizar

Leia mais

Capítulo VI Circuitos Aritméticos

Capítulo VI Circuitos Aritméticos Capítulo VI Circuitos Aritméticos Introdução No capítulo anterior estudamos a soma e subtração de números binários. Neste capítulo estudaremos como as operações aritméticas de soma e subtração entre números

Leia mais

Circuitos Aritméticos

Circuitos Aritméticos Circuitos Aritméticos Semi-Somador Quando queremos proceder à realização de uma soma em binário, utilizamos várias somas de dois bits para poderemos chegar ao resultado final da operação. Podemos, então,

Leia mais

III-2 Cyclic Redundancy Check

III-2 Cyclic Redundancy Check III-2 Cyclic Redundancy Check 1 Dezembro de 2010 ISEL-DEETC- 1 Sumário 1. Códigos cíclicos 2. Polinómio gerador. CRC 1. Cálculo dos bits de paridade 2. Verificação dos bits de paridade 4. Divisão de polinómios

Leia mais

Projecto Delfos: Escola de Matemática Para Jovens 1 TEORIA DOS NÚMEROS

Projecto Delfos: Escola de Matemática Para Jovens 1 TEORIA DOS NÚMEROS Projecto Delfos: Escola de Matemática Para Jovens 1 A Teoria dos Números tem como objecto de estudo o conjunto Z dos números inteiros (a letra Z vem da palavra alemã Zahl que significa número). 1. DIVISIBILIDADE

Leia mais

Introdução à Aritmética Modular. George Darmiton da Cunha Cavalcanti CIn - UFPE

Introdução à Aritmética Modular. George Darmiton da Cunha Cavalcanti CIn - UFPE Introdução à Aritmética Modular George Darmiton da Cunha Cavalcanti CIn - UFPE Introdução Em alguns problemas o interesse se concentra no resto da divisão entre dois números, por exemplo Que horas serão

Leia mais

Matrizes. matriz de 2 linhas e 2 colunas. matriz de 3 linhas e 3 colunas. matriz de 3 linhas e 1 coluna. matriz de 1 linha e 4 colunas.

Matrizes. matriz de 2 linhas e 2 colunas. matriz de 3 linhas e 3 colunas. matriz de 3 linhas e 1 coluna. matriz de 1 linha e 4 colunas. Definição Uma matriz do tipo m n (lê-se m por n), com m e n, sendo m e n números inteiros, é uma tabela formada por m n elementos dispostos em m linhas e n colunas. Estes elementos podem estar entre parênteses

Leia mais

4. Álgebra Booleana e Simplificação Lógica. 4. Álgebra Booleana e Simplificação Lógica 1. Operações e Expressões Booleanas. Objetivos.

4. Álgebra Booleana e Simplificação Lógica. 4. Álgebra Booleana e Simplificação Lógica 1. Operações e Expressões Booleanas. Objetivos. Objetivos 4. Álgebra Booleana e Simplificação Lógica Aplicar as leis e regras básicas da álgebra Booleana Aplicar os teoremas de DeMorgan em expressões Booleanas Descrever circuitos de portas lógicas com

Leia mais

Vanessa Juliana da Costa Maringá PR, Brasil

Vanessa Juliana da Costa Maringá PR, Brasil Decodificação para Códigos Lineares Vanessa Juliana da Costa Maringá PR, Brasil Abstract In this work we present a decoding algorithm for linear codes. We introduce basic properties of linear codes such

Leia mais

é um grupo abeliano.

é um grupo abeliano. Notas de aulas de Álgebra Moderna Prof a Ana Paula GRUPO Definição 1: Seja G munido de uma operação: x, y x y sobre G A operação sobre G é chamada de grupo se essa operação se sujeita aos seguintes axiomas:

Leia mais

Fórmulas do Traço e o Cálculo de Matrizes Inversas

Fórmulas do Traço e o Cálculo de Matrizes Inversas 2013: Trabalho de Conclusão de Curso do Mestrado Profissional em Matemática - PROFMAT Universidade Federal de São João del-rei - UFSJ Sociedade Brasileira de Matemática - SBM Fórmulas do Traço e o Cálculo

Leia mais

Códigos Corretores de Erros e Teoria de Galois. Helena Carolina Rengel Koch Universidade Federal de Santa Catarina 2016

Códigos Corretores de Erros e Teoria de Galois. Helena Carolina Rengel Koch Universidade Federal de Santa Catarina 2016 Códigos Corretores de Erros e Teoria de Galois Helena Carolina Rengel Koch Universidade Federal de Santa Catarina 2016 1 Sumário 1 Introdução 3 2 Corpos finitos e extensões de corpos 4 2.1 Polinômios....................................

Leia mais

Exercícios de Álgebra Linear

Exercícios de Álgebra Linear Exercícios de Álgebra Linear Mestrado Integrado em Engenharia do Ambiente Mestrado Integrado em Engenharia Biológica Nuno Martins Departamento de Matemática Instituto Superior Técnico Setembro de Índice

Leia mais

Ficha de Exercícios nº 2

Ficha de Exercícios nº 2 Nova School of Business and Economics Álgebra Linear Ficha de Exercícios nº 2 Matrizes, Determinantes e Sistemas de Equações Lineares 1 O produto de duas matrizes, A e B, é a matriz nula (mxn). O que pode

Leia mais

Os eixo x e y dividem a circunferência em quatro partes congruentes chamadas quadrantes, numeradas de 1 a 4 conforme figura abaixo:

Os eixo x e y dividem a circunferência em quatro partes congruentes chamadas quadrantes, numeradas de 1 a 4 conforme figura abaixo: Circunferência Trigonométrica É uma circunferência de raio unitário orientada de tal forma que o sentido positivo é o sentido anti-horário. Associamos a circunferência (ou ciclo) trigonométrico um sistema

Leia mais

Álgebra Linear Computacional

Álgebra Linear Computacional Álgebra Linear Computacional Geovan Tavares, Hélio Lopes e Sinésio Pesco. PUC-Rio Departamento de Matemática Laboratório Matmidia http://www.matmidia.mat.puc-rio.br Sistemas de Equações Lineares Espaços

Leia mais

a) 2 b) 3 c) 4 d) 5 e) 6

a) 2 b) 3 c) 4 d) 5 e) 6 Recordando operações básicas 01. Calcule as expressões abaixo: a) 2254 + 1258 = b) 300+590 = c) 210+460= d) 104+23 = e) 239 54 = f) 655-340 = g) 216-56= h) 35 x 15 = i) 50 x 210 = j) 366 x 23 = k) 355

Leia mais

Relações. Antonio Alfredo Ferreira Loureiro. loureiro@dcc.ufmg.br http://www.dcc.ufmg.br/~loureiro. UFMG/ICEx/DCC MD Relações 1

Relações. Antonio Alfredo Ferreira Loureiro. loureiro@dcc.ufmg.br http://www.dcc.ufmg.br/~loureiro. UFMG/ICEx/DCC MD Relações 1 Relações Antonio Alfredo Ferreira Loureiro loureiro@dcc.ufmg.br http://www.dcc.ufmg.br/~loureiro MD Relações 1 Introdução O mundo está povoado por relações: família, emprego, governo, negócios, etc. Entidades

Leia mais

Definição de determinantes de primeira e segunda ordens. Seja A uma matriz quadrada. Representa-se o determinante de A por det(a) ou A.

Definição de determinantes de primeira e segunda ordens. Seja A uma matriz quadrada. Representa-se o determinante de A por det(a) ou A. Determinantes A cada matriz quadrada de números reais, pode associar-se um número real, que se designa por determinante da matriz Definição de determinantes de primeira e segunda ordens Seja A uma matriz

Leia mais

Determinantes. Matemática Prof. Mauricio José

Determinantes. Matemática Prof. Mauricio José Determinantes Matemática Prof. Mauricio José Determinantes Definição e Conceito Matriz de ordem 1 Dizemos que um determinante é um resultado (numérico) de operações que são realizadas em uma matriz quadrada.

Leia mais

ALGA - Eng.Civil - ISE - 2009/2010 - Matrizes 1. Matrizes

ALGA - Eng.Civil - ISE - 2009/2010 - Matrizes 1. Matrizes ALGA - Eng.Civil - ISE - 00/010 - Matrizes 1 Matrizes Introdução Se m e n são números naturais, chama-se matriz real de tipo m n (m vezes n ou m por n) a uma aplicação A : f1; ; :::; mg f1; ; :::; ng R:

Leia mais

Inversão de Matrizes

Inversão de Matrizes Inversão de Matrizes Prof. Márcio Nascimento Universidade Estadual Vale do Acaraú Centro de Ciências Exatas e Tecnologia Curso de Licenciatura em Matemática Disciplina: Álgebra Matricial - 2014.2 13 de

Leia mais

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Câmpus Ponta Grossa. Coordenação do Curso Superior de Tecnologia em. Automação Industrial

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Câmpus Ponta Grossa. Coordenação do Curso Superior de Tecnologia em. Automação Industrial UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Coordenação do Curso Superior de Tecnologia em Automação Industrial Jhonathan Junio de Souza Tipos de códigos Binários Trabalho apresentado

Leia mais

Departamento de Matemática da Universidade de Coimbra Álgebra Linear e Geometria Analítica Engenharia Civil Ano lectivo 2005/2006 Folha 1.

Departamento de Matemática da Universidade de Coimbra Álgebra Linear e Geometria Analítica Engenharia Civil Ano lectivo 2005/2006 Folha 1. Departamento de Matemática da Universidade de Coimbra Álgebra Linear e Geometria Analítica Engenharia Civil Ano lectivo 2005/2006 Folha 1 Matrizes 1 Considere as matrizes A = 1 2 3 2 3 1 3 1 2 Calcule

Leia mais

Unidade III- Determinantes

Unidade III- Determinantes Unidade III- Determinantes - Situando a Temática A teoria dos determinantes tem origem em meados do século XVII, quando eram estudados processos para resolução de sistemas lineares Hoje em dia, embora

Leia mais

Álge g bra b B ooleana n Bernardo Gonçalves

Álge g bra b B ooleana n Bernardo Gonçalves Álgebra Booleana Bernardo Gonçalves Sumário Histórico Álgebra de Boole Axiomas da Álgebra de Boole Álgebra de Boole de dois valores literais Teoremas da Álgebra de Boole Simplificação de expressões booleanas

Leia mais

Exercícios de Aprofundamento Mat Polinômios e Matrizes

Exercícios de Aprofundamento Mat Polinômios e Matrizes . (Unicamp 05) Considere a matriz A A e A é invertível, então a) a e b. b) a e b 0. c) a 0 e b 0. d) a 0 e b. a 0 A, b onde a e b são números reais. Se. (Espcex (Aman) 05) O polinômio q(x) x x deixa resto

Leia mais

Universidade Federal do ABC Disciplina: Natureza da Informação Lista de Exercícios 02 Códigos e conversão A/D Prof. João Henrique Kleinschmidt

Universidade Federal do ABC Disciplina: Natureza da Informação Lista de Exercícios 02 Códigos e conversão A/D Prof. João Henrique Kleinschmidt Universidade Federal do ABC Disciplina: Natureza da Informação Lista de Exercícios 02 Códigos e conversão A/D Prof. João Henrique Kleinschmidt A lista é individual e deve ser escrita à mão. 1) Uma importante

Leia mais

Curvas no Plano e no Espaço*

Curvas no Plano e no Espaço* Cálculo III Departamento de Matemática - ICEx - UFMG Marcelo Terra Cunha Curvas no Plano e no Espaço* *Esta segunda versăo corresponde ao que efetivamente foi apresentado na aula de 22/09. É justo dizer

Leia mais

Lista de Exercícios Critérios de Divisibilidade

Lista de Exercícios Critérios de Divisibilidade Nota: Os exercícios desta aula são referentes ao seguinte vídeo Matemática Zero 2.0 - Aula 10 - Critérios de - (parte 1 de 2) Endereço: https://www.youtube.com/watch?v=1f1qlke27me Gabaritos nas últimas

Leia mais

Matemática Básica Intervalos

Matemática Básica Intervalos Matemática Básica Intervalos 03 1. Intervalos Intervalos são conjuntos infinitos de números reais. Geometricamente correspondem a segmentos de reta sobre um eixo coordenado. Por exemplo, dados dois números

Leia mais

FRAÇÃO Definição e Operações

FRAÇÃO Definição e Operações FRAÇÃO Definição e Operações DEFINIÇÃO: Fração é uma forma de se representar uma quantidade a partir de um valor, que é dividido por um determinado número de partes iguais. Como é que você representaria

Leia mais

Sistemas de Vírgula Flutuante

Sistemas de Vírgula Flutuante Luiz C. G. Lopes Departamento de Matemática e Engenharias Universidade da Madeira MAT 2 05 2007/08 Definição. Diz-se que um número real x R\{0} é um número de vírgula flutuante normalizado se forem verificadas

Leia mais

números decimais Inicialmente, as frações são apresentadas como partes de um todo. Por exemplo, teremos 2 de um bolo se dividirmos esse bolo

números decimais Inicialmente, as frações são apresentadas como partes de um todo. Por exemplo, teremos 2 de um bolo se dividirmos esse bolo A UA UL LA Frações e números decimais Introdução Inicialmente, as frações são apresentadas como partes de um todo. Por exemplo, teremos de um bolo se dividirmos esse bolo em cinco partes iguais e tomarmos

Leia mais

Código de barras XXII SEMANA ACADÊMICA DA MATEMÁTICA. 1. Código de barras. Fernanda Taline da Silva ¹, Fabiana Garcia Papani ²

Código de barras XXII SEMANA ACADÊMICA DA MATEMÁTICA. 1. Código de barras. Fernanda Taline da Silva ¹, Fabiana Garcia Papani ² Código de barras Fernanda Taline da Silva ¹, Fabiana Garcia Papani ² ¹ Acadêmica do Curso de Matemática Centro de Ciências Exatas e Tecnológicas da Universidade Estadual do Oeste do Paraná Caixa Postal

Leia mais

Detecção de erros de comunicação de dados CRC

Detecção de erros de comunicação de dados CRC FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO Detecção de erros de comunicação de dados CRC Rui Barbosa 12/04/2011 Í NDI CE 1. Introdução... 4 2. Cyclic Redundancy Check... 5 2.1. Fundamentos Teóricos...

Leia mais

SOLUÇÕES N2 2015. item a) O maior dos quatro retângulos tem lados de medida 30 4 = 26 cm e 20 7 = 13 cm. Logo, sua área é 26 x 13= 338 cm 2.

SOLUÇÕES N2 2015. item a) O maior dos quatro retângulos tem lados de medida 30 4 = 26 cm e 20 7 = 13 cm. Logo, sua área é 26 x 13= 338 cm 2. Solução da prova da 1 a fase OBMEP 2015 Nível 1 1 SOLUÇÕES N2 2015 N2Q1 Solução O maior dos quatro retângulos tem lados de medida 30 4 = 26 cm e 20 7 = 13 cm. Logo, sua área é 26 x 13= 338 cm 2. Com um

Leia mais

Estruturas de Repetição

Estruturas de Repetição Estruturas de Repetição Lista de Exercícios - 04 Algoritmos e Linguagens de Programação Professor: Edwar Saliba Júnior Estruturas de Repetição O que são e para que servem? São comandos que são utilizados

Leia mais

Parte 3. Domínios principais

Parte 3. Domínios principais Parte 3 Domínios principais Nosso objetivo agora é introduzir os conceitos de ideal em anéis comutativos com unidade e domínio principal, mostrando que em um domínio principal vale a fatoração única. Começamos

Leia mais

SUMÁRIO. 1. REVISÃO DE GINÁSIO Critérios de divisibilidade. 2. CONJUNTOS Introdução. Operações de conjuntos. Conjuntos numéricos

SUMÁRIO. 1. REVISÃO DE GINÁSIO Critérios de divisibilidade. 2. CONJUNTOS Introdução. Operações de conjuntos. Conjuntos numéricos SUMÁRIO 1. REVISÃO DE GINÁSIO Critérios de divisibilidade Reconhecimento de número primo Decomposição em fatores primos Aplicação Potência Expressão numérica 2. CONJUNTOS Introdução Representação de um

Leia mais

CAPÍTULO 4. 4 - O Método Simplex Pesquisa Operacional

CAPÍTULO 4. 4 - O Método Simplex Pesquisa Operacional CAPÍTULO 4 O MÉTODO SIMPLEX 4 O Método Simplex caminha pelos vértices da região viável até encontrar uma solução que não possua soluções vizinhas melhores que ela. Esta é a solução ótima. A solução ótima

Leia mais

números decimais Inicialmente, as frações são apresentadas como partes de um todo. Por exemplo, teremos 2 de um bolo se dividirmos esse bolo

números decimais Inicialmente, as frações são apresentadas como partes de um todo. Por exemplo, teremos 2 de um bolo se dividirmos esse bolo A UA UL LA Frações e números decimais Introdução Inicialmente, as frações são apresentadas como partes de um todo. Por exemplo, teremos de um bolo se dividirmos esse bolo em cinco partes iguais e tomarmos

Leia mais

Capítulo 4. Retas e Planos. 4.1 A reta

Capítulo 4. Retas e Planos. 4.1 A reta Capítulo 4 Retas e Planos Neste capítulo veremos como utilizar a teoria dos vetores para caracterizar retas e planos, a saber, suas equações, posições relativas, ângulos e distâncias. 4.1 A reta Sejam

Leia mais

Semana 7 Resolução de Sistemas Lineares

Semana 7 Resolução de Sistemas Lineares 1 CÁLCULO NUMÉRICO Semana 7 Resolução de Sistemas Lineares Professor Luciano Nóbrega UNIDADE 1 2 INTRODUÇÃO Considere o problema de determinar as componentes horizontais e verticais das forças que atuam

Leia mais

Equações paramétricas da Reta

Equações paramétricas da Reta 39 6.Retas e Planos Equações de Retas e Planos Equações da Reta Vamos supor que uma reta r é paralela a um vetor V = a, b, c) não nulo e que passa por um ponto P = x, y, z ). Um ponto P = x, pertence a

Leia mais

Bases Matemáticas. Daniel Miranda 1. 23 de maio de 2011. sala 819 - Bloco B página: daniel.miranda

Bases Matemáticas. Daniel Miranda 1. 23 de maio de 2011. sala 819 - Bloco B página:  daniel.miranda Daniel 1 1 email: daniel.miranda@ufabc.edu.br sala 819 - Bloco B página: http://hostel.ufabc.edu.br/ daniel.miranda 23 de maio de 2011 Elementos de Lógica e Linguagem Matemática Definição Uma proposição

Leia mais

ÁLGEBRA LINEAR. Transformações Lineares. Prof. Susie C. Keller

ÁLGEBRA LINEAR. Transformações Lineares. Prof. Susie C. Keller ÁLGEBRA LINEAR Transformações Lineares Prof. Susie C. Keller É um tipo especial de função (aplicação), onde o domínio e o contradomínio são espaços vetoriais. Tanto a variável independente quanto a variável

Leia mais

Teoria da Informação: o legado de Shannon

Teoria da Informação: o legado de Shannon Teoria da Informação: o legado de Shannon Carlos Salema 3/2/2005 Academia das Ciências 1 Índice Introdução Definição e medida da informação Informação do sinal analógico O sistema de comunicação Capacidade

Leia mais

5. O Mapa de Karnaugh

5. O Mapa de Karnaugh Objetivos 5. O Mapa de Karnaugh Usar um mapa de Karnaugh para simplificar expressões Booleanas Usar um mapa de Karnaugh para simplificar funções de tabela-verdade Utilizar condições don t care para simplificar

Leia mais

Grupo de Classes de Ideais em Reticulados Quadráticos

Grupo de Classes de Ideais em Reticulados Quadráticos Grupo de Classes de Ideais em Reticulados Quadráticos J. C. Silva, F. S. Costa Depto de Matemática e Informática, DEMATI, UEMA, 65055-970, São Luís, MA E-mail: joaocoelho@cecen.uema.br, felixsilvacosta@gmail.com

Leia mais

XXXII Olimpíada Brasileira de Matemática GABARITO Segunda Fase

XXXII Olimpíada Brasileira de Matemática GABARITO Segunda Fase XXXII Olimpíada Brasileira de Matemática GABARITO Segunda Fase Soluções Nível Segunda Fase Parte A PARTE A Na parte A serão atribuídos 4 pontos para cada resposta correta e a pontuação máxima para essa

Leia mais

Prova Escrita de MATEMÁTICA A - 12o Ano 2015-2 a Fase

Prova Escrita de MATEMÁTICA A - 12o Ano 2015-2 a Fase Prova Escrita de MATEMÁTICA A - o Ano 205-2 a Fase Proposta de resolução GRUPO I. O valor médio da variável aleatória X é: µ a + 2 2a + 0, Como, numa distribuição de probabilidades de uma variável aleatória,

Leia mais

Unidade 3 Função Afim

Unidade 3 Função Afim Unidade 3 Função Afim Definição Gráfico da Função Afim Tipos Especiais de Função Afim Valor e zero da Função Afim Gráfico definidos por uma ou mais sentenças Definição C ( x) = 10. x + Custo fixo 200 Custo

Leia mais

Congruências Lineares

Congruências Lineares Filipe Rodrigues de S Moreira Graduando em Engenharia Mecânica Instituto Tecnológico de Aeronáutica (ITA) Agosto 006 Congruências Lineares Introdução A idéia de se estudar congruências lineares pode vir

Leia mais

(1, 6) é também uma solução da equação, pois 3 1 + 2 6 = 15, isto é, 15 = 15. ( 23,

(1, 6) é também uma solução da equação, pois 3 1 + 2 6 = 15, isto é, 15 = 15. ( 23, Sistemas de equações lineares generalidades e notação matricial Definição Designa-se por equação linear sobre R a uma expressão do tipo com a 1, a 2,... a n, b R. a 1 x 1 + a 2 x 2 +... + a n x n = b (1)

Leia mais

Em cada uma dessas frases, há uma quantidade indicada em forma de fração. Veja:

Em cada uma dessas frases, há uma quantidade indicada em forma de fração. Veja: MATEMÁTICA BÁSICA 4 Frações Leitura Três quartos da população do estado X recebe até um salário mínimo A herança será dividida, cabendo um sétimo do total a cada um dos herdeiros A parede será azulejada

Leia mais

Em linguagem matemática, essa proprieade pode ser escrita da seguinte maneira: x. 1 = x Onde x representa um número natural qualquer.

Em linguagem matemática, essa proprieade pode ser escrita da seguinte maneira: x. 1 = x Onde x representa um número natural qualquer. MATEMÁTICA BÁSICA 5 EXPRESSÕES ALGÉBRICAS - EQUAÇÕES A expressão numérica é aquela que apresenta uma sequência de operações e de números. Também já sabemos que as letras são usadas em Matemática para representar

Leia mais

VETORES. Álgebra Linear e Geometria Analítica Prof. Aline Paliga

VETORES. Álgebra Linear e Geometria Analítica Prof. Aline Paliga VETORES Álgebra Linear e Geometria Analítica Prof. Aline Paliga INTRODUÇÃO Grandeza é tudo aquilo que pode variar quantitativamente. Algumas vezes necessitamos mais que um número e uma unidade para representar

Leia mais

=...= 1,0 = 1,00 = 1,000...

=...= 1,0 = 1,00 = 1,000... OPERAÇÕES COM NÚMEROS DECIMAIS EXATOS Os números decimais exatos correspondem a frações decimais. Por exemplo, o número 1,27 corresponde à fração127/100. 127 = 1,27 100 onde 1 representa a parte inteira

Leia mais

Usando potências de 10

Usando potências de 10 Usando potências de 10 A UUL AL A Nesta aula, vamos ver que todo número positivo pode ser escrito como uma potência de base 10. Por exemplo, vamos aprender que o número 15 pode ser escrito como 10 1,176.

Leia mais

Polos Olímpicos de Treinamento. Aula 1. Curso de Teoria dos Números - Nível 3. Divisibilidade 1. Carlos Gustavo Moreira e Samuel Barbosa Feitosa

Polos Olímpicos de Treinamento. Aula 1. Curso de Teoria dos Números - Nível 3. Divisibilidade 1. Carlos Gustavo Moreira e Samuel Barbosa Feitosa Polos Olímpicos de Treinamento Curso de Teoria dos Números - Nível 3 Carlos Gustavo Moreira e Samuel Barbosa Aula 1 Divisibilidade 1 Teorema 1. (Algoritmo da Divisão) Para quaisquer inteiros positivos

Leia mais

O PENSAMENTO ALGÉBRICO

O PENSAMENTO ALGÉBRICO NOME: ANO: 8º ENSINO: FUNDAMENTAL TURMA: DATA: / / PROF(ª): GREGORIO TOMAS GONZAGA LÓGICA E MATEMÁTICA - APOSTILA (2º BIMESTRE) IMPORTANTE 1 Organize-se, guardando cada lista de exercícios que receber

Leia mais

Somando os termos de uma progressão aritmética

Somando os termos de uma progressão aritmética A UA UL LA Somando os termos de uma progressão aritmética Introdução Um pouco de História Na aula passada, mostramos como calcular qualquer termo de uma progressão aritmética se conhecemos um de seus termos

Leia mais

Árvores Parte 1. Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos

Árvores Parte 1. Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos Árvores Parte 1 Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos Árvores uma introdução As listas apresentadas na aula anterior formam um conjunto de TADs extremamente importante

Leia mais

12 26, 62, 34, 43 21 37, 73 30 56, 65

12 26, 62, 34, 43 21 37, 73 30 56, 65 1 Questão 1 Solução a) Primeiro multiplicamos os algarismos de 79, obtendo 7 9 = 63, e depois somamos os algarismos desse produto, obtendo 6 + 3 = 9. Logo o transformado de é 79 é 9. b) A brincadeira de

Leia mais

Noções básicas de Lógica

Noções básicas de Lógica Noções básicas de Lógica Consideremos uma linguagem, com certos símbolos. Chamamos expressão a uma sequências de símbolos. uma expressão com significado Uma expressão pode ser expressão sem significado

Leia mais

UNIVERSIDADE FEDERAL DE VIÇOSA Centro de Ciências Exatas Departamento de Matemática

UNIVERSIDADE FEDERAL DE VIÇOSA Centro de Ciências Exatas Departamento de Matemática UNIVERSIDADE FEDERAL DE VIÇOSA Centro de Ciências Exatas Departamento de Matemática 1 a Lista - MAT 17 - Introdução à Álgebra Linear II/2004 1 Considere as matrizes A, B, C, D e E com respectivas ordens,

Leia mais

TIPO DE PROVA: A. Questão 1. Questão 3. Questão 2. Questão 4. alternativa A. alternativa E. alternativa E

TIPO DE PROVA: A. Questão 1. Questão 3. Questão 2. Questão 4. alternativa A. alternativa E. alternativa E Questão TIPO DE PROVA: A Uma empresa entrevistou k candidatos a um determinadoempregoerejeitouumnúmerode candidatos igual a 5 vezes o número de candidatos aceitos. Um possível valor para k é: a) 56 b)

Leia mais

= 1 1 1 1 1 1. Pontuação: A questão vale dez pontos, tem dois itens, sendo que o item A vale até três pontos, e o B vale até sete pontos.

= 1 1 1 1 1 1. Pontuação: A questão vale dez pontos, tem dois itens, sendo que o item A vale até três pontos, e o B vale até sete pontos. VTB 008 ª ETAPA Solução Comentada da Prova de Matemática 0 Em uma turma de alunos que estudam Geometria, há 00 alunos Dentre estes, 30% foram aprovados por média e os demais ficaram em recuperação Dentre

Leia mais

1.1 UFPR 2014. Rumo Curso Pré Vestibular Assistencial - RCPVA Disciplina: Matemática Professor: Vinícius Nicolau 04 de Novembro de 2014

1.1 UFPR 2014. Rumo Curso Pré Vestibular Assistencial - RCPVA Disciplina: Matemática Professor: Vinícius Nicolau 04 de Novembro de 2014 Sumário 1 Questões de Vestibular 1 1.1 UFPR 2014.................................... 1 1.1.1 Questão 1................................. 1 1.1.2 Questão 2................................. 2 1.1.3 Questão

Leia mais

ISOMETRIAS DO PLANO E SIMETRIA

ISOMETRIAS DO PLANO E SIMETRIA UNIVERSIDADE DE LISBOA FACULDADE DE CIÊNCIAS DEPARTAMENTO DE MATEMÁTICA ISOMETRIAS DO PLANO E SIMETRIA Fernando Marques Bacalhau Dissertação MESTRADO EM MATEMÁTICA PARA PROFESSORES 2012 UNIVERSIDADE DE

Leia mais

21- EXERCÍCIOS FUNÇÕES DO SEGUNDO GRAU

21- EXERCÍCIOS FUNÇÕES DO SEGUNDO GRAU 1 21- EXERCÍCIOS FUNÇÕES DO SEGUNDO GRAU 1. O gráfico do trinômio y = ax 2 + bx + c. Qual a afirmativa errada? a) se a > 0 a parábola possui concavidade para cima b) se b 2 4ac > 0 o trinômio possui duas

Leia mais

PUC-Rio Desafio em Matemática 15 de novembro de 2008

PUC-Rio Desafio em Matemática 15 de novembro de 2008 PUC-Rio Desafio em Matemática 5 de novembro de 2008 Nome: Assinatura: Inscrição: Identidade: Questão Valor Nota Revisão.0 2.0 3.0 4.0 5a.0 5b.0 6a.0 6b.0 7 2.0 Nota final 0.0 Instruções Mantenha seu celular

Leia mais

FRAÇÃO. Número de partes pintadas 3 e números de partes em foi dividida a figura 5

FRAÇÃO. Número de partes pintadas 3 e números de partes em foi dividida a figura 5 Termos de uma fração FRAÇÃO Para se representar uma fração através de figuras, devemos dividir a figura em partes iguais, em que o numerador representar a parte considera (pintada) e o denominador representar

Leia mais

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de Escola Secundária c/3º CE José Macedo Fragateiro Curso Profissional de Nível Secundário Componente Técnica Disciplina de Sistemas Digitais e Arquitectura de Computadores 2009/2010 Módulo 2: Álgebra e Lógica

Leia mais

38 a OLIMPÍADA BRASILEIRA DE MATEMÁ TICA

38 a OLIMPÍADA BRASILEIRA DE MATEMÁ TICA 38 a OLIMPÍADA BRASILEIRA DE MATEMÁ TICA Primeira Fase Nível 2 (8 o ou 9 o ano) Sexta-feira, 17 de junho de 2016. Caro(a) aluno(a): A duração da prova é de 3 horas. Você poderá, se necessário, solicitar

Leia mais

Planificação do 2º Período

Planificação do 2º Período Direção-Geral dos Estabelecimentos Escolares Direção de Serviços da Região Centro Planificação do 2º Período Disciplina: Matemática A Grupo: 500 Ano: 10º Número de blocos de 45 minutos previstos: 0 Ano

Leia mais

Equilíbrio de um corpo rígido

Equilíbrio de um corpo rígido Equilíbrio de um corpo rígido Objetivos da aula: Desenvolver as equações de equilíbrio para um corpo rígido. Introduzir o conceito do diagrama de corpo livre para um corpo rígido. Mostrar como resolver

Leia mais

Vírgula flutuante Aula 6

Vírgula flutuante Aula 6 Vírgula flutuante Aula 6 17 de Março de 2005 1 Estrutura desta aula Números em vírgula flutuante Formatos dos números em vírgula fixa e em vírgula flutuante A norma IEEE 754 Normalizações, expoentes, zeros

Leia mais

Figura 8: modelo de Von Neumann

Figura 8: modelo de Von Neumann 3. ORGANIZAÇÃO DE SISTEMA DE COMPUTADORES Olá, caro aluno! Neste capítulo vamos ver como são organizados os componentes que formam um sistema computacional. O conceito é histórico, mas é aplicado até os

Leia mais

Álgebra Linear I - Aula 20

Álgebra Linear I - Aula 20 Álgebra Linear I - Aula 0 1 Matriz de Mudança de Base Bases Ortonormais 3 Matrizes Ortogonais 1 Matriz de Mudança de Base Os próximos problemas que estudaremos são os seguintes (na verdade são o mesmo

Leia mais

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada. antunes@ibilce.unesp.br, socorro@ibilce.unesp.

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada. antunes@ibilce.unesp.br, socorro@ibilce.unesp. Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada antunes@ibilce.unesp.br, socorro@ibilce.unesp.br Grafos e Algoritmos Preparado a partir do texto: Rangel, Socorro.

Leia mais

condicional tem sentido porque até recentemente as escolas ensinavam que 5

condicional tem sentido porque até recentemente as escolas ensinavam que 5 Cálculo I Lista zero - solução números racionais tarcisio.praciano@gmail.com T. Praciano-Pereira Sobral Matemática 25 de dezembro de 204 produzido com L A TEX - Debian/Gnu/Linux página http://www.calculo.sobralmatematica.org/

Leia mais

Sumário 1. PROBLEMAS DE RACIOCÍNIO INTUITIVO ESPACIAL, NUMÉRICO E VERBAL...1 2. PROBLEMAS DE ARGUMENTAÇÃO LÓGICA INTUITIVA...55

Sumário 1. PROBLEMAS DE RACIOCÍNIO INTUITIVO ESPACIAL, NUMÉRICO E VERBAL...1 2. PROBLEMAS DE ARGUMENTAÇÃO LÓGICA INTUITIVA...55 IX Sumário 1. PROBLEMAS DE RACIOCÍNIO INTUITIVO ESPACIAL, NUMÉRICO E VERBAL...1 Solução dos exercícios... 29 2. PROBLEMAS DE ARGUMENTAÇÃO LÓGICA INTUITIVA...55 Solução dos exercícios... 64 3. conjuntos...77

Leia mais

Francisco Magalhães Gomes IMECC UNICAMP. Matemática básica. Volume 1 Operações, equações, funções e sequências

Francisco Magalhães Gomes IMECC UNICAMP. Matemática básica. Volume 1 Operações, equações, funções e sequências Francisco Magalhães Gomes IMECC UNICAMP Matemática básica Volume 1 Operações, equações, funções e sequências 2016 Sumário Prefácio vii Capítulo 1 Números reais 1 1.1 Conjuntos de números..............................

Leia mais

Linguagens e códigos digitais

Linguagens e códigos digitais 2 Linguagens e códigos digitais SUMÁRIO DO VOLUME LINGUAGENS E CÓDIGOS DIGITAIS 1. Operações com números naturais 5 2. Números positivos e negativos 10 3. Média aritmética simples e ponderada 12 4. Plano

Leia mais

Sistemas Numéricos. Tiago Alves de Oliveira

Sistemas Numéricos. Tiago Alves de Oliveira Sistemas Numéricos Tiago Alves de Oliveira Sumário Sistemas Numéricos Binário Octal Hexadecimal Operações aritméticas binária e hexadecimal Operações lógicas binárias e decimais Representação Interna de

Leia mais

Nome: N.º: Endereço: Data: Telefone: PARA QUEM CURSA O 9 Ọ ANO DO ENSINO FUNDAMENTAL EM 2016 Disciplina: MATEMÁTICA

Nome: N.º: Endereço: Data: Telefone:   PARA QUEM CURSA O 9 Ọ ANO DO ENSINO FUNDAMENTAL EM 2016 Disciplina: MATEMÁTICA Nome: N.º: Endereço: Data: Telefone: E-mail: Colégio PARA QUEM CURSA O 9 Ọ ANO DO ENSINO FUNDAMENTAL EM 06 Disciplina: MATEMÁTICA Prova: DESAFIO NOTA: QUESTÃO 6 Analise cada item com atenção: I. O antecedente

Leia mais

Matrizes. Sumário. 1 pré-requisitos. 2 Tipos de matrizes. Sadao Massago 2011-05-05 a 2014-03-14. 1 pré-requisitos 1. 2 Tipos de matrizes.

Matrizes. Sumário. 1 pré-requisitos. 2 Tipos de matrizes. Sadao Massago 2011-05-05 a 2014-03-14. 1 pré-requisitos 1. 2 Tipos de matrizes. Matrizes Sadao Massago 20-05-05 a 204-03-4 Sumário pré-requisitos 2 Tipos de matrizes 3 Operações com matrizes 3 4 Matriz inversa e transposta 4 5 Determinante e traço 5 Neste texto, faremos uma breve

Leia mais

Um pouco da História dos Logaritmos

Um pouco da História dos Logaritmos Um pouco da História dos Logaritmos Os logaritmos, como instrumento de cálculo, surgiram para realizar simplificações, uma vez que transformam multiplicações e divisões nas operações mais simples de soma

Leia mais