diff --git a/Lab3/lab3_solution.ipynb b/Lab3/lab3_solution.ipynb index fe909f8..5b41f80 100644 --- a/Lab3/lab3_solution.ipynb +++ b/Lab3/lab3_solution.ipynb @@ -313,6 +313,57 @@ "# 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": {}, "cell_type": "markdown", @@ -363,6 +414,56 @@ "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", "metadata": {},