Możemy sprawdzić, czy w serii losowań nie występują jakieś dające się przewidzieć wzorce, ale nie wiemy niczego o losowości przydziału pojedynczej sprawy - mówi Tomasz Zieliński, autor bloga Informatyk Zakładowy, programista z 20-letnim doświadczeniem.
Tomasz Zieliński: Systemem losowego przydziału spraw interesowałem się od kilku lat, na blogu informatykzakladowy.pl opublikowałem kilka artykułów poświęconych brakowi przejrzystości tego rozwiązania. W tamtym czasie jedyną informacją o działaniu systemu był fragment dokumentacji projektowej opublikowany przez Ministerstwo Sprawiedliwości, który przynosił jednak więcej pytań niż odpowiedzi.
Na początku 2022 r. w portalu sądowym pojawiła się możliwość pobierania raportów losowań, jednak – z przyczyn całkowicie dla mnie niezrozumiałych – każde pobranie wymagało przejścia przez zabezpieczenie reCAPTCHA. Nadal nie mogliśmy więc zweryfikować zgodności pracy SLPS z deklaracjami ministerstwa, bo reCAPTCHA w praktyce wykluczało pobranie nawet kilku setek raportów, choć co roku powstają ich miliony.
Po przejęciu władzy przez demokratyczną opozycję postanowiłem spróbować zdobyć dane w najprostszy możliwy sposób – wnioskując o nie w ramach dostępu do informacji publicznej. Realizacja wniosku zajęła wiele tygodni, wysyłałem do Warszawy dysk twardy, ale koniec końców otrzymałem tysiące archiwów zawierających miliony plików PDF.
Cóż, wolałbym pobrać te dane przez internet, z lokalizacji dostępnej dla każdego chętnego. Skoro jednak nie było takiej możliwości, a ministerstwo odmówiło wysłania plików przez sieć, to wolałem dostarczyć oczekiwany nośnik i otrzymać na nim dane.
Otrzymałem przeszło 8 mln plików PDF z raportami losowań z lat 2022–2023. To bardzo duży zbiór danych, na typowym pececie już 100 tys. plików to dużo. Specjalnie na potrzeby tego projektu dokupiłem większy i szybszy dysk SSD.
Potem siadłem do programowania, bo plik PDF opisuje tak naprawdę zawartość kartki papieru, wyciągnięcie z niego danych nie jest łatwe. Stworzenie narzędzia, którym przetworzyłem miliony PDF-ów na relacyjną bazę danych SQL, zajęło mi wiele tygodni, oczywiście wieczorami, po godzinach.
Dziś na stronie www.slps.pl możemy znaleźć 8 874 566 raportów z losowań, statystyki obciążenia 11 399 sędziów czy podział losowanych spraw między 378 sądów i 1746 wydziałów. To na razie pierwsza wersja serwisu, która zawiera kilka znanych błędów, np. takim, że sędziowie o takim samym imieniu i nazwisku są złączeni w jedną personę. Czasem raporty z losowań zawierają błędną informację o wydziale, w którym pracuje dany sędzia. Mam nadzieję, że w usunięciu takich usterek pomogą mi odwiedzający serwis.
Jednym z interesujących mnie tematów jest rozliczalność działania systemu. Chciałbym zrozumieć, czy zewnętrzny obserwator może na bazie informacji z raportów losowań wyciągać jakieś wnioski dotyczące losowości całego procesu. O ile bowiem liczba modulo zawarta w raporcie ma pochodzić ze sprzętowego generatora liczb losowych, o tyle wskazuje ona nie pozycję w tabeli, lecz… losowo przemieszany indeks obok nazwiska sędziego. Tego na razie nie rozumiem, muszę dopytać o uzasadnienie takiego rozwiązania.
Komputery są przewidywalne i powtarzalne, nie ma w nich zbyt wiele losowości. Tam, gdzie rzeczywiście są potrzebne prawdziwe wartości losowe, są używane specjalne urządzenia czerpiące losowość ze źródeł fizycznych, np. pomiaru rozpadu izotopów promieniotwórczych czy szumu termicznego wzbudzanego przez oporniki w obwodzie elektrycznym.
Aby obserwator spoza MS mógł się przekonać, że przydział sprawy sędziemu jest losowy, byłaby konieczna nieco inna sekwencja zdarzeń – najpierw ujawnienie spraw i potencjalnych referentów, potem wygenerowanie prawdziwej losowości i dokonanie przydziałów. W sytuacji, gdy cały proces jest ukryty, możliwości weryfikacji są ograniczone. Możemy sprawdzić, czy w serii losowań nie występują jakieś dające się przewidzieć wzorce, ale nie wiemy niczego o losowości przydziału pojedynczej sprawy. ©℗