Pomaličku se přibližujeme k ideálnímu kompresnímu algoritmu, kdy v sobě bude mít dekompresní program uloženou tabulku všech možných výstupů seřazenou podle pravděpodobnosti výskytu a zkomprimovaný soubor bude obsahovat pouze indexy do této tabulky :-)
Problém je, že velikost indexů bude větší než ta data. Mé oblíbené https://katiesteckles.co.uk/pisearch/ mi najde moje 9čísel telefonní číslo, ale najde mi ho na 10čísel indexu.
Z toho si nic nedělejte.
My máme v práci jednoho bombarďáka, kterej je sice šikovnej, ale „všude byl a všechno zná“ a když někdy výjimečně hodí vtip, taky málokdo pochopí, že to je vtip. To je holt úděl těch nadprůměrně inteligentních.
Doporučuji pro tyto účely používat spíše mrkacího smajlíka. ";-)"
13. 10. 2025, 09:55 editováno autorem komentáře
Pokud máte (bezztrátový) kompresní algoritmus a použijete ho na všechny možné vstupy (řekněme 9-ciferná čísla), pak součet velikostí výstupů nemůže být menší než součet velikostí vstupů. Je to jen o tom, že některé vstupy považujeme za více pravděpodobné než jiné a tedy je v tom algoritmu preferujeme. Například v tom příkladu s indexy bychom malé indexy kódovali méně bity než velké.
11. 10. 2025, 21:43 editováno autorem komentáře
Mimochodem, ta stránka https://katiesteckles.co.uk/pisearch/ ve skutečnosti nehledá ve skutečném π. Přesněji hledá jen v prvních 100 000 cifrách, které má uložené tady: https://katiesteckles.co.uk/pisearch/pi_const.js. Pokud ale hledané číslo nenajde, tak si výsledky vycucá z prstu – jak index výsledku, tak cifry vlevo a vpravo od odhledaného řetězce; klíčové řádky přímo z vloženého skriptu jsou tyhle:
var SearchResult = pi.search(SearchString);
...
if (SearchResult == -1) {
var num = 10**SearchString.length
SearchResult = Math.floor((num/10)+(9.9*num*seedrng()));
var chunksToOutput = [Math.floor(1000000000000000*seedrng()).toString(), SearchString, Math.floor(1000000000000000*seedrng()).toString()];
...
}12. 10. 2025, 19:26 editováno autorem komentáře
Tak prý je to otevřený problém https://math.stackexchange.com/questions/216343/does-pi-contain-all-possible-number-combinations
Další zajímavost.