This commit is contained in:
Adam Wojdyla 2023-03-29 04:16:25 +02:00
parent c9d19f350c
commit 582e470488

View File

@ -313,6 +313,57 @@
"# Nie do końca rozumiem jak mam zapisać ten codec." "# Nie do końca rozumiem jak mam zapisać ten codec."
] ]
}, },
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Entropia\n",
" \n",
"| | Entropia |\n",
"| ----------- | ----------- |\n",
"| tekst w jęz. naturalnym | 1.8044238296689334|\n",
"| losowy tekst (jednostajny) | 6.016344 |\n",
"| losowy tekst (geometryczny)| 3.5592 |\n",
"| losowy tekst (dwupunktowy 0.5) | 1.27216 |\n",
"| losowy tekst (dwupunktowy 0.9) | 0.760824 |\n"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"Wielkości w bitach:\n",
" \n",
"| | Plik nieskompresowany | Plik skompresowany (zip, tar,.. ) | Plik skompresowany + tablica kodowa) |\n",
"| ----------- | ----------- |-----------|----------- |\n",
"| tekst w jęz. naturalnym |54358422*8|12130821*8|29452163*8|\n",
"| losowy tekst (jednostajny) |1000000*8|752307*8|748756*8|\n",
"| losowy tekst (geometryczny)|1000000*8|44629*8|37535*8|\n",
"| losowy tekst (dwupunktowy 0.5)|1000000*8|150394*8|187520*8|\n",
"| losowy tekst (dwupunktowy 0.9)|1000000*8|82011*8|137559*8|"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Wnioski:"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"- Najmniej optymalnie koduje się tekst naturalny.\n",
"- Kodowanie Huffmana jest najbardziej optymalne dla rozkładu dwupunktowego 0.9, poniewaz mała grupa znaków ma bardzo duze prawdopowobienstwo wystąpienia i na odwrot.\n",
"- Kompresja .tar bardziej opłacalna dla języka naturalnego\n",
"- Dla losowych tekstów im mniejsza entropia tym bardziej wydajna kompresja\n",
"- Losowy tekst (rozkład jednostajny) ma większą entropię niż tekst w języku naturalnym"
]
},
{ {
"attachments": {}, "attachments": {},
"cell_type": "markdown", "cell_type": "markdown",
@ -363,6 +414,56 @@
"print(unigram_entropy(words))" "print(unigram_entropy(words))"
] ]
}, },
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"Entropia\n",
" \n",
"| | Entropia |\n",
"| ----------- | ----------- |\n",
"| tekst w jęz. naturalnym |9.27320212652544|\n",
"| losowy tekst (jednostajny) | 6.016344 |\n",
"| losowy tekst (geometryczny)| 3.5592 |\n"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"Wielkości w bitach:\n",
" \n",
"| | Plik nieskompresowany | Plik skompresowany (zip, tar,.. ) | Plik skompresowany + tablica kodowa) |\n",
"| ----------- | ----------- |-----------|----------- |\n",
"| tekst w jęz. naturalnym |54358422*8|12130821*8|29452163*8|\n",
"| losowy tekst (jednostajny) |1000000*8|752307*8|748756*8|\n",
"| losowy tekst (geometryczny)|1000000*8|44629*8|37535*8|\n",
"| losowy tekst (dwupunktowy 0.5)|1000000*8|150394*8|187520*8|\n",
"| losowy tekst (dwupunktowy 0.9)|1000000*8|82011*8|137559*8|"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Wnioski:\n"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"- korpusy bez spacji (które mają tylko 1 wyraz) mają tylko jeden bajt\n",
"- Korpusy bez spacji mają większą tablice kodową niż nieskompresowany plik\n",
"- Kompresowanie na wyrazach wydaję się być gorsze niż na znakach z powodu ogromnej tablicy kodowej\n",
"- W jęzuku naturalbym częściej występują te same wyrazy niż w losowym tekście (jednostajnym)\n",
"- Kompresowanie huffmanem na słowach dla plików z jednym wyrazem nie ma sesnu"
]
},
{ {
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {}, "metadata": {},