SlideShare uma empresa Scribd logo
1 de 10
Baixar para ler offline
Sessão nº7

                   Fontes com Memória e
                   Codificação Aritmética



       CCISEL 99                                  Teoria Matemática da Comunicação    7-1
       Criptografia Computacional




Modelo de fonte discreta com memória


                                                               X
    fonte sem                                              +       xi ∈ { x1, x2,…, xM }
    memória
                                    f (xi, xi+1 ,… xi+K)


• xi representa um símbolo da fonte
• p(xi) é a probabilidade dum símbolo tal que ∑ p(xi) = 1
                                               xi ∈X
• p(xi+1|xi) é a probabilidade dum símbolo dado o anterior
• p(xi+2|xi+1,xi) é a probabilidade dum símbolo dado os dois
  últimos
• símbolos dependentes (existe memória)

       CCISEL 99                                  Teoria Matemática da Comunicação    7-2
       Criptografia Computacional




                                                                                            1
Modelo de Markov de 1ª ordem - exemplo
• Consideremos uma sequência de símbolos {x1, x2,…, xM}
  produzidos por uma fonte binária X onde cada símbolo só
  depende do anterior, logo p(xn+1| xn, xn-1, … , x1) = p(xn+1| xn)

• Sendo p(0|0) = 0,6, p(1|0) = 0,4, p(0|1) = 0,1, p(1|1) = 0,9
  e 0 o símbolo anterior inicial verifica-se que p(0)=0,2 e
  p(1)=0,8, logo H(p0) ≈ 0,72.

• Entropia da fonte dado que o símbolo anterior foi xi
                     H(X|xi) =x ∑X p(xi+1| xi) log2 1/p(xi+1| xi)
                                 ∈  i +1



• Entropia da fonte dado que se conhece o símbolo anterior
       H(X) = x∑ p(xi)×p(xi+1| xi) log2 1/p(xi+1| xi) ≈ 0,57
               ∈X         i



      CCISEL 99                             Teoria Matemática da Comunicação   7-3
      Criptografia Computacional




Entropia duma fonte discreta com memória
• Admitindo que cada símbolo só depende dos 2 últimos
  símbolos, respectivamente xi+1 e xi (modelo de Markov de 2ª
  ordem) vem que
  H(X) =        ∑ p(xi+1, xi)×p(xi+2| xi+1, xi) log2 1/ p(xi+2| xi+1, xi)
                xi ∈X


• Genericamente, admitindo que cada símbolo só depende dos
  m últimos símbolos (modelo de Markov de ordem m) vem
  que
 H(X) =       ∑ p(xi+m-1 ,…, xi+1, xi) × p (xi+m| xi+m-1 ,…, xi+1, xi) ×
             xi ∈X
                              log2 1/p(xi+m| xi+m-1 ,…, xi+1, xi)


      CCISEL 99                             Teoria Matemática da Comunicação   7-4
      Criptografia Computacional




                                                                                     2
Paradigma da compressão

  Compressão                                                                        Descompressão
                               Codificador                       Descodificador
  mensagem                                   sequência de bits                             mensagem




              Modelo                                                              Modelo



• Representação natural (dimensão fixa) e representação com
  compressão (dimensão variável)
• Compromisso entre o custo do espaço e o custo do tempo


      CCISEL 99                              Teoria Matemática da Comunicação                    7-5
      Criptografia Computacional




Ordem dos modelos

• Modelo livre de contexto ou de ordem 0
   – atribuição de probabilidades fixas para os símbolos da
     fonte, independentemente da sua posição no texto.

• Modelo de ordem n
   – estimativa das probabilidades por observação da
     interdependência dos símbolos, considerando os últimos
     n símbolos da fonte.

• Modelo de ordem -1
   – assumindo à priori uma distribuição de probabilidades,
     por exemplo equiprovável, independentemente do texto.

      CCISEL 99                              Teoria Matemática da Comunicação                    7-6
      Criptografia Computacional




                                                                                                       3
Memória necessária aos modelos

  O rdem do m odelo                Q uantidade de                    Descrição
             n                     m em ória [ byte ]

             0                           512                 tabela de 256 entradas, com
                                                             frequências de ocorrência.

             1                         131072           256 tabelas de 256 entradas cada, com
                                                             frequências de ocorrência.

             2                        33554432           65536 tabelas de 256 entradas cada,
                                                           com frequências de ocorrência.


• A fonte gera 256 símbolos diferentes, não independentes
• O valor da frequência de ocorrência é representado com 2 byte


      CCISEL 99                                 Teoria Matemática da Comunicação               7-7
      Criptografia Computacional




Tipos de modelos

• Modelo estático: o mesmo modelo, determinado a partir
  duma amostra de texto conhecido por exemplo, é usado para
  todos os tipos de texto.
• Modelo semi-adaptativo: para cada mensagem utiliza-se o
  modelo obtido a partir da pré-análise do texto. Implica duas
  passagens sobre o texto.
• Modelo adaptativo: inicialmente tanto o codificador como o
  descodificador estão num estado conhecido (símbolos
  equiprováveis por ex.). Sempre que um símbolo é codificado
  ou descodificado, actualiza-se o modelo “incrementando” a
  sua probabilidade. O próximo símbolo já é codificado ou
  descodificado com o novo modelo e assim sucessivamente.


      CCISEL 99                                 Teoria Matemática da Comunicação               7-8
      Criptografia Computacional




                                                                                                     4
Comparação dos vários modelos

          M o d elo                            V a n ta g en s                           D esv a n ta g e n s

          E stático                S im p licid a d e e v elo c id ad e d e   Q u an d o h á d esaju ste d o m o d elo
                                                ex ecu ç ão .                       a co d ifica ção to rn a-se
                                                                                           in eficie n te.

     S em i-ad ap tativ o          M o d elo ad ap tad o ao s d ad o s.          N ece ssid ad e d e fazer d u as
                                                                              p assa g en s so b re a m en sag em . A
                                                                                tran sm issã o d o m o d elo é u m
                                                                                cu sto e x tra q u e faz b aix a r a
                                                                                 efic iên cia d a co m p re ssão .

        A d ap tativ o            E v ita a tran sm issão d o m o d elo ;        N o in ício d o p ro c esso , tem
                                  este fica ad ap ta d o ao s d ad o s só     b aix a eficiên cia d e c o m p ressão ,
                                    c o m u m a p as sag em so b re a           sen d o p o r isso in eficie n te n a
                                  m en sag e m ; a m elh o r e ficiên c ia       c o m p ressão d e tex to s c o m
                                            d e c o m p ressã o .                      p o u co s sím b o lo s.




     CCISEL 99                                          Teoria Matemática da Comunicação                                  7-9
     Criptografia Computacional




Tipos de codificadores (quanto ao modelo)
• Estatísticos
   – a cada símbolo é atribuído um código de acordo com a
     sua probabilidade de ocorrência
   – codificação de Huffman
   – codificação aritmética (nos métodos mais eficiente é de
     uso comum )

• Baseados em dicionário
   – substituem-se grupos de símbolos consecutivos, por uma
     referência para o dicionário (código)
   – codificação de Lempel-Ziv (nos métodos mais eficiente
     é de uso comum )


     CCISEL 99                                         Teoria Matemática da Comunicação                                  7 - 10
     Criptografia Computacional




                                                                                                                                  5
Tipos de codificadores (quanto à fonte)


• Codificação com modelo de fonte
  – codificação de Huffman (codificação óptima para
    fontes estacionárias)


• Codificação Universal de fonte
  – codificação aritmética
  – codificação de Lempel-Ziv



      CCISEL 99                           Teoria Matemática da Comunicação          7 - 11
      Criptografia Computacional




Codificação de Huffman

     Códigos LP - Lista de                        Árvore binária
     gerados Probabilidades
                                                                    1
     01                 P(a) = 0,25
                                      1
     11                 P(b) = 0,2                                         1
                                      0 0,4                                 0
     10                 P(c) = 0,2                                              1
                                                                         0,6
                                                            1
     001                P(d) = 0,18
                                                    1                0
     0001               P(e) = 0,09                              0,35
                                             1               0
     00001              P(f) = 0,05                      0,17
                                                     0
                                      1          0,08
     000001             P(g) = 0,02          0
                                      0   0,03
     000000             P(h) = 0,01


      CCISEL 99                           Teoria Matemática da Comunicação          7 - 12
      Criptografia Computacional




                                                                                             6
Codificação Aritmética - algoritmo
• Atribuir ao intervalo de probabilidades corrente [L, H[ o
  valor [0, 1[
• Para cada símbolo a codificar:
   – subdividir o intervalo corrente em subintervalos, um para cada
     símbolo possível na mensagem. A largura do subintervalo associado
     a um símbolo é proporcional à probabilidade estimada para que esse
     símbolo seja o próximo símbolo a codificar, de acordo com o mode lo
     da fonte
   – seleccionar o subintervalo correspondente ao próximo símbolo e
     considerar esse o novo intervalo corrente
• Codificar o intervalo corrente final com o número de bits
  suficientes para o distinguir de todos os outros intervalos
  possíveis
(Langdon 1984)

        CCISEL 99                                              Teoria Matemática da Comunicação                                   7 - 13
        Criptografia Computacional




Codificação Aritmética - exemplo
        Símbolo    Probabilidade         Intervalo

           a            0,2               [0..0,2[
                                                               • Modelo utilizado na codificação
           e            0,3              [0,2..0,5[              da sequência “eaii!”
           i            0,1              [0,5..0,6[

           o            0,2              [0,6..0,8[            • Representação      gráfica                                   do
           u            0,1              [0,8..0,9[              processo de codificação
           !            0,1              [0,9..1,0[

                                     e                         a                  i                    i                      !
    1                         0 ,5                    0 ,2 6           0 ,2 3 6           0 ,2 3 3 6             0 ,2 3 3 6
               !                         !                         !                  !                    !                      !
               u                         u                         u                  u                    u                      u

               o                         o                         o                  o                    o                      o
               i                         i                         i                  i                    i                      i

               e                         e                         e                  e                    e                      e


               a                         a                         a                  a                    a                      a
    0                         0 ,2                      0 ,2            0 ,2 3              0 ,2 3 3           0 ,2 3 3 5 4
    ín ic io                                                                                                                  fi m


        CCISEL 99                                              Teoria Matemática da Comunicação                                   7 - 14
        Criptografia Computacional




                                                                                                                                           7
Codificação Aritmética - implementação
•   Codificação
     low = 0 ; high = 0 ; range = 1 ;
     loop
        high = low + range × Higher( simb ) ;
        low = low + range × Lower( simb ) ;
        range = high - low ;
     outputCode = low ;
•   Descodificação
     n = outputCode ;
     loop
        simb = GetSimb(n) ;
        n = ( n- Lower( simb ) ) / Range( simb ) ;
       CCISEL 99                    Teoria Matemática da Comunicação           7 - 15
       Criptografia Computacional




Transformada de Burrows-Wheeler (BWT )
• Algoritmo ao nível do bloco (símbolos rearranjados apenas)
• Transformada reversível
• Texto original - 1 Kbyte (excerto)
the problems of philosophy bertrand russell the problems of philosophy be
rtrand russell oxford university press london oxford new york first publish
ed in the home university library     first issued as an oxford university pr
ess paperback      this reprint      printed in the united states of ameri

• BWT do texto (excerto)
rbvhrvhhmrhlhmhcyyrdrfbrldcnuthtt rbh ssecllt rmmrrhytphmf hvvvvdbbiiitrr
lnt hoo of foi xxxe annnn iii tttnt ttttttttstttttpptttttt tgg gpp clllnrtrndrrrtwh
h aaa    rdshrr tsteff hhhhh l rnwwdsssnnn crsllillmm obebbp bbbeeian iieoo
   aoo eattooeebiiiioiioioaiiioaauaaaaaeuoo iiiieoauuuuw a eiiueiuettdlrrr


       CCISEL 99                    Teoria Matemática da Comunicação           7 - 16
       Criptografia Computacional




                                                                                        8
Entropia estimada depois da BWT
                            Calgary Corpus       Ê(X)    ÊBWT(X)   Ê(X,Y)/2 ÊBWT(X,Y)/2
                                    BIB           5,20    5,20       4,28          3,74
                                  BOOK1           4,53    4,53       4,06          3,83
                                  BOOK2           4,79    4,79       4,27          3,75
                                    GEO           5,65    5,65       4,96          4,75
                                   NEWS           5,19    5,19       4,64          4,12
                                   OBJ1           5,95    5,95       4,71          4,57
                                   OBJ2           6,26    6,26       5,07          4,44
                                  PAPER1          4,98    4,99       4,31          3,86
                                  PAPER2          4,60    4,60       4,06          3,69
                                  PAPER3          4,67    4,67       4,11          3,81
                                  PAPER4          4,70    4,71       4,09          3,88
                                  PAPER5          4,94    4,94       4,23          3,99
                                  PAPER6          5,01    5,01       4,31          3,87
                                    PIC           1,21    1,21       1,02          1,00
                                  PROGC           5,20    5,20       4,40          3,94
                                  PROGL           4,77    4,77       3,99          3,36
                                  PROGP           4,87    4,87       4,03          3,36
                                 TRANS/BWT        5,53    5,53       4,44          3,57
                                 valor médio      4,89    4,89       4,17          3,75



    CCISEL 99                                         Teoria Matemática da Comunicação           7 - 17
    Criptografia Computacional




Entropia estimada depois da BWT+MTF+RLE



             Calgary Corpus                    Ê(X)      ÊBMR(X)      Ê(X,Y)/2 ÊBMR(X,Y)/2
                       BIB                     5,20       3,60              4,28          3,55
                    BOOK1                      4,53       3,39              4,06          3,35
                   PAPER2                      4,60       3,45              4,06          3,40




    CCISEL 99                                         Teoria Matemática da Comunicação           7 - 18
    Criptografia Computacional




                                                                                                          9
Eficácia de compressão depois da BWT




       Tipo de Compressor            Calg. Corpus [bits/byte]   BWT(Calg. Corpus) [bits/byte]
     Codificador de Huffamn                   4,99                          5,00
      Codificador Aritmético                  4,95                          4,96
 Codificador Aritmético (bigramas)            4,16                          3,30




       CCISEL 99                      Teoria Matemática da Comunicação                  7 - 19
       Criptografia Computacional




                                                                                                 10

Mais conteúdo relacionado

Semelhante a Fontes com Memória e Codificação Aritmética

Cripto - Introdução, probabilidades e Conceito de Segurança
Cripto - Introdução, probabilidades e Conceito de SegurançaCripto - Introdução, probabilidades e Conceito de Segurança
Cripto - Introdução, probabilidades e Conceito de SegurançaPedro De Almeida
 
Sessão 10 Códigos Cíclicos
Sessão 10 Códigos CíclicosSessão 10 Códigos Cíclicos
Sessão 10 Códigos CíclicosPedro De Almeida
 
Sessão 6 codificadores estatísticos
Sessão 6 codificadores estatísticosSessão 6 codificadores estatísticos
Sessão 6 codificadores estatísticosPedro De Almeida
 
Criptografia Moderna - Visita do SRBR (Samsung Research do Brasil)
Criptografia Moderna - Visita do SRBR (Samsung Research do Brasil)Criptografia Moderna - Visita do SRBR (Samsung Research do Brasil)
Criptografia Moderna - Visita do SRBR (Samsung Research do Brasil)Ruy De Queiroz
 

Semelhante a Fontes com Memória e Codificação Aritmética (8)

Cripto - Introdução, probabilidades e Conceito de Segurança
Cripto - Introdução, probabilidades e Conceito de SegurançaCripto - Introdução, probabilidades e Conceito de Segurança
Cripto - Introdução, probabilidades e Conceito de Segurança
 
Sessão 10 Códigos Cíclicos
Sessão 10 Códigos CíclicosSessão 10 Códigos Cíclicos
Sessão 10 Códigos Cíclicos
 
Sessão 6 codificadores estatísticos
Sessão 6 codificadores estatísticosSessão 6 codificadores estatísticos
Sessão 6 codificadores estatísticos
 
ITI Slides
ITI SlidesITI Slides
ITI Slides
 
apontamentos69a100.pdf
apontamentos69a100.pdfapontamentos69a100.pdf
apontamentos69a100.pdf
 
Criptografia Moderna - Visita do SRBR (Samsung Research do Brasil)
Criptografia Moderna - Visita do SRBR (Samsung Research do Brasil)Criptografia Moderna - Visita do SRBR (Samsung Research do Brasil)
Criptografia Moderna - Visita do SRBR (Samsung Research do Brasil)
 
Redes ii p2
Redes ii p2Redes ii p2
Redes ii p2
 
Redes ii p2
Redes ii p2Redes ii p2
Redes ii p2
 

Mais de Pedro De Almeida

Java memory model primary ref. - faq
Java memory model   primary ref. - faqJava memory model   primary ref. - faq
Java memory model primary ref. - faqPedro De Almeida
 
Sistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsSistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsPedro De Almeida
 
XSD Incomplete Overview Draft
XSD Incomplete Overview DraftXSD Incomplete Overview Draft
XSD Incomplete Overview DraftPedro De Almeida
 
O Projecto, Gestão de Projectos e o Gestor de Projectos - Parte 1
O Projecto, Gestão de Projectos e o Gestor de Projectos - Parte 1O Projecto, Gestão de Projectos e o Gestor de Projectos - Parte 1
O Projecto, Gestão de Projectos e o Gestor de Projectos - Parte 1Pedro De Almeida
 
Validation of a credit card number
Validation of a credit card numberValidation of a credit card number
Validation of a credit card numberPedro De Almeida
 
Sessao 4 - Chaves espúrias e distância de unicidade
Sessao 4 - Chaves espúrias e distância de unicidadeSessao 4 - Chaves espúrias e distância de unicidade
Sessao 4 - Chaves espúrias e distância de unicidadePedro De Almeida
 
Sessao 3 Informação mútua e equívocos
Sessao 3 Informação mútua e equívocosSessao 3 Informação mútua e equívocos
Sessao 3 Informação mútua e equívocosPedro De Almeida
 
Sessao 2 Introdução à T.I e Entropias
Sessao 2 Introdução à T.I e EntropiasSessao 2 Introdução à T.I e Entropias
Sessao 2 Introdução à T.I e EntropiasPedro De Almeida
 
Avaliação económica de projectos
Avaliação económica de projectosAvaliação económica de projectos
Avaliação económica de projectosPedro De Almeida
 
Workflows, diagramas e classes de Analise. Sistemas de Informação
Workflows, diagramas e classes de Analise. Sistemas de InformaçãoWorkflows, diagramas e classes de Analise. Sistemas de Informação
Workflows, diagramas e classes de Analise. Sistemas de InformaçãoPedro De Almeida
 
Economia: Elementos Básicos, Oferta e Procura
Economia: Elementos Básicos, Oferta e ProcuraEconomia: Elementos Básicos, Oferta e Procura
Economia: Elementos Básicos, Oferta e ProcuraPedro De Almeida
 
Economia mercados governo questões
Economia mercados governo questõesEconomia mercados governo questões
Economia mercados governo questõesPedro De Almeida
 

Mais de Pedro De Almeida (20)

APM Model in .NET - PT-pt
APM Model in .NET - PT-ptAPM Model in .NET - PT-pt
APM Model in .NET - PT-pt
 
Java memory model primary ref. - faq
Java memory model   primary ref. - faqJava memory model   primary ref. - faq
Java memory model primary ref. - faq
 
Sistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsSistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e Threads
 
IP Multicast Routing
IP Multicast RoutingIP Multicast Routing
IP Multicast Routing
 
XSD Incomplete Overview Draft
XSD Incomplete Overview DraftXSD Incomplete Overview Draft
XSD Incomplete Overview Draft
 
O Projecto, Gestão de Projectos e o Gestor de Projectos - Parte 1
O Projecto, Gestão de Projectos e o Gestor de Projectos - Parte 1O Projecto, Gestão de Projectos e o Gestor de Projectos - Parte 1
O Projecto, Gestão de Projectos e o Gestor de Projectos - Parte 1
 
Validation of a credit card number
Validation of a credit card numberValidation of a credit card number
Validation of a credit card number
 
Classes e Objectos JAVA
Classes e Objectos JAVAClasses e Objectos JAVA
Classes e Objectos JAVA
 
Ficheiros em JAVA
Ficheiros em JAVAFicheiros em JAVA
Ficheiros em JAVA
 
Excepções JAVA
Excepções JAVAExcepções JAVA
Excepções JAVA
 
Sessao 4 - Chaves espúrias e distância de unicidade
Sessao 4 - Chaves espúrias e distância de unicidadeSessao 4 - Chaves espúrias e distância de unicidade
Sessao 4 - Chaves espúrias e distância de unicidade
 
Sessao 3 Informação mútua e equívocos
Sessao 3 Informação mútua e equívocosSessao 3 Informação mútua e equívocos
Sessao 3 Informação mútua e equívocos
 
Sessao 2 Introdução à T.I e Entropias
Sessao 2 Introdução à T.I e EntropiasSessao 2 Introdução à T.I e Entropias
Sessao 2 Introdução à T.I e Entropias
 
Basic java tutorial
Basic java tutorialBasic java tutorial
Basic java tutorial
 
Avaliação económica de projectos
Avaliação económica de projectosAvaliação económica de projectos
Avaliação económica de projectos
 
Workflows, diagramas e classes de Analise. Sistemas de Informação
Workflows, diagramas e classes de Analise. Sistemas de InformaçãoWorkflows, diagramas e classes de Analise. Sistemas de Informação
Workflows, diagramas e classes de Analise. Sistemas de Informação
 
Economia: Elementos Básicos, Oferta e Procura
Economia: Elementos Básicos, Oferta e ProcuraEconomia: Elementos Básicos, Oferta e Procura
Economia: Elementos Básicos, Oferta e Procura
 
Economia mercados governo questões
Economia mercados governo questõesEconomia mercados governo questões
Economia mercados governo questões
 
Economia mercados
Economia mercadosEconomia mercados
Economia mercados
 
Economia FAQ
Economia FAQEconomia FAQ
Economia FAQ
 

Último

HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasCassio Meira Jr.
 
Guia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfGuia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfEyshilaKelly1
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfHenrique Pontes
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISVitor Vieira Vasconcelos
 
Mesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecasMesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecasRicardo Diniz campos
 
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 anoAdelmaTorres2
 
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxSlide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxconcelhovdragons
 
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
Educação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPEducação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPanandatss1
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasCassio Meira Jr.
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfIedaGoethe
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024Jeanoliveira597523
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOColégio Santa Teresinha
 
Atividade com a letra da música Meu Abrigo
Atividade com a letra da música Meu AbrigoAtividade com a letra da música Meu Abrigo
Atividade com a letra da música Meu AbrigoMary Alvarenga
 

Último (20)

HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdf
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e Específicas
 
Guia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfGuia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdf
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGIS
 
Mesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecasMesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecas
 
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
 
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxSlide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
 
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
 
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
 
Educação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPEducação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SP
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades Motoras
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
 
Atividade com a letra da música Meu Abrigo
Atividade com a letra da música Meu AbrigoAtividade com a letra da música Meu Abrigo
Atividade com a letra da música Meu Abrigo
 

Fontes com Memória e Codificação Aritmética

  • 1. Sessão nº7 Fontes com Memória e Codificação Aritmética CCISEL 99 Teoria Matemática da Comunicação 7-1 Criptografia Computacional Modelo de fonte discreta com memória X fonte sem + xi ∈ { x1, x2,…, xM } memória f (xi, xi+1 ,… xi+K) • xi representa um símbolo da fonte • p(xi) é a probabilidade dum símbolo tal que ∑ p(xi) = 1 xi ∈X • p(xi+1|xi) é a probabilidade dum símbolo dado o anterior • p(xi+2|xi+1,xi) é a probabilidade dum símbolo dado os dois últimos • símbolos dependentes (existe memória) CCISEL 99 Teoria Matemática da Comunicação 7-2 Criptografia Computacional 1
  • 2. Modelo de Markov de 1ª ordem - exemplo • Consideremos uma sequência de símbolos {x1, x2,…, xM} produzidos por uma fonte binária X onde cada símbolo só depende do anterior, logo p(xn+1| xn, xn-1, … , x1) = p(xn+1| xn) • Sendo p(0|0) = 0,6, p(1|0) = 0,4, p(0|1) = 0,1, p(1|1) = 0,9 e 0 o símbolo anterior inicial verifica-se que p(0)=0,2 e p(1)=0,8, logo H(p0) ≈ 0,72. • Entropia da fonte dado que o símbolo anterior foi xi H(X|xi) =x ∑X p(xi+1| xi) log2 1/p(xi+1| xi) ∈ i +1 • Entropia da fonte dado que se conhece o símbolo anterior H(X) = x∑ p(xi)×p(xi+1| xi) log2 1/p(xi+1| xi) ≈ 0,57 ∈X i CCISEL 99 Teoria Matemática da Comunicação 7-3 Criptografia Computacional Entropia duma fonte discreta com memória • Admitindo que cada símbolo só depende dos 2 últimos símbolos, respectivamente xi+1 e xi (modelo de Markov de 2ª ordem) vem que H(X) = ∑ p(xi+1, xi)×p(xi+2| xi+1, xi) log2 1/ p(xi+2| xi+1, xi) xi ∈X • Genericamente, admitindo que cada símbolo só depende dos m últimos símbolos (modelo de Markov de ordem m) vem que H(X) = ∑ p(xi+m-1 ,…, xi+1, xi) × p (xi+m| xi+m-1 ,…, xi+1, xi) × xi ∈X log2 1/p(xi+m| xi+m-1 ,…, xi+1, xi) CCISEL 99 Teoria Matemática da Comunicação 7-4 Criptografia Computacional 2
  • 3. Paradigma da compressão Compressão Descompressão Codificador Descodificador mensagem sequência de bits mensagem Modelo Modelo • Representação natural (dimensão fixa) e representação com compressão (dimensão variável) • Compromisso entre o custo do espaço e o custo do tempo CCISEL 99 Teoria Matemática da Comunicação 7-5 Criptografia Computacional Ordem dos modelos • Modelo livre de contexto ou de ordem 0 – atribuição de probabilidades fixas para os símbolos da fonte, independentemente da sua posição no texto. • Modelo de ordem n – estimativa das probabilidades por observação da interdependência dos símbolos, considerando os últimos n símbolos da fonte. • Modelo de ordem -1 – assumindo à priori uma distribuição de probabilidades, por exemplo equiprovável, independentemente do texto. CCISEL 99 Teoria Matemática da Comunicação 7-6 Criptografia Computacional 3
  • 4. Memória necessária aos modelos O rdem do m odelo Q uantidade de Descrição n m em ória [ byte ] 0 512 tabela de 256 entradas, com frequências de ocorrência. 1 131072 256 tabelas de 256 entradas cada, com frequências de ocorrência. 2 33554432 65536 tabelas de 256 entradas cada, com frequências de ocorrência. • A fonte gera 256 símbolos diferentes, não independentes • O valor da frequência de ocorrência é representado com 2 byte CCISEL 99 Teoria Matemática da Comunicação 7-7 Criptografia Computacional Tipos de modelos • Modelo estático: o mesmo modelo, determinado a partir duma amostra de texto conhecido por exemplo, é usado para todos os tipos de texto. • Modelo semi-adaptativo: para cada mensagem utiliza-se o modelo obtido a partir da pré-análise do texto. Implica duas passagens sobre o texto. • Modelo adaptativo: inicialmente tanto o codificador como o descodificador estão num estado conhecido (símbolos equiprováveis por ex.). Sempre que um símbolo é codificado ou descodificado, actualiza-se o modelo “incrementando” a sua probabilidade. O próximo símbolo já é codificado ou descodificado com o novo modelo e assim sucessivamente. CCISEL 99 Teoria Matemática da Comunicação 7-8 Criptografia Computacional 4
  • 5. Comparação dos vários modelos M o d elo V a n ta g en s D esv a n ta g e n s E stático S im p licid a d e e v elo c id ad e d e Q u an d o h á d esaju ste d o m o d elo ex ecu ç ão . a co d ifica ção to rn a-se in eficie n te. S em i-ad ap tativ o M o d elo ad ap tad o ao s d ad o s. N ece ssid ad e d e fazer d u as p assa g en s so b re a m en sag em . A tran sm issã o d o m o d elo é u m cu sto e x tra q u e faz b aix a r a efic iên cia d a co m p re ssão . A d ap tativ o E v ita a tran sm issão d o m o d elo ; N o in ício d o p ro c esso , tem este fica ad ap ta d o ao s d ad o s só b aix a eficiên cia d e c o m p ressão , c o m u m a p as sag em so b re a sen d o p o r isso in eficie n te n a m en sag e m ; a m elh o r e ficiên c ia c o m p ressão d e tex to s c o m d e c o m p ressã o . p o u co s sím b o lo s. CCISEL 99 Teoria Matemática da Comunicação 7-9 Criptografia Computacional Tipos de codificadores (quanto ao modelo) • Estatísticos – a cada símbolo é atribuído um código de acordo com a sua probabilidade de ocorrência – codificação de Huffman – codificação aritmética (nos métodos mais eficiente é de uso comum ) • Baseados em dicionário – substituem-se grupos de símbolos consecutivos, por uma referência para o dicionário (código) – codificação de Lempel-Ziv (nos métodos mais eficiente é de uso comum ) CCISEL 99 Teoria Matemática da Comunicação 7 - 10 Criptografia Computacional 5
  • 6. Tipos de codificadores (quanto à fonte) • Codificação com modelo de fonte – codificação de Huffman (codificação óptima para fontes estacionárias) • Codificação Universal de fonte – codificação aritmética – codificação de Lempel-Ziv CCISEL 99 Teoria Matemática da Comunicação 7 - 11 Criptografia Computacional Codificação de Huffman Códigos LP - Lista de Árvore binária gerados Probabilidades 1 01 P(a) = 0,25 1 11 P(b) = 0,2 1 0 0,4 0 10 P(c) = 0,2 1 0,6 1 001 P(d) = 0,18 1 0 0001 P(e) = 0,09 0,35 1 0 00001 P(f) = 0,05 0,17 0 1 0,08 000001 P(g) = 0,02 0 0 0,03 000000 P(h) = 0,01 CCISEL 99 Teoria Matemática da Comunicação 7 - 12 Criptografia Computacional 6
  • 7. Codificação Aritmética - algoritmo • Atribuir ao intervalo de probabilidades corrente [L, H[ o valor [0, 1[ • Para cada símbolo a codificar: – subdividir o intervalo corrente em subintervalos, um para cada símbolo possível na mensagem. A largura do subintervalo associado a um símbolo é proporcional à probabilidade estimada para que esse símbolo seja o próximo símbolo a codificar, de acordo com o mode lo da fonte – seleccionar o subintervalo correspondente ao próximo símbolo e considerar esse o novo intervalo corrente • Codificar o intervalo corrente final com o número de bits suficientes para o distinguir de todos os outros intervalos possíveis (Langdon 1984) CCISEL 99 Teoria Matemática da Comunicação 7 - 13 Criptografia Computacional Codificação Aritmética - exemplo Símbolo Probabilidade Intervalo a 0,2 [0..0,2[ • Modelo utilizado na codificação e 0,3 [0,2..0,5[ da sequência “eaii!” i 0,1 [0,5..0,6[ o 0,2 [0,6..0,8[ • Representação gráfica do u 0,1 [0,8..0,9[ processo de codificação ! 0,1 [0,9..1,0[ e a i i ! 1 0 ,5 0 ,2 6 0 ,2 3 6 0 ,2 3 3 6 0 ,2 3 3 6 ! ! ! ! ! ! u u u u u u o o o o o o i i i i i i e e e e e e a a a a a a 0 0 ,2 0 ,2 0 ,2 3 0 ,2 3 3 0 ,2 3 3 5 4 ín ic io fi m CCISEL 99 Teoria Matemática da Comunicação 7 - 14 Criptografia Computacional 7
  • 8. Codificação Aritmética - implementação • Codificação low = 0 ; high = 0 ; range = 1 ; loop high = low + range × Higher( simb ) ; low = low + range × Lower( simb ) ; range = high - low ; outputCode = low ; • Descodificação n = outputCode ; loop simb = GetSimb(n) ; n = ( n- Lower( simb ) ) / Range( simb ) ; CCISEL 99 Teoria Matemática da Comunicação 7 - 15 Criptografia Computacional Transformada de Burrows-Wheeler (BWT ) • Algoritmo ao nível do bloco (símbolos rearranjados apenas) • Transformada reversível • Texto original - 1 Kbyte (excerto) the problems of philosophy bertrand russell the problems of philosophy be rtrand russell oxford university press london oxford new york first publish ed in the home university library first issued as an oxford university pr ess paperback this reprint printed in the united states of ameri • BWT do texto (excerto) rbvhrvhhmrhlhmhcyyrdrfbrldcnuthtt rbh ssecllt rmmrrhytphmf hvvvvdbbiiitrr lnt hoo of foi xxxe annnn iii tttnt ttttttttstttttpptttttt tgg gpp clllnrtrndrrrtwh h aaa rdshrr tsteff hhhhh l rnwwdsssnnn crsllillmm obebbp bbbeeian iieoo aoo eattooeebiiiioiioioaiiioaauaaaaaeuoo iiiieoauuuuw a eiiueiuettdlrrr CCISEL 99 Teoria Matemática da Comunicação 7 - 16 Criptografia Computacional 8
  • 9. Entropia estimada depois da BWT Calgary Corpus Ê(X) ÊBWT(X) Ê(X,Y)/2 ÊBWT(X,Y)/2 BIB 5,20 5,20 4,28 3,74 BOOK1 4,53 4,53 4,06 3,83 BOOK2 4,79 4,79 4,27 3,75 GEO 5,65 5,65 4,96 4,75 NEWS 5,19 5,19 4,64 4,12 OBJ1 5,95 5,95 4,71 4,57 OBJ2 6,26 6,26 5,07 4,44 PAPER1 4,98 4,99 4,31 3,86 PAPER2 4,60 4,60 4,06 3,69 PAPER3 4,67 4,67 4,11 3,81 PAPER4 4,70 4,71 4,09 3,88 PAPER5 4,94 4,94 4,23 3,99 PAPER6 5,01 5,01 4,31 3,87 PIC 1,21 1,21 1,02 1,00 PROGC 5,20 5,20 4,40 3,94 PROGL 4,77 4,77 3,99 3,36 PROGP 4,87 4,87 4,03 3,36 TRANS/BWT 5,53 5,53 4,44 3,57 valor médio 4,89 4,89 4,17 3,75 CCISEL 99 Teoria Matemática da Comunicação 7 - 17 Criptografia Computacional Entropia estimada depois da BWT+MTF+RLE Calgary Corpus Ê(X) ÊBMR(X) Ê(X,Y)/2 ÊBMR(X,Y)/2 BIB 5,20 3,60 4,28 3,55 BOOK1 4,53 3,39 4,06 3,35 PAPER2 4,60 3,45 4,06 3,40 CCISEL 99 Teoria Matemática da Comunicação 7 - 18 Criptografia Computacional 9
  • 10. Eficácia de compressão depois da BWT Tipo de Compressor Calg. Corpus [bits/byte] BWT(Calg. Corpus) [bits/byte] Codificador de Huffamn 4,99 5,00 Codificador Aritmético 4,95 4,96 Codificador Aritmético (bigramas) 4,16 3,30 CCISEL 99 Teoria Matemática da Comunicação 7 - 19 Criptografia Computacional 10