„Nawet najprostsze obliczenia w najczystszej matematyce mogą mieć straszne konsekwencje” (#16)
Dr hab. Andrzej Odrzywołek (UJ) o operatorze, który redukuje wszystkie funkcje elementarne do pojedynczej operacji, oraz o tym, jak sztuczna inteligencja zmienia sposób uprawiania matematyki.
Czasem najprostsze odkrycia przychodzą ostatnie. Przez dziesiątki lat matematycy używali całego arsenału funkcji – logarytmów, potęg, trygonometrii – nie zdając sobie sprawy, że wszystko to można sprowadzić do jednego, uniwersalnego operatora. Dr hab. Andrzej Odrzywołek (Uniwersytet Jagielloński) pokazał, jak to zrobić, a jego praca wywołała w sieci prawdziwą burzę. W rozmowie dla trajektorie.pl rozmawiamy o matematyce, która wygląda jak science fiction, o tym czy komputery analogowe mogą wrócić do łask, oraz jak sztuczna inteligencja zmienia sposób uprawiania nauki.
***
Pańska najnowsza praca All elementary functions from a single operator1 wywołała w sieci niemałą burzę. Skoro jednak funkcje wykładnicze, logarytmy i ich powiązania znamy od czasów Eulera, dlaczego tak prosty, uniwersalny operator umykał matematykom przez stulecia?
Dr hab. Andrzej Odrzywołek: Ponieważ procedury naukowe mogą nie być jasne dla szerszej społeczności, wyjaśnijmy: nie praca [naukowa], tylko preprint. Wyniki nie są jeszcze formalnie zrecenzowane i opublikowane.
Wśród specjalistów jest wiadome, że wystarcza tylko kilka operacji, aby obliczyć standardowe funkcje „elementarne”, które ja definiuję jako te, które znamy z kalkulatorów naukowych. Dla przykładu, Mathematica, używana powszechnie do obliczeń w środowisku fizyków-teoretyków, potrzebuje tylko 4 operacji: dodawania, mnożenia, potęgowania i logarytmu naturalnego. Zamiana mnożenia na dodawanie i vice versa także jest, a może raczej była oczywista, zanim pojawiły się kalkulatory. Każdy uczeń, student czy inżynier musiał opanować posługiwanie się tablicami lub suwakiem logarytmicznym. Funkcja wykładnicza exp(x), jej odwrotność (logarytm naturalny ln(x)) oraz cztery działania (+, −, ×, ÷). Tyle wystarcza. Dalszej redukcji od dziesięcioleci (mówienie o stuleciach to przesada) po prostu nikt nie potrzebował i nie szukał. Kluczowy wzór na logarytm w postaci EML wymaga 7 instrukcji i trzykrotnego złożenia, co jest na granicy „oczywistości”. Sam EML wymaga 3 operacji na 36-klawiszowym kalkulatorze, liczba kombinacji do sprawdzenia naiwnym algorytmem to ok. 6 milionów (2⁷ × 36³). Za dużo, by próbować na papierze, ale na tyle mało, że w pewnym momencie ktoś musiał w końcu to policzyć.
Część środowiska zachwyca się elegancją EML, inni pytają: „ok, ale po co?”. Jak reaguje Pan na zarzut, że to ostatecznie tylko matematyczna gimnastyka, swoista „sztuka dla sztuki”?
Trzy pytania w jednym (śmiech).
Pojęcie elegancji jest subiektywne. Bardziej miarodajne jest mówienie o złożoności czy prostocie. Jedna operacja binarna i liczba 1 to mniej niż zestaw złożony z kilku funkcji jednej zmiennej, operacji binarnych i stałych. Wzory skompilowane do EML mogą wydawać się brzydkie, jak krążący po sieci wzór na pi. Ja nazwałbym go raczej przydługawym. Natomiast sam operator EML rzeczywiście jest elegancki, jego postać bardzo mnie zaskoczyła. Spodziewałem się czegoś gorszego, może niekoniecznie aż tak dziwnego jak, powiedzmy ?(x) Minkowskiego, ale raczej pośród funkcji specjalnych niż szkolnych.
Ja potrzebowałem pojedynczego operatora do celów tzw. regresji symbolicznej (ang. Symbolic Regression), czyli poszukiwania wzorów matematycznych w zbiorach danych. Ostatnio takie techniki poszły na boczny tor, bo AI robi to samo znacznie lepiej. Głównym problemem w SR jest wybór bazy: sinus czy cosinus, tangens czy cotangens, dodawanie czy odejmowanie itd. Biorąc za dużo operacji, komplikujemy szukanie; za mało – ryzykujemy, że w ogóle pominiemy pewne poprawne wyrażenia. W głowie od dawna siedział mi pomysł na automatyczny weryfikator, który przed uruchomieniem szukania, np. w PySR, sprawdza czy użyty zestaw stałych (np. 2, pi, e), funkcji (np. sin, sinh, cos, cosh) i operacji (np. +, −, ×) faktycznie będzie w stanie znaleźć dowolne wyrażenie. Testując weryfikator (VerifyBaseSet), wrzucałem w niego różne rzeczy i obserwowałem co się dzieje. Wtedy dotarło do mnie, że mając tylko 1 operator, problem w ogóle przestaje istnieć.
Bez wątpienia, EML to jest rodzaj intelektualnej gimnastyki. Ale jak pisał Stanisław Ulam:
„Nawet najprostsze obliczenia w najczystszej matematyce mogą mieć straszne konsekwencje.”
W publikacji pisze Pan również o prototypie kompilatora EML oraz o potencjale w projektowaniu komputerów analogowych. Czy to oznacza, że w przyszłości nasze procesory mogłyby działać na zupełnie innej, uproszczonej architekturze? Gdzie dokładnie EML może najszybciej znaleźć fizyczne zastosowanie?
Komputery analogowe nie bez powodu już dawno zastąpiono cyfrowymi, co nie znaczy, że przestały istnieć. Ich zastosowanie ograniczają problemy techniczne, z których jednym jest brak możliwości generowania dowolnych funkcji elementarnych. EML mógłby uzupełnić tę lukę. Wygenerowanie eksponenty jest proste, to prawo rozładowania kondensatora, odejmowanie wykonuje wzmacniacz operacyjny. Ale po drodze potrzebujemy liczb zespolonych. Droga od teorii do praktyki nie będzie prosta. Mózg bez wątpienia pracuje w trybie analogowym, a nie potrafimy zreplikować nawet działania mózgu muszki owocowej.
Raptem 3 lata temu świat matematyki zachwycał się „einsteinem” – pojedynczą figurą geometryczną, która pokrywa płaszczyznę bez powtarzającego się wzoru (aperiodycznie). W pewnym sensie sam Pan ma na koncie podobny wynalazek: pojedynczy operand, za pomocą którego można wyrazić dowolną funkcję rzeczywistą. Czy uważa Pan, że inne dziedziny wciąż ukrywają przed nami takie swoje „uniwersalne klocki”?
Są to rzeczy powiązane. Sam jestem autorem pomysłu i posiadaczem patentu na trójwymiarowy wielościan, którego kształt pozwala zbudować igloo. Opis można znaleźć w czasopiśmie Eureka (How to Build the Perfect Igloo2, 2014), wydawanym przez studentów matematyki w Cambridge, a jego model znajduje się w posiadaniu NKF UJ. Sądzę, że przekierowanie mocy obliczeniowej setek tysięcy GPU, używanych obecnie do trenowania AI, na przeszukiwanie przestrzeni rozwiązań rozmaitych problemów mogłoby ujawnić wiele niespodzianek.
Podobno EML to dopiero początek i bada już Pan jego wariant trójargumentowy, który w ogóle nie potrzebuje stałej „1”. Dlaczego wyeliminowanie tej jednej dodatkowej cyfry jest dla Pana tak istotne i co otworzyłoby przed nami znalezienie operatora w pełni samowystarczalnego?
Konieczność uwzględniania na każdym poziomie możliwości pojawienia się konkretnej stałej komplikuje obliczenia i zwiększa liczbę parametrów drzewa EML. Stanowi też rodzaj dyskretnego przełącznika, który usuwa z EML logarytm. Model bez żadnej konkretnej stałej, zawierający wyłącznie zmienne x, y, z… byłby w pełni ciągły. Taki operator binarny byłby jeszcze bardziej podobny do NAND. Nie udało mi się go znaleźć. Być może nie istnieje, lub nie jest funkcją elementarną.
Na końcu publikacji otwarcie przyznaje Pan, że w pracy pomagały Panu współczesne modele językowe m.in. przy tłumaczeniu kodu na język Rust). Jak na co dzień wygląda Pana współpraca z AI?
Modele językowe przyspieszyły wiele spraw. Po pierwsze, skuteczne tłumaczenia i wielojęzyczne przeszukiwanie. Obecnie na X od razu widzę np. posty oryginalnie w języku japońskim, które bez tego byłyby dla mnie zapewne kompletnie niezrozumiałe. Z samego schematu układu elektronicznego nie domyśliłbym się, że ktoś pokazuje propozycję sprzętowej implementacji EML. Po drugie, przegląd literatury. W tym historycznych tekstów po łacinie czy francusku (Cotes, Liouville). Jest to bardzo pomocne, zwłaszcza przy badaniach interdyscyplinarnych w erze wąskiej specjalizacji. W pewnym sensie LLM-y spełniają obietnicę, którą kiedyś dało nam, a następnie odebrało Google: możliwość wyszukania dowolnej potrzebnej informacji.
Kolejne zagadnienie to korekta językowa. Z zastrzeżeniem, że działa ona głównie przy standardowych tekstach i wymaga daleko posuniętej ostrożności, gdyż problem halucynacji nadal istnieje. Tłumaczenie kodu to najnowsze osiągnięcie AI, przełom nastąpił w grudniu 2025. Obecnie problemem nie jest samo pisanie programu, a raczej jasne sformułowanie, co i jak ma robić. Okazuje się, że najlepszym promptem tłumaczącym, jak ma działać program, jest... inny program robiący to samo. Agent AI typu GPT Codex lub Claude Code potrafi samodzielnie uruchamiać i testować programy, co pozwala na skuteczne przetłumaczenie kodu np. z Mathematici do Rust-a. Mając dwie wersje, można łatwo sprawdzić, czy działają w identyczny sposób. Różnica jest w szybkości: oryginalny VerifyBaseSet wymaga 40 minut, po przepisaniu w Rust kilka sekund. AI ułatwia także pracę z różnymi systemami operacyjnymi, repozytorium dołączone do preprintu działa na Windows, Linuksie i MacOS.
***
Dr hab. Andrzej Odrzywołek – astrofizyk, matematyk, pracownik Zakładu Teorii Względności i Astrofizyki w Instytucie Fizyki Teoretycznej Uniwersytetu Jagiellońskiego w Krakowie. Autor pracy All elementary functions from a single operator, która wywołała poruszenie w międzynarodowej społeczności naukowej. Posiadacz patentu na trójwymiarowy wielościan do konstrukcji igloo (model znajduje się w zbiorach Uniwersytetu Jagiellońskiego).
Linki:



