Ich hab ja auf meinem PC schon einen AutoIt-Ordner mit unmengen Skripten die ich üblicherweise auch korrekt benenne. Aber das klappt auch nur, wenn man alles was man mit AutoIt macht grundsätzlich in diesen Ordner verschiebt und benennt/taggt. Der "adaptive" Teil ist in irgendeinem Skript wo ich das ausprobiert hatte, habe es aber nicht in die Dec2Bin UDF eingebaut, obwohl es da eigentlich hingehört.
Ich glaube ich bastel noch eine "optimale" Version davon (der prefix wird via HuffmanTree ermittelt anstatt dass man ihn "pi mal Daumen" von Hand schätzt). Das wäre dann so:
- Input: Wahrscheinlichkeit für 1, 2, ..., n Bit Zahlen (dann kann man den Huffman mit den Symbolen 1, 2, ..., n und den Wahrscheinlichkeiten p(1), p(2), ... p(n) laufen lassen)
- Output: Prefixset das die benötigten Bits zur Darstellung dieser Zahlen minimiert.
(wir sind hier aber immernoch mit "ganzen Bits ohne Übertrag" unterwegs, also wird der Prefix auf maximal 0.5 Bit optimal, außerdem werden Sonderstellungen (z.B. die Zahl 0 taucht echt oft auf, und sollte daher nicht als "prefix + bits", sondern direkt kodiert werden) nicht berücksichtigt, was im schlimmsten fall nochmal ein Bit pro Zahl schluckt... ). Immernoch weit vom Entropielimit entfernt, aber ein erster Ansatz.
Edit: Ich bin ziemlich blöd... Habe irgendwann mal eine Base.au3 gebastelt (zur Umrechnung zwischen z.B. Base10 und Base2, vielleicht kennt man sie aus meiner Abgabe zum Kompressionswettbewerb, Februar 22 von Oscar). Dort war auch die Adaptive version... Warum hat mir die Windows Suche (die ja angeblich auch Dateiinhalte durchsucht) das nicht angezeigt? Muss ich den Ordner wirklich mit VS Code öffnen und dann suchen? Oh man...
Edit2: Adaptive Version (Huff) ist im Startpost. Die wollte ich schon seit Ewigkeiten bauen und hab es immer nicht gemacht^^
M