### Exemplo Covid - MN908947
## Objetivo: Comparar os resultados dos procedimentos de compactação via MMC (modelos markovianos completos) e MMP (modelos markovianos de partição) para a sequência de bases do genoma do Covid-19.

## Setup da modelagem
> {Xt} - cadeia de Markov de com interstício (g=0, G=9, M=3), sobre o alfabeto A1;
> A1 = {a,c,g,t};
> Espaço de estados S = A1 X A1^3 = A1^4
> Partição de S: \mathcal{L}.

## Setup do algoritmo de compactação
> Alfabeto pré-fixado: {a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}, que será transmitido pelo método enumerativo (\mathcal{A}_2 segundo a notação do artigo);
> São reservados 4 bits para transmitir a memória imediata (M) e 8 bits para o interstício (G) a serem considerados na modelagem (o valor de g foi previamente definido como 0, mas pode-se reservar bits para ele para deixar o processo mais geral);
> Para o caso de modelos de partição, a partição estimada será transmitida utilizando um código de Huffman, e as contagens necessárias para delineá-lo são comunicadas via método \mathcal{C}_1 (segundo a notação do artigo);
> As contagens necessárias para delinear os códigos de Huffman condicionais são comunicadas via método \mathcal{C}_1;
> As contagens necessárias para delinear o código de Huffman marginal são comunicadas via método \mathcal{C}_2.

## Arquivos de resultados
# "MMP - partição estimada - (...).txt" - contém a configuração da partição estimada pelo método MMP;
# "MMP - trans partes - (...).txt" - contém a configuração das probabilidades de transição das partes estimadas pelo método MMP;
# "Comparação MMC e MMP - (...).txt" - contém a comparação dos números de bits utilizados para representar cada uma das componentes da string compactada para os métodos MMC e MMP. Eis o significado de cada linha:
> Alfabeto: string binária que representa quais elementos do alfabeto pré-fixado estão presentes na mensagem a ser transmitida;
> Modelo: string binária que representa o valor da memória o do modelo markoviano;
> Partição: string binária constituída pela partição codificada e os códigos utilizados para determiná-la (presente apenas nos modelos de partição);
> Cod cond: string binária composta por todos os códigos condicionais necessários para codificar a mensagem a ser transmitida;
> Cod marg: string binária que representa o código que será utilizado para codificar os o elementos da mensagem a ser transmitida;
> Mens cod: string binária resultante da codificação da mensagem original pelos códigos marginais e condicionais;
> Total: string binária resultante da concatenação do cabeçalho e da mensagem codificada.

## Observações
> Os resultados obtidos na estimação da partição são os mesmos do artigo do Covid. Dessa forma, se for necessário informar a partição resultante e suas probabilidades de transição, as tabelas já feitas anteriormente podem ser reutilizadas. Apenas a enumeração da partes dentro da partição está diferente;
> O resultado da compactação está diferente da tese, pois lá há diversas considerações, por exemplo, inclusão de bits de identificação para paradigmas de escolha e possibilidade de codificação pelo método árvore;
> Como foi fixado o uso do método \mathcal{C}_1 para transmitir as codificações condicionais (e este é menos eficiente do que o método árvore quando há grandes contagens) a economia no tamanho do cabeçalho proposta pelo método MMP é muito maior do que a observada na tese, que transmite as codificações condicionais de maneira mais eficiente, conforme mencionado acima.