Kompresja strukturalna zmierzona: oś zależności zamknięta, nisza zawężona
Dwa benchmarki na jawnym korpusie kontynuują wpis z 2026-07-14, negatywy w pierwszej kolejności: kodowanie zależnościowe XOR obalone w 1D i 2D, historyczna wersja kodeka, która nie odkodowywała własnego wyniku, i pozytyw, który nie przeniósł się na realne skany — jedyną niszą zostają rastry generowane cyfrowo z powtarzalnością co do bitu. Wraz z korektami wcześniejszego wpisu.
Koch Laboratory — kompresja strukturalna zmierzona: oś zależności zamknięta, nisza zawężona
Wpis z 2026-07-14 kończył się zapowiedzią zdefiniowanego benchmarku z jawnym korpusem i punktami odniesienia, bo stopień kompresji żadnego z kierunków nie był wtedy zmierzony. Ten wpis podaje wyniki dwóch sesji pomiarowych: benchmarku 1 (2026-07-15; 10 plików, 154 pomiary) i benchmarku 2 (2026-07-17; obrazy realistyczne, 51 pomiarów). Kryteria falsyfikowalne ustalono przed każdą sesją, a każde odkodowanie sprawdzano skrótem SHA-256 względem oryginału. Stwierdzenia wpisu z 2026-07-14, które pomiary zmieniły, są zebrane w sekcji „Korekty wpisu z 2026-07-14”.
Bilans w trzech zdaniach. Oś kodowania zależnościowego jest obalona w 1D i w 2D i zostaje zamknięta. Historyczna wersja kodeka PGA nie odtwarzała danych, które sama zakodowała. Po naprawie kodek wygrywa z klasycznymi punktami odniesienia wyłącznie na rastrze generowanym cyfrowo, w którym powtórzenia są sztywne i dokładne co do bitu — na realnych skanach i renderowanych stronach przegrywa.
Metodyka. Problem → stan techniki → kryterium ustalone przed pomiarem → metoda → wynik z warunkami brzegowymi → następny krok. Stopień kompresji = rozmiar wyniku / rozmiar wejścia: mniej znaczy lepiej, powyżej 1 oznacza ekspansję. Do wyniku liczony jest cały kontener — nagłówki, metadane, bity brzegowe, suma kontrolna — a nie sam ładunek. Oznaczenia kryteriów (F1–F7) odpowiadają prywatnym protokołom pomiarowym, których skróty podaje sekcja 9.
Zasada publikacji. Dla kierunków wciąż otwartych publikujemy problem, stan techniki, kryterium i wynik — nie konstrukcję. Gdzie widnieje „Konstrukcja: wstrzymana.”, szczegół techniczny jest utrzymywany jako materiał zgłoszeniowy. Oś kodowania zależnościowego jest zamknięta jako sfalsyfikowana, dlatego jej reguła jest tu podana jawnie.
1. Kierunek 1 — kodowanie zależnościowe 1D: reguła ujawniona, hipoteza obalona
Pytanie badawcze. Czy odwracalna reprezentacja strumienia jako warstw relacji między sąsiednimi bitami daje po klasycznym koderze końcowym wynik mniejszy niż ten sam koder bez transformacji oraz niż zlib-9 i zstd-19?
Reguła (ujawniona, bo oś jest zamknięta). Pierwsza warstwa to XOR każdej pary sąsiednich bitów, b[i] ⊕ b[i+1]; każda kolejna powstaje z poprzedniej według tej samej reguły. Odwrócenie L warstw wymaga L bitów brzegowych.
Uwaga analityczna. Dla zmierzonych głębokości L = 1, 2, 4, 8 iteracja daje dokładnie b[i] ⊕ b[i+L] (współczynniki dwumianowe modulo 2): warstwa L jest różnicą XOR na odległość L, a osiem warstw to różnica XOR sąsiednich bajtów. Przy zmierzonych głębokościach transformacja mieści się więc w klasycznym kodowaniu różnicowym.
Stan techniki (publikowany). Kodowanie różnicowe i predykcyjne (w tym różnica XOR), RLE, DEFLATE (zlib, gzip), zstd.
Kryteria (ustalone przed pomiarem). F1: SHA-256 rekonstrukcji równy SHA-256 oryginału przy każdym odkodowaniu. F2: warstwa L z koderem końcowym daje wynik mniejszy niż ten sam kontener bez transformacji (L = 0), dla L ∈ {1, 2, 4, 8}. F3: wynik mniejszy niż zlib-9 i niż zstd-19.
Metoda. Korpus 10 plików (sekcja 8); L ∈ {0, 1, 2, 4, 8}; koder końcowy RLE albo zlib-9; razem 100 pomiarów. Mierzono kanoniczną reimplementację z kompletem bitów brzegowych — wcześniejsza implementacja referencyjna zapisywała tylko pierwszy z nich, więc nie mogła odkodować więcej niż jednej warstwy.
Wynik. Stopień kompresji z koderem końcowym zlib-9 (cały kontener) oraz punkty odniesienia na surowych danych:
| plik | L = 0 (kontrola) | L = 1 | L = 2 | L = 4 | L = 8 | zlib-9 | zstd-19 |
|---|---|---|---|---|---|---|---|
| tekst techniczny | 0,2929 | 0,2972 | 0,3083 | 0,3261 | 0,3541 | 0,2903 | 0,2778 |
| syntetyczny raster formularza | 0,1411 | 0,1439 | 0,1581 | 0,1714 | 0,1720 | 0,1411 | 0,1069 |
| telemetria (CSV) | 0,1623 | 0,1624 | 0,1648 | 0,1694 | 0,2050 | 0,1622 | 0,0740 |
| plik rzadki | 0,0028 | 0,0029 | 0,0030 | 0,0033 | 0,0034 | 0,0026 | 0,0014 |
| długie serie bitów | 0,0067 | 0,0065 | 0,0065 | 0,0065 | 0,0065 | 0,0065 | 0,0094 |
| dane losowe | 1,0005 | 1,0005 | 1,0005 | 1,0005 | 1,0005 | 1,0003 | 1,0001 |
| wycinek pliku wykonywalnego | 0,8641 | 0,8701 | 0,8762 | 0,8838 | 0,8937 | 0,8640 | 0,8509 |
| same zera | 0,0012 | 0,0012 | 0,0012 | 0,0012 | 0,0012 | 0,0011 | 0,0001 |
| bity naprzemienne | 0,0012 | 0,0012 | 0,0012 | 0,0012 | 0,0012 | 0,0011 | 0,0001 |
| plik okresowy | 0,0034 | 0,0035 | 0,0036 | 0,0034 | 0,0028 | 0,0033 | 0,0004 |
Z koderem zlib-9 wynik pogarsza się monotonicznie z liczbą warstw na pięciu plikach: tekście technicznym, syntetycznym rastrze formularza, telemetrii, pliku rzadkim i wycinku pliku wykonywalnego. Wyjątki są wyłącznie syntetyczne. Na pliku długich serii jedna warstwa oszczędza 48 B względem tego samego kontenera bez transformacji (1707 wobec 1755 B), co daje dokładnie wynik samego zlib-9 (1707 B). Na pliku okresowym osiem warstw oszczędza 175 B (725 wobec 900 B), a zstd-19 koduje ten plik do 97 B. Na danych losowych i w obu przypadkach zdegenerowanych (same zera, bity naprzemienne) wynik jest stały z dokładnością do 1 B. Z koderem RLE transformacja zamieniła ekspansję w kompresję tylko na jednym pliku — pliku bitów naprzemiennych (16,00 → 0,0629 przy jednej warstwie), który zlib-9 bez żadnej transformacji koduje do 0,0011. Tam, gdzie warstwy zmniejszały wynik RLE na innych plikach, pozostawał on większy od wejścia (np. raster formularza 1,51, telemetria 5,74, tekst techniczny 6,33). Rozstrzygnięcie kryteriów. F1: spełnione, 100/100. F2: ze zlib-9 spełnione tylko na dwóch plikach syntetycznych (długie serie, plik okresowy), z RLE tylko tam, gdzie wynik nadal jest większy od wejścia, oraz na bitach naprzemiennych. F3: niespełnione na 10 z 10 plików — żaden wynik z transformacją nie był mniejszy jednocześnie od zlib-9 i od zstd-19. Hipoteza obalona. Mechanizm (zmierzony). Na tekście i telemetrii pierwsze warstwy pchają gęstość jedynek ku 0,5: tekst techniczny 0,3932 → 0,4607 (L = 1) → 0,4805 (L = 2), telemetria 0,4261 → 0,5119 (L = 1). Transformacja zaciera więc strukturę widzianą przez koder końcowy, zamiast ją eksponować. Gdzie gęstość spada, wynik i tak się nie poprawia: na syntetycznym rastrze formularza jedna warstwa obniża gęstość z 0,1918 do 0,1365, a stopień kompresji ze zlib-9 rośnie z 0,1411 do 0,1439. Ten sam wzorzec powtarza się w 2D (sekcja 6). Następny krok. Brak — oś zamknięta (sekcja 7). Status: sfalsyfikowane pomiarowo (F3 niespełnione na 10/10 plików; F1 spełnione 100/100); oś zamknięta.
2. Kierunek 1 — pełna piramida warstw: odwracalna, ale kwadratowa
Pytanie badawcze. Czy historyczna implementacja, która buduje pełną piramidę warstw aż do pojedynczego bitu, jest wykonalna? Kryteria. Jak w sekcji 1 (F1–F3). Metoda. Implementacja historyczna bez modyfikacji, uruchomiona na prefiksach tekstu technicznego o długości od 128 do 1024 B. Wynik.
| wejście | wyjście | wyjście / wejście | czas kodowania |
|---|---|---|---|
| 128 B | 515 415 B | ×4027 | 0,086 s |
| 256 B | 2 055 749 B | ×8030 | 0,257 s |
| 512 B | 8 285 223 B | ×16 182 | 0,969 s |
| 1024 B | 33 310 203 B | ×32 529 | 3,844 s |
Piramida dla n bitów wejścia zawiera n(n−1)/2 bitów zależności; zmierzone wyjście odpowiada n(n−1)/2 bajtom z dokładnością do 2 % (98,1–99,3 %), czyli ok. jednemu bajtowi na bit zależności. Rozmiar i czas rosną kwadratowo. Ekstrapolacja na plik wykonywalny 14,2 MB z wpisu z 2026-07-14: ok. 6,5 PB wyjścia i ok. 23 lata obliczeń na maszynie pomiarowej. F1 spełnione (4/4); F2 i F3 obalone — wynik jest od ok. 4 tys. do ok. 32,5 tys. razy większy od wejścia. Uwaga o konstrukcji: dekoder tej implementacji czyta wyłącznie pierwszą warstwę (z jednym bitem brzegowym wystarcza ona do odtworzenia), więc zapis warstw od drugiej wzwyż jest z założenia nadmiarowy. Następny krok. Brak — implementacja wycofana. Status: odwracalna (4/4), niewykonalna poza rozmiarami zabawkowymi; wycofana.
3. Kierunek 2 — kodek PGA w wersji historycznej: odtworzenie nieudane na 10 z 10 plików
Pytanie badawcze. Czy wersja kodeka, na której zmierzono opisaną 2026-07-14 ekspansję o 56 %, odtwarza dane co do bitu? Kryteria (ustalone przed pomiarem). F1 dla kodeka PGA oraz F4: rozmiar całego kontenera (wszystkie sekcje i metadane) mniejszy od wejścia na korpusie strukturalnym, przy spełnionym F1. Metoda. Wersja historyczna bez modyfikacji; zakodowanie i odkodowanie każdego z 10 plików korpusu; SHA-256 wyniku względem oryginału. Wynik: kryterium odtworzenia obalone. Kodowanie przebiegło na 10 z 10 plików, odkodowanie — na 0 z 10: na 4 plikach przerwało się błędem, na 6 dało dane niezgodne z SHA-256 oryginału. Analiza kodu wskazała dwa defekty formatu: warstwa resztkowa nie niosła danych, które miała odtwarzać, a sekcja mapy nie była jednoznacznie parsowalna. Konsekwencja wykracza poza benchmark: historyczny artefakt 22,2 MB z wpisu z 2026-07-14 również nie jest w pełni odtwarzalny. Jego rozmiar zmierzono poprawnie (14,2 → 22,2 MB), ale nie był to poprawny zapis bezstratny. F4 nie podlega ocenie, dopóki F1 nie jest spełnione. Następny krok. Naprawa obu defektów w wariancie pomiarowym (sekcja 4). Status: wynik negatywny — wersja historyczna nie spełnia kryterium odtworzenia (0/10); korekta wpisu z 2026-07-14 poniżej.
4. Kierunek 2 — po naprawie: warunkowy pozytyw, który nie uogólnił się na dane realistyczne
Pytanie badawcze. Czy po naprawie formatu kodek odtwarza dane co do bitu i daje dodatni bilans rozmiaru — najpierw na korpusie benchmarku 1, potem na obrazach realistycznych? Stan techniki (publikowany). Dla obrazów dwupoziomowych: CCITT G4 (ITU-T T.6, dwuwymiarowe kodowanie serii względem wiersza odniesienia) oraz JBIG2 (ITU-T T.88), który sam koduje tekst przez słowniki symboli z dopasowaniem wzorców. To one, a nie gzip i zstd, są właściwą konkurencją dla tej klasy danych. G4 zmierzono w benchmarku 2; JBIG2 nie został zmierzony — w środowisku pomiarowym nie było jego kodera. Kryteria (ustalone przed pomiarem). F4 (benchmark 1): kontener mniejszy od wejścia na korpusie strukturalnym, przy spełnionym F1. F5 (benchmark 2): stopień kompresji mniejszy niż zstd-19 i niż CCITT G4 na korpusie realistycznym. Metoda. Wariant pomiarowy z naprawą obu defektów, w dwóch odmianach: wiernej formatowi historycznemu oraz z sekcją mapy pozbawioną nadmiarowości (konstrukcja wstrzymana). Benchmark 2 używa drugiej odmiany na siedmiu obrazach dwupoziomowych (sekcja 8), z prawdziwą geometrią rastra. Wynik — benchmark 1. F1 przywrócone: 10/10 w obu odmianach. F4 w brzmieniu protokołu okazało się słabe: kontener mniejszy od wejścia ma odmiana wierna formatowi na 4 z 5 plików strukturalnych (na tekście technicznym 1,098), a odmiana z mapą bez nadmiarowości na 5 z 5. Rozstrzyga porównanie z punktami odniesienia. Odmiana wierna formatowi była większa od zstd-19 na każdym z 10 plików; na syntetycznym rastrze formularza 97 % jej kontenera zajmowała mapa. Odmiana z mapą bez nadmiarowości dała pierwszy zmierzony pozytyw programu — na jednym pliku: syntetyczny raster formularza 0,0495 wobec 0,1069 (zstd-19) i 0,1411 (zlib-9), czyli 2,2× lepiej od najlepszego punktu odniesienia. Na pozostałych 9 plikach punkty odniesienia wygrały (np. telemetria 0,2981 wobec 0,0740, tekst techniczny 0,7949 wobec 0,2778). Na danych wysokoentropijnych kodek rozszerza dane: dane losowe 1,176 (odmiana wierna formatowi: 1,547), wycinek pliku wykonywalnego 1,115 (1,519). Stan po benchmarku 1: pozytyw warunkowy — raster syntetyczny, glify wyrównane do siatki kafli, bez szumu, bez porównania z G4 i JBIG2. Wynik — benchmark 2: F5 obalone.
| obraz | PGA | zlib-9 | zstd-19 | CCITT G4 | najlepszy |
|---|---|---|---|---|---|
fax2d — faks CCITT, 1728×1082 |
0,1888 | 0,1374 | 0,1241 | 0,1209 | G4 |
g3test — faks CCITT, 1728×1103 |
0,2629 | 0,1806 | 0,1624 | 0,1756 | zstd-19 |
jim___ah — gęsty obraz testowy, 664×813 |
0,2443 | 0,2083 | 0,1910 | 0,6301 | zstd-19 |
| strona tekstu, font bezszeryfowy | 0,0489 | 0,0440 | 0,0364 | 0,0376 | zstd-19 |
| strona tekstu, font szeryfowy | 0,0348 | 0,0376 | 0,0302 | 0,0346 | zstd-19 |
| strona formularza | 0,0351 | 0,0263 | 0,0133 | 0,0372 | zstd-19 |
| syntetyczny raster formularza (kontrola z benchmarku 1) | 0,0492 | 0,1411 | 0,1069 | 0,4030 | PGA |
Kodek przegrywa ze zstd-19 na 6 z 6 obrazów realistycznych, z CCITT G4 na 4 z 6. Jedynym obrazem, na którym którakolwiek własna metoda programu wypada najlepiej, pozostaje syntetyczny raster wyrównany do siatki kafli. F1: 7/7. Uwaga metodyczna: w benchmarku 1 kodek rasteryzował wejście bez znajomości jego prawdziwej geometrii, a szerokość rastra zgodziła się z prawdziwą szerokością syntetycznego rastra formularza przypadkiem; benchmark 2 używa prawdziwej geometrii we wszystkich pomiarach. Następny krok. Ustalić, od czego zależy jedyny pozytyw (sekcja 5). Status: odwracalność przywrócona (10/10, 7/7); generalizacja obalona (F5); pozytyw ograniczony do syntetycznego rastra.
5. Kierunek 2 — mechanizm pozytywu: sztywna powtarzalność co do bitu
Pytanie badawcze. Od czego zależy jedyny pozytyw — od wyrównania wzorców do siatki kafli, od ich dokładności co do bitu, czy od obu? Kryteria. Test wrażliwości zapowiedziany w protokole nr 1, bez progu sukcesu (mierzona jest krzywa degradacji wobec G4 i zstd-19 na tych samych danych); F7 (ustalone przed pomiarem): wybór przesunięcia siatki przywraca stopień kompresji rastra wyrównanego. Metoda. Syntetyczny raster formularza przesuwany poziomo o mniej niż szerokość kafla oraz zaszumiany przez losową zmianę bitów z prawdopodobieństwem od 0,1 do 2 %; każdy wynik z weryfikacją SHA-256 (13/13). Wynik — przesunięcie. Zależnie od wielkości przesunięcia stopień kompresji od 0,0492 do 0,0880, słownik do 46 wpisów zamiast 16; G4 bez zmian (0,403). Wynik — szum.
| zmienione bity | PGA | wpisy słownika | zstd-19 | CCITT G4 |
|---|---|---|---|---|
| 0 | 0,0492 | 16 | 0,1069 | 0,4030 |
| 0,1 % | 0,0713 | 20 | 0,1327 | 0,4158 |
| 0,5 % | 0,1290 | 78 | 0,1969 | 0,4652 |
| 1 % | 0,1991 | 561 | 0,2555 | 0,5195 |
| 2 % | 0,3851 | 2656 | 0,3434 | 0,6180 |
Przewaga nad zstd-19 maleje z 2,2× na danych czystych do 1,9×, 1,5× i 1,3×, a przy 2 % zmienionych bitów odwraca się (0,3851 wobec 0,3434). Stopień kompresji kodeka pogarsza się 7,8-krotnie, G4 — 1,5-krotnie. Wniosek: pozytyw wymaga sztywnej, dokładnej co do bitu powtarzalności wzorców — takiej, jaką mają rastry generowane cyfrowo (born-digital), a nie skany. Wynik — F7: potwierdzone technicznie. Raster celowo przesunięty względem siatki kafli: 0,1416; po wyborze przesunięcia siatki: 0,0492, czyli dokładnie wartość rastra wyrównanego; koszt: kilka bitów; F1 spełnione. Dotyczy to przesunięcia całego rastra; na renderowanych stronach i skanach, gdzie położenie znaków zmienia się indywidualnie, nie było to mierzone. Konstrukcja: wstrzymana. Następny krok. Hipoteza deduplikacji między dokumentami (sekcja 7). Status: warunki brzegowe zmierzone; F7 potwierdzone technicznie.
6. Kierunek 3 — zależność przestrzenna 2D: hipoteza obalona, z ablacją predyktorów
Pytanie badawcze. Czy reguła zależności przeniesiona z 1D na sąsiadów przestrzennych w rastrze niesie sygnał, którego zabrakło w 1D? Stan techniki (publikowany). Modelowanie kontekstowe obrazów dwupoziomowych w JBIG i JBIG2: szablon kontekstu z 10–16 sąsiednich pikseli i adaptacyjny koder arytmetyczny. Tu świadomie zmierzono wariant minimalny, żeby rozstrzygnąć, czy oś w ogóle niesie sygnał. Kryteria (ustalone przed pomiarem). F6(a): predyktor większościowy (większość z trzech sąsiadów: lewego, górnego i lewego-górnego) jest lepszy od predyktorów trywialnych (sam lewy albo sam górny sąsiad). F6(b): wynik jest mniejszy od najlepszego punktu odniesienia dla danego obrazu. Metoda. Residuum = piksel ⊕ predykcja; dekoder kauzalny; koder końcowy zlib-9 albo zstd-19; 7 obrazów × 4 warianty = 28 pomiarów; F1: 28/28. Wynik.
| obraz | lewy + zlib-9 | górny + zlib-9 | większość + zlib-9 | większość + zstd-19 | najlepszy punkt odniesienia |
|---|---|---|---|---|---|
fax2d |
0,1359 | 0,1646 | 0,1691 | 0,1567 | 0,1209 (G4) |
g3test |
0,1800 | 0,2178 | 0,2355 | 0,2154 | 0,1624 (zstd-19) |
jim___ah |
0,2085 | 0,3058 | 0,2849 | 0,2642 | 0,1910 (zstd-19) |
| strona tekstu, font bezszeryfowy | 0,0450 | 0,0456 | 0,0554 | 0,0469 | 0,0364 (zstd-19) |
| strona tekstu, font szeryfowy | 0,0387 | 0,0409 | 0,0465 | 0,0376 | 0,0302 (zstd-19) |
| strona formularza | 0,0272 | 0,0264 | 0,0316 | 0,0165 | 0,0133 (zstd-19) |
| syntetyczny raster formularza | 0,1412 | 0,1610 | 0,2447 | 0,2189 | 0,1069 (zstd-19) |
F6(a) obalone: przy tym samym koderze (zlib-9) predyktor większościowy był gorszy od lewego sąsiada na 7 z 7 obrazów i gorszy od obu predyktorów trywialnych na 6 z 7 (wyjątek: na jim___ah pokonał górnego sąsiada). F6(b) obalone: żaden wariant nie był lepszy od najlepszego punktu odniesienia na żadnym obrazie (0/7). Najlepszy wariant był lepszy od samego G4 na 3 z 7 obrazów (jim___ah, strona formularza, syntetyczny raster), a od zstd-19 na surowych danych — na żadnym.
Mechanizm. Residuum jest rzadsze od oryginału, a mimo to nie kompresuje się lepiej. Na jim___ah ma 0,165 jedynki na piksel wobec 0,557 w oryginale, a ze zlib-9 daje praktycznie ten sam wynik (0,2085 wobec 0,2083). Przy tym samym koderze residuum lewego sąsiada było najwyżej nieznacznie mniejsze od oryginału (fax2d: 0,1359 wobec 0,1374). Interpretacja spójna z oboma pomiarami: koder z rodziny LZ zyskuje na powtórzeniach — identycznych glifach i wierszach — a nie na gęstości bitów; transformacja zależnościowa zmienia gęstość (w 1D ku 0,5, w 2D w dół), ale powtórzeń nie dodaje, a część istniejących rozbija. Zysk z rzadkości nie rekompensuje utraty dopasowań.
Następny krok. Brak w tej formie: dalsza praca oznaczałaby modelowanie kontekstowe z koderem arytmetycznym, czyli zbieżność ze stanem techniki (JBIG/JBIG2), a nie nową oś.
Status: sfalsyfikowane (F6a, F6b); oś zamknięta.
7. Wniosek programu: oś zależności zamknięta, nisza zawężona
- Oś kodowania zależnościowego — zamknięta jako sfalsyfikowana, w 1D (sekcje 1–2) i w 2D (sekcja 6), przy koderach końcowych klasy RLE i LZ. Zapisany mechanizm: transformacja zmienia gęstość bitów, ale nie dodaje powtórzeń, na których opiera się koder.
- Kodek PGA — nisza zawężona. Program przeszedł od „lepszego kompresora ogólnego” (obalonego w iteracjach 2021–2025), przez „korpusy strukturalne” (dokumenty, skany, telemetria — obalone pomiarem dla skanów, renderowanych stron, tekstu i telemetrii), do wąskiej klasy danych: rastrów generowanych cyfrowo ze sztywną, dokładną co do bitu powtarzalnością (formularze generowane programowo, dane z kolejki wydruku, dokumenty wypełniane z szablonu). Tam kodek był ok. 2,2× lepszy od najlepszego klasycznego punktu odniesienia — zmierzone z pełnym odtworzeniem — i ok. 2,6× po dalszym dopracowaniu kontenera, co jest oszacowaniem z rozmiarów sekcji, jeszcze niezmierzonym od początku do końca. Konstrukcja: wstrzymana.
- Warunki brzegowe niszy, podane wprost. Przewagę zmierzono na jednym syntetycznym rastrze; porównanie objęło G4, zlib-9 i zstd-19, nie JBIG2, który stosuje słowniki symboli i jest najbliższym stanem techniki; odporność na szum jest słaba (sekcja 5). To hipoteza zakresowa, nie wykazana przewaga na danych rzeczywistych.
- Następna hipoteza: deduplikacja między dokumentami. Wspólny słownik dla serii stron z jednego szablonu (np. serii faktur lub protokołów); oczekiwanie: koszt słownika amortyzuje się w serii, a stopień kompresji serii jest znacznie niższy niż pojedynczej strony. JBIG2 przewiduje słowniki symboli wspólne dla wielu stron, więc bez porównania z nim wynik tej hipotezy nie będzie rozstrzygający. Kryterium zostanie ustalone przed pomiarem, jak w obu sesjach.
8. Korpus, punkty odniesienia, odtwarzalność
Benchmark 1 (2026-07-15), 10 plików. Pięć strukturalnych: tekst techniczny (dokumentacja projektu, 18 309 B), syntetyczny raster formularza 1 bit/piksel (512 KiB; linie tabeli i mały stały zestaw glifów ułożonych na siatce kafli, bez szumu), syntetyczna telemetria w formacie CSV (418 929 B), plik rzadki (256 KiB; zera i 16-bajtowy nagłówek rekordu co 4096 B), plik długich serii bajtów 0x00 i 0xFF (256 KiB). Dwa wysokoentropijne pliki kontrolne: dane pseudolosowe (256 KiB) i pierwszy 1 MiB skompilowanego pliku wykonywalnego Windows z wpisu z 2026-07-14. Trzy przypadki skrajne po 256 KiB: same zera, bity naprzemienne (bajt 0xAA), sekwencja okresowa (bajty 0–63). Pliki syntetyczne są deterministyczne (stałe ziarno generatora).
Benchmark 2 (2026-07-17), 7 obrazów dwupoziomowych. Trzy rzeczywiste obrazy z publicznego archiwum obrazów testowych libtiff pics-3.8.0 (download.osgeo.org/libtiff/pics-3.8.0.tar.gz): fax2d (1728×1082) i g3test (1728×1103) — klasyczne faksowe obrazy testowe CCITT — oraz jim___ah (664×813; gęsty: 56 % czarnych pikseli, ani jednego pustego wiersza). Trzy strony renderowane fontami systemowymi TrueType przy ok. 200 dpi (1656×2336): tekst fontem bezszeryfowym, tekst fontem szeryfowym oraz formularz z liniami i etykietami fontem o stałej szerokości znaków; położenie wierszy i znaków celowo niewyrównane do siatki kafli. Kontrola: syntetyczny raster formularza z benchmarku 1. Rastry zapisane jako surowe bity, 1 bit/piksel, wiersz po wierszu, czarny = 1.
Punkty odniesienia. zlib-9 (DEFLATE, jak w gzip), zstd-19, CCITT G4 (w benchmarku 2; mierzony jako cały plik TIFF). JBIG2 — niezmierzony: brak kodera w środowisku pomiarowym.
Środowisko. Windows 11 (AMD64), Python 3.12.10, numpy 2.5.0, Pillow 10.4.0, zstandard 0.25.0.
Weryfikacja. Benchmark 1: 154 pomiary, 144 odkodowania zgodne z SHA-256 oryginału; 10 niezgodnych to wersja historyczna kodeka PGA (sekcja 3). Benchmark 2: 51 pomiarów, w tym 48 odkodowań — 48/48 zgodnych; pozostałe 3 pomiary dotyczyły szczegółu konstrukcji kontenera i ich wynik jest wstrzymany.
Odtwarzalność. Wyniki punktów odniesienia na obrazach z archiwum libtiff może powtórzyć każdy: archiwum jest publiczne, a geometria i format rastra są podane wyżej. Wyniki własnych metod wymagają konstrukcji wstrzymanej; z protokołami wiążą je skróty z sekcji 9.
9. Dowody: skróty SHA-256 i stemple czasu
Protokoły pomiarowe pozostają prywatne: zawierają konstrukcję wstrzymaną. Ich skróty SHA-256, opublikowane tutaj, pozwalają później sprawdzić, że dokument okazany w przyszłości jest tym samym, który ostemplowano w lipcu 2026 r. Wykazy materiału dowodowego zawierają skróty SHA-256 surowych plików wyników i manifestów korpusu oraz identyfikatory commitów kodu pomiarowego (pierwszy z nich także skrót whitepapera z 2025 r.).
| dokument | SHA-256 | stempel OpenTimestamps |
|---|---|---|
| protokół pomiarowy nr 1 (benchmark 1) | 0830cc94c042c05103e45a47de2bdae0db2411f683fcd309e6630c5700552375 |
2026-07-15, atestacja Bitcoin |
| wykaz materiału dowodowego benchmarku 1 | 8b85e99708febb32682a100f5b2336bd0ffc8cf0e0ef4c7671aa91576de6dc56 |
2026-07-15, atestacja Bitcoin |
| protokół pomiarowy nr 2 (benchmark 2) | c478b509fda7419a60b0ad2149d28f4dec83aae5fb074ffbeab0cd3bb3aba1de |
2026-07-17 |
| wykaz materiału dowodowego benchmarku 2 | 7b2a7a3fa8a49c3adda2e6604cdf462106f1ab4fc11a26c4246ba8e955324b09 |
2026-07-17 |
Skróty obu protokołów zgadzają się z wpisami w wykazach. Tam, gdzie protokół podaje liczbę lub opis niezgodny z surowymi plikami wyników, ten wpis podaje wartość z plików wyników: (1) protokół nr 1 stwierdza, że ze zlib-9 wynik pogarsza się monotonicznie z liczbą warstw na każdym pliku — według danych dotyczy to 5 z 10 plików (sekcja 1); (2) protokół nr 1 ocenia F4 względem zstd-19, choć F4 jest sformułowane względem rozmiaru wejścia — sekcja 4 podaje oba odczyty; (3) protokół nr 2 podaje 30/30 zweryfikowanych odkodowań w teście 2D — plik wyników zawiera ich 28, a suma sesji 48/48 jest poprawna; (4) protokół nr 2 podaje, że predyktor większościowy był gorszy od lewego sąsiada na 6 z 7 obrazów — przy tym samym koderze był gorszy na 7 z 7, a od obu predyktorów trywialnych na 6 z 7; (5) protokół nr 2 opisuje jim___ah jako skan odręczny — 56 % czarnych pikseli i brak pustych wierszy wskazują raczej na obraz gęsty lub rastrowany, dlatego opisujemy go neutralnie.
Korekty wpisu z 2026-07-14
- Kierunek 1, kryterium (b). Wpis: „zmierzone ratio na zdefiniowanych korpusach względem gzip/zstd — program pomiarowy nie został jeszcze uruchomiony”. Teraz: zmierzone 2026-07-15 i obalone (sekcja 1); oś zamknięta, także w wariancie 2D (sekcja 6).
- Kierunek 1, konstrukcja. Wpis: „Konstrukcja (reguła zależności, budowa warstw, format kontenera): wstrzymana”. Reguła i budowa warstw są teraz ujawnione — XOR sąsiednich bitów, iterowany warstwa po warstwie — bo oś jest sfalsyfikowana i zamknięta.
- Kierunek 1, odwracalność. Twierdzenie podtrzymane (100/100 i 4/4), z doprecyzowaniem: jedna wcześniejsza implementacja referencyjna zapisywała tylko pierwszy bit brzegowy i nie mogła odkodować więcej niż jednej warstwy; pomiary wykonano na poprawionej reimplementacji.
- Kierunek 2, kryterium odtworzenia. Wpis: „Rekonstrukcja co do bitu (spełnione, weryfikacja skrótem)”. Dla kodeka PGA było to nieprawdziwe: weryfikacja dotyczyła wcześniejszego dowodu koncepcji. Pierwsza pełna walidacja kodeka PGA (2026-07-15) dała 0/10; odwracalność ma dopiero wariant naprawiony (sekcje 3–4).
- Wynik negatywny +56 %. Rozmiar zmierzono poprawnie (14,2 → 22,2 MB), ale artefakt nie jest w pełni odtwarzalny, więc nie był poprawnym zapisem bezstratnym. Wniosek — ekspansja na danych wysokoentropijnych — zostaje potwierdzony przez wariant naprawiony z weryfikacją SHA-256: na pierwszym 1 MiB tego samego pliku +52 % (odmiana wierna formatowi) i +12 % (mapa bez nadmiarowości), na danych losowych +55 % i +18 %.
- Kierunek 2, stan techniki. Wpis porównywał z gzip/zstd. Właściwym stanem techniki dla obrazów dwupoziomowych są CCITT G4 i JBIG2; G4 zmierzono w benchmarku 2, JBIG2 jeszcze nie.
- Kierunek 2, status. Wpis: „POC zaimplementowany / w walidacji”. Teraz: zwalidowany — wersja historyczna nie spełnia kryterium odtworzenia, wariant naprawiony je spełnia, pozytyw nie przeniósł się poza syntetyczny raster (sekcje 3–5).
- Wniosek zakresowy. Wpis zawężał program do korpusów strukturalnych (dokumenty, skany, telemetria). Pomiary zawężają dalej: na skanach, renderowanych stronach tekstu, telemetrii i tekście wygrywają klasyczne kodery; zostaje nisza rastrów generowanych cyfrowo ze sztywną powtarzalnością (sekcja 7).
Status programu: aktywny. Oś kodowania zależnościowego — zamknięta jako sfalsyfikowana, w 1D i 2D. Kodek PGA — odwracalny w wariancie naprawionym, z przewagą zmierzoną wyłącznie na jednym syntetycznym rastrze generowanym cyfrowo; najbliższy krok: deduplikacja między dokumentami na seriach stron z jednego szablonu.
Dowód czasu
Ten tekst został zahaszowany i ostemplowany przy publikacji. Do sprawdzenia potrzebne są oba pliki: stempel dowodzi, że w tamtej chwili istniał dokładnie jeden ciąg bajtów, a tym ciągiem jest wyłącznie źródło poniżej. Każda późniejsza zmiana przesuwa skrót i zrywa zgodność — i o to właśnie chodzi.
SHA-256 ostemplowanego tekstu: 9655706edbeb5b0f3b47af0d9c98c8d37e0ff8d4084f884ee4b298b02a6d4476
- Kotwica Sigelith portfolio-dependibit-benchmarks.public.md.beattime.json
- Dowód OpenTimestamps portfolio-dependibit-benchmarks.public.md.ots
- Ostemplowany tekst źródłowy portfolio-dependibit-benchmarks.public.md
Sprawdzenie: ots verify <dowód> --file <źródło>