05.03.2024







Projekt VMPC:


Badania nad funkcją VMPC i problemem matematycznym "czy P=NP?"
pieknafunkcja.pl



Aplikacja do szyfrowania danych VMPCrypt
szyfrowanie.com



Gra Permutu na bazie funkcji VMPC
permutu.pl







Zobacz także:


Gra komputerowa Urban



Multimedialne kursy do nauki języka angielskiego
ADL Publishing



Aktualności projektu VMPC



Wesprzyj projekt:

www.zrzutka.pl/vmpc


Permutu to gra planszowa wywodząca się z funkcji VMPC.


05.03.2024. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#050324

W ciągu ostatniego miesiąca dokonał się znaczący postęp. Powstało 16 nowych stron, co jest chyba rekordem z całego wieloletniego okresu pisania pracy.

Podczas dopracowywania analizy rozkładu prawdopodobieństwa (etap 1 z poprzedniego wpisu) dokonał się zaskakujący zwrot. Od kilku miesięcy przygotowywałem się do przejścia z rozkładów syntetycznych na generyczne. To słuszna droga, od której nie ma odwrotu.

Finalny wniosek pracy można podzielić na 2 części: pierwsza to analiza 24 rozkładów prawdopodobieństwa, a druga to zagregowanie wyników tej analizy dla wszystkich 24 rozkładów i wyprowadzenie jednokierunkowości funkcji VMPC.

Motywem, aby przejść z rozkładów syntetycznych na generyczne była poczyniona wiele miesięcy temu obserwacja, że postać generyczna pozwala znacznie lepiej, bardziej bezpośrednio i jednorodnie opisać etap drugi finalnego wniosku.

Przyjąłem automatycznie założenie, że skoro ta postać (generyczna) jest lepsza w drugim etapie (ważniejszym, gdyż wyprowadzającym końcowy rezultat całej pracy), to właśnie jej należy użyć i przemęczyć się z użyciem jej również w pierwszym etapie. Przemęczyć, gdyż choć jest to możliwe i zostało już wstępnie opisane na wklejonych w poprzednim wpisie 4 stronach, to jednak postać syntetyczna w pierwszym etapie jest wielokrotnie prostsza do analizy. Różnica jest naprawdę duża. Po opisaniu jednego rozkładu z użyciem rozkładów generycznych na wspomnianych 4 stronach w poprzednim miesiącu, czułem duży dyskomfort wynikający z tego, że zamiast 1 strony i pięknej przejrzystości (stara wersja z rozkładami syntetycznymi), teraz z rozkładami generycznymi mam 4 strony, a rozumowanie, choć udało się je opisać, jest boleśnie nieeleganckie, a na dodatek takie musi być, co wynika z natury użytych rozkładów.

Krótko mówiąc, rozkłady syntetyczne dużo lepiej nadają się do opisu pierwszego etapu finalnego wniosku, a generyczne do drugiego. Ponieważ jednak oba etapy płynnie się łączą, nigdy nawet nie rozważałem, aby użyć dwóch różnych postaci jednocześnie... Aż do teraz.

Okazuje się, że po zastosowaniu jednego fundamentalnego, krótkiego i prostego rozumowania (cały problem to wpaść na pomysł, aby je zastosować), można połączyć oba podejścia. Można wtedy zastosować rozkłady syntetyczne w etapie 1 oraz generyczne w etapie 2. Czyli tak, jak jest najwygodniej. Niezbędny jest tu, oczywiście, dowód równoważności pomiędzy oboma postaciami rozkładów, ale ten jest od dawna gotowy, a nawet w poprzednim miesiącu bez wyraźnego wtedy powodu nieco go uprościłem.

Po podjęciu tej decyzji wszystko popłynęło wartkim strumieniem. Analiza rozkładu (etap 1 finalnego wniosku) odchudziła się radykalnie i w dużej mierze wróciła do swojej pierwotnej, spójnej, eleganckiej i krótkiej postaci (sprzed rozważań o przejściu na rozkłady generyczne). Postać syntetyczna pasuje tu w sposób naturalny.

Poczułem taki dopływ energii, że po opisaniu 3 rozkładów (reszta będzie dopisana na zasadzie analogii później, taki był plan od początku), od razu zabrałem się za opisywanie drugiego etapu finalnego wniosku (czyli etap 3 z listy zadań sprzed miesiąca) - z użyciem rozkładów generycznych. Tutaj wykorzystałem wyniki z poprzednich miesięcy w postaci wykonanego już wcześniej opisu interakcji pomiędzy zdarzeniami. Użyłem także częściowo niektórych elementów rozumowania z pierwszej próby opisania finalnego wniosku pracy z końca roku 2021.

Pisało mi się tak dobrze, że drugi etap finalnego wniosku zajmuje już 6 stron (zawarty jest wśród powyżej wklejonych 16). Jest już w dużo bardziej zaawansowanym stadium niż miesiąc temu prognozowałem, że może być, kiedy to ostrożnie myślałem, że zakończenie etapu 1 do końca lutego będzie sukcesem.

Dziękuję wszystkim za wsparcie projektu na zrzutce. Każda wpłata dodaje mi energii do działania i za każdą jestem wdzięczny!

www.zrzutka.pl/vmpc

Wraz ze zbliżaniem się do merytorycznego zakończenia pracy, zbliża się także od dawna zapowiadana premiera aplikacji do szyfrowania danych VMPC Secret Book, nad którą pracowałem kilka lat. Premierę celowo odwlekam, aby zajęcia związane z obsługą aplikacji nie odciągnęły mnie od pracy nad funkcją.

Zachęcam do zakupu limitowanej wersji gry planszowej Permutu z końcówki nakładu, zawierającej satynowy woreczek na klocki.

Formularz kontaktowy:

Twój email: (opcjonalnie)


Twoja wiadomość:


Proszę wpisz liczbę jedenaście (używając cyfr), aby potwierdzić, że jesteś człowiekiem:







02.02.2024. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#020224

Pierwsza część początku końca pracy, wykorzystująca wyniki koncepcyjne z ostatnich miesięcy - wykonana:

Jest to pierwsze podejście do formalnego opisu finalnego wniosku pracy z wykorzystaniem rozkładów generycznych. Po jego wykonaniu musiałem doprecyzować, od jakiej strony sformalizować niektóre szczegóły, aby kolejne etapy wnioskowania ładnie same wychodziły, bez konieczności stosowania prawie żadnych komentarzy w języku angielskim. Przede mną zastosowanie tych doprecyzowań w drugim podejściu. Na razie wszystko układa się bardzo dobrze, nawet lepiej niż myślałem, m.in. udało się zaskakująco gładko opisać formalnie pewne równanie (zawarte na powyższych 4 stronach; kod wewnętrzny - granica dla Fi z użyciem sumy).

Ciągle rozważam, czy pozostawić w pracy poprzednie podejście z wykorzystaniem rozkładów syntetycznych. Udało mi się nieco skrócić dowód równoważności (pomiędzy dwoma postaciami rozkładów) i muszę zdecydować, czy jednak nie pozostawić go w pracy jako uzupełnienie. Nie wymaga to dodatkowych wysiłków, gdyż jest on już gotowy. Wg obecnej koncepcji pozostanie on jednak w pracy, ale tylko dla jednego rozkładu, z komentarzem, że dla pozostałych można go zbudować analogicznie. Natomiast podejście z zastosowaniem implikacji zamiast równoważności (znajduje się także na 4 stronach powyżej) zostało już użyte i sprawdziło się bardzo dobrze.

Strategia do osiągnięcia merytorycznego zakończenia pracy obejmuje 3 etapy:
1. Dopracowanie zapisu z powyższych 4 stron.
2. Skrócenie i powielenie go dla wszystkich 24 rozkładów.
3. Wykorzystanie syntezy tych 24 zapisów w finalnym wniosku pracy.

Najprawdopodobniej etap 3 wykonam po wykonaniu etapu 1, aby zyskać pewność, że zastosowany sposób formalnego opisu zastosowany w etapie 1 dobrze pasuje do etapu 3. Wówczas etap 2 będzie stanowił jedynie "pracę fizyczną", polegającą na powieleniu rozumowania.

Po wykonaniu powyższych 3 etapów pozostanie tylko redakcyjne uporządkowanie treści pracy (etap 4). Po jego wykonaniu praca będzie gotowa do publikacji.

Choć może się to wydawać jak dużo pracy do wykonania, to tak nie jest. Jest to bowiem już tylko praca techniczna. Nie koncepcyjna. A to właśnie praca koncepcyjna, czyli poszukiwanie, jak coś udowodnić/rozwiązać lub formalnie opisać, zajmuje najwięcej czasu. Dla czytelnika ten trud pozostaje niewidoczny. Czytelnik ma luksusową pozycję i tylko konsumuje efekt końcowy.

W obecnej chwili wydaje mi się, że wszystkie problemy koncepcyjne zostały już rozstrzygnięte i do samego końca wiem, co pisać. To nie daje gwarancji, że po drodze nie wyjdą jakieś szczegóły wymagające małej pracy koncepcyjnej, ale nawet jeśli, to ich zakres powinien być drobny i mało problematyczny.

Mam też wrażenie, że wszystkie drogi labiryntu, jakim było szukanie sposobu na udowodnienie jednokierunkowości funkcji VMPC, przez wszystkie te lata już przeszedłem. Obecnie nie widzę już, gdzie można by dalej błądzić i czego więcej szukać oraz czuję, że przyjęty sposób przeprowadzenia dowodu jest tym właściwym.

Zgodnie z zapowiedzą, po zapisaniu finalnego wniosku pracy (po zakończeniu etapu 3) premierę będzie miała nowa aplikacja do szyfrowania danych VMPC Secret Book, nad którą pracowałem kilka lat. W ostatnich miesiącach nie przechodziła już żadnych zmian, jest gruntownie dopracowana i przetestowana.




09.01.2024. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#090124

W okresie świąteczno-noworocznym musiałem trochę odpocząć, aby nabrać sił oraz dystansu do wszystkich nowych wyników. Pojawiła się jeszcze jedna nowość, a dotyczy opisu interakcji pomiędzy 1296 zdarzeniami (to obszerny element pracy, opisywany na blogu wielokrotnie). Choć obecna jego postać nie wymagała modyfikacji, to zmiana podejścia z rozkładów syntetycznych na generyczne umożliwiła dalsze i znaczne uproszczenie tego opisu.

Jest to rozumowanie, którego pierwotną postać opisywałem na blogu jako "A → B → C", co następnie znacząco uprościłem do postaci "A → C". Najnowsze uproszczenie można zilustrować jako... "C". Nowe podejście pozwala niemal bezpośrednio odczytać wniosek (C) tego rozumowania.

Co więcej, udowodnienie faktu "C" nie wymagało nawet zapisywania nowego twierdzenia, a okazało się, że można go udowodnić po niewielkim rozbudowaniu twierdzenia, o którym wspominałem w poprzednim wpisie. Wówczas twierdzenie to dowodziło 18 różnych faktów dotyczących własności zbiorów D i E. Obecnie dowodzi 24 faktów, a one z kolei obejmują w całości fakt "C".

Choć sama postać "C" opisu interakcji byłaby wystarczająca, to jednak jest ona na tyle odmienna od postaci wcześniejszej "A → C", a ta ostatnia jest już zapisana na czysto, że pozostawiam w pracy obie wersje, gdzie wersja "A → C" daje pełniejszy opis zjawiska.

W ostatnich dniach wykonałem też ponowny przegląd poprzednich roboczych prób zapisu finalnego wniosku pracy (których jest w pracy aż 8). Z czasem nabrałem do nich takiego dystansu, że obecnie czytałem je bardziej jako recenzent niż jako autor. Wybrałem z nich elementy, które stanowią punkt startu dla zapisu ostatecznej i jedynej wersji finalnego wniosku.

Choć merytorycznie jest to najważniejsza część pracy i powołuje się na całą wcześniejszą jej treść, to wszystkie oznaczenia oraz twierdzenia są skonstruowane tak, że finalny wniosek powinien zmieścić się na jednej lub dwóch stronach.




04.12.2023. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#041223

Analizowana w ostatnich miesiącach strategia zapisu finalnego wniosku pracy wydaje się wreszcie być, na razie na poziomie koncepcyjnym, gotowa. W ostatnich tygodniach przeszedłem już do zapisywania wyników tych ustaleń na czysto w pracy.

Na pierwszy ogień poszło formalne rozwinięcie myśli, którą zakończyłem poprzedni wpis, dotyczącej dowodu równoważności pomiędzy postaciami generycznymi i syntetycznymi 24 rozkładów prawdopodobieństwa. Aby dobrze wybrać, w jaki sposób zapisać wspomnianą wcześniej zachodzącą pomiędzy nimi implikację, musiałem ponownie przegryźć się przez ów dowód równoważności, odpowiednio go modyfikując i "odciążając". Mówiąc obrazowo, udowodnienie równoważności (z A wynika B oraz z B wynika A) to więcej pracy niż udowodnienie implikacji (z A wynika B, ale nie interesuje nas, czy z B wynika A). Tu pozbycie się dowodu "z B wynika A" zmniejszyło objętość kilkakrotnie i znacznie poprawiło przejrzystość.

Drugim, właśnie zakończonym, zadaniem jest udowodnienie pewnych własności dotyczących pewnych zbiorów (D i E). O ile sam dowód był prosty i bazował na wcześniej zapisanych twierdzeniach, to sporo się napociłem, żeby wybrać taki formalny sposób opisu tych zbiorów, który później gładko zgra się z zapisem samego finalnego wniosku. Początkowo istniały tylko zbiory D, zdefiniowane na użytek rozkładów syntetycznych (obecnie porzuconych), ale po przejściu na rozkłady generyczne, opis zjawiska, do którego użyte były zbiory D, musiał zostać zrewidowany i wzbogacony. Koncepcji było wiele, włącznie z usunięciem zbiorów D i zamiast nich zdefiniowania nowej, bardziej skomplikowanej struktury, bazującej na parach uporządkowanych. Analiza i wybór zajęły trochę czasu, a wybrana została wersja z pozostawieniem zbiorów D oraz dobudowania do nich "bliźniaczych" zbiorów E. Co ciekawe, jedna część finalnego wniosku ładniej dawała się opisać strukturą z parami uporządkowanymi, a druga przy pomocy zbiorów D. Ich wspólne istnienie w pracy jednak byłoby nadmiarowe, gdyż stanowiłoby (niemal) dwukrotny opis jednego zjawiska. To utrudniało wybór - oba podejścia wydawały się potrzebne, ale istnienie obu - nadmiarowe. Tu pozwoliłem sobie na "odczytanie", jak ma być. Zacząłem zapisywać formalnie i udowadniać własności dla obu koncepcji, aż samo wyszło, że koncepcja z parami uporządkowanymi jest nadmiernie skomplikowana, a jednocześnie w opisie konkurencyjnej koncepcji w jednym przekształceniu zapis analogiczny z wersją z parami pojawia się jako stan pośredni, co ostatecznie przeważyło, że zapis z zachowaniem zbiorów D jest bardziej elegancki. Wymagało to wprawdzie zdefiniowania dodatkowych, podobnie skonstruowanych, zbiorów E, ale formalny dowód własności, zarówno dla zbiorów D, jak i E, udało się szczęśliwie (tego nie planowałem) zawrzeć w jednym rozumowaniu. Dalej, po zastosowaniu niezbyt skomplikowanej struktury uogólniającej, udało się zawrzeć dowody własności dla wszystkich wariantów zbiorów D i E także w tym jednym rozumowaniu.

Podsumowując, do udowodnienia było 18 różnych faktów, co w najgorszym wypadku wymagałoby zapisania 18 osobnych twierdzeń. Udało się to skondensować i wszystkie 18 faktów zostało udowodnionych w jednym rozumowaniu, zajmującym 1/3 strony, którego esencja zajmuje 4 linijki. Martwi mnie ogólna objętość pracy, którą na chwilę obecną szacuję na około 150 stron, dlatego cenne jest takie odchudzenie.

Na koniec chwila refleksji. Funkcję VMPC odkryłem w grudniu 1998 roku. Podczas przerwy świątecznej na pierwszym roku studiów. Oznacza to, że za kilka tygodni minie 25-lecie odkrycia funkcji. Mam nadzieję i robię, co w mojej mocy, aby w tym szczególnym momencie mieć coś do świętowania...

Z rzeczy niezwiązanych z funkcją, wykonałem ostatnio kilka poprawek i optymalizacji w narzędziu/bazie danych (napisanym już dawno temu) do generowania licencji aplikacji do szyfrowania danych VMPC Secret Book, gdyż premiera już coraz bliżej!




05.11.2023. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#051123

Udało mi się zawęzić liczbę dostępnych kierunków, z jakich można zapisać finalny wniosek pracy. Na obecną chwilę widzę już tylko jeden taki kierunek... Mam nadzieję, że opłaci się strategia bardzo starannej oceny, od jakiej strony wniosek ten opisać i że samo opisanie przebiegnie szybko i sprawnie. Choć może to brzmieć jak coś oczywistego, to takie nie jest, gdyż łatwo można popełnić błąd, zagłębiając się w analizę problemu na długie miesiące, gdy tylko dostrzeżemy pierwszy sposób, w jaki można się za opis problemu zabrać. Jednak sposób ten po wielu miesiącach pracy może okazać się zły. Aby zaoszczędzić czas, lepiej zastanowić się nieco dłużej na początku, czy na pewno obieramy właściwą drogę. Takie w każdym razie podejście stosuję tu i wkrótce przekonam się, jakie będą tego efekty.

Własność Si-1\Si (dostępna tylko w przypadku nowego podejścia z wykorzystaniem generycznych opisów rozkładów prawdopodobieństwa) jeszcze mocniej potwierdza swoją przydatność i obrany kierunek będzie silnie ją wykorzystywał. Pozwoli to zapisać finalny wniosek w bardziej bezpośredni sposób niż jeszcze kilka miesięcy temu sądziłem, że jest to możliwe. Jako dygresję dodam, że gdy udowadniałem tę własność (Si-1\Si) kilka lat temu, nie widziałem dla niej żadnego zastosowania, jedynie wydawała mi się ciekawa.

Od strony organizacyjnej obecnie planuję, że finalny wniosek będzie zapisany inaczej niż pierwotnie sądziłem. Nie w postaci skondensowanej, gdzie stosować bym musiał względnie wymyśle uogólnienia formalne, pozwalające sprowadzić opis wielu sytuacji do jednego opisu uogólnionej sytuacji, aby zmniejszyć objętość, na czym straciłaby jednak przejrzystość dowodu. Zamiast tego wybiorę postać dłuższą, ale bezpośrednią, gdzie każda z tych sytuacji będzie opisana osobno. Pomimo większej objętości rozwiązanie to może okazać się mniej pracochłonne, gdyż powielenie opisów poszczególnych sytuacji odbędzie się na zasadzie analogii, co może zająć mniej czasu, niż tworzenie skomplikowanych i niekoniecznie przejrzystych formalnych struktur uogólniających.

Na koniec najciekawsze odkrycie. Po zapisaniu finalnego wniosku najprawdopodobniej odpadnie mi sporo "pracy fizycznej", która od dawna była w planie i o której wielokroć wspominałem jako rozmnożenie dowodów równoważności pomiędzy postaciami generycznymi i syntetycznymi wszystkich 24 rozkładów prawdopodobieństwa. Tej pracy byłoby na tydzień-dwa i powstałoby z tego około 20 stron. Odkrycie sprzed trochę ponad tygodnia pozwoli przedstawić zależności pomiędzy tymi postaciami rozkładów od innej strony. Choć mniej rygorystycznej (nie będzie dowodu równoważności pomiędzy nimi, a jedynie implikacja), to w kontekście obecnie obranego kierunku zapisu finalnego wniosku, jest to wystarczające. Będzie to możliwe dzięki uniwersalnej dla wszystkich rozkładów własności, która choć sama w sobie nie jest odkrywcza (jeśli z A wynika B, to prawdopodobieństwo A jest mniejsze lub równe prawdopodobieństwu B), to da wymierne korzyści - pozwoli zaoszczędzić około 20 stron.

Aplikacja do szyfrowania danych VMPC Secret Book ponownie nie otrzymała już żadnych modyfikacji w ostatnim miesiącu i jest gotowa do premiery, która nastąpi po zapisaniu finalnego wniosku pracy.




04.10.2023. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#041023

Za mną kolejne etapy konsolidacji najnowszych wyników, w tym głównie przejścia z syntetycznych na generyczne opisy rozkładów prawdopodobieństwa. Zmiana ta ujawniła w ostatnim miesiącu jeszcze dwie nowe przewagi nad starym podejściem.

1. W starej koncepcji (wykorzystującej syntetyczne opisy rozkładów), choć była wykorzystana pewna fundamentalnie istotna własność o kryptonimie Ai-1\Ai, to jednocześnie nigdzie nie była zastosowana inna, pokrewna i od dawna opisana własność o kryptonimie Si-1\Si.

W nowym podejściu, stosującym generyczne opisy rozkładów, w naturalny sposób wykorzystane zostają obie własności, zarówno Ai-1\Ai, jak i Si-1\Si. Od razu ujawnił się też z tego formalny pożytek, gdyż własność Si-1\Si umożliwiła wygodny opis jednego istotnego elementu rozumowania. Choć w starej koncepcji nie był on obecny, to opisanie go (możliwe tylko w nowej wersji) zwiększa klarowność rozumowania i zbliża je do pierwotnej koncepcji opisu jednokierunkowości funkcji sprzed ponad 10 lat.

2. Wielokroć dawniej wspominałem o twierdzeniu o równowadze (jest to, oczywiście, moja wewnętrzna robocza nazwa) jako jednym z fundamentalnych, które pozwala przeprowadzić dowód jednokierunkowości funkcji. Tu nic się nie zmieniło, ale zauważyłem, że wykorzystanie generycznych opisów rozkładów oraz własności Si-1\Si ujawniło coś na wzór lustrzanego odbicia twierdzenia o równowadze, ale w innym miejscu. Mówiąc w nieprecyzyjnym uproszczeniu, powstało niemal drugie twierdzenie o równowadze, opisujące inną część zjawisk zachodzących w funkcji VMPC i dające analogiczne wnioski. W skrócie można by to określić jako ujawnienie symetrii twierdzenia o równowadze.

Symetria ta jest nie tylko ciekawym zjawiskiem na poziomie koncepcyjnym, ale pozwoli bardzo zwięźle opisać jeden z głównych elementów finalnego wniosku pracy (choć, od strony formalnej, charakterystyczny tylko dla nowej wersji, wykorzystującej generyczne opisy rozkładów).

Uściślę, że uzyskanie tej symetrii nie wymaga już żadnej dodatkowej pracy, gdyż ujawnia się ona z interpretacji innych, dawno udowodnionych twierdzeń, ale dotychczas nigdzie niezastosowanych (część 3, str. 15-16, cor.s1, proszę wybaczyć własny żargon, ale czasami sam czytam bloga i zostawiam sobie wskazówki, o czym w danym momencie piszę). Aż do teraz. Ucieszyłem się, że one w pracy już są (jak dotąd były tu bez wyraźnego powodu, gdyż kiedyś wydały mi się ciekawe i je opisałem), inaczej musiałbym poświęcić teraz kilka dni na zbudowanie i zapisanie ich dowodów.

Podobnie było z opisanymi jeszcze dawniej względnymi rozkładami prawdopodobieństwa (to także moja wewnętrzna nazwa). Kiedyś opisałem je, gdyż uzupełniały opis funkcji, ale nie były nigdzie wykorzystane w dowodzie. Aż do mającego obecnie miejsce przejścia na generyczne opisy rozkładów, których te rozkłady względne stanowią fundamentalną część składową. Są gotowe, wystarczy je wykorzystać, ale tylko dlatego, że kiedyś bez wyraźnego powodu je opisałem. Z tego by wynikało, że czasami warto zrobić pewne rzeczy bez wyraźnego powodu, jeśli tylko czujemy, że są ciekawe...

Teraz czekam, aż obraz finalnego wniosku pracy wykrystalizuje mi się w głowie do najczystszej możliwej formy i dopiero wtedy zapiszę go na czysto. Samo zapisanie odbędzie się znacznie szybciej niż trwający obecnie proces konsolidacji. Zasadnicze elementy finalnego wniosku pracy (z którym pierwszy raz mierzyłem się pod koniec 2021) są już na roboczo w pracy zapisane, a zastosowanie nowego, generycznego opisu rozkładów prawdopodobieństwa nie będzie wymagało dopisania dużej ilości nowej treści, a głównie będzie polegało na odpowiednim zmodyfikowaniu i uporządkowaniu już istniejącej. Na poziomie koncepcyjnym bowiem finalny wniosek przy zastosowaniu starego i nowego podejścia wyprowadzony jest w ten sam sposób. Różnice tkwią tylko w sposobie formalnego opisania tej koncepcji.

Poza tematem funkcji, aplikacja VMPC Secret Book nie otrzymała w mijającym miesiącu już żadnych modyfikacji, co pozwala mi uznać ostatnią sesję pracy nad nią za zamkniętą. Jednocześnie z prawdopodobieństwem graniczącym z pewnością mogę stwierdzić, że obecna wersja aplikacji jest już wersją oficjalną, która będzie dostępna podczas premiery. Mam przekonanie, że aplikacja jest perfekcjonistycznie dopracowana. Premierę aplikacji planuję równocześnie z ukończeniem merytorycznej części pracy, czyli po zapisaniu i zweryfikowaniu finalnego wniosku pracy.




01.09.2023. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#010923

[Główna część wpisu, pomijająca wstęp, zaczyna się poniżej od słów "Po przejściu"]

Normalni ludzie w wakacje (a przynajmniej w jakąś ich część) odpoczywają, czego mi niestety nie udało się zrealizować. Z jednej strony dobrze, bo więcej pracuję, z drugiej nie do końca dobrze, bo możliwe, że przez to mniej efektywnie pracuję. Jakąś krótką namiastkę relaksu udało mi się w sierpniu zrealizować, choć tylko na lokalnym podwórku (bez wyjazdu), a także udało mi się jeszcze trochę utrzymać na pewien czas odwrócenie uwagi od funkcji przez konieczność wykonania kilku poprawek, choć już bez dodawania żadnych nowych funkcji, w aplikacji VMPC Secret Book.

Ponieważ inspirującym efektem ubocznym tych działań było uzyskanie niemal olśnionego obrazu finalnego wniosku w dowodzie jednokierunkowości funkcji VMPC, zacznę od opisu zadań pobocznych, które wykonywałem, gdy obraz ten w głowie mi się kształtował.

Bardzo chciałem mieć aplikację VMPC Secret Book już gotową do premiery i rzeczywiście nie dodałem już żadnych nowych funkcji, ale natknąłem się na kilka scenariuszy, w których aplikacja nie zachowywała się należycie, co wymagało wykonania poprawek. Najważniejszą było wprowadzenie obsługi sytuacji, kiedy plik szyfrowanej książki jest otwarty jednocześnie przez kilka okien aplikacji (taka sytuacja jest celowo dozwolona, aby umożliwić działanie aplikacji np. w większych organizacjach, gdzie do jednego pliku podłączonych jest kilku użytkowników) i plik ulega modyfikacji. Idąc dalej tą drogą, wprowadziłem osobny tryb pracy z plikami z zablokowanym dostępem do zapisu, gdzie teraz aplikacja rozpoznaje taki scenariusz i nie zezwala na inicjowanie zmian w pliku (wcześniej zmiany można było inicjować, a dopiero podczas ich przebiegu aplikacja raportowała, że nie dało się ich zrealizować, co było mniej eleganckim rozwiązaniem z punktu widzenia interfejsu użytkownika). Poprawiona została także, na wielu poziomach, ergonomia działania funkcji wyszukiwania dokumentów i folderów w szyfrowanej książce. M.in. obecnie wejście do znalezionego folderu nie resetuje kolejności szukania, przejście do folderu głównego zatrzymuje kursor na pierwszym folderze z danego drzewa, z którego wychodzimy, wyszukiwanie dokumentów globalnie w książce, gdy jesteśmy w jakimś podfolderze, przenosi automatycznie do folderu głównego. Poprawiona została także ergonomia działania wszystkich pól edycji pod kątem tego, kiedy tekst ulega automatycznemu zaznaczeniu. Na koniec, wprowadzona ostatnio funkcja podążania głównego okna aplikacji za oknem szyfrowanej książki, została poprawiona i teraz główne okno aplikacji przemieszcza się na pozycję okna książki od razu po zakończeniu przeciągania okna książki, a nie dopiero po otwarciu dokumentu. Do tego jeszcze wykonałem kilka drobnych technicznych usprawnień. Mam obecnie wrażenie, że wszystkie funkcje aplikacji, także te najnowsze sprzed miesiąca, są już ostatecznie dopracowane i aplikacja jest oficjalnie gotowa do premiery. Dodam, że funkcje techniczne, niskopoziomowe, jak szyfrowanie, organizacja pliku książki, są już od dawna dopracowane, a obecne nowości obejmują wyłącznie obszar szeroko rozumianego interfejsu użytkownika / User Experience (UX).

Dodam jeszcze, ale już bez szczegółów, że oprócz udoskonaleń aplikacji VMPC Secret Book, przez ostatnie około 9 miesięcy w wolnych chwilach zajmowałem się rozwijaniem jeszcze jednego, ale już czysto hobbistycznego "wynalazku", który obecnie, po długiej ewolucji i kilkuset próbach, funkcjonuje już bardzo dobrze, a trwają jeszcze (w tle, nie angażując mojego czasu, taki jest charakter tego obiektu) ostatnie szlify dotyczące jednego parametru. Jest to projekt czysto hobbistyczny, niezwiązany z matematyką ani informatyką, mający jednak naturę techniczną, a jego głównym zadaniem jest dostarczanie przyjemności / radości. Zajmowałem się nim w ramach wolnego czasu, dla relaksu, jednak chyba dopiero teraz zaczynam doceniać, że oprócz tak potrzebnego mi na co dzień źródła jakiejś bieżącej rozrywki, odpoczynku, dzięki swojej technicznej i ewolucyjnej naturze (polegającej na udoskonalaniu kolejnych wersji) nie tylko relaksował, ale i stymulował mi umysł. Więcej może napiszę o nim w późniejszym czasie, choć nie jestem pewien, gdyż nie jest on tematycznie związany z funkcją, więc zasadniczo nie pasuje do tematyki bloga. Jako wskazówkę, niczym na mapie skarbów, dla zabawy, mogę powiedzieć, że jedną z jego unikalnych cech jest pierwszorzędne użycie cewki tam, gdzie zwykle stosuje się kondensator, do czego częściową inspirację zaczerpnąłem z ekstremalnej konstrukcji topowego producenta, który swoje 30-lecie świętował jej wskrzeszeniem. Dobór słów "pierwszorzędne" i "ekstremalnej" dostarcza wskazówek. Uprzedzam, że raczej tylko osoba siedząca w temacie może rozwiązać zagadkę, więc nie warto się nad nią głowić, szczególnie, że nie prowadzi ona do skarbu!

Prawdopodobnie w efekcie tych niezwiązanych z funkcją działań, a może po prostu w naturalnej kolei rzeczy, nastąpiło, co poniżej opisuję.

Po przejściu z syntetycznych na generyczne opisy rozkładów prawdopodobieństwa i dalszym zgłębianiu tego podejścia w ostatnich dwóch miesiącach, doszedłem do zaskakująco olśniewających wniosków.

Zamyka się mianowicie koło, które zostało rozpoczęte 11 lat temu, w roku 2012. Wtedy miałem pierwszą abstrakcyjną wizję, od jakiej strony można formalnie udowodnić jednokierunkowość funkcji VMPC. Do jej analizy użyłem wtedy symulacji komputerowych, które liczyły prawdopodobieństwa występowania pewnych zjawisk, mających emulować funkcję VMPC. Podkreślę, że symulacja ta nie dotyczyła funkcji VMPC, była tylko dość odległym, luźno skojarzonym zjawiskiem, a ewentualnych podobieństw do VMPC można było dopatrzyć się tylko na bardzo wysokim poziomie abstrakcji.

W swoim własnym żargonie nazywałem tę symulację eksperymentem ze ślepym łucznikiem (blind archer experiment). Nazwa oddaje w pewnym stopniu istotę zjawiska.

To symulowane zjawisko, choć odległe od funkcji, miało jedną bardzo ważną zaletę - było bardzo klarowne, bardzo proste do analizy. Prace nad tym zjawiskiem były inspiracją dla formalnego dowodu jednokierunkowości funkcji VMPC. Dokładniej, celem rozpoczętej w 2015 pracy nad dowodem jednokierunkowości było przeniesienie wyników eksperymentu ze ślepym łucznikiem na funkcję VMPC oraz opisanie tych zjawisk formalnie, przy pomocy rachunku prawdopodobieństwa, a nie symulacji komputerowych. Oczywiście w postaci ogólnej, aby dotyczyły dowolnego algorytmu odwracania funkcji, zgodnie z definicją funkcji jednokierunkowej.

Na przestrzeni kolejnych lat pracy nad dowodem i po zagłębianiu się mocniej i mocniej w formalny język matematyki, opisujący funkcję VMPC, już wiele lat temu straciłem z horyzontu eksperyment z łucznikiem. Został one przykryty przez kolejne warstwy definicji i twierdzeń. Wydawało się to całkowicie normalne, praca poszła dalej i dojrzewała tak znacznie ponad pierwotny eksperyment, że ten naturalnie zanikł z pola widzenia, ale to nic złego, bo spełnił swoją rolę, dając inspirację i nadając pierwotny kierunek pracy.

Do chwili obecnej, czyli do okresu około czerwca-sierpnia 2023, kiedy to zapomniany już dawno ślepy łucznik wyłonił się ponownie! Gdy zdałem sobie z tego sprawę, było to dla mnie olśniewające wrażenie, gdyż widzę, że zatoczyłem koło i przechodząc głębokimi tunelami matematycznych wzorów doszedłem do punktu wyjścia, czyli do opisu eksperymentu ze ślepym łucznikiem! Tylko że teraz eksperyment ten opisany jest już formalnym językiem matematyki.

Co więcej, jedna z głównych własności, wykorzystywana w porzuconych obecnie syntetycznych rozkładach (opisana w maju, o kryptonimie Ai-1\Ai), pozwoliła nie tylko jasno opisać formalnie jeden z fundamentalnych aspektów istoty zjawiska opisanego teraz przy pomocy rozkładów generycznych (duży pożytek z porzuconej koncepcji), ale jeszcze pozwoliła dodatkowo doprecyzować przebieg starego eksperymentu z łucznikiem, ponad jego pierwotną postać z 2012 roku.

Do tego stopnia, że teraz eksperyment ze ślepym łucznikiem można zilustrować nawet 8-latkowi, nie używając żadnych pojęć matematycznych, a jedynie używając figurki łucznika z zawiązanymi oczami, tarcz oraz ruchomych platform. 8-letnie dziecko już na poziomie intuicji najprawdopodobniej wyczuje, że w tym eksperymencie łucznik, usiłujący trafić do celu, skazany jest na niepowodzenie, a skala tego niepowodzenia będzie rosła gwałtownie (niewielomianowo, jak w definicji funkcji jednokierunkowej) wraz ze wzrostem liczby tarcz, reprezentującej rozmiar permutacji. W ilustracji tej możliwe jest nawet zobrazowanie, dlaczego funkcja f(f(f(x))) (nie VMPC) jest łatwa do odwrócenia - w jej przypadku strzała wyposażona by była w system naprowadzania - podczas gdy w przypadku VMPC, f(f(f(x))+1), łucznik jest pozostawiony sam sobie, bez systemu naprowadzania strzały na cel. Tym sposobem 8-letnie dziecko (jak i każdy starszy) będzie mógł zrozumieć istotę jednokierunkowości funkcji VMPC.

Dla mnie jest to dość głębokie przeżycie, które oczywiście jeszcze niczego nie mówi na temat prawidłowości mojego dowodu, ale potwierdza fakt, że od 11 lat nie zboczyłem z drogi, którą obrałem i którą uparcie dążę do celu, który, mam nadzieję, już wkrótce zostanie osiągnięty.

Po publikacji pracy rozważę pomysł, aby eksperyment ze ślepym łucznikiem zrealizować graficznie, przy pomocy animacji komputerowej lub nawet rzeczywistego ruchomego modelu (już z pomocą kogoś innego, bo sam nie umiem takich rzeczy wykonać) tak, aby każdy zainteresowany mógł zrozumieć wizualnie istotę, dlaczego funkcja VMPC jest jednokierunkowa, nawet bez znajomości matematyki.




01.08.2023. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#010823

Za mną kolejna faza analizowania zapisu finalnego wniosku. Nowym rezultatem jest rezygnacja z zawarcia w pracy dwóch alternatywnych sposobów na jego sformułowanie. Główny sposób bazuje na koncepcji z końca 2021 roku, a drugi to rozwinięcie i próba reanimacji starego podejścia sprzed kilku lat, które choć trudniejsze do formalnego opisania, jest koncepcyjnie prostsze. Nazwijmy to drugie roboczo MVTTO (mój własny skrót od słów oddających jego istotę).

Okazuje się, że przy próbie formalnego opisania go musimy powołać się na zapisy, które są bardzo podobne do tych zastosowanych do opisu głównego sposobu. W dalszej kolejności uzyskujemy zapis, który stanowi zakończenie rozumowania w głównym sposobie, a wymaga jeszcze jednego przekształcenia przy zastosowaniu go w MVTTO. W efekcie główny sposób stanowi podzbiór (zapisów wymaganych do skompletowania) dodatkowego sposobu. To sprawia, że dodatkowy sposób staje się zbędny. Choć posiada on dużą wartość na poziomie koncepcyjnym, gdzie jednym zdaniem można przekonująco oddać istotę złożonego zjawiska, to matematycznie nie dodaje on już żadnej wartości, gdyż nie daje się formalnie opisać bez powołania się na kompletny główny sposób.

Szkoda mi tej koncepcji, ale nie będę jej na siłę forsował, skoro jest formalnie zbędna. Być może zostawię ją na jakieś mniej formalne okazje opisywania lub opowiadania o jednokierunkowości funkcji VMPC. Tam sprawdzi się znacznie lepiej, trafiając szybko w sedno, ale bez konieczności formalnego rozwijania. Poniżej zamieszczam wykonany ostatnio "nagrobek" koncepcji MVTTO, uzasadniający decyzję o wykluczeniu jej z pracy:

Dobra wiadomość jest taka, że dzięki temu praca zostanie szybciej ukończona.

W ostatnim miesiącu potrzebowałem też nabrać większego dystansu zarówno do nowego kierunku opisu finalnego wniosku pracy (z zastosowaniem generycznych opisów rozkładów prawdopodobieństwa, nie - syntetycznych, o czym była mowa w poprzednim wpisie), jak i do wspomnianej powyżej decyzji o wyrzuceniu koncepcji MVTTO.

Jak już kilka razy wspominałem, z moich obserwacji wynika, że w projekcie badawczym, gdzie idziemy nieprzetartym szlakiem (w przeciwieństwie do zgłębiania choćby najbardziej skomplikowanej, ale już uporządkowanej i opisanej teorii), bardzo ważne jest obieranie właściwego kierunku - od jakiej strony zjawisko opisać, jakim sposobem, a na samym początku, jakie dokładnie zjawiska opisywać. Każdy taki element to cegiełka, która zajmuje czas i energię.

Jednocześnie mózg (mój przynajmniej, ale chyba jest to zjawisko ogólne) bardzo łatwo się wciąga, angażuje - jeśli zacznę zgłębiać jakieś zjawisko, nie umiem odpuścić, zanim nie dotrę do końca. To jest nadrzędna siła psychiczna, której nie umiem kontrolować, więc muszę bardzo uważać, w co się angażuję. Dlatego bardzo ważne i pozwalające oszczędzić czas jest dla mnie nabieranie dystansu do nowych wyników. Zanim zaangażuję się i zatopię w zgłębianiu nowej koncepcji, warto ocenić ją kilka razy, od różnych stron, czy na pewno warto w nią wchodzić, czy nie okaże się ślepą uliczką. Wtedy bowiem taka cegiełka zabierze czas, energię, a potem zostanie wyrzucona. Całkiem nie da się uniknąć takich błędów, jest to naturalny element procesu badawczego (takiego, gdzie idziemy nową ścieżką, a nie zgłębiamy przetarte szlaki), ale chodzi o to, aby próbować minimalizować ilość takich błędów, ślepych uliczek. Wtedy szybciej osiągniemy efekt końcowy.

Takimi ślepymi uliczkami w ostatnim czasie była koncepcja A → B → C opisu interakcji pomiędzy 1296 zdarzeniami z 24 rozkładów prawdopodobieństwa (zastąpiona w tym roku lepszą koncepcją A → C) oraz opisana powyżej koncepcja MVTTO. Jedna i druga pozwoliła zrobić duży postęp i pozostawiła po sobie wiele cennych elementów w pracy, więc prawdopodobnie bez nich nie udałoby się dojść do obecnego etapu. Podobnie jak w mechanizmie ewolucji. Co nie zmienia faktu, że mimo wszystko były to ślepe uliczki i być może dało się dojść do obecnego etapu szybszą drogą, np. dłużej zwlekając (nabierając większego dystansu) przed zaangażowaniem się w zgłębianie danej koncepcji, czyli przed wejściem do danego tunelu. W tym kontekście dochodzimy do paradoksalnego wniosku, że czasami (kontrolowane) lenistwo (zwlekanie przed wejściem do takiego tunelu) pozwala szybciej ukończyć całe zadanie (gdyż tracimy mniej czasu na ślepe uliczki).

Chciałbym mieć pewność, że wszystkie ślepe uliczki są już za mną i że nie wchodzę w kolejną, obierając konkretny sposób opisu finalnego wniosku pracy. Aby nabrać dystansu do opisanych w tym i w poprzednim wpisie nowych ustaleń (zajmując głowę przez jakiś czas czymś innym), jeszcze raz wróciłem do aplikacji VMPC Secret Book. Z pomysłów na nowe funkcje wpadł mi tylko jeden, już zrealizowany, na dodanie przycisku powrotu do głównego folderu w szyfrowanej książce. To może być pożyteczne dla użytkowników, którzy będą tworzyć skomplikowane struktury folderów i podfolderów. W aplikacji zastosowałem własny algorytm organizowania zaszyfrowanych dokumentów w foldery (na dysku podobną rolę pełni system NTFS czy FAT). Potem okazało się, że dodatkowej pracy wymagała jeszcze obsługa szczególnych przypadków zamykania i minimalizowania okna aplikacji. W niektórych przypadkach (np. po wciśnięciu przycisku zasilania, gdy w ustawieniach Windowsa ma on powodować zamknięcie systemu), aplikacja blokowała zamknięcie, a także nie reagowała prawidłowo na polecenie minimalizowania po wciśnięciu Win+M (choć pewnie prawie nikt nie korzysta z takiego skrótu). Wszystkie problemy udało się usunąć, choć wymagało to znacznie więcej pracy, niż można by się spodziewać po tym, jak bardzo elementarne są to funkcje z punktu widzenia użytkownika. Z rozpędu dodałem też funkcję minimalizowania całej aplikacji z poziomu okna modalnego szyfrowanej książki, co dla użytkownika może wydawać się czymś oczywistym, a od kuchni wymagało trochę akrobacji. Obecnie również zmiana pozycji lub rozmiaru okna szyfrowanej książki powoduje automatyczne zastosowanie tych parametrów do głównego okna programu (główne okno podąża za oknem książki).

Mam intuicyjne poczucie, że to były ostatnie zmiany, jakie wykonałem w aplikacji. Nie mam już żadnych pomysłów na nowe funkcje, a wszystkie, które miałem, zostały zrealizowane. Od strony technicznej, po powyższych poprawkach, aplikacja działa już w pełni sprawnie. Jest też już obszernie przetestowana. Strategicznym planem od dawna było ukończenie aplikacji w tym samym czasie, co merytoryczne zakończenie pracy o funkcji VMPC. Wykonanie modyfikacji w aplikacji dało mi odpowiedni dystans do funkcji i teraz nie pozostaje mi już nic innego, jak wykorzystać nowe wyniki z ostatnich dwóch miesięcy w zapisie finalnego wniosku pracy i mieć nadzieję, że aplikacja nie będzie musiała już długo czekać na zakończenie drugiego projektu.




04.07.2023. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#040723

W ostatnim czasie udało mi się głębiej wniknąć w szczegóły zapisu finalnego wniosku pracy. Wcześniejsza część pracy (ponad 100 stron) stanowi ścisły opis funkcji VMPC, gdzie każda własność jest formalnie udowodniona. Ta część pracy nie wymaga żadnego komentarza w języku angielskim (szczątkowe komentarze pojawiają się jedynie, aby pomóc w śledzeniu rozumowania), zbudowana jest przy pomocy samego formalnego języka matematycznych symboli. Ten sam standard musi zostać zachowany w finalnym wniosku pracy, co niestety jest pracochłonne, nawet jeśli wydaje się (jak teraz), że wszystko jest już prawie gotowe.

Jednym z ciekawszych nowych (z ostatniego miesiąca) wniosków jest, że najprawdopodobniej główną drogą zapisania finalnego wniosku pracy będzie wykorzystanie innych postaci rozkładów prawdopodobieństwa niż pierwotnie sądziłem. Każdy z 24 rozkładów opisany jest na dwa sposoby (ich równoważność jest, oczywiście, udowodniona). Każda z tych dwóch postaci jest wygodna do opisu różnych własności funkcji. Na przykład opis interakcji (wcześniejsze miesiące pracy) wykorzystywał tylko generyczne postaci rozkładów. Tymczasem zapis finalnego wniosku (na dwa alternatywne sposoby) od dawna bazował na (równoważnych) syntetycznych postaciach rozkładów.

Jednakże analizy przeprowadzone w ostatnim miesiącu sugerują, że prawdopodobnie do zapisu finalnego wniosku wygodniejsze mogą się okazać generyczne postaci rozkładów. Ten nowy wniosek powstał po zgłębieniu jednego z dwóch alternatywnych sposobów zapisu finalnego wniosku. Sposób, który miał być dodatkowym, oddającym koncepcyjną istotę problemu, najprawdopodobniej dzięki wykorzystaniu generycznej postaci rozkładów stanie się tym głównym. Efekt tej zmiany będzie mierzalny, gdyż finalny wniosek zyska znacznie na przejrzystości i bezpośredniości. Do tego stopnia, że rozważam, czy nie pozostanie on w pracy jako jedyny. To się powinno wkrótce wyklarować.

Ta zmiana nie rodzi konieczności dowodzenia żadnych nowych twierdzeń, jest to jedynie inny sposób wykorzystania już istniejącego materiału. Na tym etapie, inaczej niż w poprzednich miesiącach, kiedy pracowałem nad opisem interakcji i zapisałem kilkadziesiąt stron, sam zapis finalnego wniosku powinien być krótki (bliżej objętości jednej strony), natomiast posiada on, jeśli mogę tak to określić, dużą wagę koncepcyjną, to znaczy, wymaga staranie dobranego podejścia, od jakiej dokładnie strony zjawisko opisać. Po obraniu właściwego kierunku, sam formalny zapis wniosku powinien wyjść bardzo zwięzły.

Zilustrować można to tak, że finalny wniosek jest już w dużej części zapisany w postaci formalnej (od dość dawna), a obecne wysiłki mają na celu podłączenie do niego istniejących twierdzeń, opisujących funkcję VMPC. Tak, aby całość utworzyła jedno spójne rozumowanie.

Aby nieco dać odpocząć głowie i nabrać minimalnie większego dystansu, w ostatnich dniach dorobiłem kilka ulepszeń do interfejsu aplikacji VMPC Secret Book, m.in. możliwość wyboru indywidualnego koloru nie tylko w głównym oknie edycji, ale także w oknie szyfrowanej książki. Do tego małe udoskonalenie skrótów klawiszowych (np. oprócz Ctrl+F, szukanie będzie można aktywować klawiszem F4, gdzie F3 wyszukuje kolejny obiekt), oraz kilka innych drobiazgów. Mam nadzieję, że wśród użytkowników trafi się choć kilka osób, które zgłębią system skrótów klawiszowych, zaprojektowany tak, aby umożliwiał korzystanie z aplikacji w trybie ekstremalnego lenistwa. Dostęp do większości funkcji nie tylko jest możliwy z poziomu klawiatury, ale klawisze skrótów dla najczęściej używanych funkcji zostały dobrane tak, aby wymagały możliwie najmniejszych ruchów palców i nadgarstków. Obejmuje to m.in przeprogramowanie standardowej systemowej obsługi klawisza Tab, który leży w tak ergonomicznym miejscu, że szkoda było nie rozszerzyć jego funkcjonalności. Oczywiście wszystkie funkcje można obsłużyć także myszą, co zajmuje jednak znacznie więcej czasu.

Obecnie zabawę z aplikacją już zakończyłem. Na deser piszę te słowa, a następnie wracam do formalnych szczegółów zapisu finalnego wniosku pracy. Wakacji jako takich nie planuję, odpocznę, gdy skończę pracę.




31.05.2023. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#310523

Za mną intensywny etap koncepcyjnego porządkowania zapisu finalnego wniosku pracy. Nie namierzyłem problemów z wszczepieniem do niego najnowszych wyników, czyli, używając nomenklatury z poprzedniego wpisu, rozumowania A → C o kryptonimie "12G".

Finalny wniosek po raz pierwszy został zapisany pod koniec 2021, następnie został doprecyzowany i rozbudowany w dwóch kolejnych sesjach w odstępie wielu miesięcy, ma on zatem już dość długi staż. Obecnie wciąż pracuję nad jego uporządkowaniem i wyborem optymalnej wersji jego formalnego zapisu.

Mimo że pokusa jest duża, to nie mogę tego etapu przyspieszyć i wykonać go pobieżnie, gdyż jest to kulminacyjny element pracy, który syntezuje (obecnie) około 150 stron formalnego opisu funkcji VMPC.

Każdego dnia zapis stopniowo porządkował mi się w głowie, tradycyjnie nie czułem nad tym procesem większej kontroli. Miesiąc temu widziałem tu jeszcze sporo bałaganu i nadmiar zapisanych wcześniej wersji do wyboru, a obecnie mam już uporządkowaną wizję, jak ten zapis ułożyć oraz jak uściślić opis jednego niedużego elementu (o kryptonimie Ai-1\Ai), który w roboczych wersjach był jeszcze zapisany skrótowo.

Zapis finalnego wniosku pracy będzie niczym innym jak formalnym uściśleniem pomysłu, który wpadł mi do głowy około roku 2017 i który był jednym z fundamentalnych koncepcyjnych kamieni milowych w strategii zapisu dowodu. Pamiętam nawet dokładnie, w jakim momencie w 2017 pomysł ten wpadł mi do głowy. W okolicznościach niewspółmiernie banalnych względem rangi pomysłu - podczas spaceru do osiedlowego sklepu. Już wtedy, w 2017, używając tego pomysłu, mogłem przekonująco uzasadnić, ze funkcja VMPC jest jednokierunkowa. Cała praca od tamtego czasu do dziś (6 lat) jest tylko po to, aby to uzasadnienie opisać formalnie tak, aby stanowiło dowód.

Zakładając, że dowód okaże się prawidłowy, tu piękno matematyki ukłoni się tylko w jedną stronę - czytelnikowi, który (mam nadzieję) ucieszy się z koncepcyjnej prostoty dowodu. W moją stronę ukłonu piękna nie będzie, gdyż będę widział tylko, ile trudu i czasu wymagało znalezienie sposobu na formalne opisanie tej prostej koncepcji.




22.04.2023. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#220423

Zakończyłem formalne opisywanie skróconego, wspomnianego w poprzednim wpisie, rozumowania A → C. Wymagało ono jednak więcej pracy niż się spodziewałem, pomimo że koncepcyjnie jest bardzo proste. Ponownie ukłonił się urok matematyki, w której formalny zapis względnie prostego faktu może okazać się bardzo skomplikowany. Tu do formalnego opisania rozumowania, niech nosi ono kryptonim "12G", które mógłbym precyzyjnie uzasadnić słownie w kilku zdaniach, musiałem stworzyć 10 stron nowych twierdzeń / lematów. Ich finalna wersja nie powstała od razu, a wyewoluowała z roboczych zapisów, zajmujących łącznie 20 stron:

Dzięki temu mogłem wyrzucić z pracy starą (sprzed ponad miesiąca) wersję rozumowania A → B → C, która w inny sposób i od innej strony porządkowała interakcje pomiędzy 1296 zdarzeniami z 24 rozkładów prawdopodobieństwa:

Zmniejszenie objętości pracy okazało się zatem symboliczne - z 11 do 10 stron, jednak nowy sposób wnioskowania jest dużo bardziej bezpośredni i przejrzysty oraz lepiej pasuje do formalnej struktury opisu finalnego wniosku pracy. Z poprzedniego A → B → C nigdy nie byłem do końca zadowolony, tymczasem nowa wersja A → C wydaje się naturalnie tą właściwą, która powinna zostać obrana od początku (patrząc kilka miesięcy wstecz, kiedy zaczynałem porządkować interakcje).

To potwierdza mi kolejny raz, że postawienie odpowiedniego pytania (odpowiednie sformułowanie zadania) może być ważniejsze niż samo rozwiązanie. Jeśli sformułujemy zadanie od odpowiedniej strony, rozwiązanie może okazać się znacznie lepsze.

W tym kontekście wszyscy, którzy nie lubią matematyki w szkole czy na uczelni, mogą docenić choć fakt, że tam zadania są już podane i wystarczy je rozwiązać, nie trzeba się zastanawiać, jak sformułować zadanie, aby najlepiej opisywało zjawisko, które widzimy w wyobraźni.

Na deser, co wymagało już względnie niewielkiej ilości pracy, w ciągu ostatnich kilku dni opisałem także alternatywny sposób osiągnięcia nowego wyniku A → C, który określam kryptonimem "24G". Koncepcyjnie obie wersje ("12G" i "24G") mają tę samą wartość, a różnicę można scharakteryzować tak, że "12G" opisuje zagadnienie bardziej szczegółowo kosztem większej objętości (10 stron), tymczasem wersja "24G" ma cechy dokładnie odwrotne.

Przede mną wszczepienie powyższych wyników do finalnego wniosku pracy, już zapisanego na czysto (czyli w pliku pracy, nie w brudnopisie) w kilku roboczych wersjach, oraz wybór najlepszej wersji. Następnie pozostanie rozmnożenie niektórych twierdzeń na zasadzie analogii, (to zadanie nie będzie już rodzić komplikacji koncepcyjnych) oraz redakcyjne uporządkowanie pracy.

Wiele razy już mi się wydawało, że jestem bardzo blisko końca, ale pewny jestem jednego, że ten koniec gdzieś istnieje, że pragnę jak najszybciej do niego dojść (ale nie szybciej...) oraz że nigdy nie byłem tak blisko końca, jak jestem teraz.




24.03.2023. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#240323

W ostatnim czasie pracowałem nad wszczepieniem opisu interakcji pomiędzy 1296 zdarzeniami z 24 rozkładów prawdopodobieństwa do finalnego wniosku pracy, stwierdzającego, że VMPC jest funkcją jednokierunkową. Alternatywny opis tego wniosku, odnotowany w poprzednim wpisie, utrzymał się w mocy, a nawet wzmocnił. Do tego stopnia, że doprowadził do dużego i niespodziewanego postępu.

Mówiąc obrazowo, dotychczasowa strategia dotycząca powyższego etapu pracy polegała na opisaniu wnioskowania A → B → C. Gdzie A, B, C są opisami pewnych (dość obszernych) zjawisk zachodzących w funkcji VMPC. Najpierw z A wnioskujemy B, a potem z B wnioskujemy C.

Podczas ponownego analizowania zapisu finalnego wniosku pracy zauważyłem jednak, że rozumowanie to można zapisać znacznie krócej. Jeśli spojrzymy na zjawisko z nieco innej strony, a dokładniej, postawimy nieco inne pytania, to okazuje się, że możemy z A bezpośrednio wywnioskować C. Mamy teraz zatem A → C.

Tu nie widać skali tego uproszczenia, ale w rzeczywistości pominięcie opisu powiązań B z A oraz B z C (czyli wyeliminowanie stanu pośredniego B) pozwoliło bardzo mocno zwiększyć klarowność rozumowania. Jego zapis będzie teraz też znacznie krótszy. I znacznie bardziej bezpośredni.

Przyrost jakości jest tak duży, że zamiast się cieszyć z postępu, bezpośrednio po zauważeniu tego skrótu martwiłem się, że nie wpadłem na niego wcześniej. Prześledziłem wcześniejsze zapisy, po których obrałem drogę A → B → C, i czytając je, rozumowanie A → B → C wydawało mi się i teraz naturalną, narzucającą się drogą. Wydaje mi się, że nie byłem w stanie wpaść na krótszą drogę A → C bez przejścia przez A → B → C. Cóż, pozostaje się jednak cieszyć, że nowa droga jest znacznie lepsza.

Na szczęście nie wymaga ona dużo pracy. Wystarczy nieco przegrupować opisane interakcje pomiędzy 1296 zdarzeniami (zmienić sposób ich uporządkowania), a przeprowadzone wcześniej dowody tych interakcji pozostają w mocy. Jedyną dodatkową pracą jest konieczność udowodnienia kilku mniejszych lematów, z których większość już udowodniłem. Obecnie pozostał już tylko ostatni. Rozwiązanie mam już gotowe, kilka strategii zapisu jego dowodu także, pozostaje tylko wybrać najlepszy i znaleźć ładny sposób na jego formalny zapis. Następnie będzie można go już wszczepić do finalnego wniosku pracy.

W ostatnich dniach powstała jeszcze jedna ciekawa rewelacja. Podczas pracy nad wspomnianymi lematami pojawiła się automatycznie (nie wiem do końca, skąd, ale pojawiła się wyraźnie) konieczność opisania pewnego zjawiska, toteż zacząłem je opisywać, ale w trakcie zahaczałem coraz bardziej o pewien stary element pracy (nad którym pracowałem kilka lat temu), związany z opisaniem głównego zastosowania twierdzenia o równowadze. Myślę, dobrze, wszystko się w pracy ładnie łączy. Ale gdy praca nad tym elementem postępowała, okazało się, że uzyskałem - całkowicie niezamierzenie - dokładnie ten sam wynik, co ten stary, opisujący zastosowanie twierdzenia o równowadze. Wynik został osiągnięty od całkiem innej strony. Nowy sposób i tu okazał się znacznie prostszy niż stary. Oba jednak pozostaną w pracy, gdyż są tak odmienne.

Mam nadzieję, że to już ostatnie udoskonalenia. Pracuję ostatkiem sił i nawet nie mam energii cieszyć się postępami.

Miałem też od dawna nadzieję, że gdy dotrę do końca pracy, to po tak długim procesie będę jednak wreszcie umiał zrozumieć istotę kreatywności, jak działa mechanizm wpadania na nowe rozwiązania, na nowe sposoby opisywania badanych zjawisk, na właściwe pytania. Tak, aby w razie sukcesu pomóc innym i odpowiedzieć im od razu na pytanie, jaki jest sekret dokonywania kreatywnego postępu. Niestety ze smutkiem przyznaję, że nawet dziś - nie wiem. To się dzieje samo, poza moją kontrolą, przez 24 lata pracy nie udało mi się zidentyfikować jakiejś jednej skutecznej recepty, jak generować nowe pomysły. Nawet teraz - te postępy, o których napisałem powyżej i które są całkiem świeże, nie wiem, jak powstały. Pomimo że powstały całkowicie w mojej głowie (niczego nie czytałem, aby je uzyskać) i sam je opisałem formalnie. Czasami czuję się jakbym nie był do końca autorem swojej własnej pracy... Jakbym był współautorem do spółki z jakąś siłą, której mechanizmów do dziś nie znam, a która zasiewa pomysły w mojej głowie. Ubolewam, że nie mam nad tym procesem kontroli. Pozostaje się tylko cieszyć z efektów, że praca idzie naprzód i że koniec jest już na wyciągnięcie ręki.

Jedyne, co jako tako rozumiem, to efekt czasu. Jeśli nad problemem pracujemy wnikliwie przez nieracjonalnie dużą ilość czasu, to mogą się pojawić niespodziewane pomysły i postępy. Ale pozostaje tylko na nie czekać. Wciąż nie wiem, jak można je przywołać. To coś jak traktowanie własnego umysłu jako niezależnej "sztucznej" inteligencji, która karmiona odpowiednio dużą ilością informacji i obdarzona odpowiednią ilością czasu na ich przetwarzanie, zaczyna zwracać nam wnioski i pomysły, które nas samych zaskakują.

Mam nadzieję, że od teraz do końca pójdzie już gładko, że ukończę dowód wspomnianego powyżej lematu w najbliższym czasie, że nie będzie komplikacji w zastosowaniu go w finalnym wniosku pracy i że tym krokiem osiągnę wreszcie upragniony stan merytorycznego ukończenia pracy. Niczego nie zapowiadam, bo nie mam wpływu na nowe wyniki, które po drodze powstają, ale czuję, że koniec jest już bardzo blisko.

Potem pozostanie szlifowanie pracy, ale to nie powinno zająć bardzo dużo czasu, gdyż wszystkie elementy były od dawna zapisywane w swojej docelowej formalnej postaci, więc mam nadzieję, że szlifowanie sprowadzi się tylko do ułożenia bloków pracy w odpowiedniej kolejności, poprawieniu / uspójnieniu kilku definicji i może dopisaniu kilku komentarzy. Sama twarda formalna część, mam nadzieję, nie powinna wymagać żadnych albo prawie żadnych modyfikacji.




10.02.2023. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#100223

Zapowiedziana w ostatnim wpisie synteza wniosków z interakcji pomiędzy 1296 zdarzeniami z 24 rozkładów prawdopodobieństwa - gotowa. Zamiast planowanej 1 strony zajęła 2,5 strony. Tym krokiem ostatecznie zakończyłem opisywanie interakcji pomiędzy 1296 zdarzeniami - zadanie, które swoja genezę miało w sierpniu 2022.

Teraz mogę wreszcie wstawić rezultaty tego etapu do zapisanego już finalnego wniosku pracy, stwierdzającego, że VMPC jest funkcją jednokierunkową.

Dzięki nabranemu w międzyczasie dystansowi (można by go nazwać "świeżym spojrzeniem") wczoraj jakimś napływem inspiracji zapisałem na brudno alternatywną nową formę opisu połączenia twierdzenia o funkcji malejącej (już oficjalnie zapisanego w pracy) z finalnym wnioskiem pracy (też już oficjalnie zapisanym). Nie jest to na szczęście pułapka, która mogłaby wymagać kolejnych miesięcy, a jedynie alternatywny sposób na opisanie wniosków, wynikających z istniejących już i opisanych na czysto twierdzeń.

W najbardziej pracochłonnym (ale i najbardziej optymistycznym) wariancie efektem będzie to, że finalny wniosek pracy (stwierdzający, że VMPC jest funkcją jednokierunkową), będzie zapisany na dwa alternatywne sposoby - jeden, bazując na prawdopodobieństwie warunkowym, a drugi (nowa koncepcja) wynikający wprost z twierdzenia o funkcji malejącej.

Jednocześnie strategia, aby "rozmnożenie" dowodu równoważności pomiędzy dwiema alternatywnymi definicjami rozkładów prawdopodobieństwa pozostawić na sam koniec pracy (to jeszcze przede mną, choć to tylko "praca fizyczna") okazała się bardzo skuteczna, gdyż w ostatnich 2 tygodniach musiałem minimalnie zmodyfikować ten dowód równoważności, a dokładniej musiałem wyciągnąć z niego jeden z elementów do poziomu osobnego lematu, gdyż podczas zapisywania wniosków z opisu 1296 interakcji pojawiła się konieczność powołania się na ten lemat. Owo "rozmnożenie" pozostaje do wykonania jako ostatni element pracy, który jest jeszcze przede mną, ale on nie powinien nastręczyć żadnych merytorycznych trudności, gdyż polega jedynie na analogicznym powtórzeniu istniejącego już dowodu dla pozostałych zdarzeń. Po czym pozostanie już tylko redakcyjne doszlifowanie treści pracy.




14.01.2023. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#140123

Zapis wniosków z opisanych wcześniej interakcji pomiędzy 1296 zdarzeniami z 24 rozkładów prawdopodobieństwa okazał się bardziej pracochłonny niż sądziłem. Zajął łącznie 8 stron. Pozostało jedynie zapisać jeszcze syntezę tych wniosków, co powinno zająć do 1 strony. Syntezę tę mam już zapisaną na brudno i nie powinna nastręczyć większych problemów. Dopiero po jej zapisaniu będę mógł uznać obecny etap pracy (analiza interakcji między 1296 zdarzeniami) za definitywnie zakończony.

Był to mozolny i niewdzięczny etap, którym zajmowałem się od kilku miesięcy. Wymagał dużo wysiłku, a dotyczył głównie mało twórczego porządkowania (grupowania, opisywania, dowodzenia) zależności pomiędzy zdarzeniami.

Pozostaje wstawić rezultaty tego etapu do zapisanego już finalnego wniosku pracy (stwierdzającego, że VMPC jest funkcją jednokierunkową). Do tego dojdzie jeszcze blisko 30 stron w wyniku wspominanego wcześniej "rozmnożenia" dowodu równoważności pomiędzy dwiema alternatywnymi definicjami rozkładów prawdopodobieństwa. Dowód ten jest zapisany na czysto dla dwóch rozkładów, a pozostałe powstaną analogicznie. Po wykonaniu tych zadań, pracę będę mógł wreszcie uznać za merytorycznie ukończoną. Po tym pozostanie już tylko porządkowanie redakcyjne.

Nowy rok był okazją do podsumowania efektów pracy z ostatniego roku (2022). Efektów tych było więcej niż sądziłem. Będąc na bieżąco pochłonięty pracą, nie do końca byłem świadomy, jak dużą ilość tej pracy wykonuję. W 2022 objętość pracy zwiększyła się o poniższe 36 stron, czyli w przybliżeniu o 35%.

Szacuję, że praca gotowa do publikacji będzie zajmowała około 170 stron.

Na przełomie roku poświęciłem kilka dni na wprowadzenie kilku drobnych ulepszeń w interfejsie użytkownika nowej aplikacji do szyfrowania VMPC Secret Book. Aplikacja jest gotowa, a jej premierę planuję równocześnie z zakończeniem merytorycznej części pracy. Dodam, że z aplikacji jestem ogromnie zadowolony, używam jej na własny użytek od ponad roku i już nie wyobrażam sobie korzystania z komputera bez niej.




07.12.2022. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#071222

Zapis wszystkich interakcji pomiędzy 1296 zdarzeniami z 24 rozkładów prawdopodobieństwa - gotowy! Było to (mozolne) zadanie zapowiedziane w październikowym wpisie. Przebieg był nieco zaskakujący, gdyż niektóre z nowych lematów (ze wspomnianych wcześniej 13 stron) udało się zintegrować w pojedyncze lematy, a niektóre interakcje udało się tak pogrupować, że ich zapis jest bardziej syntetyczny niż pierwotnie planowałem, co skróciło nieco treść.

Ponownie był to proces, nad którym nie czułem pełnej kontroli, jakby lematy i interakcje same układały się w nowy porządek, a ja tylko im nie przeszkadzałem i zapisywałem wyniki, niczym sekretarka. Z wyników jestem bardzo zadowolony, całość wygląda znacznie lepiej niż sobie wyobrażałem.

Pomocne było nabranie dodatkowego dystansu do nowego materiału - po tym, jak dużą część listopada poświęciłem na dopracowanie ostatnich detali w aplikacji VMPC Secret Book, której premiera wkrótce.

Okazało się także, że wspomniany w październiku dodatkowy lemat, który miał być niepotrzebny, a jego dowód miał być przedmiotem konkursu dla czytelników, w ostatniej chwili porządkowania okazał się być przydatny do wytłumaczenia ostatniej grupy interakcji po nowym ich pogrupowaniu. Tym samym rozwiązanie niedoszłego konkursu będzie zawarte w pracy.

Przede mną zastosowanie opisanych lematów do uzasadnienia kluczowego elementu (już zapisanego) w finalnym wniosku pracy.




08.11.2022. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#081122

Moim planem od dawna było ukończyć pracę nad funkcją VMPC oraz aplikacją do szyfrowania VMPC Secret Book w tym samym czasie. Po ostatnim maratonie pracy nad funkcją przy udowadnianiu lematów opisujących interakcje między zdarzeniami z 24 rozkładów przyszedł czas na trochę odpoczynku, a że podobno zmiana jest tak dobra jak odpoczynek, to wreszcie zabrałem się za wprowadzenie kilku zaplanowanych od dawna zmian w aplikacji.

Oczywiście jak to zwykle u mnie bywa, choć teoretycznie wprowadzenie i przetestowanie zaplanowanych zmian powinno zająć ok. 3 dni pracy, to pracowałem intensywnie nad aplikacją cały ostatni miesiąc. Część techniczna aplikacji jest już od długiego czasu stabilna, teraz też nic w niej nie zmieniałem. Ale zrodziło mi się sporo nowych pomysłów na drobne usprawnienia interfejsu użytkownika / user experience i od razu wprowadzałem je w życie.

Znaczący akcent położony jest na wygodę i szybkość obsługi. Duże znaczenie w tym obszarze mają skróty klawiszowe, które po opanowaniu mogą pozwolić pracować z aplikacją z przysłowiowa prędkością błyskawicy. Oprócz samego istnienia skrótów klawiszowych do każdej funkcji (łatwo widocznych po najechaniu kursorem myszy na dany przycisk), dużą wagę przykładałem do ergonomii tych skrótów, czyli aby palce na klawiaturze układały się w wygodny sposób do wywoływania najczęściej używanych funkcji. Jednym z ostatnich pomysłów (już zrealizowanych) było przejęcie klawisza Tab na potrzeby szybszego przechodzenia między szyfrowaną książką a oknem edycji dokumentów. Oczywiście tradycyjna funkcja Tab (przechodzenie pomiędzy obiektami) została także zachowana i aktywuje się po wciśnięciu F2, a przechodzenie pomiędzy aplikacjami (Alt+Tab / Alt+Ctrl+Tab) jest także, oczywiście, aktywne.

Pozwoliło to na uzyskanie wygody obsługi godnej Bradypus tridactylus, gdzie przy pomocy klawisza Tab i Enter można bardzo szybko wykonać praktycznie wszystkie operacje w aplikacji - otworzyć szyfrowaną książkę, wyszukać w niej dokument zawierający daną frazę, otworzyć ten dokument, wyszukać w nim daną treść, zmienić jego zawartość (do tego ostatniego mogą być pomocne jednak też inne klawisze...), otworzyć automatycznie link z treści dokumentu, zaszyfrować dokument ponownie i przejść z powrotem do szyfrowanej książki. Powtórzę, to wszystko przy pomocy dwóch klawiszy: Tab i Enter.

Wygoda użytkowania była jednak drugim priorytetem. Pierwszym było bezpieczeństwo. Aplikacja wykorzystuje nowy (choć opracowany już ok. 10 lat temu) opracowany przeze mnie algorytm uwierzytelnionego szyfrowania VMPC-R-MAC, który jest ulepszoną wersją szyfru strumieniowego opublikowanego na konferencji FSE w 2004 (był on opublikowany tam wraz z funkcją jednokierunkową VMPC). Implementacja wykorzystania algorytmów i obsługi zapisu danych do plików jest wykonana z paranoiczną (czytaj, zapewniającą duży margines bezpieczeństwa) starannością.

Choć VMPC Secret Book wywodzi się ze starej aplikacji VMPCrypt i z założenia miała być jej uproszczoną technicznie wersją o poprawionym interfejsie, to zmian jest tak dużo, że prawie nie przypomina już pierwowzoru.

Aplikacja jest już praktycznie ukończona, mogę więc pierwszy raz publicznie udostępnić zrzuty ekranu. Po kliknięciu na obraz można zobaczyć jego powiększenie.







Praca nad aplikacją pozwoliła mi zrelaksować umysł i teraz z naładowanymi bateriami wracam do zapowiedzianego w poprzednim wpisie uzupełniania lematów w pracy o funkcji. Choć monotonna, będzie to przyjemna robota, dająca szybkie efekty. Potem pozostanie wpleść te lematy w już zapisany finalny wniosek pracy i teoretycznie praca będzie wtedy ukończona! Potem zostanie tylko "rozmnożyć" formalny opis wszystkich 24 rozkładów wg gotowego schematu (to też zadanie monotonne, nieproblematyczne i dające szybkie efekty), trochę porządkowania treści, jak ustalenie kolejności i tytułów rozdziałów, uzupełnienie wstępu i zakończenia.




05.10.2022. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#051022

Kolejny etap porządkowania interakcji między rozkładami za mną. Dopiero teraz, po zapisaniu dodatkowych 13 stron pracy (7 obecnie oraz 6 z poprzedniego wpisu), możliwe jest precyzyjne opisanie liczności wystąpień poszczególnych zdarzeń z rozkładów, z uwzględnieniem ich wzajemnych interakcji. Stron jeszcze przybędzie, gdyż lematy opisujące drugą grupę interakcji (zapisane na poniższych 7 stronach) zawierają na razie tylko szkielet - sposób ich ustrukturyzowania oraz formalne dowody zależności zachodzących między zdarzeniami. Przede mną jeszcze "praca fizyczna", polegająca na uzupełnieniu zapisu wszystkich interakcji.

Liczba tych interakcji jest przytłaczająco duża, gdyż 24 rozkłady wyznaczają 36 zdarzeń, a każde może wchodzić w interakcje z każdym (także z samym sobą), co daje łącznie 1296 (=36*36) możliwych interakcji (kolejność ma tu znaczenie - interakcja zdarzenia A ze zdarzeniem B oraz zdarzenia B ze zdarzeniem A to dwie odrębne sytuacje).

Jeden z powstałych lematów najprawdopodobniej okaże się niepotrzebny. Jednak zamiast usuwać go z pracy, najprawdopodobniej pozostawię go bez dowodu, a przeprowadzenie dowodu będzie zadaniem dla czytelnika!

Będzie to forma rozrywki oraz możliwość upewnienia się, czy dobrze potrafi poruszać się po materiale z pracy. Dowód tego lematu to ostatnie półtora strony spośród powyżej wklejonych. Zostanie on usunięty z pracy przed publikacją, ale pozostawię go w swojej dokumentacji, aby móc szybko do niego wrócić. Oczywiście wykonanie zadania będzie całkowicie opcjonalne, nie będzie konieczne z punktu widzenia głównej treści pracy.

Być może po publikacji ogłoszę rozrywkowy konkurs na udowodnienie tego lematu. Jego dowód, choć nie taki krótki (półtora strony), jest dość bezpośredni, wymaga tylko zastosowania odpowiednich definicji oraz kilku innych lematów i wynik wychodzi sam. Będzie to zatem zadanie dostępne niemal dla wszystkich (wystarczy podstawowa wiedza o zbiorach), nie tylko dla ekspertów.

Przede mną chwila odpoczynku, a następnie pogrupowanie wspomnianych 1296 interakcji wg zależności opisanych w poszczególnych lematach. To zadanie, choć bardzo mozolne, powinno się okazać dość terapeutyczne, gdyż nie będzie wymagało praktycznie wcale myślenia, jedynie skupienia uwagi i mechanicznego zastosowania algorytmu odpowiednią ilość razy, a jednocześnie będzie dawało bardzo szybkie efekty.

Uprzedzając ewentualne pomysły - choć można się pokusić o wprowadzenie kolejnego poziomu uogólnienia dla opisu tych interakcji tak, aby zapis każdej zawrzeć tylko w jednym zdaniu logicznym, jednak wymagałoby to wprowadzenia dodatkowych uogólnionych oznaczeń, a to - w tym przypadku - wyrządziłoby więcej szkody - przez znaczne zmniejszenie czytelności - niż pożytku - przez zaoszczędzenie kilku stron objętości pracy.




16.09.2022. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#160922

Za mną sporo mozolnych prac porządkowych. Zapis finalnego wniosku pracy wymógł zmiany kilku oznaczeń dotyczących 24 rozkładów (była to względnie prosta zmiana, która teraz pozwala elastyczniej odwoływać się do rozkładów). Musiałem także sformułować i udowodnić kilka dodatkowych technicznych lematów dotyczących rozkładów. Generalnie celem trwającego wciąż etapu jest uporządkowanie i opisanie interakcji pomiędzy rozkładami, czyli opisanie, w jakich okolicznościach zdarzenia mogą zachodzić jednocześnie, kiedy się wykluczają oraz (to jeszcze przede mną) jakie są liczności wystąpień poszczególnych zdarzeń oraz jaki wpływ na te liczności ma pokrywanie się / wykluczanie się zdarzeń. Są to dość pracochłonne analizy i póki co przybyło 6 stron nowych lematów:

Przede mną jeszcze co najmniej jedna grupa lematów do zapisania w tym obszarze, która jest już jednak opracowana na brudno. Choć jest to zagadnienie wymagające sporo wysiłku, są to bardziej prace porządkowe niż koncepcyjne i jako takie nie powinny nastręczyć problemów innych niż konieczność poświęcenia im wysiłku i czasu (nie ma tu ryzyka ugrzęźnięcia w fazie poszukiwania koncepcji przez wiele miesięcy).

Na marginesie dodam, że w międzyczasie pojawił mi się także jeszcze jeden nowy pomysł, jak reaktywować alternatywną - indukcyjną - koncepcję zapisu finalnego wniosku pracy, którą miesiąc temu zdecydowałem porzucić. Na nieszczęście lub szczęście, po analizach okazało się, że nowy pomysł też nie daje zadowalających efektów, dlatego z tym większą radością i przekonaniem potwierdziłem decyzję, żeby tę (indukcyjną) koncepcję porzucić oraz, że wybrana koncepcja zapisania finalnego wniosku pracy (z listopada 2021), bazująca na granicy, jest tą właściwą.

Obecny etap porządkowania rozkładów ciągle trwa. Ryzyko jego przeciągnięcia się jest raczej niewielkie. Mam nadzieję, że do następnego wpisu będzie on już zakończony. Potem wciąż pozostanie jeszcze trochę prac porządkowych w pozostałej części pracy. Jednak zakończenie porządkowania rozkładów będzie ważnym przypieczętowaniem tego, że praca jest już zapisana do końca.




09.08.2022. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#090822

Pierwszy etap dopracowywania finalnego wniosku pracy za mną. Efekt jest oczyszczający... Strategia jego zapisu z września 2020, w moim prywatnym żargonie nazywana "indukcyjną", jednak zostanie całkowicie usunięta z pracy. Pozostanie tylko wspomniane w poprzednim wpisie podejście z listopada 2021 o kryptonimie "granica". Cieszy mnie to, gdyż formalny zapis podejścia "indukcyjnego", który ma swoje korzenie jeszcze w liniowej wersji języka VMPC, porzuconej dawno temu, zawsze nastręczał mi kłopotów. Z jednej strony podejście to jest pięknie proste, ale niestety tylko na poziomie koncepcyjnym. Nie udało mi się nigdy znaleźć dobrego sposobu na zapisanie go formalnie, czyli z wymaganą w matematyce absolutną precyzją. Ta jego piękna prostota trzymała mnie przy nim długo, z nadzieją, że jednak znajdę sposób na jego formalny zapis. Nic z tego. 08.08.2022 ostatecznie zapisałem, na kartkach brudnopisu [3](216-217), wnioski, które mówią, aby całkowicie usunąć go z pracy:

Z jednej strony cieszę się, bo mam rozstrzygnięcie dylematu, z którym walczyłem od dawna, a dodatkowo podejście, które wybrałem, jest lepsze i daje się ładnie zapisać formalnie.

Z drugiej strony smuci mnie to, że porzucone podeście jest dużo bardziej moim dziełem. Mozolnie pracowałem nad nim miesiącami.

Tymczasem podejście, które wygrało i ostatecznie zostanie w pracy, jest wynikiem dwóch nagłych olśnień, których nie potrafię wytłumaczyć. Jedno nastąpiło w listopadzie 2021, kiedy koncepcja ta powstała i wtedy wywołała u mnie taki entuzjazm, że pod jego wpływem aż pojechałem sobie na wycieczkę, do Świeradowa Zdroju. Koncepcja wymagała jeszcze kilku udoskonaleń, nad którymi pracowałem w kolejnych miesiącach. Efekty tego jednak też pojawiły się nagle, dnia 22.07.2022, kiedy to olśniło mnie, jak zapisać to do końca.

Teraz, na chłodno, już jakiś czas później, widzę, że podejście powstałe z owych dwóch olśnień jest dobre i na obecną chwilę oceniam, że jest to ten właściwy sposób zapisania finalnego wniosku pracy. Będzie wymagał jeszcze tylko niewielkiego dopracowania.

Postanowiłem tę chwilę jakoś uczcić. Generalnie moje samopoczucie psychiczne nie jest najlepsze, gdyż pomimo dobrych postępów w pracy, nie bardzo umiem znaleźć sposoby na zaczerpnięcie z życia jakichś radości, co jest szczególnie frustrujące, gdy powody do tej radości są wyraźne, jak obecne postępy w pracy.

W ramach próby poszukiwania tej radości, jako (niezrealizowany) fan motoryzacji

podjąłem w ostatnich dniach nieudaną próbę zakupu nowszego samochodu, przy czym przy moich ograniczeniach budżetowych nowszy oznaczał Toyotę Corollę z 1998 roku. Mój stary wóz to własnoręcznie pomalowana wałkiem (gąbkowym!) Corolla z roku 1990:

Niestety po jeździe próbnej okazało się, że "nowe" auto niewiele by się różniło od starego, głównie dlatego, że mojemu staremu pojazdowi w zasadzie nic nie dolega (brak nawet zużycia oleju pomimo przebiegu 400 tys. km) poza kilkoma drobiazgami oraz blacharką, zastąpioną w wielu miejscach przez własnoręcznie wykonane łaty z kompozytu włókna szklanego i żywicy. Swoją drogą wszędzie, gdzie je zastosowałem, nie ma już problemu z rdzą - polecam! Jeśli przymknąć oko na niemal całkowicie zużyte synchronizatory 2 i 3 biegu (co daje się jednak łatwo obejść, stosując technikę podwójnego wysprzęglenia z wyrównaniem gazem prędkości obrotowej silnika i już biegi nie zgrzytają podczas zmiany) oraz kompletny brak bezpieczeństwa podczas ewentualnej kolizji, moje auto jest świetne. Szczególne cenię w nim brak wspomagania kierownicy, co poprawia wyczucie układu kierowniczego. Takie samo rozwiązanie znajduje się w Lotusie Elise!

Dlatego zamiast narzekać, postanowiłem naprawić w moim starym aucie fotel kierowcy, który w ostatnim czasie uległ zapadnięciu w podłogę.

Naprawa tego u profesjonalnego blacharza mogłaby pochłonąć więcej niż wart jest samochód, dlatego wygrzebałem puszkę szpachli z włóknem szklanym, puszkę żywicy, dwie płachty włókna szklanego, kilka drewnianych klocków i do roboty!

Pozostało tylko zamalować na czarno. Po przetestowaniu siedzenie trzyma się, nawet nie trzeszczy! Uznałem, że auto z niezapadającym się w podłogę fotelem kierowcy jest jak nowe auto. Po nacieszeniu się nowym autem wracam do pracy.




27.07.2022. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#270722

Dzień 27 lipca 2022 wstępnie mogę uznać za dość istotny dzień w moich ponad 23-letnich zmaganiach z funkcją VMPC, które zaczęły się w grudniu 1998. Zakończyłem właśnie wstępne zapisywanie na czysto finalnego wniosku pracy. Podkreślam słowo "wstępne", gdyż przede mną jeszcze trochę dopracowywania i porządkowania jego postaci, niemniej tego dnia na czysto pojawiło się już zdanie "hence the function must be one-way", czyli "więc funkcja musi być jednokierunkowa". Wstępna postać wygląda tak:

Na razie jest nieco dłuższa niż będzie po poprawkach. Ostatecznie okazało się, że podejście zastosowane w listopadzie 2021 okazało się jeszcze bliższe docelowej postaci niż podejrzewałem jeszcze miesiąc temu. Podejście to wymagało jedynie kilku niewielkich formalnych korekt, aby okazało się skuteczne. Do tego stopnia, że alternatywne podejście z września 2020 zostało zredukowane do koncepcyjnego wstępu do finalnego wniosku pracy (mówiącego, że VMPC jest funkcją jednokierunkową).

Moje intuicyjne wrażenie jest takie, że znaleziony przeze mnie sposób opisu funkcji VMPC jest mądrzejszy ode mnie, na dowód czego niniejszym przedstawiam prognozę, że po publikacji pracy mądrzejsi ode mnie znajdą w tym opisie potencjał lub nowe wnioski, których ja teraz nie widzę, a które tam są. To prawdopodobnie pozwoli uprościć / umocnić moją wersję dowodu jednokierunkowości funkcji VMPC. Nawet dziś, wykonując pierwszy krok porządkowania pewnych formalnych szczegółów, dotyczących omawianego tu zapisu finalnego wniosku pracy, zauważyłem, że zastosowana metoda opisu funkcji (tu mam na myśli stare 12 rozkładów prawdopodobieństwa), mówi o funkcji więcej niż jeszcze wczoraj myślałem. Aż jestem zafascynowany tym, co dostrzegą w niej matematycy mądrzejsi ode mnie po publikacji pracy.

Przede mną jeszcze dużo prac porządkowych. Po pierwsze, omawiany dziś zapis finalnego wniosku pracy musi przejść ewolucję do swojej postaci oficjalnej oraz próbę czasu. Po drugie, pozostało jeszcze kilka elementów czysto technicznych do dopisania, jak "rozmnożenie" nowej wersji opisu 12 rozkładów dla każdego rozkładu osobno (na razie mam przygotowany schemat dla jednego rozkładu) oraz ogólne uporządkowanie struktury pracy, która zajmuje około 100 stron A4.

Chciałbym ogromnie podziękować anonimowym osobom, które w ostatnim czasie w znaczący sposób zasiliły moją zrzutkę na nowy komputer, która dzięki temu przekroczyła 100%!

www.zrzutka.pl/wjnbsw

Dało mi to nie tylko tak potrzebną pomoc finansową, ale także zastrzyk energii, motywacji do dalszej pracy. Efekt jest taki, że nowy komputer stoi już u mnie w mieszkaniu i już działa! To ten na górze, a na dole stoi stary. Wybór padł na platformę Intel i5-10400, oczywiście są szybsze procesory, ale po dokładnej analizie wyszło mi, że relacja ceny do wydajności jest tu najlepsza, a jednocześnie wydajność będzie więcej niż wystarczająca. Nowy procesor po wstępnych testach jest wielokrotnie szybszy od mojego starego i wreszcie mogę odczuć swobodę i komfort pracy. Na deser, nowy komputer jest znacznie bardziej energooszczędny niż stary, pomimo dużo wyższej wydajności.



Jednocześnie jeszcze raz dziękuję osobie, która wspaniałomyślnie przesłała mi swój stary monitor z technologią flicker-free, który dla mnie był nowym i spełniającym wszystkie wymagania i wciąż działa na moim biurku bez zarzutu.

Dziękuję także wszystkim za wsparcie na mojej głównej zrzutce. Każda wpłata, nawet niewielka, dodaje mi energii do dalszej pracy.

www.zrzutka.pl/vmpc

Nie dziękuję tu jeszcze wszystkim, którym jestem wdzięczny za pomoc. Na to przyjdzie czas, gdy praca będzie już oficjalnie gotowa do publikacji.

Zachęcam też do zakupu limitowanej wersji gry planszowej Permutu z satynowym woreczkiem z końcówki nakładu. W przyszłości prawdopodobnie te egzemplarze mogą zyskać na wartości jako przedmioty kolekcjonerskie.

Wkrótce także premiera nowej aplikacji do szyfrowania danych - VMPC Secret Book.




28.06.2022. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#280622

Za mną kolejna faza konsolidacji wyników dotyczących zapisu finalnego wniosku pracy. Ponownie potwierdza mi się, że nie warto się w takich sytuacjach spieszyć, gdyż w ciągu ostatnich 2 tygodni koncepcja z listopada 2021, opisująca pewną granicę funkcji, jednak wykazała więcej potencjału niż sądziłem miesiąc temu. Dokładniej, komplikacje, jakie w niej widziałem miesiąc temu, choć dziś też istnieją, to dziś widzę już sposób, jak je obejść! Dzięki temu koncepcja ta będzie mogła znaleźć się w oficjalnej wersji pracy, co mnie bardzo cieszy, bo gdy ją wymyśliłem pół roku temu, wydała mi się bardzo ekscytująca.

Jednocześnie stare podejście z września 2020, które rozwiązuje ten sam problem, ale od innej strony, wciąż pozostaje skuteczne. W efekcie w chwili obecnej mam dwa alternatywne sposoby na zapisanie finalnego wniosku pracy.

Oba zostaną użyte na końcu pracy w dowodzie nie wprost, gdzie po założeniu, że funkcja VMPC nie jest jednokierunkowa, uzyskujemy sprzeczność (i to na dwa sposoby, korzystając z obydwu wspomnianych koncepcji), co prowadzi do finalnego wniosku pracy, że funkcja jest jednokierunkowa.

Przede mną zapisanie tego wniosku na czysto. Oczywiście, jak wielokroć bywało, nie oznacza to, że na pewno w następnym wpisie będę mógł już ogłosić, że praca została ukończona. Podczas formalnego zapisywania zawsze mogą pojawić się jakieś techniczne niuanse, w wyniku których będzie trzeba jeszcze coś dopracować.

Wspomniany tu sposób zapisania finalnego wniosku pracy jest realizacją koncepcji, z której powstało twierdzenie o funkcji malejącej, a na którą wpadłem na początku 2018.

Na tę okoliczność odświeżyłem pierwsze akapity opisu mojej zrzutki:

www.zrzutka.pl/vmpc

Dziękuję też wszystkim, którzy wspierają moją zbiórkę na nowy komputer, który jest mi potrzebny do pracy.

www.zrzutka.pl/wjnbsw

Zachęcam też do zakupu limitowanej wersji gry planszowej Permutu z satynowym woreczkiem z końcówki nakładu. W przyszłości prawdopodobnie te egzemplarze mogą zyskać na wartości jako przedmioty kolekcjonerskie. Permutu ma też świetną opinię u graczy, więc przy okazji dobra zabawa gwarantowana.

W kolejce wciąż czeka premiera praktycznie ukończonej już nowej aplikacji do szyfrowania danych - VMPC Secret Book, ale z tym zaczekam do zapisania na czystko finalnego wniosku pracy o funkcji VMPC.




06.06.2022. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#060622

Jak bardzo chciałbym wznieść się ponad to, że czas rozwiązuje problemy, tak bardzo zderzam się z prawdziwością tej obserwacji.

Około listopada 2021 byłem pełen entuzjazmu po dokonaniu kluczowej postępowej obserwacji dotyczącej zapisania finalnego wniosku pracy. Nazwijmy ją roboczo "granicą" (obserwacja opisuje granicę pewnej funkcji). Wtedy zapisałem tę obserwację wraz z uzasadnieniem jednym ciągiem (zajęła tylko około 1 stronę) i miałem nadzieję, że wreszcie rozwiązałem jakiś duży problem szybko, bez "pomocy czasu". Obserwacja jest prosta, prawdziwa i ma dużą "moc" - pozwala małym faktem rozwiązać duży problem, mówiąc ilustracyjnie.

Te wszystkie atrybuty obserwacji wciąż są prawdziwe dziś, ale jednocześnie w międzyczasie zadziałał swoją tajemniczą siłą czas i obecnie widzę, że formalne zapisanie tej obserwacji, pomimo że (powtórzę) jest ona prawdziwa, już nie jest takie proste, jak początkowo sądziłem. Dopiero po upływie pewnego czasu (przez który ciągle zajmowałem się tym zagadnieniem albo zagadnieniami towarzyszącymi) obraz tego zjawiska się wypełnił i w miejsce początkowego euforycznego entuzjazmu wkroczył rzetelny szerszy obraz istoty tej obserwacji.

Jednocześnie podczas upływu tego samego czasu (od około listopada 2021 do dziś) problemy zaobserwowane w tej "rewolucyjnej" obserwacji zostały w jakiś sposób zastąpione przez powolne automatyczne skomponowanie w mózgu (nie czuję, abym miał nad tym procesem jakąkolwiek kontrolę...) nieco innego spojrzenia na to zjawisko, które holistycznie łączy niektóre elementy nowej obserwacji z obserwacjami dokonanymi we wrześniu 2020, dotyczącymi twierdzenia o funkcji malejącej (te, na które wpadłem podczas klejenia żywicą podwozia swojej starej Toyoty).

Po połączeniu tamtych obserwacji z nowymi powstała strategia, która w tym momencie wydaje się być finalnym i właściwym sposobem opisania zjawiska. Dodam, że pomysł z 09.2020 powstał jeszcze przed opracowaniem 12 rozkładów, za czasów liniowej wersji języka VMPC, czyli znacznie wyprzedzał swoje czasy, bo dopiero teraz znajduje swoje zastosowanie, po odrzuceniu liniowej wersji języka VMPC na rzecz 12 (obecnie 24) rozkładów, co nastąpiło w październiku 2020.

Mówiąc krótko, dopiero pół roku upłyniętego czasu (od entuzjastycznej obserwacji z listopada 2021) pozwoliło zagadnieniu wykształcić się w to, co teraz wygląda na już finalne, dojrzałe rozwiązanie.

Gdybym uległ euforii w 2021 roku i uznał, że już wtedy jest koniec, byłoby to przedwczesne świętowanie. Dlatego tak ważne jest w mojej pracy posiłkowanie się... upływem czasu. Czas rozwiązuje problemy. To było już bardzo wyraźne w 2017 roku, gdy opowiadałem o tej obserwacji w kontekście projektu VMPC na konferencji TEDx. Od tamtego momentu to wrażenie, o "sile czasu", tylko się umocniło.

Oczywiście nie jest to jakieś wielkie odkrycie, psychologowie zapewne wyjaśnią to tak, że mózg w tym czasie porządkuje informacje, a my, pracując dalej nad zagadnieniem przez cały ten czas, dostarczamy mózgowi nowych informacji oraz porządkujemy dane. Dość naturalne jest zatem, że wymagana jest pewna ilość czasu, aby te procesy zdążyły przebiec do końca, zanim pojawi się finalne rozwiązanie problemu.

Ale warto mieć świadomość takiego mechanizmu właśnie po to, aby wiedzieć, że trzeba dać sobie ten czas (dopiero to pozwala uzyskać dobre rozwiązanie) oraz aby nie ulegać euforii nagłego postępu - jeśli nie upłynęła odpowiednia ilość czasu od wpadnięcia na "genialny" pomysł, to nie można go jeszcze uznać za właściwe rozwiązanie.

Oczywiście mechanizm ten dotyczy tylko badania nowych problemów, nigdzie indziej nieopisanych. Jeśli problem został już przez kogoś wcześniej opisany, wystarczy zastosować rozwiązanie i gotowe, nie trzeba czekać, aż rozwiązanie dojrzeje. To jedno z głównych źródeł frustracji zajmowania się nowymi problemami. Dużo łatwiej jest zgłębiać wiedzę, nawet najbardziej skomplikowaną i zaawansowaną, ale dotyczącą już dobrze przeanalizowanych i opisanych zjawisk. Wtedy wystarczy zrozumieć i zastosować. Nie trzeba niczego tworzyć. Nie trzeba przechodzić przez katorgę błądzenia i czekania na upływ czasu.

Wracając do głównego tematu - jako "laboratorium testowe" dla przetestowania rozwiązania, jakie się przez te pół roku wyklarowało, opisałem pewne uproszczone zjawisko, dla którego wyprowadzenie prawdopodobieństwa zajścia zajęło tylko 5 stron:

Można powiedzieć, że symuluje ono, w bardzo uproszczony, ale już reprezentatywny sposób, istotę jednokierunkowości funkcji VMPC. Wyklarowane przez te pół roku rozwiązanie, jak zapisać finalny wniosek całej pracy, zostało już z powodzeniem przetestowane na tym uproszczonym modelu. Obecnie wydaje mi się, że to jest ten właściwy sposób na opisanie go. Obecnie jeszcze konsoliduję te wyniki, aby się z nimi dobrze oswoić. Następnym krokiem będzie faktyczne zapisanie finalnego wniosku już oficjalnie w pracy. Zapis ten, zgodnie z wcześniejszymi prognozami, najprawdopodobniej będzie krótki (do 1 strony). Łączy on jednak w jednym punkcie wszystkie wcześniej opisane elementy pracy (ok. 100 stron już na czysto), dlatego jest tak trudny.

Dziękuję wszystkim, którzy w międzyczasie przesłali mi pozytywne słowa. A niektórzy coś więcej, dzięki czemu (pośrednio) pewien pies zjadł dwie nadmiarowe kiełbasy :-)

W ramach terapii relaksacyjnej, w bliżej nieokreślonym celu, skomponowałem logo funkcji VMPC:

Zachęcam do zakupu limitowanej wersji gry planszowej Permutu z satynowym woreczkiem. W przyszłości prawdopodobnie te egzemplarze mogą zyskać na wartości jako przedmioty kolekcjonerskie. Z tego też powodu nie mam zamiaru sprzedawać całego pozostałego nakładu... Przy okazji, gra jest świetna wg opinii graczy, więc dodatkowo dobra zabawa jest gwarantowana.

Przymierzam się także do premiery nowej aplikacji do szyfrowania danych - VMPC Secret Book, która ciągle czeka w kolejce. W międzyczasie wykonuję minimalne poprawki (przede mną jeszcze jedna - z gwiazdkami; osoba, która zaproponowała tę zmianę, wie, o co chodzi :-)).

Dziękuję wszystkim, którzy zechcą wesprzeć moją zbiórkę na nowy komputer, który jest mi potrzebny do pracy.

www.zrzutka.pl/wjnbsw

lub wpłacić dowolną kwotę na tradycyjną zrzutkę projektu:

www.zrzutka.pl/vmpc




23.04.2022. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#230422

Nie mam obecnie sił na aktualizowanie bloga. Wbrew (może) pozorom skomponowanie jednego wpisu pochłania dużo energii, która idzie na marne.

Prace nad funkcja idą bardzo dobrze. Cała opracowywana latami formalna struktura potrzebna do opisania funkcji działa dobrze i pozwala ukończyć dowód. Obecnie mam etap koncepcyjny, najprawdopodobniej już ostatni. Dotyczy on wspominanego już wcześniej formalnego opisu finalnego wniosku pracy. Wniosek ten skupia w jednym punkcie wszystkie elementy pracy. Z tego powodu praca z nim jest dość skomplikowana, ale jednocześnie najprawdopodobniej finalna wersja jego zapisu będzie zaskakująco krótka. Nie będzie więc tu tyle mozolnej pracy, ile było przy opisywaniu 24 rozkładów czy twierdzenia o funkcji malejącej. Jest za to więcej pracy koncepcyjnej i syntezującej pozostałe elementy pracy.

Na razie w myślach, jeszcze nie na papierze, ale obecnie doszedłem do momentu, w którym funkcja już nie chce nie być jednokierunkowa. Innymi słowy, aby funkcja nie była jednokierunkowa, musiałby być spełniony pewien prosty warunek, który w oczywisty sposób nie może być spełniony.

Teraz muszę tylko poczekać, aż znajdę właściwy sposób na formalne opisanie tego. Najprawdopodobniej opis ten będzie krótki, ale przez swoją wagę, musi być zapisany bardzo dokładnie.

Jeśli chodzi o przedłużający się czas trwania mojej pracy, to jest on dla mnie niesamowicie frustrujący, ale nie mogę niczego przyspieszyć na siłę. Gdy firma produkująca gry komputerowe chce wypuścić niedopracowany produkt na rynek, może to zrobić. Zapłaci cenę w postaci niższej sprzedaży, utraty reputacji i przeceny kursu akcji np. o 75%, ale wciąż może to zrobić. Ja, niestety, nie mogę sobie pozwolić na taki komfort, bowiem straciłbym wtedy 100%, wszystko.

Matematyka jest nauką zero-jedynkową. Albo coś jest w pełni, w 100% prawdziwe, albo wcale. Nie ma stanów pośrednich. Jeśli coś jest prawdziwe w 99,999% przypadków, to jest po prostu nieprawdziwe. Inaczej niż przyjmuje się w życiu czy w zdecydowanej większości innych dziedzin nauki. Dlatego nie mogę pozwolić sobie na żadną nieścisłość. Bo wtedy cały dotychczas włożony wysiłek pójdzie całkowicie na marne.

Na pocieszenie - widzę, że moja praca nie jest procesem nieskończonym. Jest procesem długotrwałym, ale każdy dotychczasowy etap, nawet taki, który przechodził przez wiele stadiów ewolucji, w końcu dochodził do swojego finalnego stanu i na nim już pozostał. 12, a potem 24 rozkłady, twierdzenie o funkcji malejącej, język VMPC i wiele innych. One wszystkie są już dopracowane i są zapisane na czysto w pracy.

Tak samo będzie z obecnym finalnym etapem. Obecna faza koncepcyjnego błądzenia i konsolidacji jest dla mnie frustrująca i nieprzyjemna, bo nie daje namacalnych efektów w postaci kolejnych stron pracy. Ale jest niezbędna, aby powstały efekt był tym właściwym. Nie mogę więc ulec wewnętrznej presji, aby już był koniec, bo wtedy stracę wszystko. Muszę spokojnie poczekać, aż ten finalny krok dojrzeje do swojej właściwej finalnej postaci. Tak, jak dojrzały wszystkie wcześniejsze elementy.

Na koniec, w innym temacie, kończy mi się już nakład gry Permutu. Okazuje się, że sprzedając kilka sztuk (w porywach) miesięcznie, można sprzedać zauważalną ilość, jeśli... minie odpowiednia, bardzo duża, liczba miesięcy. Tak też tu się stało. Zostało mi ostatnie około 100 sztuk gry, z których chcę sprzedać tylko część, a resztę sobie zostawić. Wtedy już nie będzie można kupić Permutu.

Na tę okazję zamówiłem ładne satynowe woreczki z nadrukiem na klocki Permutu i oferuję już tylko limitowaną wersję Permutu z takim satynowym woreczkiem w cenie 99 zł z wysyłką.

Tymczasem dziękuję tym kilku osobom, które zdecydowały się wesprzeć moją zbiórkę na nowy komputer, który jest mi potrzebny do pracy. Na razie udało się zebrać na sam procesor. To zawsze coś... Zbiórka nadal trwa, więc może uda się jeszcze zebrać choć na płytę główną.

www.zrzutka.pl/wjnbsw

Prawie wszyscy biernie czekają, co z mojej pracy wyjdzie, ale tylko nieliczni są w stanie podjąć ryzyko i wyrazić swoje poparcie czynami. Pracuję na starym komputerze, jeżdżę 32 letnim posklejanym żywicą samochodem i mieszkam w wynajętej prawie-piwnicy. Skutki poświęcenia się pracy naukowej. Nie polecam nikomu. Do następnego wpisu, jeśli będę miał siłę go wykonać.

Moja tradycyjna ogólna zrzutka:

www.zrzutka.pl/vmpc






08.03.2022. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#080322

Za mną kolejne dwa elementy pracy. Pierwszy to uporządkowanie wspomnianego w poprzednim wpisie rozwinięcia. Mam już jego finalną wersję:

Są to 3 lematy, które łączą definicję funkcji ze wstępem do 24 rozkładów. Drugi ukończony element to wyprowadzenie równań oraz głównych własności - osobno dla 12 rozkładów klasycznych i osobno dla 12 rozkładów hybrydowych.

Te 2,5 strony zawierają 4 lematy, będące rozwinięciem i doprecyzowaniem zapisu, który w swojej skrótowej wersji (ale już zapisanej symbolicznie i oddającej prawie precyzyjnie sens), zajmował 4 linijki.

Powyższe dwa wyniki stanowią część etapu porządkowania pracy, czyli etapu, który wg planu miał obecnie być jeszcze przede mną. Taką zmianę harmonogramu zrobiłem celowo, aby nabrać większego dystansu do formalnego doprecyzowania finalnego wniosku pracy. Od 2 dni zajmuję się już tym i widzę pozytywne skutki zdobycia dodatkowego dystansu.

Wspomniane powyżej 2,5 strony rozwinięcia dotyczą każdej z 12 par rozkładów. Opisanie wszystkich 24 rozkładów wg powyższego schematu zajmie więc 30 stron. Ich zapisanie nie będzie trudne, gdyż będzie polegało na powielaniu powyższego schematu i przystosowaniu go do każdego rozkładu osobno.

Będzie to pracochłonne i przypomniało mi o problemie technicznym, z którym męczę się od dłuższego czasu. Mianowicie mój komputer, mówiąc delikatnie, czasami nie nadąża i praca z dużą ilością równań na ekranie staje się utrudniona, gdyż po naciśnięciu klawisza mam opóźnienie i dopiero po chwili znak pojawia się na ekranie. W miejscach, gdzie większość czasu myślę i tylko co jakiś czas coś zapisuję / modyfikuję - jest to do zniesienia, ale przy pracy z zapisaniem wspomnianych 30 stron, może to być trudne. Oto ten bohater:

Aż wstyd, nie ma nawet USB 3, a na płycie głównej ma jeszcze złącze PATA (to poprzednik SATA, piszę, bo niektórzy czytelnicy mogą być za młodzi, aby wiedzieć, co to jest :-)). No, z "nowoczesnych" rozwiązań ma też złącze SATA generacji II. Z brakiem możliwości podłączenia dysku przez USB 3 radzę sobie, wyprowadzając kabel SATA na zewnątrz (ten czarny "wąs"). O wynalazkach takich, jak dysk M.2, komputerowi mojemu się nie śniło. Dodatkowy problem to stary monitor, który ma regulację jasności PWM (czyli aby obraz ściemnić, diody nie świecą cały czas, tylko mrugają), co na dłuższą metę męczy wzrok. Obecnie nawet chyba nie ma już na rynku tak działających monitorów i dziś wszystkie już maja technologię "flicker free", czyli regulację jasności przez zmianę natężenia prądu dla diód, a nie przez ich mruganie).

Pomyślałem, że spróbuję zebrać środki na nowy komputer i monitor, aby na nich dokończyć pracę. Komputer nie będzie służył do grania, więc odpada najdroższy element, czyli karta graficzna. Wystarczy mi karta graficzna zintegrowana z procesorem. Po zrobieniu wstępnego rozeznania, na względnie podstawowy nowy komputer wraz z monitorem potrzebowałbym zebrać około 4000 zł.

Jeśli chciałbyś wesprzeć mnie w tym choć drobną kwotą, odwiedź proszę nową zrzutkę, którą założyłem tylko w tym celu:

www.zrzutka.pl/wjnbsw

Z góry dziękuję za każdą pomoc.




27.01.2022. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#270122

Formalny zapis finalnego wniosku pracy będzie łatwiej ukończyć, gdy pewne elementy dowodu, prowadzące do 12 rozkładów, zostaną już teraz uporządkowane. Szczególnie, że w nocy z 6 na 7 stycznia 2022 wpadł mi pomysł, jak rozwinąć zapisy ze stycznia 2021 roku tak, aby integrowały się z 12 rozkładami. Zapisy tamte kończyły się trzema lematami, które wg planu miały zostać połączone z resztą dopiero w końcowym etapie porządkowania pracy. Ale nowy pomysł na ich rozwinięcie był tak ekscytujący, że nie mogłem tego odłożyć, więc kolejność zadań uległa zmianie.

Tu zaczęły wychodzić ciekawe rzeczy, bo zapisywanie tego rozwinięcia zahaczało coraz szerzej o coraz to inne elementy pracy, w tym o język VMPC, twierdzenie o równowadze oraz o wiele innych małych technicznych lematów. Aż zaczął zahaczać o 12 rozkładów.

Wtedy okazało się, że rozwinięcie to, choć miało być niedługim łącznikiem pomiędzy definicją funkcji a wstępem do 12 rozkładów, doprowadziło do powstania... 12 nowych rozkładów! W swoim żargonie nazwałem je rozkładami hybrydowymi.

Dla osób, które kiedyś będą chciały czytać pracę, mowa tu o 12 rozkładach wykorzystujących zbiory "B" oraz "D". Podczas gdy 12 starych rozkładów wykorzystuje tylko zbiory "D".

Razem mamy więc już nie 12, ale 24 rozkłady. O ile jednak prace nad starymi 12 rozkładami trwały ponad rok, to tu sytuacja jest zgoła odmienna.

Nowe 12 rozkładów hybrydowych jest już od dawna w pracy opisanych! Odwołują się one bowiem bezpośrednio do elementarnych rozkładów prawdopodobieństwa dotyczących funkcji VMPC, opisanych na czysto już wiele lat temu. Odkrycie tego połączenia było naprawdę ekscytujące.

Co więcej, powstały wyłącznie z już istniejących twierdzeń, lematów i rozkładów prawdopodobieństwa. Dotychczas zwykle formalne opisanie nawet niewielkiego nowego elementu wymagało udowodnienia serii nowych elementarnych faktów i dopiero z nich ułożenie rozumowania. Teraz było odwrotnie - nowy duży element pracy (będzie zajmował kilkanaście stron) zostanie poskładany wyłącznie z już gotowych "klocków".

Choć jednocześnie z racji swojego rozmiaru będzie wymagał sporo wysiłku porządkowego przy organizowaniu treści. Nad samą strategią jej porządkowania pracowałem ponad tydzień.

Teraz intuicyjnie czuję, że rozszerzenie opisu funkcji do 24 rozkładów prawdopodobieństwa stanowi naturalną kolej rzeczy, która prędzej czy później by miała miejsce.

Dziękuję wszystkim, którzy wspierają mój projekt:

www.zrzutka.pl/vmpc




23.12.2021. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#231221

Wszczepienie ogólnej postaci twierdzenia o funkcji malejącej do 12 rozkładów przebiegło gładko. Tym samym formalny opis 12 rozkładów najprawdopodobniej jest już kompletny. Na czysto zajmuje 13 stron, a wraz z dowodem twierdzenia - 18.

Wstępnie zapisane zostały już finalne wnioski. Mówiące, że VMPC jest funkcją jednokierunkową. Ponieważ wnioski te wykorzystują względnie spore struktury formalne (wspomniane 18 stron stanowi jedną z nich), ich układanie w możliwie prostą postać finalnego wniosku jest dość pracochłonne.

Pierwsza wersja zapisu finalnego wniosku jest już za mną (została zapisana kilka tygodni temu). Obecnie zajmuję się jej weryfikacją i dopracowaniem.

To nie oznacza, że praca została ukończona. Dopracowanie zapisu może jeszcze zająć trochę czasu. Jest to krytyczny element, w którym wszystkie struktury formalne stworzone do opisu funkcji spotykają się w jednym punkcie, aby wygenerować jeden finalny wniosek, który trzeba możliwie spójnie zapisać. Na razie wstępna wersja jego zapisu zajmuje tylko jedną stronę.

W tegorocznym okresie świątecznym miną 23 lata od odkrycia funkcji VMPC. Życzę wszystkim wesołych i spokojnych Świąt!




06.11.2021. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#061121

Wreszcie udało mi się choć trochę odpocząć, w pierwszej połowie października. Bardziej z akcentem na trochę niż na odpocząć, ale lepsze to niż nic. W ostatnich tygodniach intensywnie kompilowałem wszystkie twarde elementy dowodu. Wymagało to mocnego ponownego wgryzienia się w stare elementy pracy, czyli liniową wersję języka VMPC oraz model prawdopodobieństwa warunkowego.

Na domiar zamieszania wymyśliłem w tym czasie jeszcze trzeci, alternatywny sposób opisu funkcji, bazujący na innych, bardzo starych, bardziej podstawowych rozkładach prawdopodobieństwa. Ale na szczęście to podejście szybko okazało się prowadzić nieuchronnie do tego, czego miało być uproszczeniem, czyli do 12 rozkładów. Co mnie dodatkowo ucieszyło.

Musiałem podjąć ostateczną decyzję, co zrobić z liniową wersją języka VMPC. Zostanie ona usunięta z głównej części dowodu. Pozostanie tylko jako narzędzie potrzebne do wyprowadzenia pewnego prawdopodobieństwa, które jest jednak tylko dodatkiem i jeszcze nie wiem, czy w pracy pozostanie.

W ostatnich dwóch tygodniach udało mi się wymyślić bardzo ładny (dokładniej, bardzo mi się on podoba) sposób na formalne doprecyzowanie wcześniejszych obserwacji (z kwietnia 2021) dotyczących modelu prawdopodobieństwa warunkowego. Mimo że faktycznie mi się on podoba, to chyba za mało się z niego cieszę. Może za szybko go wymyśliłem. Jednak jego wartość jest porównywalna z opisanym w poprzednim wpisie wyprowadzeniem ogólnej postaci twierdzenia o funkcji malejącej.

Teoretycznie powinienem się z tych dwóch wyników bardzo cieszyć, ale jakoś tak się nie dzieje. Doceniam ich wartość, ale wielce się z nich nie raduję.

Dotychczas wiele razy miałem tak, że po skończeniu jakiegoś dużego elementu pracy albo dużego projektu, dopadała mnie... depresja, może nie w sensie klinicznym, ale co najmniej w potocznym rozumieniu. Nie umiem tego wytłumaczyć, bo na logikę powinno być odwrotnie, zakończenie zadania powinno dawać radość.

W tym kontekście brak radości z uzyskania dwóch powyższych ważnych wyników może być zwiastunem tego, że... może to już są ostatnie elementy, które wymagały jakiegoś nakładu twórczego myślenia i teraz może podświadomie czuję, że praca jest już merytorycznie praktycznie skończona, co otwiera drogę do... depresji po ukończeniu pracy. Podkreślam, że nie umiem tego mechanizmu logicznie wytłumaczyć, a jedynie zaobserwowałem go u siebie wielokrotnie wcześniej.

Podsumowując merytorycznie, twarda część dowodu obecnie wygląda na w pełni opanowaną (miesiąc temu przymierzałem się do jej opanowywania), choć jeszcze nie zapisaną do końca na czysto. To będzie najbliższe zadanie. Teoretycznie teraz powinno pójść bardzo gładko, bo wszystkie potrzebne elementy są już dobrze opracowane. Ale wielokroć już tak było, że zapisanie pozornie prostego wniosku przy pomocy formalnego języka matematyki wymagało sporo pracy i gimnastyki. Dlatego dopiero, gdy ostatnia kropka będzie faktycznie postawiona, powiem, że praca jest merytorycznie skończona.

Po merytorycznym ukończeniu pozostanie jeszcze trochę prac porządkowych, redakcyjnych, co będzie wymagało już jedynie trochę czasu i energii.




29.09.2021. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#290921

Wyszło, że w ostatnich tygodniach najpierw zająłem się uporządkowaniem początkowej części pracy, dotyczącej elementarnych własności funkcji na poziomie formalnym oraz samej definicji funkcji. Do tej części nie zaglądałem od kilku lat i trochę elementów wymagało tu dopracowania. Ta część pracy obecnie zajmuje 6 stron, więc trochę też czasu zajęło jej porządkowanie. Razem z koncepcyjnym wstępem, napisanym przed poprzednim wpisem na blogu (10 stron), tworzy to już dość bliski finalnemu obraz całego wstępu do pracy. W tym obszarze pozostało mi jedynie do dopisania ogólne wprowadzenie do tematu.

Najciekawsze jest jednak coś innego. Co wierniejsi czytelnicy bloga mogą pamiętać moje zmagania ze znalezieniem sposobu na zapisanie tzw. twierdzenia o funkcji malejącej, które zajęły mi sporą część 2020 roku. I które ostatecznie, w sierpniu 2020, zakończyły się zmianą koncepcji - przejściem z liniowej na klasyczną wersję języka VMPC, czego bezpośrednią konsekwencją było opisanie 12 rozkładów. To wszystko jest już gotowe na czysto.

Jednakże z bliżej mi nieznanych powodów (wcale się nad tym zagadnieniem teraz nie zastanawiałem) nagle wpadł mi do głowy pomysł, jak zrobić to, czego wtedy mi się nie udało. Czyli udowodnić twierdzenie o funkcji malejącej w postaci ogólnej bez konieczności przechodzenia do 12 rozkładów, ale jednocześnie... dzięki przejściu do 12 rozkładów. Właśnie tak. Przejście do postaci klasycznej języka VMPC (i do 12 rozkładów) otworzyło szereg nowych formalnych sposobów na opisanie pewnych zjawisk zachodzących w funkcji. I teraz zauważyłem, że stosując jeden taki zapis, możliwe stało się udowodnienie twierdzenia o funkcji malejącej w postaci ogólnej. Tak wygląda efekt, po 2 tygodniach zmagań już zapisany na czysto:

To trochę jak brakujące ogniwo, które intuicyjnie czułem, że jest możliwe do opisania, ale wcześniej przez długi czas opisać mi się go nie udawało.

Twierdzenie to zawiera w sobie pewien dysonans. Merytorycznie jest bardzo proste. Szczerze? Niemal kompletny jego dowód wymyśliłem 2 tygodnie temu na spacerze. Nawet nie musiałem niczego zapisywać, cały dowód przebiegł mi w głowie. Usiadłem tylko na ławce, żeby się nie przewrócić. Dysonans tkwi w tym, że mimo koncepcyjnej prostoty, jego formalny zapis jest bardzo kłopotliwy. Pewnie z tego powodu nie udało mi się go wcześniej zapisać. A teraz zapis zajmuje aż 5 stron.

Choć same 12 rozkładów wystarczało, to ogólna postać dowodu o funkcji malejącej jest cennym dodatkowym elementem pracy. Nie tylko wzmacnia owe 12 rozkładów, ujmując je wszystkie w jednym uogólnieniu, wzmacnia także szkic alternatywnego sposobu na udowodnienie jednokierunkowości funkcji przy zastosowaniu liniowej wersji języka VMPC (tej, od której odszedłem w 2020), to jeszcze pozwala bez żadnych zmian zastosować to twierdzenie do funkcji VMPC wyższych rzędów. Dokonanie tego ostatniego bez pomocy tego twierdzenia, czyli z koniecznością formułowania nowych rozkładów dla funkcji wyższego rzędu, choć nie byłoby bardzo skomplikowane koncepcyjnie, to byłoby karkołomnie pracochłonnym procesem, choć tu akurat łatwym do rozdzielenia pomiędzy członków zespołu.

W przypadku mojej pracy nie ma to znaczenia, bo z założenia opisuję tylko podstawową funkcję VMPC rzędu 2, czyli, ilustracyjnie, f(f(f(x))+1) (wg starej nomenklatury z 2004 roku byłaby to funkcja rzędu 3). Funkcja następnego rzędu, 3 wg nowej numeracji, miałaby, ilustracyjnie, postać f(f(f(f(x))+1)+2). I tak dalej. Już podstawowy wariant rzędu 2 jest funkcją jednokierunkową, a funkcje wyższych rzędów powielają zjawiska z funkcji 2 rzędu, choć, trzeba przyznać, VMPC wyższego rzędu jest znacznie trudniejsza do odwrócenia (jest "jeszcze bardziej jednokierunkowa"). Dodam tu dla osób mniej wtajemniczonych, że funkcja f(f(x)+1), czyli jakby-VMPC 1 rzędu, już jednokierunkowa nie jest.

Na opisywanie funkcji wyższych rzędów niż 2 nie mam już sił, ale z użyciem ogólnego twierdzenia o funkcji malejącej ich analiza będzie dużo prostsza dla ewentualnych innych, którzy chcieliby zająć się tym problemem w przyszłości.

Zapisanie dowodu tego twierdzenia oraz porządkowanie formalnego wstępu dodatkowo mnie zmęczyło. Już wcześniej miałem trochę odpocząć, ale zamiast odpoczywać, zabrałem się za to. Wczoraj udało mi się zrobić dzień wolny, ale dziś już nie wytrzymałem. Może jeszcze uda mi się trochę odpocząć, zanim wejdę w kolejny etap. Najprawdopodobniej teraz będzie to porządkowanie twardej formalnej części dowodu, bo tam właśnie zastosowanie znajdzie świeżo zapisane twierdzenie o funkcji malejącej.




09.09.2021. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#090921

Nieco masochistycznie, zamiast cieszyć się z postępu po odkryciu pożytku z tego, z czego pożytku miało nie być (patrz poprzedni wpis), zacząłem się zastanawiać, co by było, gdybym tego pożytku nie zauważył. Po kilku dniach analiz okazało się, że odmienna droga, jaką poszedłem w kwietniu, po zapisaniu owego "nie widać pożytku z tego", prowadzi do tego samego wniosku. Tylko nieco okrężną drogą. Dobrze więc, że pożytek ten jednak odkryłem (dzięki temu jest prościej), ale i dobrze, że błądziłem (widzę teraz, że do wniosku prowadzą dwie różne drogi).

Od wielu lat miałem zaplanowane, że wstęp do pracy zapiszę na samym końcu, gdy część "twarda" (formalna) będzie gotowa. Tymczasem w ostatnich tygodniach w naturalny sposób poczułem inspirację do zapisania wstępu do pracy. Może nie całego wstępu, ale jego największej części, czyli dotyczącej własności funkcji VMPC. Sporo elementów zaczerpnąłem tu z analiz wykonanych na początku 2021 (tego się spodziewałem w jednym z wcześniejszych wpisów z tego roku).

Jak się już za pisanie wstępu zabrałem, nieco się zatraciłem. Ponieważ treść była dość dobrze uporządkowana w brudnopisie (sporo czasu na to poświęciłem w 1 kwartale), teraz pisanie szło mi tak gładko, że nie nadążałem liczyć powstających stron. Dopiero po skończeniu policzyłem, że wyszło tego 10 stron A4. To więcej niż się spodziewałem.

We wstępie wstępnie... wprowadziłem pojęcie "cyklonu" (ang. cyclone). Będzie on, mówiąc bardzo nieprecyzyjnie, "kuzynem" cyklu (elementarnego pojęcia dotyczącego permutacji, czyli ciągu potasowanych liczb, a funkcja VMPC, jak wiemy, operuje na permutacjach).

Dodam na marginesie, że pisanie tego bloga jest dla mnie też formą odreagowania koncentracji, jakiej wymaga ode mnie pisanie pracy. Jeśli piszę tu coś prowokująco nieściśle, to znaczy, że mam coś do odreagowania. Miałem napisać, że permutacja to ciąg potasowanych cyferek, ale jednak nie było aż takiej potrzeby.

Pojęcie "cyklonu" jest w pracy, oczywiście, formalnie zdefiniowane, ale jest to jego mniejsza wartość. Większą jest to, jak harmonijnie pasuje on do charakterystyki funkcji VMPC. Po jego wprowadzeniu cały wstęp udało się zapisać niezwykle płynnie i spójnie. Bez tego pojęcia też by się dało wstęp zapisać, ale efekt byłby bardziej toporny.

Pisanie wstępu było dla mnie głębokim doświadczeniem z jeszcze jednego powodu. Opisując w nim istotę funkcji VMPC, ściśle, ale bez takiego formalnego rygoru, jaki jest wymagany w części technicznej (już praktycznie gotowej), wróciłem do tego, co tak mnie w funkcji VMPC zafascynowała 23 lata temu, gdy ją odkryłem. Ta możliwość opisania koncepcyjnych fundamentów funkcji na poziomie bliższym intuicyjnemu (czyli ludzkiemu) była dla mnie swoistym katharsis, powrotem do korzeni, odkryciem na nowo piękna tej funkcji. Od tego bowiem wszystko się zaczęło.

Choć część formalna (nad nią pracowałem ostatnie kilka lat) jest głównym elementem pracy i to ona stanowi główną wartość, to najwięcej (subiektywnie rozumianego przeze mnie) uroku jest właśnie w części wstępnej, koncepcyjnej. Natomiast część formalna stanowi tylko mozolne, symboliczne i abstrakcyjne uporządkowanie jej tak, aby dało się wykazać, że funkcja VMPC jest zgodna z definicją funkcji jednokierunkowej, a z tego wynika, że P≠NP.

Na zachętę dodam, że ta wstępna koncepcyjna część pracy będzie zrozumiała niemal dla każdego, kto tylko ma odrobinę cierpliwości i nie jest w stanie wojny z podstawami matematyki i logiki.

Teraz jestem dość mocno zmęczony. Przede mną może chwila odpoczynku, ale nie chcę tracić rytmu i w następnym kroku albo zabiorę się za porządkowanie świeżo zapisanego materiału, albo wrócę do spajania ostatnich elementów części formalnej, aby potem wrócić do wstępu z dodatkowym dystansem. Jednocześnie pisanie wstępu dostarczyło mi cennego dystansu do części formalnej.




12.08.2021. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#120821

Coraz bardziej utwierdzam się w przekonaniu, że wszystkie "twarde" elementy dowodu są gotowe: symboliczne opisy zjawisk zachodzących w funkcji VMPC wykonane przy pomocy zbudowanych do tego celu struktur formalnych, które pozwalają wykazać jednokierunkowość funkcji.

To wszystko jest już zapisane na czysto w pracy. Ma to postać względnie dużych bloków treści (kilka-kilkanaście stron A4 każdy), a tym, co pozostało do wykonania, jest spojenie tych bloków w całość.

W niektórych miejscach spojenie będzie miało postać mocno sformalizowaną, a w innych może być to kilka zdań w naturalnym języku, które łączą elementy lub podsumowują wyniki.

Mała ciekawostka. Jednym z kluczowych elementów spajania dowodu jest zapisanie twierdzenia o nieoznaczoności. Jest to rozległe zagadnienie, do którego tu na blogu odwołuję się jako do jednego twierdzenia, gdyż tak mi łatwiej pisać. Jego analiza zajęła mi łącznie około półtora roku (2017 i 2021) i kilkadziesiąt stron brudnopisu.

Oto jedna ze stron, zapisana w kwietniu 2021, zawierająca obiecujący pomysł na formalne opisanie kluczowego zjawiska związanego z tym zagadnieniem:

Gdy zapisywałem ten pomysł w kwietniu, to choć bardzo podobała mi się w nim czystość formalna, nie pasował on formalnie do reszty pracy. Było mi szkoda, ale poszedłem szukać dalej. Zapisałem wtedy w brudnopisie:

"Nie widać pożytku z tego". Obecnie, po przerwie na dokończenie aplikacji VMPC Secret Book, studiuję ponownie te wyniki.

Teraz jednak znalazłem sposób, jak zintegrować to formalnie z resztą pracy! Należy opisać problem od innej strony. Nie dążyć od razu do zapisu kompatybilnego z językiem VMPC, czego tu właśnie nie da się osiągnąć. Jeśli zamiast tego zastosujemy nowy zapis najpierw do rozwinięcia definicji funkcji VMPC, to stąd da się łatwo zintegrować go z językiem VMPC i pozostałymi elementami pracy.

Jest to istotny element, prawdopodobnie najtrudniejszy z całego etapu spajania pracy.

Jestem zły na siebie, że wcześniej źle oceniłem przydatność tego elementu. Z drugiej strony cieszę się, że po powrocie do niego po przerwie dostrzegłem w nim więcej niż widziałem na początku.

Tego typu sytuacje powtarzały mi się wielokrotnie na przestrzeni lat. Nauczyłem się z nich, jak cenne może być zrobienie sobie przerwy, szczególnie takiej, podczas której umysł w inny sposób aktywizujemy. Po powrocie do wcześniejszych analiz po czasie może się okazać, że czas rozwiązał problem.




10.07.2021. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#100721

W ostatnim czasie potrzebowałem trochę odpocząć po intensywnej pracy nad nową aplikacją do szyfrowania - VMPC Secret Book. Przez 3/4 czerwca wciąż wychodziły drobne poprawki do wykonania. Obecnie aplikacja jest już w trakcie beta-testów i wygląda, że wszystko działa prawidłowo. Niedługo zostanie uznana za oficjalnie ukończoną i gotową do premiery.

Jednocześnie ciąg ciekawych obserwacji dotyczących funkcji VMPC trwa w najlepsze. Czy to efekt stymulacji mózgu pracą nad nową aplikacją? Właśnie odkryłem alternatywny sposób wyprowadzenia twierdzenia o równowadze. Od całkiem innej strony. Twierdzenie to jest jednym z kluczowych komponentów dowodu. Poprzednia wersja dowodu tego twierdzenia jest od dawna zapisana na czysto w pracy i tam pozostaje, a nowe podejście wzbogaci pracę. Zapis drugiej postaci dowodu twierdzenia na szczęście będzie krótki.

Ciekawsze są jednak dalsze tego konsekwencje. Wykorzystując nowy sposób zapisu twierdzenia, część pozostałych elementów dowodu jednokierunkowości można także opisać od innej strony. Odmienność ta jest na tyle duża, że można powiedzieć, iż tak powstaje alternatywny, drugi sposób na udowodnienie jednokierunkowości funkcji VMPC. Oba te sposoby wykorzystują 12 rozkładów.

Kolejna ciekawostka dotyczy wyników analiz twierdzenia o funkcji malejącej, które prowadziłem od połowy 2019 do połowy 2020, czyli przed opisaniem 12 rozkładów. Teraz, oceniając te wyniki, widzę, że stanowią one niemalże trzeci sposób na udowodnienie jednokierunkowości funkcji. Zawiera on jeden dyskusyjny element, który może sprawić, że sposób ten nie zostanie uznany za pełnowartościowy dowód, a tylko za szkic dowodu, w którym ten jeden element wymaga ściślejszego uzasadnienia (od lata 2020 ten dyskusyjny element został zastąpiony przez 12 rozkładów, co rozwiązało problem).

Ale nie jest to przesądzone i może też się okazać, że ten trzeci sposób także zostanie uznany za kompletny. Jednak nawet gdyby miał pozostać na poziomie szkicu, będzie stanowił wartościowy element pracy, gdyż opisuje problem odwracania VMPC od jeszcze innej strony niż dwa wcześniejsze. Jest on od roku opisany na czysto i wymaga tylko trochę uporządkowania. Nie wykorzystuje on 12 rozkładów.

Podsumowując cały projekt, choć droga do obecnego stanu była bardzo długa i bardzo kręta, to od wielu miesięcy czuję, że wreszcie dowód jest taki, jaki powinien być. Nie rodzą się już nowe pytania, a zamiast nich istniejące elementy zazębiają się ze sobą i ujawniają alternatywne sposoby dochodzenia do tych samych wniosków.

Teraz ładuję akumulatory i zbieram siły na to, aby ukończyć zapisywanie wszystkiego na czysto. Praktycznie wszystkie potrzebne komponenty są gotowe, trzeba je tylko odpowiednio ułożyć i połączyć ze sobą.




01.06.2021. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#010621

Muszę jakoś odreagować nadmierną kumulację pozytywnych emocji, więc postanowiłem napisać parę słów tu na blogu.

Na wstępie chciałbym podziękować wszystkim osobom, które śledzą mój projekt, a w szczególności podziękować tym, którzy zachowują cierpliwość, a takich jest Was 100%! Wszyscy. Nie otrzymuję żadnych wiadomości w postaci "czemu to tyle trwa" lub "po co tracisz czas na klejenie samochodu czy programowanie, zamiast siedzieć nad funkcją non-stop". Zamiast tego otrzymuję tylko pozytywne wiadomości wsparcia. I to jest świetne. Dlaczego o tym piszę. Z podziwu dla wszystkich osób, które wykazują taką cierpliwość. Ja dopiero stopniowo odkrywam, jak ważne jest odpowiednie "dawkowanie" pracy nad problemem i robienie przerw, aby pozwolić mózgowi oswoić się z nowymi wynikami. Tymczasem wszyscy, którzy mnie nie ponaglają, zdają się to rozumieć lepiej niż ja! Stąd mój podziw.

Szczególnie, że ostatnie dni dołożyły kolejną porcję ciekawostek w tym temacie.

W skrócie - wygląda na to, że wczoraj wieczorem udało mi się rozstrzygnąć ostatnią kwestię dotyczącą finalizowania zapisu dowodu.

W ostatnim wpisie wspominałem, że praca nad programem komputerowym VMPC Secret Book z równoległym impulsowym atakowaniem wyników pracy nad funkcją z pierwszego kwartału 2021, dała bardzo dobre efekty. Ale to była wstępna ocena, na świeżo po zakończeniu pracy nad programem.

W ostatnim tygodniu siadłem już tylko do funkcji i prześledziłem dokładnie wszystkie te wyniki oraz ostatnie wnioski (z "impulsowych ataków"). Jest tego 32 strony A4. Wszystko wydało się dużo jaśniejsze niż na świeżo, gdy kończyłem to zapisywać na przełomie marca i kwietnia 2021.

Do tego w ostatnim tygodniu udało mi się połączyć ze sobą wiele pozornie odległych od siebie faktów opisanych w tych wynikach. Rekordzistą była grupa 4 osobnych dużych faktów (każdy opisany na kilku stronach), które po analizie na chłodno można połączyć w jedną całość! Okazuje się, że opisują jedno zjawisko, tylko z 4 różnych stron. Ten wniosek jest zapisany na dole kartki [3](159), na wypadek gdyby ten mój brudnopis kiedyś czytał ktoś inny niż tylko ja.

Krótko mówiąc, po wgryzieniu się w wyniki, efekty ostatniej konsolidacji okazują się jeszcze lepsze niż pierwotnie sądziłem (tydzień temu jeszcze nie widziałem połączenia tych 4 faktów, choć były już znacznie prostsze do objęcia jednym "impulsem myślowym" niż w marcu 2021, kiedy wydawały się obszernym zagadnieniem).

Ale to wciąż dopiero wstęp do tego, o czym chcę napisać.

Mianowicie podczas tej analizy w ostatnim tygodniu zmagałem się z jeszcze jednym zagadnieniem, a mianowicie z integracją dwóch faz dowodu, że tak się nieformalnie wyrażę, ale takie sformułowanie dobrze oddaje istotę problemu na ogólnym poziomie. Faza pierwsza jest od dawna ustalona, opisana na czysto i czeka na dokończenie fazy drugiej (cała praca w ostatnich latach dotyczyła tylko fazy drugiej), aby ostatecznie połączyć obie w całość.

Jednocześnie w wynikach z 1 kwartału 2021 znalazło się kilka nowych obserwacji, które choć dotyczą drugiej fazy dowodu, to zahaczają też o tę od dawna gotową fazę pierwszą. Najpierw myślałem, że one dodają tylko dodatkowego sposobu na interpretację / ocenę tego, co dzieje się w fazie pierwszej i nie mają żadnego formalnego wpływu na postać dowodu (na połączenie obu faz).

Ale zacząłem to głębiej analizować, gdyż te nowe obserwacje wydawały się na tyle celne, że szkoda mi było je pozostawić tylko jako interpretacyjne ciekawostki, a intuicja mówiła mi, że jest w nich coś więcej. Jednocześnie pierwsza faza jest bardzo dobrze ugruntowana. Na tyle dobrze, że na co dzień się nad nią już nie zastanawiam, tylko biorę ją jako gotowy dawno temu opracowany element pracy.

Jednak gdy zacząłem próbować zaaplikować te nowe obserwacje do starego formalnego zapisu pierwszej fazy, pojawiła się pewna niekompatybilność formalna. Nie żaden problem merytoryczny, a jedynie formalny, że stary sposób zapisu pierwszej fazy nie umożliwia naturalnego zapisu tych nowych obserwacji. Z tego by wynikało, że albo trzeba by zmienić sposób sformułowania pierwszej fazy albo jednak zrezygnować z tej dodatkowej obserwacji (która, choć koncepcyjnie ciekawa, nie jest niezbędna w dowodzie).

Z tym chodziłem kilka dni i powyższy formalny dylemat zgrzytał mi w głowie. W nawiązaniu do wstępu i cierpliwości czytelników, można by pomyśleć, że po ostatniej przerwie, gdzie głównie skoncentrowany byłem na programowaniu VMPC Secret Book, a (impulsowa) praca nad funkcją była zajęciem dodatkowym, ostatnią rzeczą, jakiej potrzebuję, jest kolejne oderwanie się od funkcji.

I tak dochodzimy do puenty. Otóż w nocy z soboty na niedzielę chciałem napisać pewną wiadomość do pewnej osoby. Nawet jak na mnie było względnie późno na rozpoczynanie czegoś, bo już trochę po 3 w nocy. Ale uznałem, że napiszę. Jednakże nocna pora nasunęła mi myśl, że lepiej pisać na czarnym niż na białym tle na monitorze, aby mniej światła trafiało do oczu nocą i potem łatwiej było zasnąć. Ponieważ nie chciało mi się przestawiać kolorów w Windowsie, uznałem, że najszybciej uzyskam czarne tło po prostu zmieniając szybko kolor tła w środowisku programowania i wiadomość napiszę przy pomocy mojego nowego programu - VMPC Secret Book! Po kilku kliknięciach miałem czarne tło, zielone literki i mogłem pisać. Napisałem. Niby historia bez szczególnych konsekwencji. Ale te dopiero mają się pojawić!

Następnego dnia, czyli wczoraj, wstałem "chory" na kolory. Uznałem, że fajnie by było, aby w programie użytkownik mógł sobie zmienić kolor tła i czcionki w polu edycji. Dokładnie tak, jak ja to zmieniłem. Operacja nieszczególnie trudna do zrealizowania, a pożyteczna i najzwyczajniej fajna dla użytkownika. No to siadłem i do roboty. Oczywiście, jak we wszystkich takich pomysłach, robota się przedłużyła i pracowałem nad tym praktycznie cały dzień. Nie, że trudno jest zmienić kolor, ale zrobienie tego porządnie z wyświetlaniem dobrze zwymiarowanego okna, z interfejsem użytkownika odpornym na wszelkie sytuacje, jak przywrócenie domyślnego koloru, podgląd, akceptacja, rezygnacja, itp., wymaga trochę żmudnej pracy. Udało się skończyć do wieczora (zostało tylko zaprogramowanie zapamiętania kolorów w pliku konfiguracyjnym ale na to mam już gotowy schemat).

Poszedłem się umyć przed snem. Wycierając się w ręcznik, gdzieś koło 4 rano 31 maja 2021, ni stąd, ni zowąd wpada mi do głowy pomysł, jak połączyć obie fazy dowodu. Jak połączyć je tak, aby nowe obserwacje dało się wygodnie opisać i aby nie kolidowały one ze starym sposobem zapisu pierwszej fazy! Co więcej, wygląda (to na razie wstępna obserwacja, jeszcze nieoficjalna!) że druga faza praktycznie całkiem "wchłonie" pierwszą fazę dowodu! Stare zapisy formalne dotyczące pierwszej fazy staną się tylko elementem jednego zdania interpretującego drugą fazę.

Wygląda na to, że ten element - integracji pierwszej i drugiej fazy dowodu - na który wpadłem wycierając się w ręcznik po dniu pracy nad "głupim" wyborem koloru do programu - był ostatnim elementem, który pozostawał do rozstrzygnięcia w dowodzie!

W tym momencie, jeśli powyższa obserwacja się utrzyma, sytuacja jest taka, że wszystkie elementy dowodu są już gotowe. Dodatkowo praktycznie gotowa jest już metodologia połączenia wszystkich jeszcze niepołączonych elementów w całość. Pozostało je połączyć.

Daje mi to ciekawą kolejną lekcję pokory, że nawet element, który od kilku lat był przeze mnie uznany za gotowy, po świeżym spojrzeniu, po upływie czasu i po zajęciu głowy innymi zagadnieniami, może zostać jeszcze udoskonalony. Bo choć poprzednia koncepcja z rozdzieleniem dowodu na fazę pierwszą i drugą wciąż jest prawidłowa, to nowe podejście, w którym obie fazy zostają zintegrowane, jest bardziej eleganckim, łatwiejszym i krótszym sposobem. Warto więc czasami trochę poczekać. Nawet robiąc w tym czasie coś głupiego. Bo mózg w tym czasie, jak się okazuje, nie próżnuje, przetwarza w tle i potem zgłasza nam efekty swojej pracy w nieoczekiwanych momentach, np., gdy wycieramy się w ręcznik! A gdybym siedział nad tym wczoraj cały dzień i męczył ten problem na siłę, podejrzewam, że bym na ten pomysł z integracją nie wpadł!




25.05.2021. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#250521

Wygląda na to, że skończyłem wreszcie prace nad nowym programem od szyfrowania - VMPC Secret Book. Muszę to napisać publicznie, żeby zahamować w sobie chęć wprowadzania kolejnych udoskonaleń.

Prace nad programem prowadziłem naprzemiennie z interpretowaniem i porządkowaniem ostatnich analiz funkcji VMPC (z pierwszego kwartału 2021). Oprócz dodatkowej aktywizacji mózgu, dało to jeszcze jeden ciekawy efekt.

Standardowo zaraz po zapisaniu na brudno wyników zabrałbym się za ich formalne zapisywanie na czysto. Co zajęłoby dość sporo czasu, bo jest tego trochę. Po wykonaniu tego musiałbym trochę odpocząć, odczekać , aby nabrać dystansu, a następnie przeanalizować ponownie i ocenić. Bez elementu przerwy (bez nabrania dystansu) analiza własnego rozumowania mija się z celem, bo na świeżo wszystko wydaje się świetne, celne i potrzebne (oczywiście, jeśli jest prawdziwe, to warunek konieczny, aby w ogóle było co analizować, ale sama prawdziwość danego faktu jeszcze nie oznacza, że jest on potrzebny w pracy).

Po niezbędnym odczekaniu i nabraniu dystansu wynikiem oceny byłoby stwierdzenie, że najprawdopodobniej wszystkie nowe zapisy są... zbędne. Nawet na poziomie wstępu do głównej części dowodu. Wszystkie opisane fakty byłyby prawdziwe, opisywałyby zjawiska zachodzące faktycznie w funkcji VMPC. Na pierwszy rzut oka oczywiste wydaje się, że muszą się znaleźć w pracy. Ale po nabraniu dystansu i ocenie ich na chłodno stwierdziłem, że wszystkie one albo zbyt szybko prowadzą do głównej formalnej części pracy, do której miały być wstępem (tak szybko, że nie ma sensu o nich wspominać) albo są zbyt ogólnikowe i choć są prawdziwe, to nadają się bardziej do artykułu popularnonaukowego, który w obrazowy sposób tłumaczy istotę funkcji VMPC, ale w formalnej pracy matematycznej nie znajdują miejsca.

W wyniku powyższego musiałbym usunąć wszystkie nowe zapisy jako niepotrzebne. Ale wcześniej bym się nad nimi mocno napracował.

Ale tak nie zrobiłem. Zamiast męczyć się z zapisywaniem tego na czysto, przeprowadzałem "impulsowe ataki" na wyniki tych analiz. Praktycznie każdego dnia wracałem do tych wyników i trawiłem albo wszystkie na raz albo fragmenty. Ale bez wnikania bardzo mocno. Bez poświęcania dużej ilości czasu. Więcej czasu poświęcałem na prace programistyczne nad aplikacją do szyfrowania.

Ta strategia dała ciekawe rezultaty. Nie umiem tego dokładnie wytłumaczyć od strony procesów myślowych, a jedynie od strony efektów. Krótko mówiąc, uzyskałem ten sam efekt, który uzyskałbym po zapisaniu wszystkiego na czysto, ale uzyskałem go bez poświęcania czasu i energii na zapisywanie. Te wielokrotne impulsowe ataki pozwoliły mi wgryźć się w problem wystarczająco głęboko, a jednoczesna równoległa praca nad innym zadaniem (program do szyfrowania) i mijający czas utrzymywały mnie w na tyle dużym dystansie do analizowanego problemu, że mogłem go ocenić chłodnym okiem, bez wpadania w wir twórczy, polegający na tym, że jeśli już zaczynam pracę nad zapisywaniem czegoś na czysto formalnie, to nie mogę przestać, aż nie skończę. W takim wirze tracę dystans, nie umiem ocenić, czy opisywane zjawisko dalej dobrze pasuje do reszty pracy. Taką ocenę potrafię wykonać dopiero po wyjściu z owego wiru. Jest to silny stan umysłu, nad którym prawie nie mam świadomej kontroli i który ma silną inercję. Jeśli już zabiorę się za formalne zapisywanie czegoś i wpadnę w ten wir, to jest to coś jak obsesja, zawężenie pola widzenia tylko do konstrukcji formalnych i sposobów na zapisanie powiązań między nimi. To wszystko bardzo dobrze działa, ale ma sens tylko, gdy opisuję zjawisko, które faktycznie trzeba opisać. A jeśli wpadam w ten wir i opisuję zjawisko, które potem okazuje się niepotrzebne w pracy, to jest to czas stracony. I tu udało mi się tej straty uniknąć.

Oczywiście mogło być inaczej i po zakończeniu impulsowych ataków mogło się okazać, że któryś analizowany element wymaga formalnego opisania. Wówczas zabierałbym się za niego w tym momencie. Ale wyszło szczęśliwie, że nie trzeba nic nowego formalnie opisywać!

Raczej nie dało się dojść do tego wniosku szybciej. Pytania, z którymi walczyłem od początku tego roku, czyli powrót do twierdzenia o nieoznaczoności i jego analiza w kontekście 12 rozkładów (twierdzenie to powstało w 2017 roku, a 12 rozkładów w 2020), to bardzo fundamentalne i ważne pytania i nie było możliwości, żeby je pominąć albo przemknąć nad nimi.

To, że wynikiem tych analiz jest dodatkowe wzmocnienie wniosku, że całe twierdzenie o nieoznaczoności jest automatycznie zawarte w 12 rozkładach (w całkiem innej formie, bo pozornie te zagadnienia są całkiem odrębne), jest bardzo fortunnym zbiegiem okoliczności.

Do tego stopnia, że mam pewne wrażenie (jakkolwiek dziwnie to może zabrzmieć) utraty pełnej kontroli nad "siłą" tychże 12 rozkładów. Siłę rozumiem tu jako zdolność danego zapisu formalnego do "odpowiadania" na przeróżne pytania, nawet te postawione z pozornie bardzo odległego punktu widzenia.

To kolejna kropelka dodająca mi przekonania, że praca wreszcie spina się do końca, że jest wreszcie tak, jak powinno być, że wszystkie pytania, jakie czytelnik może postawić, znajdą w pracy odpowiedzi. Oczywiście, czy tak faktycznie będzie, okaże się dopiero po publikacji.

Na poziomie ogólnym ciekawe dla mnie jest to, że dopiero w ostatnim czasie (rok, może dwa) dostrzegam, jak ważna jest znajomość tego, jak pracuje nasz własny mózg (to może być subiektywne, a opisuję tylko wrażenia z obserwacji pracy własnego). Dzięki tej znajomości można niejako świadomie samym sobą manipulować / zarządzać tak, aby sprawniej dochodzić do celu. Przydzielać zadania niemal tak, jakby mózg był naszym pracownikiem.

Wpis ten miał być głównie o nowym programie do szyfrowania VMPC Secret Book. Ale jak się rozpędziłem, to zszedł on na dalszy plan. Niech już tak zostanie, bo chyba znowu trochę za bardzo się rozpisałem.

Dodam tylko, nawiązując do wstępu, że ostatnim usprawnieniem, jakie do programu wprowadziłem, była jego optymalizacja. Program operuje na małych dokumentach, a każdy jest szyfrowany osobno, z czego wynika, że zapis/odczyt całego pliku (zawierającego wiele zaszyfrowanych dokumentów) na dysk składa się z szeregu małych operacji zapisu/odczytu. Takie operacje, mimo polegania na sprzętowych i systemowych narzędziach do automatycznego buforowania, nie dają tak dobrych efektów, jak dodatkowe własne buforowanie. Taki własny algorytm dodatkowego buforowania zaimplementowałem. Wg pomiarów wydajność operacji zapisu i odczytu udało się zwiększyć dzięki niemu 7-krotnie (na dysku talerzowym, na SSD różnica będzie mniejsza). Wymagało to trochę pracy, ale czuję, że było warto, gdyż teraz program działa sprawnie nawet na znacznie większych plikach niż pierwotnie zakładałem, co może rozszerzyć pole jego zastosowań.

Wczoraj wykonałem, mam nadzieję, ostatnie modyfikacje w programie. Wszystko było wnikliwie testowane na bieżąco, więc najprawdopodobniej program jest już w swojej finalnej oficjalnej postaci. Zostało praktycznie tylko dopracowanie treści komunikatów dla wersji niezarejestrowanej (to już praca tylko językowa).

Jestem z programu bardzo zadowolony, jest taki, jaki chciałem, aby był. Nie wiem, czy będzie się dobrze sprzedawał, nie wiem, czy spodoba się użytkownikom. Wiem tylko, że jest bardzo dogłębnie dopracowany i przetestowany i zapewnia bardzo wysoki poziom bezpieczeństwa. Jego funkcjonalność nie jest bardzo szeroka, więc na pewno znajdą się użytkownicy, którzy chcieliby mieć dodatkowe funkcje. Mogą oni wtedy poszukać innych programów. Ten program miał z założenia realizować tylko wybrane zadania, ale robić to naprawdę dobrze. Z jednoczesnym zachowaniem bardzo wysokiej wygody dla użytkownika. Tak czuję, że jest. Mam satysfakcję i dużą radość z efektów i to mi na razie wystarczy.

Teraz program schodzi na drugi plan, zrobił dużo dobrego, a teraz energia zostaje skierowana na finalizowanie pracy o funkcji z (nie)zastosowaniem najnowszych wyników!

W ramach świętowania ukończenia prac nad programem zakleiłem sobie dziurę w rurze wydechowej mojej wiecznie młodej Toyoty Corolli z 1990 roku :-)






03.04.2021. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#030421

Uwaga, tym razem trochę się rozpisałem, wpis ma 3 strony A4. W skrócie - praca jeszcze nie jest skończona, ale wszystkie optymistyczne spekulacje z poprzednich wpisów utrzymują się.

Tymczasem ukończyłem wreszcie prace nad aplikacją do szyfrowania VMPC Secret Book. Przede mną jeszcze faza finalnych testów i ewentualne drobne poprawki. Wszystkie założone funkcje udało się zaimplementować w 150%. Oprócz 100% zaplanowanych, doszła jeszcze połowa pomysłów, które zrodziły się na bieżąco.

Czuję dużą radość z efektów. Wydaje mi się, że program jest po prostu fajny! Jeśli tylko opanuje się podstawy względnie innowacyjnego interfejsu, to program może w znacznym stopniu ułatwić codzienne użytkowanie komputera i to nie tylko z punktu widzenia bezpieczeństwa. Pozwoli wykonać jednym kliknięciem niektóre normalnie dość kłopotliwe czynności. Moją intencją było, aby program był "przyjacielem użytkownika". Szczerze mówiąc, nie mogę się doczekać, kiedy sam zacznę z niego korzystać. W Wielkanoc będzie premiera rodzinna - członkowie rodziny dostaną program do użytkowania / testowania.

Choć pisanie tego programu stanowi dla mnie formę rozrywki / terapii i jest mi obojętne, czy sprzedam choć kilka licencji, to zajmuje on ważne miejsce w całym projekcie VMPC, którego głównym elementem jest, oczywiście, funkcja VMPC i dowód jednokierunkowości.

Praca nad tym programem jest dla mnie zbawieniem w, delikatnie mówiąc, słabszych chwilach, gdy czuję, że dochodzę do granic wytrzymałości psychicznej w pracy nad funkcją. A takie momenty wielokrotnie się przewijały.

Kryptograficzna odnoga projektu (algorytmy szyfrowania, aplikacja VMPC Secret Book) zajmuje szczególne miejsce. To z niej zrodziła się bowiem funkcja jednokierunkowa VMPC. Nie odwrotnie. Więcej wspomnień o genezie funkcji VMPC pojawi się po ukończeniu pracy. Tekst jednak mam już napisany :-)

Oprócz wartości terapeutycznej, praca nad nowym programem ma jeszcze dwie dodatkowe funkcje.

1. VMPC Secret Book udostępni do użytku algorytm szyfrowania VMPC-R, którego początki sięgają 2010 roku. To on był testowany podczas fantastycznej akcji zbiorowych testów statystycznych, w którą zaangażowało się kilkaset ochotników. Algorytm ten miał być z założenia najlepszym na świecie algorytmem szyfrowania typu RC4.

W podobnym czasie do powstania VMPC-R, Ron Rivest, twórca RC4 i współautor RSA, opublikował swoją propozycję następcy RC4, algorytm Spritz. Dużą satysfakcją było dla mnie wykazanie, że Spritz generuje strumień wartości o znacznie gorszych własnościach statystycznych od VMPC-R.

2. Praca nad programem ma dodatkowo aktywizować mi umysł. Jak dodatkowy trening dla poprawy wydajności. Mam to sprawdzone doświadczalnie. Gdy byłem w liceum, raz groziła mi na koniec roku 5 z fizyki. Profesor dał mi szansę poprawy w postaci 50 zadań z gwiazdką. Po ich rozwiązaniu najbardziej zaskakujący był dla mnie efekt uboczny - sprawność we wszystkich innych przedmiotach znacznie mi wzrosła. Nawet humanistycznych. Podobny efekt miałem podczas intensywnej nauki do egzaminu CAE z angielskiego w klasie 2.

Moja intuicja musi czuć, że koniec prac nad funkcją VMPC jest bliżej niż mój mózg jest tego świadomy. Intuicja nieodparcie podpowiadała mi bowiem, że muszę teraz skończyć prace nad VMPC Secret Book. A skoro prace nad tą aplikacją były dla mnie lekiem na lokalne depresje podczas pracy nad funkcją, to nieroztropnie byłoby kończyć pracę nad aplikacją za wcześnie. Byłoby to jak zużyć cały zapas lekarstwa przed końcem choroby.

Potrzeba ukończenia tych prac w ostatnich tygodniach była tak silna, że zdarzało mi się pracować po 15 godzin dziennie. Parę dni temu pracowałem 25 godzin na "dobę" (z przerwami tylko na jedzenie). Tak się zasiedziałem, że było już jasno (około 7 rano), więc uznałem, że nie ma sensu iść spać i lepiej od razu rozpocząć kolejny dzień pracy. Potem musiałem jednak trochę odespać ten maraton - sen jest bardzo ważny dla sprawności umysłu.

Jednocześnie każdego dnia poświęcam też czas na atakowanie ostatniego etapu pracy nad dowodem jednokierunkowości, prawdopodobieństwa warunkowego. I wciąż utrzymuje i umacnia mi się wrażenie, że etap ten jest znacznie mniejszy niż mi się początkowo wydawało. Wcześniej sądziłem, że połączenie go z 12 rozkładami (najnowszym elementem pracy, powstałym latem 2020) zajmie minimum kilka miesięcy i będzie wymagało mozolnego udowodnienia znacznej ilości mini-twierdzeń. I tak to wyglądało, bo zagadnienia te na pierwszy rzut oka są od siebie mocno odległe i zintegrowanie ich wyglądało na duże wyzwanie. Tymczasem obecnie wygląda na to, że szerokość spektrum zastosowań 12 rozkładów jest tak zaskakująco duża, że wchłaniają one problem prawdopodobieństwa warunkowego. Najprawdopodobniej wystarczy zapisanie kilku zdań uzasadnienia, dlaczego z opisu prawdopodobieństwa warunkowego możemy automatycznie przejść do 12 rozkładów, a ich analiza jest już zapisana na czysto w pracy.

Zanim to wykonam jednak, chcę być pewny, że nic mi nie umyka. Tu doświadczenie nauczyło mnie, że zarządzaniem tempem postępu jest tu bardzo ważnym zagadnieniem. Ścierają się tu dwie siły - chęć postępu (u mnie bardzo silna po 22 latach pracy nad tym problemem bez żadnej wymiernej nagrody) oraz potrzeba weryfikacji. Tak, aby nie inwestować pracy w realizacje pomysłów, które okażą się ślepymi uliczkami. Oczywiście nie da się uniknąć ślepych uliczek, ale chodzi o to, aby minimalizować ich ilość. Wg mnie podejście takie jest najszybszą drogą do zakończenia pracy.

Mimo że kusi, aby już pisać, już iść dalej, to jeśli pójdzie się dalej w złym kierunku, czas i praca zostaną stracone. Czasami lepiej "zmarnować" kilka tygodni na dogłębne przetrawienie pomysłu zamiast stracić rok na opisywanie ślepej uliczki. Jest to trudne, bo trzeba pohamować chęć robienia postępów. Ale gdy idziemy w złym kierunku, postępy są tylko pozorne.

Podczas pracy nad funkcją przemierzyłem setki ślepych uliczek. I dopiero niedawno zdałem sobie sprawę, jak bardzo może pomóc zarządzanie tempem postępu, zamiast parcia na siłę, na ślepo do przodu. I akurat w ostatnim czasie (ostatni około rok) wszystko w pracy nad funkcją układa mi się lepiej niż planowałem. A tak nigdy wcześniej nie było. Wcześniej zawsze było odwrotnie, wszystko okazywało się wielokroć bardziej kłopotliwe niż pierwotnie zakładałem.

Jeden z dosadnych przykładów to okres 2016-2017, kiedy poświęciłem ponad rok na formalne opisywanie koncepcji tzw. blokowanych pozycji. Powstało kilkadziesiąt stron pracy, miałem dużą radość, że praca idzie szybko, stron przybywa, rewelacja. Aż, gdy cała koncepcja została formalnie zapisana, okazało się, że był to czas stracony.

Koncepcja blokowanych pozycji była prawidłowa, opisywała rzeczywiste zjawiska zachodzące w funkcji VMPC, pozwalała wyprowadzać celne wzory na prawdopodobieństwa, wszystko wyglądało bardzo dobrze. Ale zamiast wgryźć się w to mocniej, przetrawić, skonsolidować, pohamować ślepe parcie naprzód, zabrałem się od razu za formalne zapisywanie.

A jak się zacznie pisać, wpada się w wir szczegółów, od twierdzenia do twierdzenia i wówczas traci się spojrzenie ogólne, traci się dystans. Brnie się w szczegóły tak długo, aż dojdzie się do ściany. Nie do błędu. Błędu nie było w koncepcji blokowanych pozycji. Ale ten sposób opisu funkcji, choć przedstawia prawdziwe fakty, to nie prowadzi do formalnego wniosku, że funkcja jest jednokierunkowa. Była to ślepa uliczka.

Rozwiązaniem było obranie w 2017 innej koncepcji - aktualnie stosowanej funkcji malejącej. I teraz wszystko już bardzo mocno wskazuje, że koncepcja ta doprowadzi mnie skutecznie do końca.

Chcę dobrze przetrawić ostatnie elementy tej koncepcji, zanim uznam ich finalną formalną postać i postawię ostatnią kropkę.

Czuję, że moment wejścia w zapisanie na czysto ostatnich obserwacji już dojrzewa, ryzyko, że okaże się to ślepą uliczką oceniam obecnie na bardzo niskie. W ostatnich dniach pojawił mi się w głowie pomysł na ulepszenie jednego formalnego oznaczenia, co jest dobrym zwiastunem, że myśli już kierują mi się w stronę formalnych zapisów. To niechybnie będzie oznaczało koniec etapu konsolidacji i początek zapisania na czysto ostatniego elementu pracy.




20.03.2021. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#200321

Ostatni czas minął (mija) na konsolidacji natłoku wyników z ostatnich miesięcy. Doświadczenie wiele razy już mnie nauczyło, że wyniki muszą się trochę uleżeć w głowie, aby umysł nabrał do nich odpowiedniego dystansu i umiał je lepiej ocenić. Jest to nawiązanie do mojego powiedzenia, że czas rozwiązuje problemy.

Dotychczas najczęściej było tak, że konsolidacja ujawniała albo nowe problemy do rozwiązania albo dodatkowe elementy do przebadania czy zapisania. Innymi słowy - komplikacje. Tymczasem teraz wszystko układa się dokładnie odwrotnie.

W poprzednim wpisie optymistycznie spekulowałem, że twierdzenie o nieoznaczoności (z którym obecnie walczę) może zostać zredukowane tylko do komentarza wprowadzającego w już zapisane formalnie: język VMPC i 12 rozkładów. A gdyby tak się złożyło, to ostatnim do wykonania elementem pozostałoby sfinalizowanie opisu formalnego prawdopodobieństwa warunkowego (mam na myśli, oczywiście, pewne charakterystyczne zjawisko w funkcji VMPC, do którego opisu stosuję prawdopodobieństwo warunkowe).

Czyli, reasumując, w najbardziej optymistycznej wersji twierdzenie o nieoznaczoności miało się "samo załatwić", a do opracowania miało pozostać tylko prawdopodobieństwo warunkowe.

Od około 2 tygodni nieśmiało atakuję w głowie także owo prawdopodobieństwo warunkowe (które formalnie jest już w znacznym stopniu opisane w pracy na czysto, a pozostało do opisania trochę formalnego kontekstu).

Problem w tym, że od tych 2 tygodni, od której strony bym nie atakował prawdopodobieństwa warunkowego (a próbowałem już od tak wielu stron, że na razie nie mam już pomysłów na inne strony), to wychodzi mi jasno, że prawdopodobieństwo warunkowe... także jest już opisane w pracy. A dokładniej, obecny już w pracy formalny opis 12 rozkładów (wynik z ostatniego półrocza) stanowi automatycznie odpowiedź na wszystkie pytania, jakie stawia także problem prawdopodobieństwa warunkowego.

Podsumowując, wygląda na to, że dwa ostatnie do wykonania elementy - twierdzenie o nieoznaczoności oraz prawdopodobieństwo warunkowe - są już w pracy automatycznie opisane w postaci wspomnianych 12 rozkładów! Wynikałoby z tego, że zapis 12 rozkładów opisuje znacznie szersze spektrum zjawisk niż pierwotnie sądziłem.

Jak to piszę, to nie bardzo sam dowierzam, bo to by oznaczało, że praca byłaby już skończona... Nie mogę jeszcze napisać, że tak jest, bo teza, że prawdopodobieństwo warunkowe jest automatycznie opisane przez 12 rozkładów, jest jeszcze w fazie analiz i może się okazać, że jednak nie będzie tak dobrze i że trzeba będzie tu coś dopisać. Dlatego nie można jeszcze niczego świętować. To na razie luźna spekulacja, co do której można mieć najwyżej nadzieję, że się utrzyma, ale trzeba być gotowym na to, że jeszcze trzeba będzie tu popracować.

Szczerze mówiąc, celowo próbuję sformułować to tak, aby brzmiało mniej optymistycznie niż sam to czuję. Trochę mnie ta sytuacja onieśmiela - za dobrze się te dwa ostatnie elementy układają!

Gdy powyższe zostanie rozstrzygnięte, praca będzie skończona na surowo. To znaczy rozumowanie byłoby już zapisane formalnie do końca, a pozostałoby trochę prac porządkowych / redakcyjnych oraz dodanie komentarzy do niektórych elementów formalnych, aby ułatwić czytelnikowi ich trawienie. W tym wspomniany na początku opis twierdzenia o nieoznaczoności.

Tymczasem, aby konsolidacja nie była całkiem stratą czasu od strony wymiernych efektów, to zamiast tylko chodzić i układać sobie w głowie analizowane elementy, w ramach rozrywki / odświeżenia głowy / zmiany, wróciłem do kończenia programowania nowej aplikacji do szyfrowania, VMPC Secret Book. Idzie mi całkiem dobrze, jest to na obecnym etapie przyjemna twórcza robota, w której teraz skupiam się na zapewnieniu aplikacji maksymalnej wygody obsługi dla użytkownika i ta zabawa dobrze na mnie działa. Do końca prac na aplikacją jest już bardzo blisko. Wkrótce, mam nadzieję, przy odrobinie szczęścia będzie można świętować zakończenie obu projektów - osiągnięcie surowego końca pracy o funkcji VMPC oraz ukończenie aplikacji do szyfrowania.




09.02.2021. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#090221

Kompilacja wyników dotyczących twierdzenia o nieoznaczoności z 2017 oraz tych najnowszych trwa, a wczoraj uzyskałem bardzo ciekawy wynik. Tak ciekawy, że muszę o nim napisać. Koncepcyjnie twierdzenie to łączy definicję funkcji VMPC z językiem VMPC. Natomiast język prowadzi do 12 rozkładów (dotyczących twierdzenia o funkcji malejącej). Tymczasem po zapisaniu na brudno najnowszych wyników dotyczących badanego twierdzenia, z niedowierzaniem zobaczyłem, że to, co mi wyszło (już na poziomie formalnego zapisu matematycznego), wygląda dziwnie znajomo. Otworzyłem pracę na rozdziale dotyczącym 12 rozkładów.

I czytam tam dokładnie to samo, co wyszło mi teraz!

Tego się nie spodziewałem. Szczególnie, że na poziomie koncepcyjnym badane zjawiska są mocno odmienne, dotyczą spojrzenia na funkcję od innej strony. Fakt, że z tych tak odmiennych punktów widzenia wyszły mi dokładnie te same formalne wyniki jest w tym momencie dla mnie fascynujący. Jest to świeży rezultat z wczoraj i dziś, piszę na gorąco.

Teraz muszę tę rewelację przetrawić i zinterpretować, ale w tym momencie wygląda to na świetną wiadomość, która może pozwolić szybko przemknąć przez formalny zapis twierdzenia o nieoznaczoności. Obrazowo wygląda to tak, że od strony formalnej twierdzenie to automatycznie "chce" wygenerować wynik, do którego planowana droga była znacznie dłuższa. Wynik ten nie wpływa na istniejące elementy pracy, ale najprawdopodobniej pozwoli znacznie szybciej i w jakimś stopniu automatycznie zintegrować z nimi to twierdzenie.

Pozwalając sobie na nieco spekulacji - w utopijnie najlepszym wypadku (choć aż tak dobrze na pewno nie będzie) twierdzenie o nieoznaczoności może zostać zredukowane tylko do komentarza dotyczącego języka VMPC, twierdzenia o funkcji malejącej i 12 rozkładów. Jak wielokroć wspominałem, mimo że jestem autorem pracy, nie mam pojęcia, czy tak wyjdzie. Praca pisze się sama poprzez wyciąganie wniosków z kolejnych wniosków i zapisywanie rezultatów.




04.02.2021. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#040221

W nawiązaniu do poprzedniego wpisu muszę jednak zwrócić trochę honoru moim analizom twierdzenia o nieoznaczoności z 2017 roku. Po ostatnim zebraniu i skompilowaniu materiałów na nowo (poprzedni wpis), przeanalizowałem także dokładnie całe wyniki z 2017. Choć tak, jak w poprzednim wpisie napisałem, obecne wyniki są bardziej klarowne i szybciej dają te same wnioski, a także są szersze (druga odnoga), to jednocześnie znalazłem w wynikach z 2017 jedną konstrukcję, która pozwala uzyskać jeszcze klarowniejszy formalny opis badanego zjawiska w nowej wersji. Roboczo (wg własnej nomenklatury, którą stosuję w swoich notatkach), chodzi o użyte w 2017 tzw. "równania dodatkowe" pierwszego i drugiego typu.

Jednocześnie po wgryzieniu się dokładnie w istotę tych równań, udało mi się znaleźć bardziej "organiczny" sposób na ich zapisanie niż ten użyty w 2017. Dzięki niemu stają się one tylko elementem interpretacji tzw. "równań głównych" (obecnych w tej samej formie zarówno w nowej wersji, jak i w tej z 2017).

Po uzyskaniu powyższego wyniku osiągnąłem pierwszy "klik" w kompilowaniu tej dość obszernej porcji materiału. "Klikiem" nazywam charakterystyczne impulsowe intuicyjne wrażenie, że weszło się na właściwą drogę w analizie jakiegoś problemu. Ostatnim "klikiem" było wpadnięcie na koncepcję zapisania 12 rozkładów z lata 2020.

Udało mi się odzyskać pełnię energii i obecnie jestem w intensywnej fazie pracy, a niniejszy wpis jest niejako nadprogramowy, zainspirowany owym "klikiem" oraz potrzebą częściowego zwrócenia honoru wynikom z 2017.

Intuicyjnie prognozuję, że obecny etap, choć wymagający sporo pracy porządkowej (porządkowanie badanych faktów) na obszernym materiale, to formalnie na czysto w pracy zajmie niewiele miejsca. Dokładnie przeciwnie do poprzedniego etapu z funkcją malejącą, który koncepcyjnie był dość prosty, ale jego formalny zapis był bardzo męczący i dość skomplikowany, wymagający udowadniania wielu pobocznych elementarnych faktów. Zobaczymy, czy prognoza się sprawdzi.

Strategicznie po zakończeniu tegoż etapu z twierdzeniem o nieoznaczoności pozostanie mi tylko dokończyć formalizowanie wniosków z twierdzenia o funkcji malejącej przez pryzmat (wspomnianego w dawniejszych wpisach) prawdopodobieństwa warunkowego i to powinien być merytoryczny koniec pracy. Potem zostanie tylko dopisanie kilku dodatkowych elementów (nieproblematycznych i niewielkich), redakcyjne uporządkowanie treści i ewentualnie dopisanie kilku komentarzy w języku angielskim (obecnie treść pracy to w zdecydowanej większości gołe formalne zapisy rozumowania z minimalną ilością komentarzy).




24.01.2021. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#240121

Zapisy formalne związane z twierdzeniem o funkcji malejącej (w tym - będące ich kulminacją - 12 rozkładów, o których pisałem w ostatnich miesiącach) są już na tyle kompletne, że przyszedł czas na domykanie drugiego kluczowego elementu - twierdzenia o nieoznaczoności, nad którym pracowałem kilka lat temu - praktycznie cały 2017 rok. Różne pośrednie odwołania do tego twierdzenia przewijały się także później, a teraz przyszedł czas, aby wszystkie te wyniki zebrać i opisać na czysto w pracy.

Zapisy z 2017 mam w głowie dość dobrze utrwalone, więc zacząłem pracę od czystej kartki, bazując tylko na tym, co pamiętam, bez czytania analizy z 2017, aby nie kotwiczyć się na starych schematach myślowych. Tak zapisałem kluczowe wnioski wraz z kilkoma nowymi obserwacjami i uzyskałem uwspółcześnioną syntezę wyników (zapisy z 2017 zajmują ponad 40 stron brudnopisu).

Pozostaje to uporządkować i przełożyć na język formalny.

Tu mała auto-obserwacja. Powyższą syntezę obmyśliłem i zapisałem na brudno w 2 tygodnie, podczas gdy nad starą pracowałem cały rok 2017. Jednocześnie powyższe nowe wyniki są znacznie lepsze niż to, do czego doszedłem w 2017 roku. Wnioski są te same, ale sposób dojścia do nich jest teraz znacznie szybszy i bardziej klarowny. Obecny materiał jest także bogatszy - pokrywa dwie (z dwóch istniejących) odnogi analizowanego zagadnienia, podczas gdy analiza z 2017 omawiała dogłębnie tylko jedną odnogę, a druga była wówczas pozostawiona do zgłębienia.

Albo moje procesy myślowe dotyczące funkcji obecnie zachodzą sprawniej niż 4 lata temu, albo po prostu łatwiej mi było teraz wrócić do tematu, mając w tyle głowy już utrwalone wyniki z 2017 roku. W każdym razie strategia z 2017 roku, aby element ten wstępnie opracować, a następnie zostawić do dojrzenia, wygląda, że dobrze zadziałała i teraz zbieram dojrzałe tego owoce.

Wspomniana druga odnoga tego twierdzenia będzie stanowić ogólną konstrukcję formalną, która najprawdopodobniej nie została nigdzie wcześniej użyta, będzie więc stanowiła mały dodatkowy element twórczy. Konstrukcja, choć ogólna, będzie jednak miała raczej wyspecjalizowane pole zastosowań i będzie dotyczyć złożeń permutacji (np. f(f(f(x))) to przykład złożenia permutacji f). Jednocześnie będzie na tyle ogólna, że wyobrażam sobie jej zastosowania także poza problematyką VMPC.

W ramach tej konstrukcji cykl w permutacji nie będzie już jednym z elementarnych sposobów na zapisanie permutacji, a będzie jedynie szczególnym przypadkiem szczególnego przypadku szczególnego przypadku szczególnego przypadku (4 poziomy uogólnienia) tej konstrukcji formalnej. Dopiero na takim poziomie uogólnienia konstrukcja pozwala przejść od definicji funkcji VMPC do języka VMPC i dalszej (już prawie w całości gotowej) części pracy.

Teraz coś dla mojej przyjemności nieformalnego opisywania zjawisk, co stanowi dla mnie odreagowanie tego, że w pracy zmagam się ze 100 stronami prawie samych matematycznych szlaczków. Nieformalne wyjaśnienie dla czytelników niezagłębionych nadmiernie w matematykę: czym jest cykl w permutacji. Matematycy o słabszym sercu powinni poniższy akapit przeskoczyć, gdyż nie podąża on drogą formalnych definicji, a zamiast tego próbuje odtworzyć możliwą drogę, jaką mogły podążać wyobraźnia i myśli matematyków przed wiekami, gdy powstawała (kiedyś musiała powstać) definicja cyklu.

Permutacja to nic innego, jak zestaw potasowanych liczb, ułożonych w określonej kolejności, np. liczby "3 4 2 1" możemy zapisać tak: 1:3 (pierwsza liczba to 3), 2:4 (druga liczba to 4), 3:2 (trzecia liczba to 2), 4:1 (czwarta liczba to 1). Ułóżmy teraz te pary liczb w takiej kolejności, aby się "zazębiały": 1:3, 3:2, 2:4, 4:1. Dużo liczb nam się powtarza, więc dla uproszczenia wyrzućmy duplikaty. Zostaje nam 1 3 2 4 1. Jedynka na początku i na końcu też nam się powtarza, więc i jej duplikat wyrzućmy. Tak otrzymujemy zapis permutacji w postaci cyklu: (1 3 2 4). Nic wielkiego nawet dla osób nielubiących matematyki. Tym sposobem - przy pomocy cykli - można zapisać każdą permutację (czasami trzeba użyć kilku cykli).

Tu można wylądować - kto musiał powyższy akapit przeskoczyć. Wygląda, że ten etap pracy będzie znacznie bardziej wdzięczny niż ostatnie bardzo niskopoziomowe formalne zmagania z udowadnianiem kolejnych elementarnych faktów. Tu przejścia do kolejnych kroków tego etapu powinny być znacznie szybsze. Oby tak właśnie się stało!

Po grudniowym maratonie, zamiast odpocząć, wziąłem się od razu za opracowanie powyższego. Przypłaciłem to lekką kumulacją zmęczenia. Jednego dnia (3 dni temu) siadłem do pracy (fakt, że też po słabo przespanej nocy) i stwierdziłem, że mózg w ogólne nie chce pracować. Po prostu "nie odpala". Wtedy dla relaksu zacząłem pisać ten wpis na bloga, ale nie byłem w stanie go skończyć i nawet dokończenie wpisu zostawiłem na później. Uznałem to za znak, że trzeba jednak trochę odpocząć, co uczyniłem i teraz czuję się już znacznie lepiej. Sił muszę mieć skumulowanych dość sporo, bo jak zagłębiam się w pracę, to pochłania mnie ona całkowicie zwykle na kilka tygodni i na takie sesje muszę mieć odpowiedni zapas "paliwa" (paliwem jest tu stopień wypoczęcia umysłu). Ciekawe, że przyjemność dają mi tylko postępy w pracy, a sam odpoczynek jest dla mnie stresującym złem koniecznym. Ale bez tego mózg nie funkcjonuje po przekroczeniu pewnej bariery zmęczenia i forsowanie go do pracy w warunkach przemęczania byłoby stratą czasu (efektywność pracy byłaby bardzo niska, a czas płynąłby tak samo szybko). Dodatkową korzyścią z takich sesji odpoczynku jest to, że mózg podczas odpoczynku nabiera dystansu do nowych wyników, konsoliduje je, co pozwala zrobić szybkie postępy po powrocie do pracy.

Dlatego czasami, niestety, trzeba odpocząć. Czuję, że obecna sesja odpoczynku już dobiega końca, a fakt, że miałem siłę dokończyć ten wpis, jest chyba tego pierwszym zwiastunem. Takie ogólne spostrzeżenia na temat pracy mózgu (pisane spontanicznie tylko z własnych obserwacji, bo pewnie podobne wnioski można znaleźć w podręcznikach psychologii) też mnie relaksują, więc mam nadzieję, że czytelnicy spragnieni tylko suchych faktów o postępach w pracy, mi te dygresje wybaczą.




02.01.2021. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#020121

Nie ma to, jak Sylwester z funkcją. W czasie pandemii przynajmniej nie było pokus, żeby gdzieś wychodzić. Moje nadzieje na to, że Corollary W5.3 będzie ostatnim wymagającym udowodnienia elementarnym faktem, oczywiście się nie spełniły. Podczas wykonywania kolejnego kroku, który obrazowo mogę nazwać przejściem przez "bramę" do obszaru 12 rozkładów (już opisanych w pracy kilka miesięcy temu), funkcja oczywiście musiała pokazać, że tak łatwo końcówki swojej skóry nie odda! I zrobiła to dość brutalnie. Udowodnienie kolejnego faktu, który pozwala przejść przez tę bramę (i skorzystać z Corollary W5.3) zajęło mi mnóstwo pracy. Poszukiwania sposobu na udowodnienie niezbędnego do tego celu Corollary EQ zajęło najpierw 13 stron błądzenia:

Wymagało udowodnienia 6 nowych mniejszych elementarnych faktów, wprowadzenia nowej zmiennej do języka, zmiany dowodu jednego z dawniej udowodnionych faktów, a wynik tego wszystkiego na czysto zajmuje 4 strony:

Frustrację podsyca świadomość, że tym razem udowadniany fakt był wyjątkowo oczywisty intuicyjnie. Używając tylko lekkiej przesady, mogę napisać, że na poziomie intuicyjnym dla osoby zaznajomionej z funkcją VMPC od kuchni udowadniany fakt był mniej więcej tak odkrywczy, jak fakt, że jeśli przełożymy wszystkie ziemniaki z jednego worka do drugiego, to wszystkie ziemniaki będą w drugim worku...

Ale gdy zobaczyłem, że samo zapisanie tego faktu przy pomocy symboli matematycznych zajęło prawie cały wiersz tekstu, to zapaliła mi się lampka, że nad udowodnieniem tej oczywistości chyba trochę się pomęczę... Tak się stało. Szczerze mówiąc, pochłonęło mnie to tak mocno, że jak przygotowywałem wyciąg z pracy na potrzeby tego wpisu, to spodziewałem się, że wersja na brudno zajmie maksymalnie z 5 stron, a wersja na czysto może 2. Gdy zobaczyłem, że zapisałem 13 stron na brudno, aż dwa razy sprawdziłem, czy niczego nie wkleiłem dwukrotnie. Ale nie! Było tego faktycznie 13 storn. To, że na czysto, po uporządkowaniu, zostało z tego aż 4 strony, też mnie ciągle jeszcze dziwi (pracę nad tym skończyłem kilka godzin temu, pierwszego dnia 2021 roku, po maratonie poświąteczno-sylwestrowym).

Pocieszające jest tylko to, że jestem zadowolony z efektów i teraz jest pewność, że wszystkie ziemniaki faktycznie będą w drugim worku! Dopiero to w pełni otwiera wspomnianą bramę do pełnego wykorzystania dobrodziejstw 12 rozkładów, które choć są dość świeżą koncepcją związaną z twierdzeniem o funkcji malejącej (powstałą latem 2020), to już ugruntowały swoją pozycję jako jeden z ważniejszych elementów pracy, który pchnął postęp mocno do przodu. Rozkłady te są już opisane na czysto i dopiero teraz wygląda na to, że cała towarzysząca im teoria jest już wreszcie opisana i dopiero teraz można z niej skorzystać i wejść w etap wyciągania finalnych wniosków.

Ale tak to wygląda, co wcale nie znaczy, że po drodze nie wyklują się jeszcze kolejne fakty wymagające udowodnienia. Im mocniej zapowiadam koniec, tym bardziej się stresuję, gdy wychodzą kolejne nieprzewidziane elementy do wykonania. A że bez stresu pracuje mi się lepiej i skuteczniej, to niczego nie zapowiadam, odpoczywam chwilę i atakuję 12 rozkładów, za którymi stoi już praktycznie napisany koniec pracy. Jak szybko uda mi się przejść przez ten etap - funkcja zdecyduje, a ja mogę tylko poświęcić temu całą swoją energię.

Życzę wszystkim dużo szczęścia w 2021, oby rok ten okazał się mniej burzliwy niż pandemiczny 2020 i oby zaowocował wreszcie zakończeniem czegoś, co bardzo długo trwało...




09.12.2020. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#091220

Za mną kolejna żmudna sesja formalnego opisywania i udowadniania serii kolejnych faktów (mini-twierdzeń). Tym razem, od ostatniego wpisu, było ich najpierw 6. Opisanie i udowodnienie każdego to zwykle kilka dni pracy. Oczywiście wcześniej bywały i takie, które zajmowały kilka miesięcy. Po tych 6 przez chwilę wydawało mi się, że to już ostatnie tego typu "klocki" (z których cały dowód jednokierunkowości funkcji jest zbudowany).

Ale, oczywiście, podczas przechodzenia dalej natknąłem się na dygresję, którą zapisałem jakiś miesiąc temu. Że pewne zjawisko należy, oczywiście, pominąć. No ale niestety, aby formalnie uzasadnić, dlaczego to zjawisko należy pominąć, musiałem zapisać i udowodnić 7 kolejnych elementarnych faktów i dopiero z nich można było wyciągnąć wniosek, że to zjawisko faktycznie należy pominąć. To są tego typu zadania, które wielokroć opisywałem tu jako "praca fizyczna". Ale niestety nie da się jej uniknąć. Tak wyglądają najnowsze efekty (dowody wspomnianych powyżej 13 nowych elementarnych faktów).

Moim marzeniem jest, aby dojść kiedyś do momentu, kiedy już wszystkie te elementarne fakty są opisane i udowodnione i pozostaje już tylko wyciągnąć finalny wniosek - płynący z połączenia znacznej ilości tychże elementarnych faktów w formalnym rozumowaniu - że funkcja VMPC jest jednokierunkowa.

W tym momencie znowu wydaje mi się, że jestem w takim właśnie miejscu... Powtórzę jednak za pierwszym akapitem, że ponad tydzień temu, wydawało mi się tak samo, a jednak wyszło owych 7 nowych. Jak będzie teraz? W tym momencie nie widzę przed sobą już żadnego elementarnego faktu do udowodnienia. Być może do końca pracy pozostało już tylko zastosowanie ostatnich kilku - już udowodnionych - faktów.

Ale dopóki tam nie dojdę, nie będę miał pewności. To jest może trochę jak stąpanie po polu minowym. Nie stąpałem, ale tak sobie to wyobrażam. Z każdym krokiem nie wiesz, czy nie natkniesz się na przygodę. Tak samo jest w mojej pracy, z każdym krokiem rozumowania mogę natknąć się na fakt, który jest prawdziwy, jest zwykle oczywisty, ale aby mógł być za taki uznany przez czytelnika, musi zostać formalnie opisany i udowodniony. Co zwykle zajmuje co najmniej kilka dni na jeden fakt. Przynajmniej w moim przypadku. Może ktoś mądrzejszy na moim miejscu robiłby to szybciej.

Pocieszające jest to, że nie jest to kręcenie się w kółko, ale droga na wprost do już wyraźnie widocznego celu i z każdym kolejnym udowodnionym faktem wiem, że pozostaje o jeden mniej fakt do udowodnienia spośród skończonej ilości faktów. A czy ten, który udowodniłem przed chwilą (ma w pracy roboczą nazwę Corollary W5.3), będzie faktycznie tym ostatnim? Okaże się wkrótce. Chciałbym wierzyć, że tak, ale wolę być gotowy na to, że nie. Na szczęście konieczność udowodnienia tych faktów na tym etapie wiąże się już tylko z upływem dodatkowego czasu i moją "fizyczną" pracą i raczej nie ma już realnego ryzyka, że któryś z nich zepsuje coś w pracy.

Po doprowadzeniu pracy do końca pozostanie mi jeszcze uporządkować treść, pogrupować niektóre elementy, ustalić ich kolejność, nadać tytuły rozdziałom. Z racji, że praca jest względnie obszerna (ma obecnie 99 stron), to też zajmie trochę czasu, ale to już będzie przyjemna robota na deser.

Mam już serdecznie dość tej pracy i chcę ją mieć skończoną najszybciej, jak to możliwe. Ale nie szybciej.




08.11.2020. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#081120

Jednak nie jestem maszyną i po maratonie intensywnej pracy musiałem odpocząć. Czułem ogromne wyczerpanie i w ostatnim czasie musiałem trochę zwolnić.

Na tych zwolnionych obrotach uzupełniłem starannie formalny teoretyczny kontekst wyprowadzonych ostatnio rozkładów prawdopodobieństwa. Tej pracy było więcej niż się spodziewałem - rozkłady z poprzedniego wpisu były tylko surowymi wynikami probabilistycznymi i zanim stały się formalnie użyteczne w pracy, musiałem je znacznie obrobić. Udało się to ukończyć, ale przypłaciłem oba te etapy pracy dużym wyczerpaniem. Tak wygląda wynik - nowe 12 stron pracy.

Wygląda, że praca wychodzi mi lepiej niż odpoczywanie. Mam wrażenie, że coraz mniej rzeczy mnie cieszy, stąd trudniej znaleźć sposób na odpoczynek. Przez to odpoczynek jest chyba mniej efektywny, ale z drugiej strony mam pewność, że korzystam z niego tylko tyle, ile to konieczne, aby zabrać się do dalszego etapu pracy zaraz, gdy tylko odzyskam siły.

Moje obecne "wysiłki", aby odpocząć, powoli dobiegają końca i nieśmiało przymierzam się - z wykorzystaniem powyższych najnowszych wyników - do ataku na formalny koniec pracy. Nie chcę niczego deklarować, bo zwykle po deklaracjach następują niespodziewane formalne komplikacje i zapisanie wszystkiego zajmuje więcej czasu niż zakładała prognoza.

Czy i teraz tak będzie? Tylko czas pokaże. Bo ja nie wiem! Ja tu tylko pracuję, a funkcja jest tu "szefem".

Optymistyczne jest to, że czuję, iż obecnie obrana formalna droga opisu funkcji dokładnie odpowiada mojej intuicji, a więc temu, dlaczego "czuję", że funkcja VMPC jest jednokierunkowa. Innymi słowy czuję zbieżność między intuicją, a zapisem formalnym. Wcześniej (nawet jeszcze pół roku temu) ciągle czułem, że intuicja lekko wyprzedza moje formalne "osiągnięcia" i że ciągle nie byłem w stanie znaleźć dobrego formalnego sposobu na opisanie tej intuicji.

Na marginesie, jest to zaskakująco humanistyczne wrażenie, a - paradoksalnie - dotyczy formalnego opisu zjawiska w najbardziej ścisłej z nauk, matematyce. Wrażenie, że nie mogło się znaleźć dobrego sposobu na opisanie do końca tego, co się czuje.

A taki był od zawsze kierunek moich badań - od początku czułem, że funkcja VMPC jest jednokierunkowa, już w 1998 roku, gdy ją odkryłem. Ale wtedy nie wiedziałem, dlaczego tak jest. Jednak wiedziałem (ale skąd???), że tak jest. Najpierw upraszczałem jej definicję, aby znaleźć pierwotne źródło jej jednokierunkowości (jeszcze na poziomie logiczno-intuicyjnym, nie formalno-matematycznym, do jakiego dążę obecnie) i okazało się nim być dodanie liczby 1 w złożeniu permutacji f(f(f(x))+1). A potem (i ten etap wciąż trwa od ponad 10 lat) szukałem właściwego sposobu na zapisanie tej intuicji przy pomocy formalnego języka matematyki. Tak, aby intuicja ta była zrozumiała dla innych i mogła zostać uznana za formalny dowód faktu, że VMPC jest funkcją jednokierunkową, co z kolei (przypadkiem, ja tego nie planowałem!) implikuje, że P ≠ NP.

Dzisiejszy wpis jest nieco bardziej luźny, filozoficzny niż zwykle, chyba dlatego, że piszę go częściowo także w ramach odpoczynku, odreagowania, zebrania sił do dalszej pracy. Tymczasem, po napisaniu powyższych słów wracam do hipnotycznego zachwytu muzyką Tangerine Dream, będącego niejako naturalnym krokiem dalszych poszukiwań po pochłonięciu całej dyskografii Klausa Schulze. A potem wracam do walki o ukończenie pracy. I do następnego wpisu. Życzę wszystkim zdrowia i wytrwałości w walce z wirusem.




15.10.2020. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#151020

Za mną mały maraton pracy na maksymalnych obrotach. Podobno mózg podczas intensywnej pracy zużywa dużo energii. Nie wiem, czy to z tego powodu, ale pod koniec jednego dnia intensywnej pracy zrobiło mi się gorąco i musiałem otworzyć okno. Tego dnia prawie wcale się nie ruszałem, tylko cały dzień pracowałem nad rozkładami prawdopodobieństwa. Spojrzałem na termometr. Ten wskazywał "upalne" 16,7 stopnia. Ubrany byłem domowo, a na dworze było około 10 stopni :-)

Jeszcze jedna informacja poza głównym tematem. Moja Toyotka (Corolla z 1990 roku) przeszła przegląd techniczny bez żadnych zastrzeżeń. Ani stan techniczny (sprawdzony bardzo skrupulatnie) ani blacharski nie wzbudził zastrzeżeń. Na koniec diagnosta pochwalił, że auto jest zadbane. To dla mnie ulga po ostatniej akcji renowacji blacharki. Przy tej okazji przytoczę słowa, których często używałem w odpowiedzi na pytanie, czemu nie kupię nowszego auta. Nie sztuka kupić nowe. Sztuka utrzymać stare.

Tymczasem na głównym froncie zakończyłem właśnie zapowiedzianą wcześniej pracę nad 12 zjawiskami. Konkretnie jest to 12 rozkładów prawdopodobieństwa, które musiałem ustalić.

Choć nie było to konieczne, to na wszelki wypadek zweryfikowałem uzyskane rozkłady także w symulacjach komputerowych. Napisanie i wykonanie symulacji zajęło 2 dni, ale to dlatego, że chciałem wykonać całą symulację "leniwie", czyli żeby wszystko (43 prawdopodobieństwa dla wszystkich N^2 par argument-wartość różnych złożeń permutacji) policzyło się automatycznie wraz z interpretacją statystyczną.

Opracowanie powyższych 12 rozkładów było naturalnym kolejnym krokiem po przejściu z liniowej na klasyczną wersję języka VMPC. Dobra passa po tej decyzji (o przejściu) trwa i mam nadzieję, że utrzyma się do samego końca.

Przede mną zastosowanie powyższych rozkładów w dalszej części pracy. Koniec teraz wydaje się być onieśmielająco blisko, ale dlatego właśnie wolę o tym za dużo nie pisać, aby nie zapeszać. Zwłaszcza, że doświadczenie uczy mnie, że zawsze wychodzą jakieś formalne komplikacje i zapisanie czegoś, co jest proste, może się rozrosnąć do złożonego formalnego wyzwania. Ale i z każdym wykonanym krokiem ryzyko wystąpienia kolejnych komplikacji maleje.




18.09.2020. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#180920

W ostatnim miesiącu porządkowałem formalny grunt pod zapis twierdzeń o funkcji malejącej i o nieoznaczoności. Jak zwykle, zadanie początkowo wydawało się względnie przyjazne, ale okazało się bardzo mozolne. Za mną porządkowanie 3 elementów - jeden dotyczył sformułowania nowych odpowiedników tzw. "trzech lematów", drugi znalezienia optymalnego formalnego zapisu pod kątem twierdzenia o nieoznaczoności, a trzeci znalezienia optymalnego formalnego zapisu pod kątem twierdzenia o funkcji malejącej i zadbanie, aby wszystkie 3 elementy ze sobą współgrały.

Dość twórcze to zadanie, ale i przez to czasochłonne. I mocno eksploatujące. Dla ilustracji zamieszczam zdjęcie w trakcie porządkowania ostatniego elementu. Tu w trakcie "burzy mózgu":

A tu ta sama treść, ale już po uporządkowaniu:

Porządkowanie oznacza tu znalezienie najlepszego sposobu na formalne zapisanie zjawiska. Tak, aby było możliwie prosto i przejrzyście.

Pocieszeniem pozostaje to, że z efektów końcowych jestem zadowolony. Przede mną wykorzystanie ich do opisania 12 zjawisk powiązanych ze wspomnianymi na wstępie twierdzeniami.

Powyższy przykład zamieściłem też jako kolejne potwierdzenie moich obserwacji, że matematyka ma dużo wspólnego z porządkowaniem. W tego typu zadaniach, gdzie trzeba znaleźć dobry formalny sposób do zapisania danej myśli, po prostu porządkujemy fakty, a przyjęte formalne struktury służące do ich opisania (np. zmienne, zbiory, funkcje) są jak szuflady czy szafki podczas porządków w domu.

Tyle nowości i dygresji. Poza głównym tematem, brakuje mi odpoczynku, ale za każdym razem, gdy próbuję odpoczywać, mam wyrzuty sumienia, że nie pracuję nad funkcją. W efekcie, jeśli odpoczywam, to może dzień, dwa, pomiędzy intensywnymi etapami pracy. W tym obszarze w ostatnim czasie znowu wykorzystałem powiedzenie, że zmiana jest równie dobra jak odpoczynek. W ramach relaksu niespiesznym tempem, porcjami po maksymalnie parę godzin raz na kilka dni, w ciągu całych wakacji udało mi się zregenerować progi i podwozie w mojej poczciwej 30-letniej Toyotce Corolli. Uznałem to za substytut wakacyjnego wyjazdu. Świetna atrakcja :-)

Wszystko wykonałem własnoręcznie, głównie przy pomocy żywicy poliestrowej i włókna szklanego. Dodam, że kiedyś wymieniano mi progi w tym aucie "profesjonalnie", czyli u blacharza, wstawiając nowe elementy. Ale 4 lata później rdza powróciła i zjadła na wylot "profesjonalnie" zrobione progi. Teraz, gdy są zrobione "amatorsko" żywicą, są wiecznie odporne na korozję. Z tego mam satysfakcję. Jednocześnie musiałem to zrobić, bo nie stać mnie na zakup nowego auta, a niedługo Toyotka ma przegląd techniczny, którego bez naprawy progów by nie przeszła. Teraz auto jest już w pełni zregenerowane i obecnie mam na głowie wyłącznie funkcję. To dobrze i niedobrze, bo czasami potrzebuję jakiegoś manualnego zajęcia dla oderwania się i odświeżenia głowy. Wtedy lepiej mi się twórczo myśli nad funkcją. Ale cóż, jak będzie potrzeba, na pewno coś się znajdzie. Na razie jestem podekscytowany tym, jak bardzo udało mi się uporządkować obecne konstrukcje formalne i już nie mogę się doczekać wykorzystania ich w kolejnym etapie pracy.




19.08.2020. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#190820

Wygląda, że przejście z liniowej na klasyczną wersję języka VMPC było "strzałem w dziesiątkę". Obecnie jestem już dalej niż byłem, mocując się z liniową wersją języka.

Aby przygotować klasyczną wersję języka do zapisania dwóch twierdzeń, o których w ostatnich wpisach jest często mowa, musiałem wyprowadzić z tego języka (ów "język" to po prostu zestaw formalnych matematycznych definicji, opisujących funkcję VMPC) i udowodnić szereg szczegółowych faktów. Bardzo ciekawie się złożyło, że na drodze do ich wyprowadzenia sięgnąłem do formalnych konstrukcji, które skomponowałem w 2016 roku (4 lata temu) i ku mojemu zaskoczeniu (jakby nie patrzeć dzieli te elementy 4 lata), bardzo dobrze się tu wpasowały!

Co mnie jeszcze bardziej zaskoczyło, okazało się, że po prostych przekształceniach - łączących klasyczny język VMPC z konstrukcjami z 2016 roku - uzyskałem wynik zbieżny z finalnymi wnioskami liniowego języka VMPC (tego, od którego właśnie postanowiłem odejść, a który jednak wcześniej wydawał się właściwy).

Co to oznacza bardziej po ludzku? Łącząc najnowsze wyniki z tymi sprzed 4 lat, uzyskałem to, co wydawało mi się najwłaściwsze (liniowa wersja języka), ale uzyskałem to od innej, znacznie bardziej praktycznej strony, która otwiera mi szeroko formalną drogę do zapisania ostatnich dwóch brakujących elementów.

Po wstępnym zapisie na brudno wygląda, że dwa brakujące elementy, z których zapisaniem walczę od wielu miesięcy, czyli twierdzenie o nieoznaczoności oraz twierdzenie o funkcji malejącej, wychodzą z nowej formalnej konstrukcji niemal same, automatycznie.

Jakby tego było mało, uzyskane wyniki zaskakująco celnie korespondują z wynikami z 2017 roku, a te z kolei są źródłem (ale nie są dokładnie tym samym) twierdzenia o nieoznaczoności. 3 lata temu do wyników tych odnosiłem się tu na blogu jako "kartka 36". Mówiąc krótko, wstępnie wygląda na to, że omawiana tu najnowsza formalna konstrukcja także obejmuje ową "kartkę 36", z tym, że dodatkowo ją rozwija i doprecyzowuje.

Na deser, opisana powyżej konstrukcja jest zaskakująco bliska intuicji, a więc pewnym szczególnym intuicyjnym (choć stosunkowo ścisłym) obserwacjom, które od razu i bardzo przekonująco mówią, że funkcja VMPC JEST jednokierunkowa (intuicja to nie dowód matematyczny, a nad połączeniem tej właśnie intuicji z formalnym językiem matematyki pracuję od ostatnich 16 lat, czyli od opublikowania funkcji VMPC w 2004 roku).

Syntezując powyższe słowa, obecnie czuję, iż wreszcie trafiłem na właściwy sposób formalnego opisu dwóch brakujących elementów na drodze do udowodnienia, że VMPC jest funkcją jednokierunkową, z czego wynika bezpośrednio, że P ≠ NP.

Aby uspokoić ewentualną nadmierną euforię (także u siebie), podkreślam, że tak się czuję przed zapisaniem powyższych wyników na czysto. Dotychczas praktycznie zawsze podczas zapisywania na czysto kolejnych etapów powstawały formalne komplikacje (jak dany fakt formalnie zapisać), które wydłużały pracę. Praca zawsze zmierzała we właściwym kierunku, ale bardzo rzadko najkrótszą drogą. Taki urok pracy naukowej. Błądzenie to może 90% albo więcej czasu pracy. Ile dokładnie? Tego nie wiem, choć mam szalony pomysł, jak można to zmierzyć, jednak o tym może kiedyś, jak praca będzie już faktycznie ukończona.




29.07.2020. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#290720

Kolejny etap budowania formalnego gruntu pod zapisanie dowodu twierdzenia o funkcji malejącej i twierdzenia o nieoznaczoności wykonany. Tym razem przyniósł ciekawe skutki. Drobnym szczegółem była konieczność małej formalnej zmiany sformułowania dowodu twierdzenia o równowadze (stary już dobrze ugruntowany element pracy). Trzeba było jeden element dowodu wyodrębnić jako osobny fakt (tu - lemat), gdyż zaszła konieczność, aby tego faktu użyć w dwóch miejscach (do opisania liczności zbiorów S oraz A), a nie tylko w jednym (S), jak było wcześniej. To jednak był tylko formalny drobiazg, jest już sfinalizowany na czysto w pracy.

Dużo ciekawsze rzeczy działy się na froncie głównym. Po zebraniu formalnych struktur, które są potrzebne do zapisania dowodu twierdzenia o funkcji malejącej oraz dowodu twierdzenia o nieoznaczoności, okazało się, że w tym właśnie miejscu łączą się praktycznie wszystkie kluczowe elementy pracy. Styka się tu język VMPC z jego głównym wnioskiem w postaci twierdzenia o równowadze, model prawdopodobieństwa warunkowego oraz 3 lematy, stanowiące "uliniowienie" języka VMPC.

Chwilę czasu zajęło mi oswojenie się z tym, że wszystkie elementy, nad którymi wcześniej pracowałem, wreszcie spotykają się w jednym miejscu i trzeba je harmonijnie połączyć. Można powiedzieć, że owe dwa twierdzenia - o funkcji malejącej i o nieoznaczoności - spajają pozostałe elementy składowe pracy w całość. W wyniku tego połączenia pojawiły się dwa ciekawe wnioski.

Po pierwsze, okazało się, że dużo lepiej będzie zapisać dowody wspomnianych dwóch twierdzeń nie przy pomocy uliniowionej wersji języka VMPC, a przy pomocy jego klasycznej, podstawowej wersji (obie wersje są równoważne logicznie, ale od strony formalnej są mocno odmienne). Dlaczego jest to ciekawe (dla mnie przynajmniej)? Uliniowioną wersję języka VMPC od dawna uważałem za "najnowsze osiągnięcie", miała potwierdzoną skuteczność - została z sukcesem użyta do wyprowadzenia dużego wzoru na prawdopodobieństwo (z początku 2019, gdzie jeden z Czytelników przesłał mi świetne uproszczenie finalnej postaci wzoru). Klasyczna wersja języka VMPC nie dawała możliwości wyprowadzenia tamtego wzoru.

Stąd wyrobiło mi się stanowisko (usztywnienie myślenia), że w dalszej części pracy tylko ta nowsza, lepsza, uliniowiona postać języka VMPC będzie stosowana, a wersja podstawowa była potrzebna tylko po to, aby wersję liniową było z czego wyprowadzić. Z takim podejściem przystąpiłem do "synchronizacji" wszystkich elementów pracy podczas formalizowania dowodu twierdzenia o funkcji malejącej i twierdzenia o nieoznaczoności. Tak było dwa-trzy tygodnie temu.

Podczas uwzględniania kolejnych elementów składowych, co raz napotykałem się jednak na kłopoty formalne. Nie fundamentalne (że czegoś nie da się zapisać przy pomocy przyjętych struktur formalnych), ale techniczne, że zapis byłby możliwy, ale były bardzo nieelegancki, "dookoła", nieprzejrzysty i trudny do zrozumienia na poziomie intuicji / wyobraźni. Nie spodobało mi się to tyle, że wszystkie wcześniejsze elementy zawsze ładnie zgrywały się na poziomie intuicyjnym - łatwo było wyobrazić sobie dowodzone fakty. Nie chciałem w finalnym elemencie rezygnować z tego.

Drążyłem więc temat, drążyłem i drążyłem, aż przez kilka dni z rzędu wyłącznie siedziałem nad funkcją od rana do nocy, robiąc przerwy tylko na jedzenie. Analizując krok po kroku poszczególne formalne elementy, z których nie byłem zadowolony, coraz częściej zaczynał mi się pojawiać wniosek, że przy klasycznej (nieuliniowionej) wersji języka VMPC problem by w ogóle nie wystąpił. Na początku bardzo trudno mi było zaakceptować tę myśl, bo wcześniej uliinowiona wersja języka wykazała swoją wyższość. Jednak znajdowałem kolejne i kolejne elementy, które przy pomocy klasycznej wersji języka można zapisać wprost i intuicyjnie, a przy pomocy języka uliniowionego, powstają tylko dodatkowe komplikacje, a nie ma żadnych korzyści.

Spisałem wszystkie te elementy, gdzie język uliniowiony przegrywał, na kartce i wyszło ich tak dużo, że potrzebne były... dwie kartki. Znalazłem 10 argumentów za tym, że klasyczna wersja języka VMPC w tym przypadku sprawdzi się lepiej niż "nowsza, lepsza" wersja uliniowiona. Po tym wreszcie podjąłem decyzję (było to wczoraj), że do zapisu dowodu twierdzenia o funkcji malejącej i twierdzenia o nieoznaczoności zostanie użyta jednak klasyczna postać języka VMPC. Obecnie jestem na etapie oswajania się z tą decyzją. Na razie czuję się z nią bardzo dobrze i czuję ulgę.

Nauczka dla mnie, że trzeba unikać usztywnienia myślenia i warto podważać / powtórnie weryfikować wszystkie ustalenia, nawet te, które wcześniej dobrze ugruntowały swoją pozycję, szczególnie, jeśli są używane w nowych sytuacjach. To, że w wielu elementach się sprawdziły, nie daje przecież gwarancji, że w innych także okażą się najlepsze.

Ta zmiana pochłonęła trochę czasu, ale nie bardzo widzę, jak mogłem tego uniknąć. Szczególnie, że we wcześniejszych elementach uliniowiona wersja języka faktycznie sprawdzała się lepiej (a w niektórych jako jedyna działała).

Tą burzliwą drogą doszedłem do drugiego ciekawego wniosku, o którym na wstępie wspomniałem. Ten jednak jest zdecydowanie bardziej budujący. Okazało się, że najprawdopodobniej użycie klasycznej wersji języka pozwoli niemal zintegrować dowody obu twierdzeń (o funkcji malejącej i o nieoznaczoności) w jedno rozumowanie. Mówiąc obrazowo, prawdopodobnie, zamiast dwóch elementów, pozostał mi do wykonania tylko jeden, mający dwa elementy składowe, ale płynnie łączące się ze sobą. Przy zastosowaniu uliniowionej wersji języka, połączenie to nie było widoczne.

Generalnie jestem z obrotu sytuacji bardzo zadowolony i intuicyjnie czuję się nieco "wyzwolony", że miałem siłę podważyć wcześniejsze sztywne stanowisko, że liniowa postać języka lepiej się sprawdzi, że nie brnąłem w nią na siłę. Choć udałoby się przy jej pomocy zapiać wszystko, to nie byłbym z efektu końcowego zadowolony i byłby on mało klarowny dla czytelnika.

Przede mną zapis obu twierdzeń przy pomocy klasycznej wersji języka VMPC. Po zakończeniu tego etapu praca będzie już formalnie zapisana do samego końca. Potem pozostanie tylko uzupełnienie jej o kilka dodatkowych elementów (raczej nie niosących już ryzyka komplikacji) oraz uporządkowanie treści pracy, aby nadawała się ona do czytania.




09.07.2020. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#090720

Pierwsze (z ostatnich...) koty za płoty. Pierwszy element na drodze do zapisania dowodu twierdzenia o funkcji malejącej wykonany - zapis na czysto relacji pomiędzy zbiorami V, Y, K. Dokładniej, w jakich sytuacjach zbiory te mają, a w jakich nie mają części wspólnej. Choć ta informacja w tym momencie nikomu niczego nie mówi, tylko mi, to miałem potrzebę ją zapisać. Był to wstępny krok, porządkujący (już na czysto w oficjalnej wersji pracy) formalny "grunt" pod zapisanie dowodu twierdzenia o funkcji malejącej.

Szkic formalnego zapisu dowodu tego twierdzenia też jest już gotowy. W tym momencie ma on zaskakująco prostą postać.

Pewne jest to, że koniec pracy jest już merytorycznie na wyciągnięcie ręki. Zostały do wykonania dwa elementy - zapisanie dowodu tegoż twierdzenia o funkcji malejącej oraz zapisanie dowodu twierdzenia o nieoznaczoności. Oba te elementy są bardzo mocno "dojrzałe" (dopracowywałem je na brudno i w głowie przez bardzo długi czas) i mam nadzieję, że uda się ukończyć ich formalny zapis bez większych formalnych komplikacji. Dodam, że pierwszy pomysł twierdzenia o funkcji malejącej pojawił się w roku 2015, a twierdzenia o nieoznaczoności w 2017.

W ostatnim czasie miałem na drodze sporo czynników zakłócających, które utrudniały mi pełną koncentrację na pracy. Związane były one z "normalnymi" aspektami życia. A to musiałem stać się hydraulikiem, bo w domu, gdzie wynajmuję lokum, pękła rura doprowadzająca wodę (przed głównym zaworem, więc nie dało się jej zakręcić). Wyciek był na tyle mały, że udało mi się go własnoręcznie zatamować i naprawić. Polecam opaskę zaciskową z uszczelką gumową, a na to bandaż z włókna szklanego nasączony żywicą poliuretanową. Kombinacja działa świetnie, ale zanim ją znalazłem, trochę musiałem poeksperymentować.

Jako ciekawostkę dodam, że na trop tej pękniętej rury doprowadził mnie przykry zapach, który niedawno się w garażu pojawił. Po małym dochodzeniu znalazłem jego źródło - spoczywającą niedaleko pękniętej rury... zdechłą mysz.

Oprócz dwóch dalszych komplikacji życiowo-logistycznych, z których ostatnią właśnie dziś udało mi się pozytywnie rozwiązać, dodatkowe zajęcie mam z moją nieśmiertelną Toyotką, która w październiku ma przegląd i muszę ją trochę podreperować od spodu, bo w obecnym stanie przeglądu już by nie przeszła. Zdjęcie poglądowe progów:

Wszystkie te przyziemne problemy, choć zabierają mój czas, to stymulują mój umysł i podświadomie czuję, że są mi potrzebne. W każdym szukam sam kreatywnego rozwiązania. Zamiast zadzwonić po hydraulika lub oddać auto do blacharza. I zwykle po wykonaniu takiego przyziemnego zadania, koniecznie własną twórczą metodą, wpadają mi nowe pomysły, jak wykonać kolejne kroki w zapisywaniu dowodu. To może się niektórym wydać dziwne / śmieszne, ale u mnie działa to bardzo skutecznie i wierzę, że jest choć kilka osób, które mają podobne doświadczenia i wiedzą, o czym mówię.

Na chwilę obecną wszystkie przyziemne problemy mam rozwiązane. Rurę muszę tylko pomalować, a podwozie Toyotki ukończyć wg opracowanych już metod, więc nie będą mnie już stresować (że muszę szukać rozwiązania), a tylko dostarczą rozrywki, że muszę zrobić coś manualnego, co wiem, jak zrobić.

Mam nadzieję, że tych manualnych zajęć wystarczy mi do czasu, aż skończę zapisywać na czysto dowód jednokierunkowości funkcji VMPC. Zostało tych manualnych czynności niewiele. Mam nadzieję, że nie będę musiał wyszukiwać kolejnych... Zobaczymy. Na razie wszystko idzie dobrze, swoim naturalnym tempem, do właściwego celu.




22.06.2020. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#220620

Wreszcie zdecydowałem, w jaki sposób przeprowadzić dowód twierdzenia o funkcji malejącej. Ta paradoksalnie prosta decyzja zajęła mi bardzo dużo czasu i analiz i dopiero dziś uświadomiłem sobie, jaka ta droga była złożona i długa. Dziś zebrałem wszystkie etapy tej analizy w myślach, a potem zapisałem roboczo w pliku tekstowym z intencją, aby opublikować to tu na blogu. Po zapisaniu tego własnym żargonem, okazało się, że zajęło to pół ekranu tekstu. Przeredagowanie tego do języka popularnonaukowego, jakim staram się posługiwać tu na blogu, przerosło moje siły.

Ograniczę się więc tylko do podzielenia się finalnymi wnioskami, które z tego procesu sam dla siebie wyciągnąłem. Że jeśli intuicja mówi, żeby zrobić sobie przerwę i zdystansować się, to warto tak zrobić (to dotyczy mojej pracy nad aplikacją VMPC Secret Book w niedawnych miesiącach), że nie warto się spieszyć, że warto rewidować wcześniejsze ustalenia, szczególnie te, mówiące, że czegoś nie da się zrobić, i że warto zgłębiać wszystkie dygresje i poboczne pomysły, które intuicja podpowiada, bo ich wyniki mogą się przydać w przyszłości. I warto cierpliwie czekać (czytaj - pracować) tak długo, aż intuicja wreszcie da głębokie i napawające spokojem przekonanie, że wszystko jest tak, jak ma być.

W moim przypadku te wszystkie elementy pozwoliły mi wreszcie ułożyć wyniki dotyczące dowodu twierdzenia o funkcji malejącej w spójną i prostą całość, która harmonizuje z pozostałymi elementami pracy. Jest to - choć nic dla nikogo to nie znaczy, bo to mój wewnętrzny żargon - dowód przez przepełnienie od strony negatywnej.

Paradoksalne i nieco niewdzięczne jest to, że czytelnik, analizując zapis tego dowodu w pracy, najprawdopodobniej odniesie wrażenie "no tak, to jest proste i dość oczywiste". Bo takie jest. Ale jednocześnie droga, aby takie się stało, była tak długa i męcząca. Ponieważ w pracy trudów tej drogi nie będzie widać, musiałem to sobie na pamiątkę zapisać w owym pliku tekstowym, a tu na blogu podzielić się tym.

Przede mną formalny zapis dowodu twierdzenia o funkcji malejącej wybranym powyżej sposobem.




06.06.2020. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#060620

Dziękuję osobom, które przesłały mi inspirujące komentarze. W ostatnim czasie udało mi się wykonać dwa istotne kroki. Pierwszym było... Proszę bez nadmiernego entuzjazmu, bo sama obecność na mecie nie musi jeszcze oznaczać, że pokonało się wszystkie etapy do niej prowadzące.

Pierwszym z tych kroków było zapisanie dowodu formalnie do samego końca. Praca jest już na tyle kompletna formalnie, że wreszcie było to możliwe. Jednak nie oznacza to jeszcze, że praca jest już ukończona. Do uzupełnienia pozostaje jeszcze kilka elementów po drodze.

Celem tego "skoku na finisz" było upewnienie się, czy formalne struktury skomponowane do opisu funkcji VMPC pozwalają zapisać dowód do samego końca. Poszło zaskakująco gładko i pracę udaje się spójnie zamknąć ostatecznym wnioskiem, że funkcja jest jednokierunkowa i P ≠ NP.

Wcześniej wielokroć było tak, że przyjęte formalne struktury musiałem modyfikować, aby możliwe było kontynuowanie zapisywania rozumowania. Tak było choćby z "językiem VMPC", który przechodził ewolucję przez kilka lat. Tylko formalną ewolucję, bowiem od samego początku (2016) opisywał i dziś opisuje dokładnie to samo zjawisko.

Elementem "po drodze", który wciąż pozostał do formalnego zapisania jest dowód "twierdzenia o funkcji malejącej", o którym wielokroć wspominałem i który stanowi jeden z centralnych elementów pracy.

Tu miał miejsce drugi ze wspomnianych kroków. Po powrocie do funkcji po małej przerwie około lutego-marca 2020, kiedy nadrabiałem prace nad aplikacją VMPC Secret Book, znalazłem sposób na znacznie prostsze zapisanie dowodu tego twierdzenia. Konkretniej, w październiku 2019 strategia dowiedzenia tego twierdzenia, która wydała mi się najbardziej naturalna, nie sprawdziła się i poszedłem inną drogą. Ta inna droga, choć dawała oczekiwane wyniki, to jednak mniej mi się podobała. Chyba podświadomie nie dokończyłem tej drogi w lutym 2020, gdyż intuicyjnie czułem, że warto wrócić do tego jeszcze po przerwie. I teraz, po powrocie, jednak udało mi się znaleźć sposób, jak pokonać przeszkodę, którą napotkałem wtedy w 2019. Tym samym dowód "twierdzenia o funkcji malejącej" będzie zapisany wg tej pierwotnej, bardziej intuicyjnej i znacznie prostszej koncepcji.

To kolejny przykład, że metoda dystansowania się i wracania do problematycznych elementów bardzo dobrze mi się sprawdza i to praktycznie przez cały czas pisania pracy. Zajmuje dużo czasu, ale daje dobre wyniki. Choć jest trudna psychicznie, gdyż pokusa jest duża, aby dokończyć opracowywany element od razu i przejść dalej, a nie zostawiać go rozgrzebanego, aby wrócić do niego nieco później. Jednak to właśnie to drugie podejście, przynajmniej u mnie, zawsze dawało lepsze wyniki w długim okresie. Dlatego tak bardzo nie lubię wszelkich terminów w pracy naukowej - one bowiem stoją w sprzeczności z tą metodą. To znów odwołanie do tego, co mówiłem podczas mojego wystąpienia na TEDx w 2015, że czas rozwiązuje problemy (time solves problems).

Co więcej, jakieś 2 tygodnie temu wpadł mi do głowy jeszcze jeden pomysł dotyczący szczegółów realizacji dowodu "twierdzenia o funkcji malejącej". Jest on o tyle ciekawy, że na pierwszy rzut oka wydaje się niezbyt elegancki, ale okazuje się, że kosztem (pozornego?) ubytku elegancji, wprowadzając większe uogólnienie, pozwala zaskakująco "przemknąć" się nad kilkoma formalnymi szczegółami, które jeszcze muszę uwzględnić w pracy. Mówiąc koncepcyjnie, ten podwyższony poziom uogólnienia absorbuje owe formalne szczegóły tak, że nie trzeba ich będzie w ogóle opisywać. Jeśli to się potwierdzi, byłby to mały bonus i zaoszczędzi mi trochę pracy.

Na deser wygląda na to, że opisywany wielokroć wcześniej element, "twierdzenie o nieoznaczoności" (kiedyś na blogu odwoływane jako "kartka 36"), co wierniejsi czytelnicy bloga mogą taki obiekt kojarzyć, będzie znacznie łatwiejsze do formalnego opisania. Możliwe to będzie dzięki temu, że obecny model "prawdopodobieństwa warunkowego" (wpis z 08.04.2020) w zaskakujący sposób pochłania "twierdzenie o nieoznaczoności", które teraz zostanie wyrażone niemal automatycznie przy pomocy obecnego modelu "prawdopodobieństwa warunkowego".

Jest to kolejne ciekawe połączenie przeszłości z teraźniejszością. Stosując obecne formalne struktury, mogę opisać wyniki z 2017 w znacznie prostszy sposób niż mogłem to zrobić w 2017.

Obecnie pozostało mi dokończyć formalne zapisy dwóch elementów, czyli dowodu "twierdzenia o funkcji malejącej" oraz "twierdzenia o nieoznaczoności". Po tym pozostanie tylko dopisanie kilku drobnych (już bezproblemowych, także formalnie, elementów) oraz finalne szlifowanie pracy.

Dotychczas zawsze wszystko zajmowało więcej czasu niż pierwotnie przewidywałem, więc teraz nie chcę deklarować żadnego terminu ukończenia przed osiągnięciem faktycznego końca. Optymistyczne jest to, że teraz wszystko zaczyna się spójnie układać w całość, a odległe elementy zaczynają się łączyć ze sobą tak harmonijnie, że sam jestem tym zaskoczony.




19.04.2020. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#190420

Spontanicznie - nie mogłem się powstrzymać przed skomentowaniem na gorąco nowych wyników. Wygląda, że strategia budowania dystansu (o której wspomniałem w poprzednim wpisie z nieco ponad tygodnia) dalej sieje pozytywnymi skutkami.

Otóż formalny zapis 3 lematów (o których pisałem 03.01.2020 i które stanowią jeden z centralnych elementów pracy) udało mi się teraz po świeżym spojrzeniu jeszcze znacznie uprościć! Poprzednia wersja ze stycznia 2020 w stanie nowego roboczego "rozgrzebania":

Nowa wersja uporządkowana, najprawdopodobniej już oficjalna wersja do publikacji:

Uproszczenie odbyło się aż na trzech płaszczyznach. Jestem tym wynikiem tak podekscytowany, że musiałem o tym napisać.

1. Poprzednia wersja zawierała dwie postaci każdego lematu - jedną postać "nadmiernie ogólną", z której dopiero wyprowadzana była postać "właściwa", nieco bardziej szczegółowa, ale i bardziej złożona, użyta w dalszej części pracy. Niby elegancko, od ogółu do szczegółu, ale jednocześnie uzyskana tu postać "właściwa" posiada ten odpowiedni poziom ogólności, a postać "nadmierna ogólna" tak naprawdę sama w sobie nie ma żadnej wartości i służyła tylko jako krok pośredni do wyprowadzenia postaci "właściwej". Teraz udało się wyprowadzić postać "właściwą" bezpośrednio. Tym samym dowód każdego lematu skrócił się o mniej więcej połowę i tyleż samo zyskał na (subiektywnie pojętej) przejrzystości.

2. Jeden z 3 lematów przed zastosowaniem w dalszej części pracy wymagał wyprowadzenia jeszcze pewnego wynikającego z niego wniosku (corollary). Teraz wplotłem ten wniosek od razu w postać samego lematu i to - dzięki zmianom opisanym w punkcie 1 powyżej - prawie bez komplikowania postaci samego lematu. Dodatkowo wszystkie 3 lematy dzięki temu zabiegowi zyskały na (subiektywnie pojętej) wzajemnej spójności.

3. Ostatnia zmiana była tą, która zainspirowała mnie do napisania o tym. Jeden z elementów (obecny w każdym z 3 lematów) rozbudowałem tak, aby zawierał bezpośrednie formalne nawiązanie do "języka VMPC" (opisywanego tu wielokrotnie). Wcześniej nawiązania nie było, aby już dodatkowo nie komplikować postaci tych lematów i czytelnik miał to nawiązanie sam zauważyć. Jednocześnie nawiązanie jest dość odległe i wielu czytelnikom mogłoby, przynajmniej na pierwszy "rzut oka", umknąć.

Po uproszczeniu lematów zrobiło się trochę "miejsca" na dodatkowe komplikacje, więc postanowiłem dopisać to nawiązanie. Gdy się za to zabierałem, bałem się, że wyjdzie z tego formalny potworek, właśnie ze względu na "odległość" skojarzenia i w efekcie więcej powstanie zamieszania niż jasności i że lepiej będzie pozostawić to czytelnikowi do samodzielnego wydedukowania. Ale spróbowałem, z myślą, że najwyżej potem usunę to, jeśli wyjdzie za bardzo zagmatwane.

Gdy to opisałem, aż otworzyłem usta z zaskoczenia, jak pięknie i spójnie elementy się połączyły ze sobą! Niemal "poetycko"! W jedno zdanie zapisane w języku ludzkim (tu - angielskim) formalne definicje z "języka VMPC" wplotły się tak naturalnie i płynnie, że aż mnie to zachwyciło. Po prostu pięknie pasowało do siebie, może jak złożona figura idealnie wpasowuje się do mozolnie wyrzeźbionego otworu o tym samym kształcie? Jednocześnie dopracowując te elementy ("język VMPC" i "3 lematy") nigdy nie myślałem o tym, aby się ładnie łączyły. Samo tak wyszło!

Tak, teraz nieelegancko chwalę siebie (choć może bardziej chwalę kompatybilność formalnych zapisów, które mój mózg z trudem wygenerował po długiej pracy), ale jednocześnie jest mi to psychicznie potrzebne, aby utrzymać siły. Niestety, pisząc pracę samodzielnie, nie mam innego wyjścia. Jednocześnie możliwość podzielenia się tym tu na blogu dodatkowo mi pomaga. Dziękuję więc także wszystkim, którzy go czytają.




08.04.2020. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#080420

W ramach budowania dystansu, postanowiłem wykonać kilka towarzyszących zadań dotyczących nowego programu do szyfrowania VMPC Secret Book. W efekcie cała infrastruktura nowego programu jest już gotowa - "kompilator" przygotowujący indywidualne licencje i instalatory oraz mini-baza danych, którą napisałem od zera, nie korzystając z gotowych silników, co wymagało trochę pracy, ale za to baza jest idealnie zintegrowana z resztą.

Na deser tych intelektualnych "wakacji", jako element niezbędny przy przeszukiwaniu owej bazy danych, napisałem w assemblerze algorytm wyszukiwania tekstów z ignorowaniem wielkości znaków. Wprawdzie nie musiałem tego robić, bo środowisko programowania dostarcza takie rozwiązanie systemowo, ale okazało się, że moja procedura działa 12-krotnie szybciej niż rozwiązanie systemowe.

Co mnie zdziwiło, cały algorytm w assemblerze (44 linie kodu):

zapisałem jednym ciągiem (z jedną kompilacją na końcu) i po przetestowaniu okazało się, że od razu działał prawidłowo. Nigdy wcześniej mi się coś takiego nie zdarzyło - zwykle musiałem długo dopracowywać procedury napisane w assemblerze, zanim zaczęły prawidłowo działać.

Dla osób niezagłębionych w temat - kod w assemblerze jest ekstremalnie nieczytelny, gdyż jest tylko ciągiem elementarnych instrukcji procesora, w których nie widać żadnej logiki. Dopiero śledząc kolejność wykonywania tych instrukcji i skoków pomiędzy nimi, można "rozszyfrować" (bardziej niż odczytać), jakie logiczne zadanie realizują. Stąd w assemblerze dużo łatwiej popełnić błąd niż w językach wysokiego poziomu typu C czy Java (wielu powie, że C jest językiem niskiego poziomu, choć dla mnie niskopoziomowy jest dopiero assembler).

Niektórzy mogą się zastanawiać, dlaczego tyle energii poświęciłem na zadania niezwiązane bezpośrednio z funkcją VMPC... Otóż był to celowy zabieg, który miał mi dać dodatkowy dystans do ostatnich wyników w pracy nad funkcją, a jednocześnie stymulować mózg do utrzymania lub poprawienia formy. Jednocześnie intuicyjnie czułem, że jest mi to potrzebne.

Gdy się myśli non-stop o jednym problemie, mózg zaczyna wpadać w schematy i traci część zdolności twórczych, a tu konkretnie - zdolności krytycznej oceny, czy czegoś nie da się zrobić prościej. Do samej funkcji intensywnie wróciłem już kilka dni temu i z radością poczułem, że etap budowania dystansu zadziałał tak, jak chciałem, a nawet może lepiej.

Jednym z kluczowych elementów pracy jest ten, który tu nazywam "funkcją malejącą". Zaaplikowanie go do dowodu jednokierunkowości funkcji VMPC wymaga sformalizowania pewnego modelu "prawdopodobieństwa warunkowego". Model ten był już gotowy w lutym, ale nie byłem z niego zadowolony. Czułem, że da się go zapisać prościej, ale wtedy nie umiałem wymyślić, jak.

Dzień po zabraniu się za ten problem - po "zabawie" w bazy danych i assembler - zauważyłem fundamentalne uproszczenie, które redukuje stopień jego formalnej komplikacji kilkukrotnie.

I mam teraz poczucie, że nowy sposób zapisu jest tym właściwym. Jestem z niego wreszcie zadowolony. Jest tym, na który czekałem... Czekałem, aż mózg mi go wygeneruje. A nie - wymyśliłem go.

Gdybym siedział nad tym non-stop, najprawdopodobniej nie zauważyłbym tego uproszczenia, gdyż wychodzi ono od samych podstaw sposobu opisania zjawiska. Myśląc non-stop, najprawdopodobniej tylko doskonaliłbym ewolucyjnie obraną na początku (też poprawną, ale niepotrzebnie skomplikowaną) koncepcję.

Na razie jest optymistycznie, bo spodziewałem się, że do pierwszych efektów twórczych owego nabierania dystansu będę musiał czekać znacznie dłużej. Przede mną sfinalizowanie formalnego zapisu "funkcji malejącej" przy pomocy nowego, uproszczonego modelu "prawdopodobieństwa warunkowego".

To wszystko dotyczy finalnego etapu pracy, z którego wnioskiem będzie już ostateczny wynik, że funkcja VMPC spełnia formalne wymogi określone w definicji funkcji jednokierunkowej. Oby po drodze nie pojawiły się już żadne formalne opóźniacze. Potem zostanie już tylko kilka elementów pobocznych, które nie powinny już nastręczyć żadnych problemów.

Przy tej okazji chciałbym wszystkim życzyć zdrowia i jak najszybszego rozprawienia się z koronawirusem. Jedną pozytywną rzeczą, jaką w tym widzę, jest to (skoro już się zdarzyło, to choć wyciągnijmy z tego coś pozytywnego), że po tej pandemii być może łatwiej będzie zrozumieć grupie społecznej, nazywanej "antyszczepionkowcami", do uniknięcia czego służą szczepionki. Co w długim terminie może wszystkim wyjdzie na zdrowie.




11.03.2020. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#110320

Po ostatniej intensywnej pracy potrzebowałem chwili zwolnienia, aby mózg mi się nieco zregenerował, nabrał dystansu i skonsolidował dotychczasowe wyniki. To dość trudne psychicznie, bo mam głęboką potrzebę, aby dojść wreszcie do - leżącego już na bliskim horyzoncie - końca, a jednocześnie wiem z doświadczenia, że taka konsolidacja zawsze dawała pozytywne efekty merytoryczne.

Aby jednak nie było tak pięknie, to zamiast odpoczywać, zastosowałem ponownie zasadę, że zmiana jest równie dobra jak odpoczynek i zamiast odpoczywać, zabrałem się intensywnie do finalizowania pracy nad nowym programem do szyfrowania. No i jak się rozpędziłem, to wygląda na to, że program udało mi się prawie całkowicie ukończyć! Można powiedzieć, że "merytorycznie" program jest już w 100% gotowy, a zostały do sfinalizowania tylko szczegóły związane z ekranem powitalnym, instalatorem i tym podobnymi elementami. Program będzie nosił nazwę VMPC Secret Book. Będzie dostępy od razu w polskiej i angielskiej wersji językowej.

Postawiłem sobie za cel, aby program był maksymalnie ergonomiczny, przyjazny i wygodny w obsłudze. Tak, aby był "przyjacielem" użytkownika, pozwalającym wygodnie i bezpiecznie w jednym miejscu trzymać zaszyfrowane wszystkie prywatne informacje tekstowe (loginy, hasła, linki, kody, informacje - co kto tylko będzie chciał). Program ma bardzo elastyczny system zapamiętywania ustawień, rozbudowany system skrótów klawiszowych (przy odrobinie wprawy można złożone operacje wykonywać w mgnieniu oka) i dopracowaną organizację okien / przycisków oraz funkcji wyszukiwania - tak, aby obsługa była możliwie najwygodniejsza i najbardziej intuicyjna. Oczywiście, czy faktycznie udało się osiągnąć taką wygodę, jak mi się wydaje, ocenią użytkownicy.

Taka strategia "odpoczynku" od pracy nad funkcją dobrze mi się sprawdza, bo programowanie mocno stymuluje mózg i, podobnie, jak matematyka, wymaga absolutnej precyzji formułowania myśli (w przypadku programowania - formułowania instrukcji, jak komputer ma wykonać złożone operacje). Dla osób mniej zagłębionych w komputerowy świat - komputer to kompletny idiota, który potrafi robić tylko jedną rzecz - odróżniać zero od jedynki. IQ na poziomie może 1? :-) Ma jednak jeden atut - potrafi robić to bardzo szybko. Np. odróżnić od siebie 100 miliardów zer od jedynek w ciągu sekundy. Komputerowi trzeba więc wszystko bardzo precyzyjnie, łopatologicznie wytłumaczyć, ale można za to nauczyć go robić niemal wszystko i to bardzo szybko. To taka rozrywkowa dygresja na temat komputerów na świeżo - intensywne prace nad programem skończyłem właśnie wczoraj.

Teraz chwila prawdziwego odpoczynku (pewnie za długo nie wytrzymam) i wracam na ostatnią prostą (mam nadzieję) w finalizowaniu pracy nad funkcją. Mam nadzieję, że uda mi się teraz oba projekty prowadzić równolegle i co kilka dni w ramach chwilowego odpoczynku od funkcji będę poświęcał po kilka godzin na finalizowanie ostatnich drobnych elementów w programie. Przy odrobinie szczęścia, uda mi się oba projekty ukończyć w jednym momencie.




07.02.2020. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#070220

Aby kontynuować zapis "funkcji malejącej" przy pomocy wspomnianych w poprzednim wpisie 3 lematów, musiałem wreszcie zapisać formalnie dowód pewnej fundamentalnej własności funkcji VMPC. Mówiąc (bardzo!) ściśle - że coś jest równe 3G/2. Równość ta jest bardzo prosta do wyobrażenia sobie albo wytłumaczenia "humanistycznego". Jednak formalny zapis matematyczny (czyli z rozbiciem na "logiczne atomy") okazał się ponownie złośliwie mozolny. Aby to zapisać, musiałem się cofnąć aż do opisu języka VMPC i w nim przeformułować sporo elementów, aby otworzyć pole do precyzyjnego zdefiniowania, czym formalnie jest owo "coś", a następnie udowodnić, że równe jest ono 3G/2.

W efekcie potrzebnych było 9 stron czystopisu, aby to wykonać:

Moje plany, aby cieszyć się ostatnim etapem pisania pracy, na razie pozostają fikcją, bo takie komponowanie formalnych konstrukcji nie należy do przyjemnych. Musi to być nie tylko poprawne formalnie, ale też możliwie najprostsze.

Wygląda, że do samego końca pracy właśnie tego typu zadania mnie czekają. Na pocieszenie pozostaje świadomość, że zostało już tego niewiele i że mimo wszystko jest to zwieńczenie całej pracy koncepcyjnej, więc jak już będzie gotowe, to chociaż przyjemnie mi się to przeczyta.

Teoretycznie pozostała do wykonania część pracy już tylko "czeka" na powyżej opisany wynik "coś = 3G/2" i po zaaplikowaniu go tam, w optymistycznej wersji, wszystko do samego końca powinno pójść już gładko, nawet od strony formalnej. Oczywiście, na pewno tak nie będzie i formalności na pewno nastręczą jeszcze sporo kłopotów, których teraz nie widzę. A może nie. Zobaczymy.

W każdym razie udowodnienie owych 3G/2 jest dużym postępem formalnym, takim odbębnieniem "pracy fizycznej", jak sprzątanie mieszkania, nic przyjemnego, ale trzeba to wykonać i dobrze jest, gdy jest to już za nami i możemy korzystać z efektów.

Z innych wieści - w serwisie
MADDOWNLOAD pojawiła się anglojęzyczna recenzja mojej aplikacji do szyfrowania danych VMPCrypt 5.






03.01.2020. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#030120

W ostatnim miesiącu, chyba widząc moją ekscytację ze zbliżającego się zakończenia pracy, moja piękna funkcja postanowiła mi przypomnieć, dlaczego praca tak się przedłuża. Pomysł (dotyczący sposobu opisania tzw. "funkcji malejącej", jaki miałem w listopadzie i który otworzył drogę do samego końca pracy) musiał przejść przez drogę weryfikacji. Weryfikacji, czy jest to faktycznie najlepszy sposób na opisanie tego zjawiska.

Był to dość masochistyczny proces, bo pomysł ten od początku wydawał mi się bardzo dobry i miałem naturalną chęć, aby od razu go realizować. Jednak zanim mogłem to zrobić z pełnym przekonaniem, musiałem wiedzieć, że wszystkie inne pomysły, jakie byłem w stanie wygenerować, są gorsze. Miałem zapisanych wcześniej kilka koncepcji i choć pokusa była duża, aby z góry uznać je za gorsze, to niestety, aby wynik był rzetelny, musiałem wszystkie te pomysły zgłębić i ocenić. Aby mieć pewność, że wybrany sposób jest faktycznie najlepszy, jaki jestem w stanie znaleźć.

I to właśnie udało mi się ukończyć. Wyszło dobrze, to znaczy pomysł, na który wpadłem w listopadzie i po którym napisałem tu na blogu, że czuję, że już wszystko jest opanowane, okazał się najlepszym podejściem, a nawet jedynym, które prowadziło do wyniku. Aby uzyskać to przekonanie, w grudniu powstało na tę okoliczność 15 (!) nowych stron brudnopisu z opisem i oceną tychże konkurencyjnych koncepcji opisania "funkcji malejącej".

Tak bardzo, jak pragnę, aby tę pracę wreszcie skończyć, jeszcze ważniejsze jest dla mnie, żeby praca była dobra. A dokładniej - najlepsza, jaką jestem w stanie napisać. Czy to wystarczy, aby była dobra, ocenią już inni, mądrzejsi ode mnie.

Drugi krok, w którym moja funkcja w grudniu przypomniała mi, dlaczego praca tak się przedłuża, była konieczność zaktualizowania formalnego zapisu pewnych 3 lematów (będących jednym z centralnych elementów pracy). Niestety znów zajęło to więcej czasu niż się spodziewałem. Mimo że intuicyjnie lematy te są bardzo proste - językiem potocznym, używając małych skrótów myślowych, można je zapisać w kilku linijkach tekstu. Jednocześnie pełny formalny ich zapis wraz z udowodnieniem wszystkich własności, z których dowód korzysta, zajęło 3 strony czystopisu.

To kolejny przykład, jak mozolne są formalne zapisy matematyczne. Czasami trzeba stracić wiele dni, żeby opisać coś intuicyjnie oczywistego. To jest ból i piękno matematyki w jednym. Precyzja i ogólność, która z tego powstaje, może być piękna, ale ból i wysiłek podczas komponowania tego jest dotkliwy. Tak wygląda finalny albo prawie finalny zapis owych 3 lematów:

Jeszcze małym problemem na deser jest nazewnictwo zmiennych. Gdy praca ma 50 stron (to jej obecna objętość po usunięciu wielu starych elementów w 2019 roku) okazuje się, że powoli robi się ciasno z alfabetem - zaczyna brakować zmiennych do opisywania zjawisk. Pomimo użycia alfabetu łacińskiego, greckiego oraz liter z podwójną linią. Jeszcze nie jest tak źle, żeby całkiem brakowało symboli, ale trzeba się trochę nagimnastykować z gospodarowaniem nazwami obiektów. I to też zajmuje dodatkowy czas, a nie daje szczególnej satysfakcji, gdy np. przez godzinę szukam, jakim symbolem oznaczyć nowy obiekt, aby nie kolidował z innymi.

Mimo tych komplikacji w tej chwili wygląda to tak, że wszystko jest opanowane i przygotowane do postawienia "kropki nad i" - zapisania dowodu już do samego końca. Pewność, że jestem na końcu, będę miał dopiero, jak do niego dotrę. Nie chcę znowu pisać, że za tydzień skończę pracę. Można powiedzieć, że nie mam nad tym pełnej kontroli. To funkcja bardziej mnie prowadzi niż ja nad nią panuję. Ale pewne jest to, że jestem już tuż tuż przed faktycznym końcem. I choć pewnie wiele osób, które czytają mojego bloga, się niecierpliwi, to proszę mi wierzyć, że ze wszystkich osób ja jestem najprawdopodobniej tą, która jest najbardziej nieszczęśliwa z tego, że ta praca tak się przedłuża. Robię wszystko, co w mojej mocy, aby tę pracę skończyć.




05.12.2019. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#051219

W ostatnim czasie podgoniłem trochę prace nad nowym programem do szyfrowania, bo został trochę w tyle za postępami w pracy nad funkcją. Idealnie chciałbym, aby "pod choinkę" w tym roku położyć sobie gotową pracę o funkcji oraz skończony nowy program do szyfrowania. Potem niech się dzieje, co chce.

Z ciekawostek naukowych, ostatnio "odkryłem" liczbę e (liczbę Eulera równą 2,71...). Analizując pewne zjawisko w funkcji VMPC, uzyskałem wynik, że prawdopodobieństwo zajścia czegoś tam opisane jest przez pewien szereg. Po chwili zorientowałem się, że szereg ten jest zbieżny do liczby e pomniejszonej o 2, czyli do 0,71.... Naukowo nie ma to żadnej wartości (wyważyłem dawno otwarte drzwi), ale i tak jest to przyjemne uczucie.

Przez chwilę myślałem, że odkryłem też nowy sposób na wyliczenie liczby e, ale mój entuzjazm opadł, gdy znalazłem ten sam wzór
tu (wyszukać w tekście (Ctrl+F) "floor((e-2)*n!)"). Wzór ten "ujawnił" się w mojej pracy w takiej formie:

e = 2 + A(n)/n!

(formalnie, e dąży do tego wyniku dla n dążącego do nieskończoności).

Mamy tu zależność rekurencyjną: A(n) = n*A(n-1) + 1
gdzie wartości początkowe wynoszą: A(0)=-1, A(1)=0, A(2)=1

Teraz chwila rozrywki dla mnie oraz dla osób, które nie są matematykami, a śledzą mojego bloga. Zagorzali formalni puryści powinni przeskoczyć ten akapit, bo może im podskoczyć ciśnienie :-)

Na powyższym przykładzie spróbuję pokazać, że matematyka to nie jest wcale zbiór egzotycznych szlaczków, które mają jakąś magiczną moc rozumianą tylko przez garstkę dziwaków (zwanych matematykami). Ale że matematyka to piękny zapis przeróżnych logicznych zjawisk, opisujących świat, który nas otacza. Aby wyliczyć słynną liczbę e wg powyższego pozornie zagmatwanego wzoru, robimy taką prostą liczbową "kanapkę". Można bardzo łatwo obliczyć to na kalkulatorze, takim najzwyklejszym, który jest nawet w smartfonie. Zapewniam, że każdy da radę, więc jak ktoś lubi zabawy z liczbami, to zapraszam do wspólnego liczenia :-)

Na początek bierzemy cyferkę 0. Zero czyli nic. Mnożymy ją przez 2. Czyli dalej mamy 0. Potem dodajemy do tego 1. I mamy już 1. To już coś! Teraz mnożymy to nasze 1 razy 3. I też dodajemy do tego 1. Uzyskujemy 4. Otrzymany wynik (4) mnożymy teraz przez 4 i też dodajemy 1. Mamy 17. Czyli 4*4+1=17. Dalej liczymy identycznie, mnożąc w każdym kroku przez liczbę o 1 większą, ale dodając zawsze 1. Czyli teraz liczymy 17 razy 5 plus 1 = 86. Dalej mnożymy przez 6 i plus 1, czyli 86 * 6 + 1 = 517. Teraz przez 7 i plus 1: 517 * 7 + 1 = 3620. Dalej: 3620 * 8 + 1 = 28961. I tak dalej i tak dalej, ile komu cierpliwości wystarczy. Im dłużej będzie tak liczył, tym dokładniejszy wynik uzyska.

Teraz trzeba tylko odpokutować swoją cierpliwość i podzielić uzyskany wynik kolejno przez wszystkie użyte mnożniki... Czyli dzielimy wynik przez 8 potem dzielimy uzyskany wynik przez 7, potem dzielimy przez 6, przez 5, 4, 3, 2. Tym sposobem otrzymujemy wynik 0,71827. Teraz wystarczy dodać do tego 2 i mamy... 2,71827. A liczba Eulera e to 2,71828... Obliczyliśmy zatem samodzielnie liczbę e z dokładnością do 4 miejsc po przecinku!

Powyższe, choć zajmuje kawałek tekstu, jest bardzo proste do wykonania i nie wymaga żadnej wiedzy z matematyki, wystarczy znać cyferki od 0 do 9 i znaleźć na kalkulatorze operacje dodawania + oraz mnożenia x i dzielenia /. I można obliczyć samodzielnie słynną stałą matematyczną e!

Przy tej okazji wszystkie osoby, które gardzą "egzotycznymi" matematycznymi zapisami, mogą spojrzeć na sprawę z innej strony. Ten przydługi opis słowny jest zapisany wyżej formalnym językiem matematyki w 2 linijkach wzoru matematycznego. Jest to dokładnie to samo, tylko zapisane innym językiem. Może więc matematyka nie jest taka straszna i nie trzeba się jej bać, tylko wystarczy zagłębić się w nią i zobaczyć, co ma nam do powiedzenia o świecie? Bo każdy wzór matematyczny czy twierdzenie da się tak rozwinąć w mniej lub bardziej poetycki opis zjawisk w otaczającym nam świecie. Jeśli powyższe słowa zachęciły choć jedną osobę do tego, żeby przestała bać się matematyki, to warto było to napisać :-)


Wracając "na ziemię", jestem ciekaw komentarzy czytelników, którzy może zajmowali się generowaniem liczby e. Czy inne metody obliczania liczby e są bardziej wydajne? Nie robiłem dokładnego rozeznania, więc być może odpowiedź jest oczywista. Obiecujące w tym wzorze wydaje się to (pod względem wydajności obliczeniowej), że wymaga on tylko jednego dzielenia (a dzielenie jest dla procesora czasochłonną operacją).

Z innych wieści, moja recenzja pracy naukowej nadesłanej przez kogoś do zagranicznego czasopisma matematycznego "Computational and Applied Mathematics" pojawiła się na moim profilu ORCID. Moja recenzja była mocno krytyczna, ale okazało się, że pozostałe 4 recenzje także były negatywne i praca została odrzucona. Było to dla mnie ciekawe nowe doświadczenie recenzować cudzą pracę. Niedługo moja praca o funkcji najprawdopodobniej będzie przechodziła podobną drogę. Mam nadzieję, że z innym skutkiem :-)

W samej pracy o funkcji zbieram wszystko w celu zapisania ostatnich dwóch elementów, które w zasadzie są już tam prawie zapisane. Mam nadzieję, że nic już mnie nie zaskoczy i że pod choinką będę miał skończoną pracę. Samo odkrycie funkcji VMPC nastąpiło właśnie w Boże Narodzenie. W 1998 roku, gdy byłem na pierwszym roku studiów.

Szykując się do sezonu świątecznego (w którym sprzedaż Permutu trochę się zwiększa), zaktualizowałem formularz zakupu gry, teraz płatność za grę można wykonać wygodnie szybkim przelewem, przez Blik, kartą płatniczą, PayPal oraz oczywiście tradycyjnym przelewem. Jeśli ktoś chciałby, kupując Permutu na Gwiazdkę, zrobić dwa prezenty (obdarowanemu oraz mi poprzez fakt zakupu gry), może łatwo kupić grę z wysyłką za 39 zł:

Formularz zamówienia Permutu

Ponownie zaktualizowałem też tekst na zrzutce. Zrzutka niedługo zostanie zamknięta. Wygląda na to, że ma ona charakter dość elitarny, obecnie 55 osób wsparło tam mój projekt. Niewielka to liczba, która trochę mnie smuci, ale jednocześnie podkreśla wyjątkowość tych osób, które wpłaciły.

www.zrzutka.pl/vmpc

Mojej pierwszej pracy o funkcji VMPC w 2004 roku nikt wcześniej nie czytał i nie oceniał. Bez konsultacji wysłałem ją najwyżej, gdzie się dało na świecie. Racjonalnie było spodziewać się, że zostanie odrzucona. Praca została jednak przyjęta do publikacji (FSE 2004). Jak będzie z obecną pracą, dowodzącą jednokierunkowości VMPC i rozwiązującą problem P vs NP? Nie wiem. Przekonamy się.




01.11.2019. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#011119

Doraźnie zakleiłem ubytek w podwoziu mojego samochodu żywicą poliestrową zbrojoną włóknem szklanym. Pięknie to nie wygląda, ale poprawia sytuację doraźnie, dopóki nie uda mi się zdobyć środków na nowe auto.

Grigorij Perelman (Rosjanin, który rozwiązał jeden z Problemów Milenijnych, ale odmówił przyjęcia nagrody Claya) zapytany, który z etapów pracy nad dowodem był najprzyjemniejszy, odparł, że ostatni rok - gdy wiedział już, że wszystko na pewno dobrze rozwiązał i pozostało mu tylko uporządkować zapis.

Szukałem momentu w swojej pracy, w którym poczułbym się podobnie. Niby przez długi czas byłem blisko takiego poczucia, ale zawsze czegoś mi brakowało, zawsze przede mną było jeszcze za dużo, aby móc w pełni odczuć taki spokój.

Do wczoraj. Wczoraj poczułem ten właśnie stan. Bez szukania go na siłę (jak wcześniej próbowałem), tylko poczułem go naturalnie.

Odbyło się to wczoraj (30.11.2019) wieczorem. Wpadł mi wtedy do głowy pomysł, jak w zaskakująco krótki sposób zapisać ostatni brakujący element pracy, nazywany tu na blogu "funkcją malejącą". Do dziś (24 godziny później) pomysłu nie obaliłem i jestem prawie pewien, że pomysł się sprawdzi.

Jakkolwiek absurdalnie to zabrzmi, to czuję, że pomysł ten zawdzięczam mojej robocie z klejeniem żywicą dziur w moim samochodzie. Po tej robocie poczułem się niesamowicie dobrze. Nie umiem tego wytłumaczyć, ale dawno się tak dobrze nie czułem. Coś jak dziecko, które skonstruowało jakąś fajną budowlę z klocków Lego. Miałem po tym wyjątkowo odświeżony i czysty umysł. Gdy tego wieczora siadłem do pracy nad funkcją, wpadł mi do głowy nagle ten właśnie pomysł. Pomysł na to, jak zaskakująco prosto udowodnić to, co trzeba było udowodnić w etapie "funkcja malejąca".

Jak wiadomo (o tym pisałem w poprzednim wpisie) niedługo wcześniej okazało się, że wzór z czerwca 2019 zaskakująco, jako efekt uboczny, pozwolił mi udowodnić ostatni z dwóch pozostałych elementów pracy, czyli "twierdzenie o nieoznaczoności".

Czuję się tak, jakbym wreszcie wykonał całą czarną robotę i po 20 latach mocowania się z funkcją VMPC miał wreszcie wszystkie detale dowodu opracowane. Pozostało tylko czysto warsztatowo dokończyć zapisywanie tego.

Co więcej, teraz mam znacznie większe przekonanie o prawidłowości dowodu niż kiedykolwiek wcześniej.

To poczucie daje mi ogromną radość, jakiej wcześniej nie czułem. Wydaje mi się, że to może być takie właśnie uczucie, jakie opisywał Grigorij Perelman.

Teraz pomysł trzeba zapisać, więc jeszcze trochę pracy zostało. Ale od teraz do samego końca będzie to najprzyjemniejszy czas mojej 20-letniej pracy nad dowodem jednokierunkowości funkcji VMPC.

Jestem teraz praktycznie pewien, że uda mi się skończyć pracę do końca 2019 roku.

Jeśli masz ochotę podzielić się ze mną jakąś myślą, zapraszam do skorzystania z poniższego formularza*:

* Wszystkich hejterów, którzy regularnie wysyłają mi agresywne, idiotyczne i pozbawione podstawowych zasad kultury wiadomości, których nawet nie czytam, tylko rejestruję i przenoszę do specjalnego śmietnika, zapraszam do zmobilizowania się, bo to już są ostatnie okazje, aby dać upust swojej frustracji, zazdrości i agresji, wyrzucić z siebie jad. Oczywiście anonimowo, bo nikt z owych hejterów nie ma odwagi podpisać się swoim nazwiskiem pod rzucanymi słowami.

Po zakończeniu pracy opublikuję wszystkie otrzymane hejterskie wiadomości, aby pokazać normalnym ludziom, jak kolorowa może być wyobraźnia zakompleksionych ludzi, którzy zamiast na budowanie własnych osiągnięć, marnują swoją energię na wylewanie jadu agresywnej zazdrości na wysiłki innych.

Jest to, niestety, powszechne zjawisko, ludzka ułomność. Tak, jak są w społeczeństwie np. mordercy, tak są i hejterzy. Szkoda, że są, ale są. Zjawisko to towarzyszy mi od około 2003 roku i stąd znam je dość dobrze. Dawno się do niego przyzwyczaiłem i od dawna śmieję się z niego, ale mimo wszystko żal mi tych sfrustrowanych ludzi.

Zjawisko to nie dotyczy tylko Polaków (piszę z własnego doświadczenia), choć w Polsce prawdopodobnie jest bardziej nasilone niż w innych krajach, gdyż zazdrość i zawiść to nasze cechy narodowe.

Jeśli ktoś pisze pracę naukową lub artykuł na temat zjawiska hejteryzmu, zapraszam do kontaktu ze mną, mam sporo materiałów, przemyśleń, hipotez i chętnie podzielę się nimi.




26.10.2019. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#261019

Okazało się, że złowrogo wyglądająca korozja w podwoziu mojej "wiecznie młodej" Toyotki niestety okazała się chorobą śmiertelną. Po rozdrapaniu ogniska korozji śrubokrętem, resztki zardzewiałej podłużnicy zsypały się na ziemię. Po czym zmiotłem je na szufelkę. Ujawniła się taka oto piękna dziura:

Jest to niestety newralgiczne miejsce - do podłużnicy (czyli teraz do dziury po podłużnicy) zamocowany jest wahacz, który trzyma prawe przednie koło. Grozi mi, że w każdej chwili mogę zgubić przednie prawe koło i wylądować na drzewie. Oto moja pacjentka (Toyota Corolla E9, rocznik 1990):

Zmieniłem całkowicie opis na zrzutce. Celem jest zebranie środków na nowy samochód. Jeśli ktoś miałby ochotę pomóc bezpośrednio - wpłacając dowolną kwotę - albo pośrednio - udostępniając zrzutkę na facebooku czy w jakikolwiek inny sposób dzieląc się informacją o niej z innymi - byłbym ogromnie wdzięczny.

www.zrzutka.pl/vmpc

Jest mi smutno, bo bardzo chciałbym do końca roku 2019 skończyć pracę. A tego typu przyziemne problemy - jak "śmiertelna choroba" samochodu - wybijają mnie z koncentracji i absorbują nerwy. W zeszłym roku dopadła mnie przeprowadzka, a teraz ten głupi samochód. Żal mi auta tym bardziej, że jest utrzymane w bardzo dobrym stanie technicznym, ale rdzy w takim miejscu nie da się już naprawić :-(

Cóż, życie trwa dalej. W pracy wszystko idzie lepiej niż planowałem. Obecnie przegryzłem się już przez wszystkie analizy z roku 2017, dotyczące ostatniego etapu pracy, czyli tzw. twierdzenia o nieoznaczoności. Wcześniej odwoływałem się do tych analiz także jako "kartka 36".

Wygląda na to, że nowe wyniki z czerwca 2019 w zaskakujący sposób (jako efekt uboczny) dostarczają inną drogą dużą część wyników z "kartki 36".

To dość fascynująca podróż, muszę przyznać. Ten wzór z czerwca 2019 (którego uproszczenie zawdzięczam tajemniczemu pomocnikowi), jak się z czasem okazało, ma znacznie głębszy sens niż jego znaczenie bezpośrednie. Ze sposobu, w jaki wzór ten został wyprowadzony, wynika kilka zaskakujących i cennych dodatkowych własności, które pozwalają uprościć pozostałą część pracy.

Co ciekawe, dostrzegłem je dopiero z czasem. Potwierdzałoby się to, co już wielokroć zauważyłem i opowiadałem podczas wystąpienia na konferencji TEDx:

Czas rozwiązuje problemy. To zdanie, może kontrowersyjne, ma w sobie głęboki sens. Oczywiście nie należy go interpretować tak, że wystarczy mieć problem, a on się z czasem sam rozwiąże. Trzeba się jeszcze ciągle nim zajmować i ciągle o nim myśleć. Ale nie można popychać niczego na siłę do przodu, tylko trzeba iść do przodu naturalnym tempem, tak jak problem nas prowadzi, a nie jak my go chcemy pchać. A wtedy wszystko zaskakująco układa się tak, jak powinno, często lepiej niż sami się spodziewamy. I w tym sensie czas nam pomaga rozwiązać problem. Zapewne da się to wyjaśnić psychologicznie (psychologiem nie jestem), ale podejrzewam, że jest to związane z plastycznością mózgu i tym, że mózg nawet bez naszej świadomości ciągle porządkuje informacje. Pracuje w tle. I po pewnym czasie porządkowania dostarcza nam nowych rozwiązań. A my je odczytujemy jako pomysły, na które nagle wpadamy. Sekret w tym, aby właśnie pozwolić czasowi działać... I nie spieszyć się za bardzo. Dotyczy to raczej trudnych problemów, wymagających twórczego myślenia, znajdowania nowych sposobów. Jeśli mamy prosty problem, np. umyć naczynia, to lepiej go szybko rozwiązać :-)

Przy okazji chciałbym zaprezentować nowe logo projektu VMPC. Zawdzięczam je anonimowemu pomocnikowi (którego miałem przyjemność poznać) i którego z tego miejsca serdecznie pozdrawiam.

Logo zostanie użyte w nowym programie do szyfrowania informacji tekstowych, który jest już blisko ukończenia i nad którym pracuję równolegle. Przy funkcji obecnie pracuję nad dwoma pozostałymi elementami - "funkcją malejącą" i wspomnianym powyżej "twierdzeniem o nieoznaczoności".




12.10.2019. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#121019

Konkurs został rozstrzygnięty! Szukana permutacja F ma postać:
F=(25, 6, 9, 19, 7, 21, 1, 5, 20, 16, 2, 24, 18, 11, 14, 23, 8, 10, 12, 17, 3, 4, 0, 13, 22, 15)*
*Formalnie permutacje zapisujemy bez przecinków, a tu mamy jej zapis w tablicy w języku programowania, aby łatwiej było ją wkleić, gdyby ktoś jeszcze chciał się tymi liczbami pobawić.

Trzy alternatywne rozwiązania (czyli 3 pary elementów F, które należało zgadnąć) to:

F(14)=14, F(11)=24
F(14)=14, F(24)=22
F(14)=14, F(25)=15
Po ich zgadnięciu można odtworzyć całą permutację F bezpośrednio z użytej w konkursie definicji funkcji VMPC: V(x)=F(F(F(x))+1), gdzie dane było:
V=(8, 9, 10, 12, 1, 21, 5, 0, 7, 16, 2, 13, 11, 15, 23, 14, 4, 19, 17, 24, 3, 20, 25, 18, 6, 22)

Przebieg konkursu był dość dramatyczny! O czym wiedzą sami zwycięzcy :-) To między innymi spowodowało, że zwycięzców jest aż dwóch! Oboje znaleźli wszystkie 3 pary.

Oto wygrani (przedstawienie zwycięzców odbywa się, oczywiście, za ich zgodą oraz z możliwością usunięcia stąd swoich nazwisk w dowolnym czasie, gdyby wyrazili taką wolę):

1. Wojciech Drozd, uczeń Uniwersyteckiego LO i Zespołu Szkół Muzycznych im. Karola Szymanowskiego w Toruniu

2. Agnieszka Lejb, specjalistka IT i pasjonatka matematyki z Bydgoszczy

Każda z tych osób otrzymuje w nagrodę egzemplarz gry Permutu z okolicznościową dedykacją.

Serdecznie gratuluję!




08.10.2019. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#081019

Wraz z początkiem października 2019 wchodzę w intensywny etap, który, mam nadzieję, skończy się ukończeniem całej pracy do końca 2019 roku. Okres akademickich wakacji (od lipca do września) był czasem lekkiego spowolnienia, które wykorzystałem na zregenerowanie sił i konsolidację dotychczasowych wyników. I tak sporo pracowałem w tym czasie, nigdzie nie wyjeżdżałem nawet, ale nie była to tak intensywna praca, jak w czerwcu 2019 i jaką planuję do końca roku 2019.

1. Konkurs z poprzedniego wpisu sprzed tygodnia wciąż pozostaje nierozstrzygnięty. Aby dodatkowo zachęcić do udziału, podaję podpowiedź. Jednym z elementów, które należy zgadnąć, jest F(14)=?. Drugi zgadywany element ma 3 alternatywne postaci F(?)=?. Zadanie ma zatem 3 rozwiązania. Wystarczy podać jedno z nich.

2. Jak co bardziej wierni czytelnicy mogą być zorientowani, moja praca odbywała się od szczegółu do ogółu. Najpierw zauważyłem szczególne własności funkcji VMPC eksperymentalnie, na konkretnych liczbach (permutacjach), a dopiero potem, począwszy od roku 2015, zacząłem te własności uogólniać, czego zwieńczeniem będzie, mam nadzieję poprawny, dowód jednokierunkowości funkcji VMPC.

Jednakże każdy proces uogólniania niesie ze sobą ryzyko, że po drodze coś zgubimy i ostatecznie opiszemy jakieś zjawisko, ale nie do końca to, od którego zaczynaliśmy. Kiedyś musiał nadejść moment, kiedy teoria będzie już tak dobrze opisana, że będzie ją można zweryfikować na konkretnym przykładzie, czy faktycznie opisuje ona zjawisko, które miała opisywać. To nie jest, oczywiście, dowód na poprawność tej teorii, a jedynie upewnienie się, czy teoria gdzieś po drodze nie zbłądziła. Do tego celu posłużyły mi klocki
Permutu, które reprezentowały wartości funkcji VMPC.

To, przy okazji, małe potwierdzenie, że moje deklaracje, iż gra Permutu wywodzi się z funkcji VMPC, nie są pustymi słowami. Tych klocków Permutu użyłem faktycznie w badaniach nad funkcją. Co nie zmienia jednoczesnego faktu, że Permutu jest grą niezwykle prostą i grając w nią nawet nie mamy świadomości, że wywodzi się ona ze złożonego zjawiska matematycznego. Przy tej okazji pozwolę sobie zachęcić osoby, które jeszcze nie mają swojego egzemplarza Permutu, do zakupu, który wspiera finansowo mój skromny projekt badawczy:



Tak to wyglądało w praktyce. Funkcja VMPC przed odwróceniem:

Funkcja VMPC po odwróceniu:

Ku mojej radości okazało się, ze opracowana w latach 2015-2019 teoria idealnie celnie opisuje to, co miała opisywać.

Szczególnie ekscytujące, a raczej wzruszające, było dla mnie zaobserwowanie, jak w praktyce (czyli na liczbach) działa twierdzenie o równowadze. Czym ono jest, będzie można przeczytać dopiero w oficjalnej wersji pracy, ale jest to jedno z fundamentalnych twierdzeń, które odkryłem w 2011 roku i które pojechałem zapisywać do Szklarskiej Poręby, bo było tak przełomowe, że chciałem nadać wydarzeniu jakąś ceremonię. To ono otworzyło drogę do przeprowadzenia dowodu jednokierunkowości funkcji VMPC.

Poszukiwania tego twierdzenia trwały od roku 2004 do 2011, a zaczęły się zaraz od publikacji funkcji VMPC na konferencji FSE w Indiach. Co ciekawe, zapis twierdzenia, wraz z dowodem, zajmuje w pracy pół strony. Sprawny czytelnik przeczyta je i zrozumie w 5 minut. Jego znalezienie i udowodnienie zajęło mi 7 lat.

Dlatego tak sentymentalnie istotne było dla mnie zobaczyć, jak twierdzenie to faktycznie działa w praktyce. Niestety pewnie nikt poza mną nie doceni emocjonalnej istoty i wagi tej chwili, ale mimo wszystko chciałem się nią podzielić.

3. Jeśli chodzi o odkrytą podgrupę permutacji, która stanowi jeszcze wyższy poziom uogólnienia funkcji VMPC, to choć odkrycie to pozostaje prawdziwe, to postanowiłem nie zgłębiać tego tematu. Ze względów czasowych. Mimo obecnego entuzjazmu jestem długofalowo na granicy wyczerpania wszelkiej energii i inspiracji i czuję, że zostało mi jej dokładnie tyle, ile potrzeba, aby dokończyć pracę, ale już bez wchodzenia w żadne dodatkowe badania. W oficjalnej wersji pracy najprawdopodobniej tylko wspomnę o tej podgrupie permutacji i pozostawię przebadanie jej w kontekście jeszcze dalszego uogólnienia funkcji VMPC już innym badaczom.

Póki co wspomnę tylko, że miejscem, w którym odkryta podgrupa permutacji gdzieś tam łączy się z dotychczasowym dorobkiem matematycznym, jest pewna sekwencja liczbowa, opisująca jedną z bardzo podstawowych permutacji tej podgrupy. Liczności permutacji z tej podgrupy (dla grup symetrycznych SN dla kolejnych wartości N) wynoszą 1, 2, 20, 232, 3728, 74528, 1788736,... a sekwencja opisana jest w bazie OEIS, sekwencja A296660.

Co ciekawe (choć całkiem przypadkowe i bez znaczenia), adres tej sekwencji ma w członie 666 :-) W przyszłości prawdopodobnie dopiszę w komentarzach do tej sekwencji w OEIS interpretację tej sekwencji, odpowiadającą odkrytej podgrupie, związanej z VMPC. Jednak z powodów paranoicznych i kryptograficznego zboczenia zawodowego (gdzie analizuje się bardzo mało prawdopodobne zdarzenia i uznaje się je za istotne zagrożenia), nie zrobię tego teraz, bo boję się, że jakaś hipotetyczna osoba z gigantycznym ilorazem inteligencji i wyjątkową błyskotliwością umysłu z tego komentarza mogłaby wywnioskować, jaką strategią przyjąłem w moim dowodzie jednokierunkowości funkcji VMPC. Dlatego komentarz ten dopiszę w OEIS w powyżej podanym linku dopiero po opublikowaniu pracy. Jako ciekawostka, kilka spokrewnionych sekwencji, opisujących liczności permutacji z tej podgrupy, ale dla nieco bardziej skomplikowanych warunków, to na przykład: 20, 684, 39744, 3614400 lub 24, 524, 15280, 572622 tych jednak już nie ma na OEIS.

4. Jakieś dwa tygodnie temu miałem ciekawe doświadczenie - redaktor czasopisma matematycznego z długą tradycją (wydawanego od 1981), Computational and Applied Mathematics zwrócił się do mnie z prośbą o zrecenzowanie nowej pracy naukowej nadesłanej tam do publikacji. Nie jest to jakieś wiodące czasopismo matematyczne, ale mimo wszystko było to dla mnie ciekawe doświadczenie, szczególnie, że prośba przyszła z zagranicy, a ja formalnie nie posiadam żadnego tytułu naukowego ponad magistra i żeby znaleźć mnie i przeanalizować moje kompetencje, trzeba się trochę zagłębić. Tym milej mi było, że ktoś gdzieś tam na świecie to zrobił.

5. Na koniec coś bardziej przyziemnego. Moja nieśmiertelna Toyotka Corolla, którą posiadam od 20 lat i która ani razu mnie nie zawiodła pomimo wieku 29 lat i przebiegu 380 tys. km.

ujawniła ostatnio niepokojące ognisko korozji w miejscu mocowania przedniego prawego wahacza do podłużnicy:

w zasadzie bez komentarza, element ten jest raczej trudny do naprawy, gdyż podłużnica (czyli to skorodowane na zdjęciu) jest fundamentalnym elementem nośnym konstrukcji samochodu, a wahacz (to, co jest tam przykręcone po lewej stronie) trzyma prawe przednie koło. Gdyby koło zostało podczas jazdy "uwolnione" (gdyby wahacz się oderwał od tej skorodowanej podłużnicy) to chyba spowoduje to, że samochód odbije na bok w niekontrolowany sposób? Tak mi się przynajmniej wydaje. Chyba że ktoś przerabiał już taki temat i może koło trzyma się wystarczająco mocno na samej zwrotnicy i urwanie wahacza podczas jazdy nie spowoduje utraty kontroli nad pojazdem i można będzie auto bezpiecznie zatrzymać? Zawieszenie jest tu konstrukcji McPherson bez stabilizatora (nie wiem, czy ta informacja ma jakieś znaczenie). Nie jestem tu ekspertem, gdyby ktoś miał w tym temacie dokładniejszą wiedzę lub doświadczenie, byłbym wdzięczny za jakąś poradę, czy urwanie wahacza podczas jazdy musi się skończyć źle?




30.09.2019. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#300919

Najbliższa merytoryczna aktualizacja pojawi się za kilka dni. Jako jej zapowiedź załączam małe rozrywkowe zadanie dla co bardziej wnikliwych czytelników.

Zgodnie z pierwotnymi wynikami badań z 2004 roku odwrócenie funkcji VMPC dla 26-elementowej permutacji (tyle symboli ma gra Permutu) wymaga zgadnięcia średnio 5 elementów permutacji. Tu mamy jednak 26-elementową permutację, będąca wartością funkcji VMPC, którą da się odwrócić, zgadując tylko 2 elementy. Funkcja VMPC opisana jest tu klasycznym wzorem V(x)=F(F(F(x))+1) dla x=0,1,...,25, gdzie + jest dodawaniem modulo 26. F oraz V są permutacjami zbioru {0,1,...,25}.

Oto permutacja V:
V=(8, 9, 10, 12, 1, 21, 5, 0, 7, 16, 2, 13, 11, 15, 23, 14, 4, 19, 17, 24, 3, 20, 25, 18, 6, 22)
Mamy więc V(0)=8, V(1)=9,..., V(25)=22.

Zadaniem jest wskazać, które 2 elementy F należy zgadnąć, aby odtworzyć całą permutację F. Czyli odpowiedź miałaby formę np. "trzeba zgadnąć F(1)=11 oraz F(2)=22".

Pierwsza osoba, która znajdzie te dwa elementy (a najlepiej znajdzie całą permutację F) otrzyma w nagrodę grę Permutu z dedykacją.

Jednak głównym tematem dzisiejszego wpisu jest coś nietypowego.
Malutka cegiełka do rozwoju demokracji w Polsce.

Niedawno w rozmowie z moim przyjacielem,
Tomaszem Szynalskim, doszliśmy do wniosku, że wiele osób mieszkających poza swoim miejscem zameldowania (np. studenci) ma kłopot, aby zagłosować w nadchodzących wyborach parlamentarnych (w niedzielę, 13 października 2019). Aby oddać głos, muszą dopełnić kilku dodatkowych formalności, ale zebranie informacji, jak dokładnie to zrobić, gdzie znaleźć najbliższy lokal wyborczy, wymaga trochę fatygi. Nie każdy chce poświęcać na to swój cenny czas.

To powoduje, że studenci i osoby mobilne, często zmieniające miejsce zamieszkania, mają "zaniżoną" reprezentację w parlamencie. Jest bardzo prawdopodobne, że wyniki wyborów byłyby inne, gdyby więcej takich osób oddawało głos.

Tu z inicjatywą wyszedł Tomasz i otworzył stronę, na której wszystkie potrzebne informacje są zebrane w jednym miejscu i podane w przyjazny i precyzyjny sposób.

www.jakglosowac.org

Informacja o stronie pojawiła się na wykopie.

Jeśli masz konto na wykopie i miałbyś/miałabyś ochotę wspomóc tę skromną inicjatywę, kliknij wykop!

Zachęcam też do udostępnienia strony www.jakglosowac.org na facebooku.

Inicjatywa jest o tyle szlachetna, że autor zainwestował własny czas i własne pieniądze w stworzenie tej strony, a jej celem jest tylko ułatwienie ludziom głosowania, nie ma z tego tytułu żadnych korzyści, nie namawia też do tego, na kogo głosować.




30.08.2019. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#300819

Lipiec i sierpień miałem przeznaczyć na regenerację sił. Udało się częściowo, bo w tym czasie nastąpiły też małe postępy w pracy. Zarówno nad funkcją, jak i nad programem do szyfrowania tekstów. Mimo że technicznie nowy program to tylko wycięcie z VMPCrypt'a modułu tekstowego wraz z szyfrowaną książką, to sporo pracy wymagają poprawki ergonomiczne, mające sprawić, że program będzie przyjaźniejszy i łatwiejszy w obsłudze. Wstępny wygląd głównego okna programu:

W pracy nad funkcją w wakacje powstało trochę nowych materiałów:

Stanowią one porządkowanie myśli przed formalnym (czyli przy użyciu "matematycznych robaczków") finalizowaniem na czysto etapu "funkcja malejąca". Do liczenia permutacji spełniających pewne warunki ponownie zaprzęgnięta została tablica różnic Eulera (Euler's difference table). Nie mogę odżałować, że czas nie płynie w przeciwnym kierunku, gdyż wówczas odkryłbym tę tablicę przed Eulerem :-)

Najciekawsze przyszło w ostatnim czasie, może ostatniego tygodnia. Jakimś splotem (neuronów w mózgu?) myśli nakierowały mi się na zdefiniowanie pewnej podgrupy permutacji, spełniających pewne szczególne warunki. Są to proste i ogólne, pozornie niezwiązane z funkcją VMPC warunki.

Ciekawą własnością tej podgrupy jest fakt, że prawdopodobieństwo trafienia na permutację z tej podgrupy jest niewielomianowe (czyli dla jakiegoś rozmiaru permutacji N jest ono mniejsze niż odwrotność dowolnej wielomianowej funkcji N). Mówiąc bardziej po polsku - jest to prawdopodobieństwo "jednokierunkowe", czyli takie, jakie jest potrzebne do dowodu jednokierunkowości funkcji VMPC.

Najciekawszą własnością tej podgrupy jest jednak to, że problem odwracania funkcji VMPC da się zredukować do problemu znalezienia permutacji z tej podgrupy. A to jest już coś bardzo bardzo ciekawego i potencjalnie przełomowego. Mimo że przełomy nie są już mi potrzebne, to trafić na jakiś zawsze lepiej niż nie trafić.

Redukcja ta nie jest niezbędna i dowód można przeprowadzić bez niej (powołując się pośrednio na zjawiska kombinatoryczne występujące w funkcji VMPC) i taka była pierwotna strategia zapisania dowodu. Ona zostanie zrealizowana, ale ta redukcja będzie stanowiła dodatkową wartość i ona jeszcze bardziej zwiększy klarowność dowodu.

Wygląda na to, że koncepcja "funkcji malejącej" (czyli dotychczasowa strategia) oraz wspomniana powyżej redukcja są ze sobą ściśle powiązane i może okazać się, że opisując jedno i drugie ostatecznie uzyskam jeden wspólny wynik, do którego prowadzi droga zarówno od "funkcji malejącej", jak i od "redukcji".

Po odkryciu tej redukcji finalizacja pracy wygląda na jeszcze bardziej ekscytującą!

Jeszcze mała ciekawostka, ale już znacznie mniej istotna. Takie sentymentalno-matematyczne nawiązanie do przeszłości. Podczas wstępnych analiz opisanej powyżej podgrupy permutacji, dotyczącej tejże redukcji, natknąłem się na sekwencję liczbową 3, 15, 105, 945, 10395,... Określona jest ona wzorem 3*5*7*... (mnożymy kolejne liczby nieparzyste), jest to podwójna silnia (double factorial) dla liczb nieparzystych.

Sekwencja ta jest opisana w bazie danych sekwencji liczbowych
OEIS. W bazie tej różne osoby z biegiem czasu dodają różne interpretacje danej sekwencji liczbowej (podobnie, jak tworzona jest Wikipedia). Zajrzałem tam i zaskoczony przeczytałem jedną z interpretacji tej sekwencji: "Number of ways to choose n-1 disjoint pairs of items from 2*n-1 items (one item remains unpaired)" której autorem jest... Bartosz Żółtak, czyli ja :-). Interpretację tę dopisałem tam w 2012 roku, gdy akurat natknąłem się na pewne zjawisko podczas badań nad funkcją. Obecnie nie pamiętałem, że opisywałem tam właśnie tę sekwencję. Dopiero po przeczytaniu tam własnego nazwiska zrozumiałem, że już tu wcześniej byłem! :-)

Ponieważ trzymam cały brudnopis moich badań i jest on względnie ustrukturyzowany, znalezienie w nim notatek z 2012, dotyczących tej sekwencji, zajęło mi 3 minuty. Oto te notatki z 2012 roku:

To nawiązanie do przeszłości nie ma bezpośredniego wpływu na bieżące wyniki, ale było ciekawym przeżyciem emocjonalnym, że idąc dalej tą samą drogą, natknąłem się na ślad własnych badań sprzed 7 lat.

To jeden z małych przykładów spójności, o której wielokroć mówiłem na różnych wystąpieniach. Moja pewność siebie dotycząca funkcji VMPC wynika głównie z tego, że po 20 latach analizowania tego samego zjawiska na wiele różnych sposobów za każdym razem dochodziłem do podobnych zjawisk kombinatorycznych, opisujących problem odwracania funkcji jako niewielomianowo (czyli jednokierunkowo) trudny. To nie jest dowód, że mam w moich badaniach rację, ale jest to mocny subiektywny argument, który pozwala mi wierzyć, że mam rację.

Jeśli masz ochotę wesprzeć mój projekt, bardzo dziękuję za każdą pomoc:

www.zrzutka.pl/vmpc




02.07.2019. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#020719

Udało mi się ukończyć kolejny etap pracy - integrację nowej części pracy z "językiem VMPC". Nowe pomysły na zdefiniowanie "języka VMPC" z końca maja sprawdziły się i pozwoliły zapisać "język" w znacznie prostszy sposób. Koncepcyjnie prostszy, gdyż objętość formalnego czystopisu spadła raptem z 6 do 5 stron.

"Język VMPC" stanowi centralny element pracy. Pozwala opisać proces odwracania funkcji VMPC w taki sposób, że możliwe jest udowodnienie jej jednokierunkowości bez względu na zastosowany algorytm. Innymi słowy, każdy algorytm odwracania funkcji, szczególnie taki, o którym nigdy nie pomyślałem, musi "pokonać" pewne kombinatoryczne zjawiska, które w funkcji VMPC zachodzą, a które "język VMPC" opisuje formalnie.

Nie obyło się bez masochistycznych sytuacji. Etap ten był już raz zakończony około połowy czerwca. Dziś mamy początek lipca.

Po zakończeniu pracy w połowie czerwca zauważyłem kolejny sposób na uproszczenie dwóch głównych definicji (pewnych zbiorów). Uproszczenie było dość fundamentalne, gdyż pozwalało zrezygnować z jednego poziomu rekurencji (czyli definiowania następnego obiektu na podstawie poprzedniego). W wyniku tego uproszczenia całą pracę wykonaną przez pierwszą połowę czerwca musiałem zrobić jeszcze raz.

Najgorsze zostało "na deser" - ostatni tydzień czerwca. Zostały mi do udowodnienia dwa "bzdurne" lematy, które intuicyjnie są oczywiste. Ich dowód w poprzedniej rekurencyjnej wersji języka był trywialny, gdyż wynikał wprost z rekurencji. W nowej wersji musiałem znaleźć "źródło tej oczywistości" bez rekurencji i zapisać je formalnie. Udało się i choć wymagało sporo wysiłku, nie dało mi satysfakcji intelektualnej ani twórczej.

Dodam, że wszystkie 3 wersje "języka VMPC" są prawidłowe i opisują dokładnie to samo zjawisko. Walka toczy się tylko o to, aby sposób formalnego opisu tego zjawiska był możliwie najbardziej zwięzły i elegancki. A może mimo moich wysiłków ktoś mądrzejszy ode mnie kiedyś zapisze to wszystko jeszcze zwięźlej i jeszcze ładniej. Np. na 1 stronie. Nie wiadomo.

Jestem przemęczony i widzę u siebie kilka objawów wypalenia zawodowego. Nie mam za bardzo siły cieszyć się z zakończenia obecnego etapu.

Przede mną jeszcze dwa duże etapy oraz kilka mniejszych. Dwa duże to "funkcja malejąca" (w dużej mierze opracowana już koncepcyjnie, pozostało sformalizowanie) oraz "twierdzenie o nieoznaczoności" (jest to formalny zapis tego, nad czym pracowałem cały 2017 rok, "kartka 36").

Po obejrzeniu z dystansem wszystkich stworzonych w ostatnim miesiącu materiałów nie wiem, kiedy to wszystko zrobiłem. Nie wiem, o czym to wrażenie świadczy. Może wynika z przemęczenia?

Obecnie potrzebuję poważnej regeneracji, bo w tej chwili nie mam kompletnie sił. Siły oczywiście wrócą, to naturalne, a niczego w świecie nie chcę bardziej niż ukończenia tej cholernej pracy.

Brudnopis obecnego etapu (z ostatniego miesiąca):

Stara wersja "języka VMPC" z 2016 roku:

Nowa rekurencyjna wersja "języka VMPC" z 1. połowy czerwca 2019:

Najnowsza nierekurencyjna wersja "języka VMPC" z 2. połowy czerwca 2019. W klamerkach dopisanych piórem zaznaczyłem dowody owych dwóch bzdurnych lematów, które w starej wersji powyżej zajmują dwie linijki, a w nowej wersji poniżej - całą stronę.




29.05.2019. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#290519

Zawsze wierzyłem, że ważną rolę w skuteczności pracy odgrywa ergonomia stanowiska pracy (czyli wygoda, dopasowanie do kształtu ciała). Jeśli ergonomia jest na dobrym poziomie, pozwala skupić się na samej pracy, bez uciążliwych "impulsów dyskomfortu", które świadomie lub nie dekoncentrują umysł.

Choć mam bardzo wygodne (samodzielnie przerobione) biurko komputerowe, to zawsze brakowało mi ergonomicznego miejsca do pracy tradycyjnej, czyli z kartką papieru i piórem. Wystarczy zwykły stół, jednak tu, gdzie mieszkam, mam krzywą podłogę i zwykły 4-nożny stół, "telepie się", czyli jedna z 4 nóg nie dochodzi do podłogi. Próby podkładania czegoś pod nogę się nie sprawdziły, bo stół za każdym razem stoi trochę w innym miejscu i za każdym razem musiałem podkładać inną ilość podkładek.

Uznałem, że nowy etap pracy (integracja wyprowadzenie wzoru P4 z "językiem VMPC") pójdzie mi znacznie sprawniej, jeśli wykonam małe udoskonalenie w obszarze ergonomii, aby uodpornić stół na nierówność podłogi. Niestety nie mogłem w żadnym sklepie znaleźć stołu, który spełniałby moje wymagania co do wymiarów, braku poprzeczki pod blatem i aby się nie telepał na krzywej podłodze. Oczywiście nie stać mnie na zamówienie stołu u stolarza, więc wykonałem taki stół samodzielnie:



Oszacowałem, że budowa nowego stołu się opłaci, bo choć zajęła mi 2 dni, pozwoli zaoszczędzić znacznie więcej czasu dzięki polepszeniu ergonomii pracy.

Z innych ciekawostek, udało mi się wreszcie rozpocząć prace nad nową aplikacją do szyfrowania, o której wspominałem kilka miesięcy temu. Powstanie ona poprzez wyodrębnienie z VMPCrypt szyfrowanej książki, udoskonalenie jej i zastosowanie technologii szyfrowania VMPC-R (o której wspominałem na początku roku).

Wróćmy jednak do pracy nad funkcją. Ponieważ ów "język VMPC" jest mocno skomplikowany, a ostatni raz pracowałem nad nim 3 lata temu, założyłem, że jego integracja z nowymi oznaczeniami (powstałymi podczas wyprowadzania wzoru P4) może mi zająć czas do końca czerwca.

Przeczytałem i dokładnie przeanalizowałem stary "język VMPC" oraz powiązane z nim tzw. "twierdzenie o równowadze" (robocza nazwa). Twierdzenie to jest jednym z najważniejszych w całej pracy. Stanowi ono fundamentalny element, który umożliwił przeprowadzenie dowodu jednokierunkowości funkcji VMPC w formie ogólnej (czyli dla dowolnego zrandomizowanego algorytmu odwracania funkcji). Odkryłem to twierdzenie około 2011. Było ono tak przełomowe i byłem nim wówczas tak nim podekscytowany, że aby je zapisać, pojechałem na samotną wycieczkę (do Szklarskiej Poręby), aby nadać wydarzeniu więcej ceremonii i podelektować się nim.

"Język VMPC" był potem stworzony przede wszystkim po to, aby formalnie zapisać to twierdzenie. Język wraz z dowodem tego twierdzenia zajmują w pracy na czysto 6 stron.

Jak wiadomo, zawsze kiepsko mi szło szacowanie czasu... Prawie zawsze elementy zajmowały mi znacznie więcej czasu niż pierwotnie zakładałem. I już wiem, że teraz też bardzo źle mi poszło oszacowanie czasu pracy nad nowym etapem...

Okazało się, ze etap zaplanowany na miesiąc czasu udało mi się wykonać w 7 dni! Tak wyglądają efekty (na razie na brudno):

Na brudno udoskonalona wersja języka VMPC wraz z dowodem twierdzenia o równowadze zajmuje około... 1/3 strony (większość z powyższych 7 stron to zapis ewolucyjnej drogi do tego wyniku). Oczywiście po zapisaniu formalnie na czysto objętość ta może wzrosnąć kilkakrotnie, ale już widzę, że zapis będzie wielokrotnie prostszy od starej wersji!

Zagadką jest dla mnie, jak to się stało. Prześledziłem zapisane rozumowanie kilkakrotnie i jest ono prawidłowe. Albo moja sprawność w opisywaniu funkcji VMPC tak bardzo się zwiększyła przez ostatnie 3 lata, a może nowe oznaczenia ze wzoru P4 ułatwiły wpadnięcie na lepsze pomysły opisania zjawiska. Albo pomógł nowy stół, który w szczególny sposób utrzymuje... równowagę? :-) A może był to efekt synergiczny i każdy z tych czynników (plus inne, nieznane mi) odegrały jakąś rolę?

Ze starej wersji "języka VMPC" praktycznie nic nie zostało... Wszystko zostało zapisane na nowo, innym sposobem.

Nowy zapis wykracza o jeden ważny krok dalej od starej wersji (która miała ten krok dopiero przed sobą). Po raz pierwszy zapisałem (na razie brudno) jedną z dwóch postaci finalnego wzoru całej pracy - na niewielomianowe prawdopodobieństwo odwrócenia funkcji VMPC! Jest to pierwszy konkretny znak, że praca faktycznie jest na ukończeniu.

Wciąż poszukuję odpowiedzi, dlaczego wielcy matematycy twierdzą, że matematyka jest sztuką. Podejrzewam (to tylko moje subiektywne zdanie), że aspekt sztuki w matematyce przejawia się w tego typu sytuacjach, że jakąś myśl można zapisać na wiele różnych sposobów, a wybór danego sposobu (spośród różnych alternatywnych poprawnych) jest rodzajem sztuki. Czy sposób, na który wpadłem teraz, jest znacznie lepszy (piękniejszy?) niż poprzedni? Czuję, że tak. Czy nie da się znaleźć piękniejszego? Na pewno się da. Ale ja już nie będę szukał, ten mi wystarczy.

Być może wygląda to podobnie, jak gdy np. malarz czy autor wiersza chce przekazać jakąś myśl, jakąś emocję, ma nieskończoną ilość sposobów, jak ją wyrazić, i od jego inspiracji zależy, jaki sposób wybierze / stworzy?

Mam nadzieję, że kiedyś będę miał okazję podyskutować o tym z kimś, kto także przechodził przez podobną drogę. Jestem niezmiernie ciekaw, czy moje obserwacje są choć trochę trafne.




12.05.2019. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#120519

Formalne zapisanie wyprowadzenia wzoru P4 zostało ukończone. Okazało się złośliwie skomplikowane, gdyż jest w nim niestandardowo duża rozpiętość pomiędzy prostotą intuicyjną a komplikacją formalną.

Mówiąc bardziej po ludzku - na poziomie intuicyjnym, czyli używając (względnie precyzyjnych!) skrótów myślowych, można to wyprowadzenie zapisać na 1/3 (jednej trzeciej) kartki A4. Tymczasem zapis formalny (a więc zawierający formalne sprecyzowanie tych wszystkich wykorzystanych faktów) zajmuje 6 stron A4. Czyli 18-krotnie więcej.



Dodam pokornie, że końcowa postać wyprowadzenia jest mocno odmienna od tego, jak sobie je na początku wyobrażałem... Wchodząc w kolejne etapy formalizowania skrótów myślowych czułem, jakby to funkcja mówiła mi (a nie ja planuję), jakie fakty należy kolejno opisać i udowodnić. Z wyniku końcowego jestem jednak bardzo zadowolony, nawet bardziej niż początkowo sądziłem, że będę.

Kolejny etap zapowiada się wyjątkowo ciekawie. Wyprowadzenie wzoru P4 zostanie zintegrowane ze wspominanym wcześniej "językiem VMPC", czyli zajmującym 4 strony A4 zbiorem definicji służących do opisu funkcji VMPC. Język ten zostało skomponowany w roku 2016. Jednocześnie wyprowadzenie P4 używa nieco innych oznaczeń. Połączenie obu w spójną całość będzie twórczym wyzwaniem, na które się bardzo cieszę!

W jeszcze kolejnym etapie wzór P4 zostanie uogólniony o kolejny poziom. Będzie to etap, w którym będzie już widać związek z ogólną definicją funkcji jednokierunkowej oraz problemem "czy P=NP?".

W następnym etapie wzór zostanie uogólniony o jeszcze kolejny poziom i to będzie wynik końcowy całej pracy. Ten właśnie etap opisywałem wcześniej ogólnie pod hasłem "funkcji malejącej".

Na koniec zostanie formalny zapis twierdzenia, nad którym pracowałem w roku 2017 ("kartka numer 36").

Na deser pozostanie formalne opisanie implikacji, że z istnienia (jednokierunkowej) funkcji VMPC wynika, że P≠NP.

Nigdy wcześniej nie umiałem tak precyzyjnie zidentyfikować elementów pozostałych do wykonania. To pozwala mi wierzyć, że koniec faktycznie jest już blisko!

Z innych informacji:

Niedawno otrzymałem propozycję "pracy" (zlecenia) przy opracowaniu modelu matematycznego do gry komputerowej od pewnego studia. Mimo że na zleceniu tym prawdopodobnie mógłbym zarobić kilka tysięcy złotych, to odrzuciłem propozycję, gdyż zbyt mocno zajęłaby mi głowę i odciągnęła od pracy nad funkcją na zbyt długi czas. Po podjęciu tej decyzji ani chwili jej nie żałowałem.

W ostatnim czasie miałem też przyjemność prezentować projekt VMPC w pewnym ciekawym miejscu, łączącym świat nauki i biznesu.

Gdy na końcu prezentacji podsumowałam, że 70% czasu mojej pracy nad funkcją (czyli 14 z 20 lat...) to czas stracony na badanie ślepych uliczek, słuchacze z uśmiechem pokiwali głową, że w ich branży sytuacja wygląda podobnie. Ludzką rzeczą jest błądzić ;-)

Dla uściślenia - etap błądzenia mam za sobą, ale tylko dzięki przejściu przez niego jestem dziś tu, gdzie jestem.

Jeśli masz ochotę wesprzeć mój projekt, możesz wpłacić dowolną kwotę na zrzutkę:

www.zrzutka.pl/vmpc




13.04.2019. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#130419

Stokrotne ponowne podziękowania dla anonimowego pomocnika, który przed chwilą (również o godzinie 23:05!) przesłał mi uproszczenie wzoru P4, o którym była mowa w poprzednim wpisie!

Zawarta tam równość okazała się prawidłowa, ale wyprowadzenie okazało się bardziej złożone niż się spodziewałem, a to tylko powiększa zasługę, gdyż jest to dla mnie nie mała ulga, ale co najmniej zauważalna ulga!

Bardzo gorąco dziękuję za tę pomoc! Jeśli tylko osoba ta będzie sobie tego życzyła i skontaktuje się ze mną bezpośrednio (na razie nie wiem, kim ona jest!), to podziękowanie za ten miły i cenny gest chciałbym zawrzeć w oficjalnej wersji pracy w sekcji "podziękowania". Do tego darmowy egzemplarz gry Permutu z pisemnym podziękowaniem - ponownie, jeśli tylko osoba ta życzyłaby sobie go otrzymać.

Na razie w sekcji "podziękowania" znajdzie się jeszcze jedno inne nazwisko osoby, z którą współpracowałem kilka lat temu i która udowadniała dla mnie pewną nierówność (istnieje tylko jedna osoba, która odpowiada temu opisowi, więc jeśli osoba ta czyta niniejsze słowa, to ma pewność, że mowa jest o niej :-)). Oczywiście podziękowanie zostanie zapisane tylko, jeśli podczas finalizowania pracy (to jeszcze nie teraz) osoba ta potwierdzi chęć zawarcia tam swojego nazwiska.

Tymczasem wracam do pracy nad finalizowaniem zapisu na czysto wyprowadzenia wzoru P4, a zaraz po tym - do zapisania przesłanego uproszczenia!

Jest to naprawdę ważny element pracy, dlatego jestem tą sytuacją tak ucieszony!

Jeśli masz ochotę wesprzeć mój projekt, możesz wpłacić dowolną kwotę na zrzutkę:

www.zrzutka.pl/vmpc




11.04.2019. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#110419

Serdecznie dziękuję osobie, która w środę o 23:05 przesłała mi anonimowo (korzystając z WolframAlpha) bardzo ciekawe uproszczenie wzoru, wykraczające znacznie poza zakres ogłoszonego konkursu!

Idąc za ciosem, zamieszczam kolejny wzór, P4, który jest uogólnieniem wzoru P3 (wzór P4 zawiera już w sobie uproszczenie, będące rozwiązaniem wczorajszego konkursu).



I tu moja prośba do tej osoby: jeśli to nie kłopot, będę bardzo wdzięczny za wykonanie analogicznych przekształceń, jak dla wzoru P3, ale dla powyższego wzoru P4 oraz za przesłanie mi tych przekształceń w formie jakiegoś pliku, może być nawet skan / zdjęcie zapisu własnoręcznego, emailem na adres:


Byłaby to dla mnie choć mała ulga, gdyż nie musiałbym wykonywać tej części pracy samodzielnie.

Podana powyżej równość to wynik roboczy i może zawierać jakiś błąd, gdyż zapisałem ją z głowy jako intuicyjnie spodziewany wynik. Mimo to może uprości pracę (a raczej nie utrudni).

Z góry dziękuję za pomoc i bardzo się cieszę, że niniejszy nieformalny blog może dawać takie formalne pożytki!

Dziękuję też gorąco osobie, która wspaniałomyślnie wpłaciła dziś największą jak dotąd kwotę 500 zł na zrzutkę! Takie gesty mają podwójną moc - bezpośrednią i pośrednią - motywacyjną. Bardzo serdecznie dziękuję!!!

Dziękuję też osobie, która przesłała mi wiadomość dość celnie uświadamiającą, że wiele z osób czytających mojego bloga nie jest w stanie wspomóc mnie finansowo, a mimo to mi kibicują i śledzą przebieg projektu. Takie osoby są dla mnie bardzo ważne i zawsze z przyjemnością czytam takie wiadomości. Dodają mi one także energii!

Mam nadzieję, że ostatni napad depresji sprzed dwóch tygodni był ostatnim i teraz jednym ciągiem (z małymi przerwami na odpoczynki) uda mi się dokończyć pracę w ciągu najbliższych kilku miesięcy!

Jeśli masz ochotę wesprzeć mój projekt, możesz wpłacić dowolną kwotę na zrzutkę:

www.zrzutka.pl/vmpc




10.04.2019. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#100419

Aby trochę ożywić atmosferę, postanowiłem ogłosić mały konkurs związany z wyprowadzonym ostatnio wzorem:



Konkurs polega na znalezieniu sposobu, jak uprościć licznik powyższego ułamka tak, aby zawierał nie 5, ale 4 czynniki. Dla mniej wtajemniczonych dodam, że podkreślenie wykładnika (np. G-R) posiada swoje matematyczne znaczenie.

Konkurs wygra pierwsza osoba, która znajdzie taki sposób. W nagrodę osoba ta otrzyma wysyłkowo grę Permutu z okolicznościową dedykacją i autografem!

Zadanie nie jest trudne ani podchwytliwe. Zachęcam! Wyniki zostaną ogłoszone tu na blogu. Zwycięzca zostanie ogłoszony albo anonimowo albo zostanie przedstawiony tak, jak sobie tego zażyczy.

Ogłoszenie zwycięzcy powinno się pojawić w ciągu kilku godzin od nadesłania odpowiedzi, więc można przyjąć w uproszczeniu, że dopóki ogłoszenia o rozwiązaniu nie ma tu, to znaczy, że konkurs jest aktualny!

Tymczasem trwają intensywne prace nad formalnym zapisem wyprowadzenia tego wzoru. Wzór jest stosunkowo prosty w swojej postaci oraz w kombinatorycznym znaczeniu i wydaje mi się, że mózg generuje mi go jedną myślą w ułamku sekundy. Jednocześnie wyprowadzenie go, jak dotąd, zajmuje 6 stron matematycznych formalizmów, a jeszcze nie jest ukończone.

To piękno i przekleństwo matematyki jednocześnie. Piękna jest jej precyzja, a przekleństwem jest droga do osiągnięcia tej precyzji.

To zjawisko występuje od samego początku pisania pracy i jest główną przyczyną, dla której zapisanie całej pracy formalnie na czysto zamiast roku, trwa już ponad 4 lata.

Jeśli masz ochotę wesprzeć mój projekt, możesz wpłacić dowolną kwotę na poniższą zrzutkę:

www.zrzutka.pl/vmpc




02.04.2019. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#020419

W ostatnich dniach ukończyłem wyprowadzać najważniejszy jak dotychczas wzór (P3). Jest on jednym z trzech finałowych wzorów całej pracy.



Jest on spokrewniony (opisuje to samo zjawisko, tylko od innej strony), z "wielkim" wzorem (P2) z roku 2015 (wpis z dnia 19.02.2015). Cała praca od 2015 do teraz, wraz ze wszystkimi wykonanymi po drodze elementami, służyła jednemu celowi - aby ze wzoru P2 przejść do wzoru P3.

Wzory te powinny dawać zbliżone wyniki (ale nie mogą dawać zawsze takich samych wyników). Liczyłem, że w optymistycznej wersji wyniki P3 będą się odchylały o nie więcej niż 50% od P2.

Tymczasem okazało się, że maksymalne odchylenie wynosi nie 50%, ale mniej niż 1%! Co więcej, przy parametrach N, G dających wyniki bliskie 0 lub bliskie jedności oba wzory są asymptotycznie dość szybko zbieżne do siebie.

Co jeszcze ciekawsze, dla G=1 oba wzory upraszczają się do identycznej postaci.

Zbieżność obu wzorów da się uzasadnić kombinatorycznie (czyli teoretycznie), ale nie spodziewałem się, że wymiar liczbowy (czyli praktyczny) tej zbieżności będzie aż tak wyraźny! Ogólnie rzecz biorąc, jest to fenomenalny wynik, którego sam się nie spodziewałem!

Z innych wieści, otrzymałem pierwsze zaproszenie na prelekcję na temat mojego projektu, umówioną na wrzesień 2019. Jeśli wszystko pójdzie zgodnie z planem, odbędzie się ona już po ukończeniu pracy.

Jeśli masz ochotę wesprzeć mój projekt, możesz wpłacić dowolną kwotę na poniższą zrzutkę:

www.zrzutka.pl/vmpc




06.03.2019. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#060319

Zakończyłem właśnie etap, otwierający formalną drogą już do samego końca pracy. Opracowałem kolejną porcję definicji (zmiennych, zbiorów i funkcji), potrzebnych do formalnego opisu procesu zgadywania elementów permutacji podczas odwracania funkcji VMPC. Brzmi banalnie, ale nie było to zadanie łatwe. Opracowane definicje musiały być eleganckie, najprostsze, jak to możliwe, pasować do istniejącej już treści w pracy i umożliwiać elastyczne opisywanie zjawisk. Od początku do wersji końcowej opracowanie tych definicji zajęło mi dwa tygodnie. Długo jak na kilka definicji, ale mam satysfakcję, że definicje są bardzo dobre.

Zostały już wykorzystane do opisu trzech bardzo ważnych lematów, stanowiących jeden z głównych filarów dowodu jednokierunkowości funkcji VMPC. Wcześniej opis tych 3 lematów był dość skomplikowany, co więcej wymagał jeszcze uzupełnienia. Teraz, przy pomocy nowo opracowanych definicji, zapisanie każdego z nich w kompletnej postaci możliwe było w jednej linijce. Dowód każdego z 3 lematów zajmuje teraz tylko 2 linijki formalnego zapisu. Dla takich efektów warto było poświęcić 2 tygodnie.



Nowo opracowane definicje formalnie stanowią uzupełnienie tzw. "języka VMPC", o którym tu wielokroć pisałem. Jest to zestaw definicji, który umożliwia formalny zapis dowodu jednokierunkowości funkcji VMPC. Pozornie może się wydawać, że wartość samych definicji nie jest zbyt wielka, a liczy się przede wszystkim rozumowanie. Na poziomie intuicyjnym jest to prawda. Jednak na poziomie formalnym jakość skonstruowanych definicji jest niezwykle ważna. Może ona nawet stanowić warunek decydujący o tym, czy uda się rozumowanie zapisać formalnie, czy nie. A co najmniej decyduje o tym, jak elegancki będzie powstały zapis.

Ze skomponowanego zapisu powyższych 3 lematów - każdy w 3 linijkach wraz z dowodem - mam bardzo dużą satysfakcję. Niestety nikt mnie za to nie pochwali, gdyż pracuję sam, więc muszę pochwalić się sam. Przyznaję sobie za skomponowanie tych definicji i zapis tych lematów 10 punktów!

Uważni czytelnicy mogą pamiętać moje narzekania na mozolną pracę przy wyprowadzaniu rozkładów prawdopodobieństwa (25.09.2018), gdzie po zapisie 11 stron rozumowania przy użyciu niemal samych symboli matematycznych, przyznałem sobie za wykonaną pracę 0 punktów. Teraz za zapisanie kilku definicji i 9 linijek rozumowania 10 punktów.

Skąd taka różnica? Tamta praca nie miała żadnego aspektu twórczego, była tylko matematyczną pracą fizyczną, kojarzeniem faktów, dopasowywaniem ich do wzorów, formułowaniem wniosków. Praca taka jest szlachetna i potrzebna, ale nie wymaga szczególnej inteligencji, a tym bardziej zdolności twórczych. Jedynie jakiegoś zmysłu do porządkowania informacji, bardzo podobnego do zmysłu używanego np. podczas porządkowania zagraconej szuflady ze szpargałami (mówię tu całkowicie poważnie). Praca taka jest jednak niezbędna do wykonania. Jedynym źródłem satysfakcji po jej wykonaniu jest fakt, że już nie trzeba jej więcej wykonywać. Nie ma żadnej satysfakcji twórczej. Stąd 0 punktów za taką pracę. Jednak 0 punktów to też jakaś forma docenienia, lepsza niż nic.

Tym bardziej cieszę się, że dla kontrastu teraz udało mi się skończyć etap, który miał w sobie dużo elementu twórczego, wymagał faktycznie myślenia, a nie tylko pracy fizycznej, i tu jestem dumny z efektów. Stąd 10 punktów.

Opracowane teraz definicje, wraz z wcześniejszymi, teoretycznie powinny umożliwić opisanie wszystkich brakujących elementów dowodu, do samego końca. Z ekscytacją zabieram się za zapisywanie kolejnych elementów!

Równocześnie miało miejsce szczególne wydarzenie, związane z grą Permutu. Permutu, jak wiadomo, jest grą wywodzącą się z funkcji VMPC oraz, przynajmniej teoretycznie, bo praktycznie to nie, próbuje stanowić źródło finansowania moich badań nad funkcją VMPC.

22.02.2019 sprzedał się ostatni przeznaczony do normalnej sprzedaży egzemplarz
kolekcjonerskiej (drewnianej) wersji Permutu. Zestaw numer 15.

Jak niektórzy mogą pamiętać, wyprodukowanych zostało tylko 35 sztuk zestawów kolekcjonerskich. Na przestrzeni lat sprzedawało się po kilka sztuk rocznie, aż teraz przyszedł czas, kiedy sprzedała się ostatnia sztuka.

Obecnie w mojej prywatnej kolekcji pozostały zestawy o numerach 5,7,14,16,17. Nie są one już jednak przeznaczone do normalnej sprzedaży.

Kolekcjonerskie zestawy Permutu

Oznacza to, że to źródło finansowania projektu VMPC dla mnie właśnie się skończyło. Jednocześnie gorąco zachęcam wszystkich śledzących i chcących wyrazić swoje poparcie dla mojej pracy do wsparcia projektu. Nawet drobne wpłaty podnoszą mnie na duchu i motywują do dalszej pracy. Pokazują bowiem, że ktoś popiera moje wysiłki i potrafi to wyrazić czynami, a nie tylko słowami lub myślami. Z góry gorąco dziękuję za każdą wpłatę.

www.zrzutka.pl/vmpc




18.02.2019. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#180219

Na fali pesymizmu przez ostatnie tygodnie odłożyłem na razie plany rozwijania nowej aplikacji do szyfrowania. Wrócę do nich nieco później. Poczyniłem zamiast tego znaczne postępy w pracy nad funkcją. Zakończyłem wyprowadzanie wszystkich pozostałych rozkładów prawdopodobieństwa, które są potrzebne. Rozkład, o którym pisałem wcześniej (25.09.2018), był największym i najtrudniejszym z nich, co nie zmienia faktu, że łącznie wyprowadzić trzeba było 10 różnych rozkładów prawdopodobieństwa. Jeden z pozostałych 9 był już wcześniej wyprowadzony roboczo, jednak teraz jego wyprowadzenie wykonałem całkowicie na nowo, używając lepszego warsztatu. Wyprowadziłem też, już na czysto, wszystkie brakujące 8 rozkładów.

To dość ważne osiągnięcie, bo całkowicie zamyka mozolną, warsztatową część pracy, dotyczącą rozkładów prawdopodobieństwa. Łącznie z powyższymi 9 rozkładami, zajmuje ona 20 stron na czysto w pracy.

Obecnie praca ma już 82 strony. W tej chwili trwa już kolejny etap, związany z zapisywaniem na czysto wyników analiz nazywanych roboczo "funkcją malejącą", nad którymi pracowałem od października 2018.

Środki zebrane z poprzedniej zrzutki z 2015 roku miały mi wystarczyć na rok badań. Pracowałem za nie 4 lata, dzięki dodatkowej pomocy kilku osób dobrej woli oraz rodziców. Teraz sytuacja się pogorszyła i dlatego powstała nowa
zrzutka.

Sądząc po względnie dużej liczbie udostępnień nowej zrzutki (392) i zakładając ostrożnie, że 28% osób czytających bloga zdecydowało się dokonać udostępnienia, wynikałoby, że bloga śledzi około 1400 osób (28% * 1400 = 392).

Jednocześnie tylko 14 z nich zdecydowało się na wpłatę. Czyli jedna na 100 osób (1/100 * 1400 = 14) postanowiła wyrazić swoje poparcie dla mojego projektu czynami. Bardzo dziękuję tym 14 osobom i pozdrawiam także wszystkich pozostałych.




26.01.2019. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#260119

Opublikowałem pracę naukową dotyczącą opracowanego przeze mnie schematu uwierzytelnionego szyfrowania dla szyfru strumieniowego
VMPC-R. Praca została opublikowana w serwisie IACR Cryptology ePrint Archive Międzynarodowego Stowarzyszenia Badań Kryptologicznych.

Pracę można pobrać bezpośrednio: Message Authentication (MAC) Algorithm For The VMPC-R (RC4-like) Stream Cipher (Algorytm uwierzytelnionego szyfrowania dla szyfru strumieniowego VMPC-R).

Zestaw algorytmów opisanych w tej pracy zostanie użyty w aplikacji do szyfrowania, którą zapowiadałem w poprzednich wpisach i która powinna być gotowa w ciągu kilku miesięcy. Praca nad tą aplikacją będzie stanowiła dla mnie (chyba nietypową) formę rozrywki podczas finalizowania pracy nad funkcją VMPC.

Zaktualizowałem wreszcie anglojęzyczny opis projektu na najstarszej stronie www, na której pojawił się opis funkcji VMPC w 2003 roku: www.vmpcfunction.com.

Powyższymi elementami zamknąłem wszystkie niedokończone projekty.

Było to dla mnie ważne. Teraz mam czystą drogę do dokończenia głównej części całego projektu, czyli pracy dowodzącej jednokierunkowości funkcji VMPC. Obecnie jestem na etapie budowania koncentracji - przegryzam się przez ostatnie wyniki, dotyczące etapu "funkcja malejąca", które uzyskałem w grudniu 2018. W najbliższych dniach zabieram się już za zapisywanie ich na czysto.

Będzie to wejście w ostatni duży etap całego projektu - od teraz jednym ciągiem powinienem doprowadzić pracę do końca. Liczę, że do końca czerwca 2019 praca powinna być gotowa.

Całkowicie przeredagowałem opis nowej zrzutki. Jest teraz bardziej przejrzysty i skupiony na głównym celu. Zapraszam do lektury.

Jednocześnie chciałem wyrazić ubolewanie nad skutecznością nowej zrzutki. Na razie udało mi się zebrać jedynie 385 zł z 11 wpłat. Wynik ten oznacza, że wiele osób, które śledzą postępy mojego projektu, nie ma chęci wyrazić swojego poparcia choćby symboliczną wpłatą. Mimo wszystko chciałbym podziękować tym kilku osobom, które dokonały wpłaty.

Moją pracę o funkcji ukończę bez względu na to, jaki będzie wynik zrzutki. Jednak decyzje na temat mojej przyszłości będą już zależne od wyniku zrzutki.

Wszystkim, którzy chcieliby wpłacić choć symboliczną kwotę, gorąco dziękuję. Każda wpłata jest dla mnie cenna, nie tylko finansowo. Każda wpłata jest wyrazem poparcia dla moich wysiłków i autentycznie motywuje mnie do dalszej pracy. Za każdą bardzo dziękuję.

www.zrzutka.pl/vmpc




11.01.2019. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#110119

Jutro (12.01.2019) ważny dla mnie dzień - 40 urodziny :-) Mówi się, że życie zaczyna się po 40. Zobaczę, czy u mnie się to sprawdzi. Przeciwności losu uniemożliwiły mi ukończenie pracy nad dowodem jednokierunkowości funkcji VMPC do tej 40. Jednocześnie wszystko wskazuje na to, że nastąpi to zanim skończę 41, więc w jakimś przynajmniej sensie uda się to "w trakcie" 40.

Ale nie ma tego złego i zgodnie z postanowieniem z poprzedniego wpisu postanowiłem zakończyć do 40 urodzin inny projekt, który zawsze żałowałem, że nie został doprowadzony do końca. Algorytm szyfrowania VMPC-R. Aby zgodnie z planem zastosować go w nowej aplikacji do szyfrowania danych tekstowych, potrzebne było na początek rozszerzenie go o funkcję uwierzytelniania (generowania tzw. kodów MAC, które pozwalają zweryfikować, czy dane po odszyfrowaniu są dokładnie tymi samymi danymi, które zostały zaszyfrowane). Zaawansowany prototyp oraz roboczą pracę (ale nigdzie nieopublikowaną) miałem gotowe od 2013 roku, a teraz wreszcie znalazłem energię, aby to ukończyć! Od początku roku intensywnie pracowałem nad zaimplementowaniem wszystkich potrzebnych procedur. W tym także w assemblerze. To stara szkoła programowania. Jeśli ktoś interesuje się tematem i uważa, że C++ to programowanie niskiego poziomu, jest w błędzie :-) Niski poziom mamy dopiero, pisząc kod w assemblerze. Choć jest to niezwykle mozolny proces i opłacalny tylko dla procedur wymagających dużej wydajności. Implementacja assemblerowa pozwala (w tym przypadku) uzyskać około 2,5-krotnie szybszy kod. Tak wygląda mały wycinek (cały moduł zajmuje 1300 linii kodu):

Jednocześnie opis algorytmu oraz analiza jego bezpieczeństwa zostaną opublikowane w pracy naukowej. A tę właśnie ukończyłem pisać! Bardzo szybko, ale duża jej część była napisana w 2013 i teraz zostało mi tylko jej sfinalizowanie, co razem z implementacją i intensywnym przetestowaniem wszystkich algorytmów udało mi się zrobić w ciągu pierwszych 10 dni 2019 roku, z czego jestem bardzo zadowolony! Publikacja tej pracy (proszę nie mylić z publikacją pracy o jednokierunkowości funkcji VMPC!) nastąpi wkrótce.

Cieszę się, że przynajmniej coś ważnego uda mi się symbolicznie ukończyć w te 40 urodziny. VMPC-R jest ciekawym algorytmem, gdyż obecnie wszystko wskazuje, że jest on najlepszym na świecie algorytmem tzw. "typu RC4". Generuje strumień danych o najlepszych własnościach statystycznych spośród wszystkich (znanych mi) algorytmów z tej rodziny. Jest lepszy nawet od Spritza, czyli "drugiej próby" wielkiego Ronalda Rivesta, autora RC4 oraz współautora używanego przez wszystkich (najczęściej nieświadomie :-)) algorytmu RSA.

Nieskromnie nadmienię, że moja praca z 2014 roku:
Statistical weakness in Spritz against VMPC-R: in search for the RC4 replacement
jako pierwsza na świecie opisywała jakąś słabość statystyczną (tzw. bias) Spritza. Jednocześnie mój algorytm, VMPC-R, który jest konkurentem dla Spritza, prezentuje w tej dziedzinie dużo wyższą jakość - generuje strumień danych o znacznie lepszych własnościach statystycznych.

Jak pisałem wcześniej, wadą VMPC-R jest jego niska wydajność, więc nie będzie to praktyczna rewolucja w kryptografii, ale jest to co najmniej cenne osiągnięcie naukowe, które jednocześnie znajdzie dobre zastosowanie w nowej aplikacji do szyfrowania tekstów, którą stworzę.

Ciężka robota (implementacja algorytmów i finalizowanie pracy naukowej) dotycząca VMPC-R jest już za mną. Sama praca nad aplikacją będzie już czystą przyjemnością i będzie stanowiła dla mnie, zgodnie z planem, formę intelektualnego odpoczynku przez odmianę podczas finalizowania pracy nad funkcją.

Jednocześnie dziś (podczas gotowania ziemniaków...) wpadł mi do głowy ciekawy wniosek dotyczący kolejnego etapu pracy nad funkcją. Jeśli myśl okaże się trafna, będzie stanowiła kolejne uproszczenie pozostałej do wykonania pracy nad dowodem. A kolejny etap jest związany z integracją najnowszych wyników, czyli "funkcji malejącej" i wspomnianego w ostatnich wpisach jubileuszowego wzoru ze "starą" częścią pracy, czyli tzw. "językiem VMPC", stworzonym w 2016 (to ów wspominany tu niegdyś 4-stronicowy zestaw definicji zmiennych i zbiorów, służących do opisu funkcji VMPC).

Na koniec pozdrowienia dla osoby A ze zbioru osób A i B :-). Dziękuję za wpłatę na zrzutkę i za pamięć!




30.12.2018. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#301218

Z powodu przeszkód życiowych, które zabrały mi łącznie 5 miesięcy z 2018 roku (przeprowadzka, samochód i szereg mniejszych), nie uda mi się sfinalizować pracy do moich 40 urodzin, 12.01.2019. Prognozując ten termin, zakładałem, że będę miał do dyspozycji 12 miesięcy roku 2018, a miałem ich tylko 7 = 12 - 5. Liczę, że uda mi się ukończyć pracę do końca czerwca 2019.

Aby jeszcze bardziej usprawnić pracę nad funkcją, postanowiłem wypróbować nietypowy sposób na odpoczynek. Istnieje powiedzenie, że zmiana jest równie dobra jak odpoczynek (a change is as good as rest).

Dlatego w przerwach pomiędzy etapami pracy nad funkcją, zamiast realizować typowe czynności odpoczynkowe, będę programował. Tak powstanie nowa aplikacja do szyfrowania danych.

Najbardziej unikalną funkcją istniejącej od ponad 10 lat aplikacji VMPCrypt jest szyfrowana książka. Pozwala przechowywać i organizować w folderach w zaszyfrowanej postaci dowolne treści tekstowe, np. loginy i hasła (jak menedżer haseł), prywatną korespondencję, pamiętnik czy treść pisanej powieści.

Szyfrowana książka stanowi jednak tylko dodatkową funkcję VMPCrypt. Obok rozbudowanego modułu szyfrowania plików, schodzi tam na drugi plan. A szkoda!

Nowa aplikacja powstanie poprzez wyodrębnienie i udoskonalenie szyfrowanej książki z VMPCrypt. Będzie posiadała także nową wyjątkową cechę.

Osoby wiernie śledzące mój projekt od 2010 roku mogą pamiętać akcję testów statystycznych na komputerach ponad setki ochotników. Celem było zbadanie własności statystycznych tworzonego wtedy algorytmu szyfrowania VMPC-R. Założeniem konstrukcyjnym VMPC-R była bezkompromisowa odporność na ataki typu distinguisher (odróżniające generowany strumień liczb od modelu losowego). Cel został osiągnięty - dla przykładu, VMPC-R wygenerował w testach 122 biliony pseudolosowych liczb 3-bitowych (z zakresu 0..7) bez wykazywania statystycznie istotnych odchyleń od modelu losowego. Jest to wynik o wiele rzędów wielkości lepszy od jakiegokolwiek znanego mi algorytmu szyfrowania tego typu, włączając w to algorytm Spritz autorstwa legendy światowej kryptografii, Rona Rivesta (współtwórcy algorytmu RSA). Spritz miał być jego odpowiedzią na liczne ataki na jego inny, popularny algorytm RC4. Mówiąc wprost, VMPC-R osiąga w tych testach wielokrotnie lepszy wynik od Spritza.

VMPC-R stał się jednak ofiarą własnej perfekcji. Choć osiąga doskonałe wyniki w testach, ma zbyt niską wydajność, która wynika ze skomplikowania algorytmu. Mimo że VMPC-R powstał jako najprostszy (i jedyny na świecie) algorytm, który jest w stanie te testy przejść.

VMPC-R został opublikowany w serwisie IACR ePrint Archive w 2013: VMPC-R Cryptographically Secure Pseudo-Random Number Generator Alternative to RC4. Od tamtego czasu nikt nie znalazł w nim żadnej słabości.

Wydajność algorytmu VMPC-R to około 50 Mbajtów / sekundę. Przy szyfrowaniu dużych plików mogłaby stać się wąskim gardłem, szczególnie na dyskach SSD.

Jednakże 50 milionów znaków na sekundę, to znowu nie jest tak mało! Dla przykładu, zaszyfrowanie tekstu o objętości 1000 stron A4 zajmie algorytmowi VMPC-R zaledwie 0,05 (5 setnych) sekundy. Do szyfrowania dokumentów tekstowych, nawet gigantycznej wielkości, wydajność taka jest aż zanadto wystarczająca!

Tak powstał pomysł zastosowania w nowej aplikacji właśnie algorytmu VMPC-R! Zapewni on bezkompromisowy poziom bezpieczeństwa szyfrowanym tekstom, a jednocześnie jego wydajność nie będzie stanowiła w tym zastosowaniu żadnego ograniczenia! Tym sposobem znalazłem wreszcie zastosowanie dla tego algorytmu!

Przy okazji, pozdrowienia dla autorki "metody kolorkowej", która została użyta do prawidłowego wyłonienia ostatecznej (i poddanej testom) postaci algorytmu VMPC-R ze zbioru finałowych kandydatów! :-)

Mam też prośbę do osób, które są użytkownikami VMPCrypt. Nieważne, czy używają wersji zarejestrowanej, czy darmowej. Zachęcam wszystkich do przesłania swoich opinii oraz pomysłów na udoskonalenia szyfrowanej książki w VMPCrypt. Co jest uciążliwe? Czego brakuje? Co może działać lepiej? Pomysły te mogą zostać uwzględnione podczas tworzenia nowej aplikacji.

Mile widziane są także pomysły na nazwę dla nowej aplikacji. Jeśli zdecyduję się na nazwę zaproponowaną przez któregoś użytkownika, otrzyma on w nagrodę licencję na nową aplikację oraz grę Permutu!

W tej zainspirowanej atmosferze, gdzie i praca nad świętującą 20-lecie odkrycia funkcją VMPC idzie dobrze, i pojawił się pomysł na stworzenie nowej aplikacji do szyfrowania, chciałbym podziękować wszystkim wiernym czytelnikom za śledzenie postępów projektu, zachęcić do jeszcze częstszego dzielenia się ze mną uwagami oraz chciałbym życzyć wszystkim wiele szczęścia i powodzenia w 2019 roku!




21.12.2018. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#211218

Funkcja VMPC obchodzi jubileusz. Właśnie mija 20. rocznica odkrycia funkcji VMPC. 20 grudnia 1998 zapisałem pierwszą prototypową postać funkcji. Od tamtego czasu zajmuję się nią nieprzerwanie.

Mam nadzieję, że 21 rocznicę będziemy obchodzić już po publikacji pracy.

Szczęśliwie się zbiegło w czasie, że właśnie teraz wyprowadziłem ważny wzór, o którym pisałem we wczorajszym wpisie poniżej. Znaczenie tego wzoru jest na tyle duże, że można uczynić go bohaterem tego jubileuszu.

Ja sam także uczciłem ten jubileusz. Udając się na okresową wizytę do dentysty, gdzie załatałem dwie dziury bez znieczulenia. Jak świętować, to z rozmachem :-)

Osoby śledzące mój projekt znają moją sytuację bytową oraz to, jak dużo czasu musiałem poświęcić na zmagania z różnymi życiowymi przeszkodami, jak własnoręczny remont mieszkania czy samochodu. Nie wspominając o mniejszych problemach. Nie mam już siły się żalić, zaczynam chyba powoli wchodzić w okres obojętności, że jest mi wszystko jedno i biorę to, co los mi przynosi. Jednak nie jest to łatwe.

Swoją misję udowodnienia jednokierunkowości funkcji VMPC przypłacam całkowitym zaniedbaniem "normalnej" części swojego życia - emocjonalnej i materialnej.

Osoby, które wsparły mój projekt na zrzutce w 2015 roku mogą pamiętać, że moim pierwotnym planem było ukończenie pracy w rok. Niestety, okazało się, że był to jednak niemożliwy do spełnienia cel, że napisanie pracy naukowej na podstawie około 1700 stron brudnopisu wymaga trochę więcej czasu. Za kwotę zebraną na rok pracy pracowałem 4 lata.

Z przymusu oraz z okazji jubileuszu odkrycia funkcji założyłem wczoraj drugą zrzutkę. Zatytułowaną "Buntownik z wyboru", dzięki której bardzo chciałbym pod koniec mojej pracy poczuć choć trochę ulgi.

Nowa zrzutka jest dodatkowo manifestem mojego marzenia, aby w przyszłości założyć fundację wspierającą osoby, które obrały podobną drogę do mojej. Indywidualistów, którzy nie odnajdują się w standardowych strukturach systemu akademickiego, ale jednocześnie odkrywają lub tworzą nowe wartościowe elementy dorobku naukowego lub kulturowego ludzkości.



www.zrzutka.pl/vmpc

Matematyk Srinivasa Ramanujan, żyjący w latach 1887-1920 w Indiach był naturalnym geniuszem, który bez formalnego wykształcenia zajmował się matematyką wyższą. W wieku 20 lat odciął się od systemu akademickiego i żyjąc w ekstremalnej biedzie, kontynuował swoje badania niezależnie. 6 lat później został odkryty przez profesora Hardy'ego z Uniwersytetu Cambridge. Razem stworzyli wiele wspaniałych teorii matematycznych. Niestety, Ramanujan zmarł w wieku 32 lat na gruźlicę. Przez całe życie miał kłopoty ze zdrowiem, częściowo będące skutkiem niedożywienia, wynikającego z biedy. Prof. Hardy powiedział, że największym matematycznym osiągnięciem jego życia było... odkrycie Ramanujana.

Grigori Perelman, który rozwiązał inny Problem Milenijny - udowodnił hipotezę Poincare'go - całkowicie odciął się od środowiska akademickiego i to mimo że z takim osiągnięciem każde drzwi stałyby przed nim otworem. Nie przyjął nawet nagrody instytutu Claya ani uważanego za matematycznego Nobla Medalu Fieldsa. Mimo bycia tak radykalnym buntownikiem, rozwiązał problem, z którym żaden matematyk na świecie nie poradził sobie przez dziesiątki lat.

Ludzi tego pokroju, tak utalentowanych i tak zbuntowanych, nie ma zapewne wielu na świecie, ale jak wspaniale by było móc ich odnaleźć i - całkowicie szanując ich buntownicze wybory - zaoferować im poprawę warunków pracy, ale nie oczekując niczego bezpośrednio w zamian. W długoterminowym rozrachunku największy pożytek z ich dorobku i tak ma cywilizacja. My wszyscy. I nasi potomkowie.

Swoją pracę ukończę bez względu na wynik tej zrzutki. Nawet jeśli nie zbiorę ani złotówki i tak doprowadzę swoją pracę do końca. Wynik zrzutki określi jedynie to, w jakich warunkach będę pracę kończył oraz to, jak szybko będę w stanie stworzyć taką fundację.

Byłbym także bardzo wdzięczny wszystkim, którzy mają możliwość przekazania wiadomości o tej zrzutce gdzieś dalej. Przy pomocy swojej lub zaprzyjaźnionej strony internetowej, Facebooka, na słynnym Wykopie lub innym portalu rozsiewającym pomysły.

Taka pomoc jest może jeszcze bardziej cenna niż sama wpłata. Z góry ogromnie dziękuję wszystkim za każde działanie w tym kierunku.

www.zrzutka.pl/vmpc

Mam nadzieję, że nikt po mnie, kto dokona jakiegoś znaczącego odkrycia lub będzie posiadał jakiś szczególny talent, ale będzie podążającym własną drogą indywidualistą, poza standardowymi schematami, nie będzie musiał wykazywać się taką psychopatyczną determinacją, nie będzie musiał poświęcić tak bardzo swojego normalnego życia, jak ja. Nie będzie musiał czuć, że ten niby dar był bardziej przekleństwem i że wolałby urodzić się zwykłym, po prostu szczęśliwym i żyjącym normalnie człowiekiem.

Wczoraj zamieściłem na blogu wpis dotyczący wyprowadzenia i znaczenia wspomnianego powyżej jubileuszowego wzoru. Zapraszam wszystkich do lektury poniżej.




20.12.2018. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#201218

Dobra passa etapu "funkcja malejąca" trwa. Etap ten zapowiadał się na pracochłonny oraz obarczony stosunkowo wysokim ryzykiem przedłużenia się w czasie.

Z tym większą nieśmiałością wyprowadziłem właśnie... finalny wzór tego etapu! Pracę ułatwiły efekty poprzedniego etapu, czyli rozkładu prawdopodobieństwa. Przynajmniej wysiłek włożony w mozolne wyprowadzenie tego rozkładu na 11 stron przyniósł jakieś dodatkowe korzyści ponad to, co pierwotnie zakładałem, że jest to tylko element obowiązkowy, który w pracy musi się znaleźć, aby była ona kompletna.

Wzór wyprowadza się z dość skomplikowanych własności funkcji VMPC oraz z powiązanych z nimi elementów wspomnianego rozkładu prawdopodobieństwa. Można było się spodziewać, że wzór będący taką kompilacją będzie bardziej złożony od (względnie skomplikowanego) wzoru na ów rozkład prawdopodobieństwa. I tak to szło, dopóki wszystko się pięknie nie poupraszczało i nie dało takiego finalnego wyniku:

Wzór jest bardzo prosty, co mnie ogromnie ucieszyło. Zgaduję tylko (a w tym zgadnięciu mogę się całkowicie mylić), że Albert Einstein, gdy wyprowadził swoje słynne, ale mające bardzo prostą formę równanie E=mc2, mógł odczuć podobną radość, że z bardzo skomplikowanych obliczeń wyszedł mu pięknie prosty wynik.

Jak powiedział Leonardo da Vinci, prostota jest szczytem wyrafinowania (simplicity is the ultimate sophistication). Przy okazji, pozdrowienia dla osoby, od której znam ten cytat :-)

Co oznacza ten prosty wzór? Nieco metaforycznie można powiedzieć, że fakt, iż dla dowolnej stałej wartości G wzór ten opisuje funkcję malejącą zmiennej N, stanowi najgłębszy pokład istoty jednokierunkowości funkcji VMPC. Innymi słowy, jeśli na powierzchni jest definicja funkcji, to na samym dnie tajemnicy jej jednokierunkowości leży ten właśnie wzór.

Wzór ten będzie stanowił główny element finalnego wzoru całej pracy, czyli niewielomianowego wzoru na prawdopodobieństwo odwrócenia funkcji VMPC. Ten finalny wzór nie będzie już tak pięknie prosty, ale mimo to będzie zbudowany właśnie z tej prostej "cegiełki", tylko powtórzonej odpowiednią ilość razy i za każdym razem nieco "oszlifowanej". Pozostałe 72 (na razie) strony pracy potrzebne są po to, aby uzasadnić, dlaczego tak jest.

Podtrzymuję to, co już kiedyś tu na blogu zapisałem, że po ukończeniu pracy możliwe będzie napisanie wiersza, który bez użycia żadnych terminów matematycznych odda istotę oraz główne założenia koncepcyjne dowodu jednokierunkowości funkcji VMPC. Takie artystyczne ukoronowanie matematycznej pracy. Czuję, że jest to merytorycznie osiągalne. Sam wierszy nie potrafię pisać, dlatego potrzebowałbym poety-ochotnika do współpracy.

Przed Świętami (w ciągu najbliższych kilku dni) pojawi się jeszcze jeden wpis na blogu. Zapraszam wszystkich do lektury.




27.11.2018. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#271118

Ostatni miesiąc minął niepostrzeżenie. Z jednej strony czułem ogromne wyczerpanie po intensywnej pracy nad rozkładem prawdopodobieństwa. Czułem, że powinienem odpocząć i zregenerować siły. Z drugiej strony czułem pociąg do kolejnego etapu pracy, "funkcji malejącej".

Jest to wbrew pozorom dość poważny dylemat decyzyjny. Przykładowo, jeśli rozwiązanie problemu zajmuje wypoczętemu umysłowi 1 dzień, a umysł jest zmęczony i wypoczęcie zajęłoby 2 dni, to rozwiązanie problemu zajmie łącznie 3 dni (2 dni odpoczynku, 1 dzień pracy). A jeśli rozwiązanie tego samego problemu przez wymęczony umysł zajęłoby 4 dni, to wariant z 2 dniami odpoczynku pozwala zaoszczędzić 1 dzień.

I tak powinienem był zrobić, odpocząć... Choć czy na pewno? Bo na pewno tak nie zrobiłem. Pokusa zajęcia się kolejnym etapem była zbyt silna. Jednocześnie umysł był mocno wyeksploatowany poprzednim etapem.

Efekt tej mieszanki jest co najmniej zaskakujący...

Z jednej strony ograniczałem aktywność intelektualną, aby choć trochę pozwolić umysłowi się zregenerować. Z drugiej strony każdego dnia pozwalałem mu generować luźne wstępne pomysły i wnioski dotyczące kolejnego etapu pracy. Każdy z nich zapisywałem - nietypowo - na małych fiszkach.

Po zapisaniu niemal całego biurka fiszek okazało się, że to, co w nich zapisałem, układa się w zaskakująco spójną i celną całość. Do tego stopnia, że na pewnym bardzo bardzo optymistycznym poziomie interpretacji mogę powiedzieć, że już wykonałem - roboczo - niemal cały kolejny etap pracy! To bardzo zaskakująca i ekscytująca sytuacja. Oczywiście nie jest to w żadnym razie oficjalne zakończenie tego etapu, ba, oficjalnie etap ten nie został nawet jeszcze rozpoczęty! Ale wygląda na to, że etap ten uda się zrealizować dużo sprawniej niż pierwotnie sądziłem!

Na domiar dobrego, pojawił się kolejny dość fascynujący element, który w piękny sposób spina obecny etap z etapem... pierwszym. Czyli "wielkim" wzorem na pewne prawdopodobieństwo, który wyprowadzałem w 2015 roku i którego finalną postać opisywałem tu na blogu 19.02.2015. Okazuje się, że efektem ubocznym obecnego etapu, "funkcji malejącej", jest alternatywny sposób dojścia do tamtego wzoru z 2015 roku... Od całkiem innej strony. Ekscytujące jest, gdy osiągamy ten sam wynik podchodząc do problemu od całkiem różnych stron.

Uściślę, że póki co widzę dopiero sposób, w jaki z obecnego etapu można tamten wzór alternatywnym sposobem wyprowadzić. Ale czy warto to wyprowadzenie wykonywać - oto jest pytanie! Wyprowadzenie jest dość skomplikowane i mozolne. Mogłoby się okazać jeszcze bardziej pracochłonne niż wyprowadzenie ostatniego rozkładu. Zająć mogłoby nawet miesiąc czasu albo więcej. I ostatnie kilka dni poświęciłem na rozwiązanie problemu decyzyjnego, czy wyprowadzać ten wzór alternatywnym sposobem, czy też nie.

Z jednej strony byłaby to kolejna cegiełka, opisująca własności funkcji VMPC. Byłby to element dodatkowy, mogący mieć zastosowanie w praktycznych zastosowaniach funkcji, ale który nie ma bezpośredniego związku i nie zwiększa wartości samego dowodu jednokierunkowości funkcji VMPC.

Gdybym miał zespół asystentów, bez zastanowienia zleciłbym jednemu z nich wykonanie tego wyprowadzenia. Jednak w mojej sytuacji, gdy takowych asystentów nie posiadam, muszę rozsądnie gospodarować własnym czasem i własną energią intelektualną i podjąłem decyzję, że nie będę tego dodatkowego wyprowadzenia przeprowadzał. W oficjalnej pracy opiszę jedynie ogólną strategię przeprowadzenia tego wyprowadzenia (na wypadek gdyby jakiś naukowiec po mnie chciał się tym problemem zająć), a sam skupię się teraz na głównym torze dowodu.

Uzupełniając wpis z poprzedniego miesiąca, zacytuję - już z oficjalnej wersji pracy - szereg podstawowych własności funkcji VMPC.

Jednakże funkcja VMPC to wciąż po prostu f(f(f(x))+1) i taką jej postać darzę największym sentymentem. Postać ta spełnia wszystkie powyższe lematy i pokazuje najszybciej, najgenialniej sens funkcji VMPC. Choć w pracy musiałem ją uogólnić do takiej, mało przystępnej oficjalnej postaci:

to wciąż wzór f(f(f(x))+1), choć formalnie jest tylko szczególnym przypadkiem funkcji VMPC, to jest tym pierwszym, tym najprostszym, tym wyjątkowym. Tym bliskim mojemu sercu, bo od niego zaczęła sią cała moja, trwająca łącznie już niemal 20 lat, przygoda ze przeprowadzeniem dowodu jednokierunkowości funkcji VMPC.




27.10.2018. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#271018

Dziękuję wszystkim za przesłane słowa wsparcia. Było ich więcej niż się spodziewałem, co mnie bardzo ucieszyło. Choć, niestety, w ogólnej perspektywie, moje samopoczucie pozostaje kiepskie. Wiadomości podnoszą mnie na duchu, ale efekt utrzymuje się tylko przez krótki czas, niestety. Potem wraca "szara rzeczywistość". Mam nadzieję, że nie wpadnę w żadną poważną depresję przed ukończeniem pracy.

Tymczasem coś z pozytywnego frontu - otrzymałem propozycję nakręcenia filmu dokumentalnego o mojej skromnej osobie i moim projekcie. Zaskoczyło mnie to, bo chyba za wcześnie na takie pomysły, ale i ucieszyło jednocześnie. Nie była to propozycja dużego kalibru. Odmówiłem jednak, gdyż uznałem, że udział w takim filmie na obecnym etapie mojego projektu za bardzo by mnie zdekoncentrował i odciągnął od pracy. Może w przyszłości, jeśli podobna propozycja się pojawi.

W ramach sentymentalnego sięgnięcia do historii projektu postanowiłem wreszcie zebrać w jednym miejscu wszystkie notatki na brudno dokumentujące moje badania nad funkcją VMPC, począwszy od jej odkrycia w 1998 roku. Po skompletowaniu okazało się, że całość to jedynie słoik notatek. Wysokość stosu ma 17 cm (na zdjęciu wygląda na 18 cm ze względu na zjawisko paralaksy).

Odświeżyłem także treść strony głównej poświęconej funkcji:
www.pieknafunkcja.pl

oraz podstronę z formalną definicją funkcji VMPC i problemu jej odwracania, gdzie pojawiła się już oficjalna definicja funkcji, użyta na czysto w pracy:
www.pieknafunkcja.pl/definicja.php

Przy okazji skomponowałem też okolicznościowe logo funkcji VMPC:

Tymczasem merytoryczne ostatni miesiąc upłynął mi na dopracowywaniu wyprowadzonego rozkładu prawdopodobieństwa, o którym mowa była w poprzednim wpisie. Niestety, twórcze przegryzienie się przez takiej postaci "literaturę piękną":

okazało się, oczywiście, procesem mozolnym, szczególnie w połączeniu z moim perfekcjonizmem, gdzie nie potrafiłem zaakceptować postaci takiej, która była tylko poprawna, ale nie była najbardziej (w mojej ocenie) elegancka. Bywało tak, że optymalizowanie jednego przypadku (cały rozkład ma 16 przypadków, a powyższa strona to przykład postaci jednego takiego przypadku) zajmowało mi cały dzień. Ale przebrnąłem przez to.

Dodatkowo był to czas na formalne uporządkowanie kilku elementarnych faktów dotyczących funkcji VMPC. Faktów, których używałem w całej pracy, ale które kiedyś musiały zostać zapisane formalnie i udowodnione. I ponownie udowodnienie każdego faktu (lematu) zajęło sporo czasu, bo choć same lematy są dla mnie oczywiste (zapisywałem je najpierw z wyobraźni, a dopiero później udowadniałem formalnie), to znalezienie zadowalająco eleganckiego sposobu na zapisanie dowodu każdego z nich zajęło trochę czasu. Oczywiście jest to kwestia subiektywna, gdyż ktoś inny może powiedzieć, że wybrany przeze mnie styl zapisu wg niego nie jest elegancki. I, oczywiście, szanuję to. Tu przykład postaci jednego z takich elementarnie prostych dowodów:

Obecnie pracuję nad zapisaniem zwięzłego komentarza do drugiego rozkładu dotyczącego funkcji VMPC:

który nie dotyczy funkcji ogólnie, a dotyczy pewnej szczególnej sytuacji, która "wygładza" pewne zjawiska statystyczne występujące w rozkładzie ogólnym. Powyższego rozkładu na szczęście nie muszę wyprowadzać, gdyż nie dotyczy on dowodu jednokierunkowości, a stanowi jedynie praktyczną wskazówkę, która może być pomocna przy ewentualnych zastosowaniach funkcji VMPC w kryptografii.

Jednym z przykładowych (z ostatnich dni) pytań dotyczących tego rozkładu, na które chciałem znaleźć odpowiedź, było... I tu uwaga :-) Będą dwie wersje, jedna w języku popularnym, a druga w języku matematycznym. Osobiście wolę tę popularną, ponieważ jest krótsza i ambitniejsza (wymaga więcej myślenia, aby ją zrozumieć).

Wersja popularna (ambitna): Ile jest tych na tym, które dla takich tych, że ten, dają tego?

Wersja matematyczna (prosta): Ile jest permutacji σ na zbiorze o parzystej liczności, które dla permutacji δσ składającej się z dokładnie jednego cyklu, dają taką samą postać permutacji σδσ?

Odpowiedź brzmi: N/2.

Potem wyznaczyłem ogólną postać wszystkich tych (N/2) permutacji, ale uznałem, że to jest wystarczający stopień zagłębienia w ten poboczny temat. Oczywiście będę musiał jeszcze zapisać to na czysto, ale to nie powinno być zbyt czasochłonne.

Zanim przejdę definitywnie do dwóch finalnych etapów, czyli "funkcja malejąca" i "36", muszę uzyskać poczucie, że wszystkie elementy, włącznie z powyżej wspomnianymi pobocznymi, dotyczące rozkładów prawdopodobieństwa, są zapisane na czysto i nie wymagają już żadnej istotnej korekty.




25.09.2018. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#250918

Summa summarum jestem wdzięczny wrocławskiej policji za zabranie mi dowodu rejestracyjnego do mojego starego auta, bo to mnie zmobilizowało do usunięcia wszystkich usterek, pomalowania auta, odzyskania dowodu rejestracyjnego i dzięki temu teraz nie muszę przez jakiś czas myśleć o usterkach, które muszę usunąć w swoim aucie. Efektem tego jest dość owocny ostatni okres badań nad funkcją, który zaowocował wreszcie ukończeniem wyprowadzania rozkładu prawdopodobieństwa wartości funkcji VMPC na czysto. Czyli zamiana brudnopisu, o którym była mowa w poprzednich wpisach, na czysto. Zła wiadomość jest taka, że sądziłem, że skoro brudnopis ma około 10 stron, to na czysto, używając minimalnej ilości komentarzy słownych, a wykorzystując tylko formalizmy matematyczne, uda się to zapisać na znacznie mniejszej ilości stron. Nic z tego. Zapis wyprowadzenia poniższego rozkładu prawdopodobieństwa:

zajął na czysto, oficjalnie w pracy, 11 stron... Oto one. To pierwszy moment, kiedy publikuję jakiekolwiek (na razie dość nieczytelne) fragmenty z oficjalnej pracy na czysto:

Jest to najmniej innowacyjny element pracy - zwykła warsztatowa robota, którą mógłby wykonać każdy, nawet bez wykształcenia matematycznego, mając tylko odrobinę wytrwałości i czasu oraz tylko elementarną zdolność logicznego rozumowania.

Przy tej okazji chciałbym po raz pierwszy podzielić się w szczegółach (tzn. czytelnie) jakimiś miniaturowymi elementami pracy (która obecnie ma na czysto równo 70 stron). Oto 3 bardzo elementarne zadania, które faktycznie musiałem rozwiązać po drodze do wyprowadzenia powyższego rozkładu:

Do ich rozwiązania nie trzeba żadnej zaawansowanej wiedzy matematycznej, wystarczy znajomość pojęcia silnia (N! = 1*2*3*...*N) i chwila cierpliwości. Poziom trudności tych zadań określam na 0 (zero), czyli gdyby pojawiły się na kolokwium/egzaminie/sprawdzianie, to za ich poprawne rozwiązanie należałoby się 0 punktów :-) Jednakże te 3 proste zadania stanowiły autentyczny element mojej oficjalnej pracy. Były finalnym krokiem kombinatorycznej analizy niezbędnej do wyprowadzenia powyższego rozkładu prawdopodobieństwa. I choć rozwiązanie tych zadań stanowiło może 0,0001% czasu, jaki musiałem poświęcić na wyprowadzenie powyższego rozkładu (pozostałą część czasu zajęła kombinatoryczna analiza, że to właśnie te zadania, a nie inne, na koniec należy rozwiązać), to prawdą pozostaje, że były to autentyczne zadania, które faktycznie musiałem rozwiązać i których rozwiązanie stanowi faktyczny oficjalny element pracy.

Innymi słowy, nie publikuję tych zadań jako wyzwania matematyczne (dla matematyków będą to zadania trywialne, stąd 0 punktów za ich rozwiązanie), ale chodzi w nich o coś innego, coś bardziej miękkiego. Mianowicie te osoby, które rozwiążą wszystkie 3 zadania, to choć otrzymają 0 punktów, będą mogły się poczuć jakby w jakimś minimalnym stopniu udowadniały razem ze mną jednokierunkowość funkcji VMPC. Bo, jak już wspomniałem, sam musiałem w pracy na czysto te dokładnie zadania rozwiązać. Zadania są na tyle przystępne (wymagają tylko kilku prostych przekształceń lewej strony równania, aby otrzymać prawą stronę równania), że nawet osoby, które myślą, że nie lubią matematyki, powinny sobie, przy odrobinie wytrwałości i czasu, poradzić. Jedno jest pewne, drogi czytelniku - im bardziej nie lubisz albo boisz się matematyki, tym większą będziesz miał/miała satysfakcję z samodzielnego rozwiązania powyższych zadań :-)

Ważna wskazówka dla wszystkich mało zaprzyjaźnionych z matematyką. Jedna z bardzo ważnych zasad pomocnych przy rozwiązywaniu matematycznych (ale i zapewne z innych dziedzin także) problemów:

JEŚLI NIE WIESZ, CO ZROBIĆ, ZRÓB COKOLWIEK.

Choć pozornie może brzmieć bezsensownie, jest to wg mnie genialna i zaskakująco skuteczna zasada. Wymaga dość głębokiego i dłuższego zastanowienia, aby odkryć jej sens. Jeśli ktoś po krótkiej chwili zastanowienia uważa ją za bezsensowną, to znaczy, że najprawdopodobniej za krótko się nad nią zastanawiał. Wskazówka - ewolucja, czyli zjawisko przyrody, dzięki któremu istniejemy, opiera się na tej właśnie zasadzie...

W praktyce tutaj oznacza ona ni mniej nie więcej, tylko jeśli nie widzisz od razu rozwiązania powyższych zadań, zacznij robić z lewą stroną równania cokolwiek. Zapisz lewą stronę równania na inne sposoby, losowe (oczywiście prawidłowe), ale nie przejmuj się wcale, czy zastosowane przekształcenie ma jakikolwiek sens, czy zbliża Cię, czy oddala od celu. Po prostu zapisuj lewą stronę równania na przeróżne sposoby (czyli rób cokolwiek), a będziesz zdziwiony, jak szybko trafisz na rozwiązanie i uzyskasz to, co jest po prawej stronie równania!

Jestem ogromnie ucieszony faktem, że skończyłem wreszcie wyprowadzenie tego rozkładu. Był to właśnie ten mozolny etap, taka matematyczna "praca fizyczna", którą równie dobrze za mnie mógłby zrobić ktoś inny. Nie wymagała żadnej kreatywności, a jedynie warsztatowej staranności, cierpliwości i określonej ilości czasu. Zadanie to jest dobrym przykładem na moje wcześniejsze powiedzenie, że matematyk różni się od sprzątaczki tylko tym, że pracuje na siedząco. Wyprowadzenie powyższego rozkładu to nic innego jak uporządkowanie dość sporej ilości wzajemnie powiązanych faktów. Sprzątaczka, która miałaby za zadanie ułożenie na regałach porozrzucanych na podłodze książek wg określonych reguł, miałaby mniej więcej podobne zadanie. Ilość tych reguł oraz stopień ich wzajemnego powiązania determinuje trudność zadania. Tutaj tych powiązań trochę było, dlatego też rozwiązanie zajęło aż 11 stron A4... Ale mimo wszystko koncepcyjnie czy od strony stopnia twórczości była to praca fizyczna. Przyznaję sobie za jej wykonanie 0 (zero) punktów. Ważne jednak jest to, że praca ta jest już wykonana.

I teraz wreszcie mogę zająć się dwoma najciekawszymi, znacznie trudniejszymi i bardziej kreatywnymi, elementami pracy. Elementy te, to, hasłowo rzecz biorąc, "funkcja malejąca" oraz "36", czyli zapisanie na czysto wyników badań z roku 2017, "słynnej" kartki brudnopisu z numerem [3](36).

W najbardziej optymistycznym wariancie (nierealistycznie optymistycznym) każdy z tych etapów może mi zająć jeden-dwa dni. W realnie-optymistycznym scenariuszu uda mi się skończyć te dwa etapy do końca roku.

W obecnej chwili te dwa etapy, czyli "funkcja malejąca" oraz "36" są dwoma ostatnimi ważnymi brakującymi elementami w pracy. Po ich ukończeniu zostanie mi tylko kilka drobniejszych (deserowych i nietrudnych) elementów. Potem finalne szlifowanie pracy - główne redakcyjne - i praca będzie gotowa do publikacji. Podtrzymuję, że do 12 stycznia 2019 (moich 40 urodzin) osiągnięcie tego etapu jest realne.

Wszystkich, którzy kibicują mojemu projektowi, zachęcam do kontaktu przy pomocy poniższego formularza. Muszę przyznać, że od strony psychicznej jestem dość mocno na skraju wyczerpania, a wszystkie głosy jakiegokolwiek poparcia, nieważne od kogo, czy od profesora matematyki, czy od sprzątaczki, każde dodają mi energii. Z góry dziękuję.




07.09.2018. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#070918

W ramach regeneracji sił przed zapisaniem wyprowadzenia rozkładu prawdopodobieństwa na czysto postanowiłem odwiedzić wrocławską wystawę aut klasycznych "Moto Classic". Jak na ironię, w drodze na wystawę zatrzymała mnie policja do rutynowej kontroli. Jeżdżę bezpiecznie, więc uwagę szanownych policjantów przykuć musiał wygląd (stary i brzydki) mojego auta. W swojej wnikliwości panowie policjanci postanowili zatrzymać mi dowód rejestracyjny za kilka drobnych usterek (brak 2 żarówek - pozycyjnej i oświetlenia tablicy rejestracyjnej - i źle wyregulowany hamulec ręczny). Na nic zdały się moje zapewnienia, że usterki te potrafię usunąć samodzielnie i że wkrótce to zrobię. Rozmowa skończyła się tak:

Ten incydent niestety popsuł mi plany i relaksu, i dalszej pracy i postanowiłem zmniejszyć ryzyko powtórzenia się takiej sytuacji poprzez zmniejszenie stopnia przyciągania wzroku opłakanym stanem lakieru w mojej poczciwej Toyocie. Mimo że auto mam utrzymane we wzorowym stanie technicznym (w tym nowe hamulce, sztywne przewody hamulcowe wymienione na miedziane, dobre amortyzatory, brak luzów i prawidłowa geometria zawieszenia, itd.), to jednak zmatowiały i popękany lakier, jak widać, przyciąga uwagę policjantów szukających łatwej zdobyczy. A jak ktoś będzie chciał, to w 28-letnim aucie zawsze znajdzie coś, do czego można się przyczepić.

W efekcie przez ostatnie 2 tygodnie zamiast zajmować się funkcją, zajmowałem się tym:

oczywiście z powodów finansowych nie wchodziło w grę profesjonalne lakierowanie, ale efekt jest dobry i z odległości 3 metrów nie widać, że jest to domowa robota.

Dopiero teraz wracam do pracy i kończenia zapisania wyprowadzenia rozkładu prawdopodobieństwa (tego z poprzedniego wpisu) na czysto, stopniowo odbudowuję koncentrację i wciągam się z powrotem w rytm pracy nad funkcją.

I zaczynam mieć dość tych wszystkich przeciwności losu - w ostatnich miesiącach miałem awarię pralki, musiałem się przeprowadzić do mieszkania, które musiałem własnoręcznie wyremontować, a teraz musiałem własnoręcznie malować samochód.

Najśmieszniejsze jest to (jestem już w takim stanie, że autentycznie śmieję się z tego), że dokonałem bardzo ważnego odkrycia naukowego (odkryłem w 1998 roku pierwszą na świecie funkcję jednokierunkową, VMPC), funkcja ta została opublikowana w roku 2004 na jednej z najbardziej prestiżowych ogólnoświatowych konferencji naukowych z dziedziny kryptografii (FSE 2004), na którą wyjazd sfinansowała mi Kancelaria Prezydenta RP oraz Prezydent Wrocławia (więc obaj szanowni panowie prezydenci musieli uznać to wydarzenie za istotne). Własności tej funkcji (jej jednokierunkowość) pozwalają rozwiązać słynny problem matematyczny "czy P=NP", który jest uznawany za jeden z największych nierozwiązanych problemów matematycznych na świecie. Jestem na ostatniej prostej finalizowania pracy, która - jeśli okaże się prawidłowa - rozwiąże ten słynny problem stwierdzeniem, że P≠NP.

Jednakże na kilka miesięcy przed ukończeniem tej pracy muszę własnoręcznie malować samochód wałkiem i własnoręczne remontować kuchnię. Wszystko dlatego, że skoro odkryłem funkcję sam, to chciałem doprowadzić badania nad nią do końca też samodzielnie.

Tylko dzięki pomocy garstki osób dobrej woli i rodziny mogę jakimś ostatnim tchem i na granicy biedy kontynuować te badania.

Śmiać mi się chce na myśl, co będą pisać zagraniczne media na temat tego, w jakich warunkach pracowałem i jakie wsparcie otrzymałem. Autentycznie mnie to śmieszy i mam nadzieję, że spotka mnie jeszcze więcej podobnie kolorowych nieszczęść.




14.08.2018. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#140818

Po wyprowadzeniu od nowa tej (drugiej) części rozkładu, o której była mowa w poprzednim wpisie, do ukończenia całego etapu pozostała mi jeszcze jedna część, trzecia, najtrudniejsza. Nie byłem pewien, czy zajmę się nią od razu, czy najpierw opiszę na czysto tamte dwie prostsze. Zabrałem się jednak za trzecią część i dzisiaj po kilku dniach - mówiąc po ludzku: mozolnego porządkowania stosu pozornie chaotycznie porozrzucanych cyferek, a mówiąc matematycznie: poszukiwania odpowiedzi na pytanie:

udało mi się tę odpowiedź znaleźć, zapisawszy kolejne 4 strony brudnopisu (te w dolnym rzędzie), po czym cała odpowiedź na powyższe pytanie zajęła mi 8 stron:

i wygląda tak niepozornie prosto:

Teraz pozostało zamienić te bazgroły na język formalny, czyli zapisać na czysto w pracy. To zajmie kilka dni, ale dopiero po tym, jak trochę zregeneruję siły.

Było to właśnie zadanie tego typu, o którym pisałem wcześniej, proste, warsztatowe, niewymagające kreatywności, ani dużej inteligencji, ale mozolne - była w nim duża ilość wzajemnie powiązanych faktów, które trzeba było ustrukturyzować i zsyntezować wzorami. Każdy, kto miałby trochę cierpliwości i zacięcia, mógłby to zrobić. I żałuję, że muszę poświęcać sporo czasu na takie mozolne przegryzania się przez proste zadania, które jednak mimo prostoty intelektualnej, wymagają sporą ilość pracy.

Wg obecnego planu, oprócz kilku pobocznych mniejszych zadań, przede mną są już tylko dwa trudniejsze i bardziej twórcze zagadnienia, a do nich znacznie bardziej mnie ciągnie. Oba są w dużej mierze rozwiązane i pozostało uporządkować wyniki oraz zapisać na czysto. To są duże zadania (nad roboczym rozwiązaniem jednego z nich pracowałem cały rok 2017), więc ich finalizowanie zajmie więcej niż kilka dni, ale liczę, że do końca roku praca będzie gotowa do publikacji.




06.08.2018. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#060818

To trzeci wpis w ciągu ostatnich 5 dni. Najlepsza rada na kryzys energii to zagryźć zęby i pracować bez energii. A energię czerpać z wykonywanej bez energii pracy... I tak w ciągu weekendu zabrałem się za analizę tej szczególnej sytuacji, która zagnieździła się w poprzedniej analizie rozkładu prawdopodobieństwa. Niestety zagnieździła się tak głęboko, że musiałem całą analizę wykonać od nowa. Tak wyglądają efekty. Poniższe dwie nowe kartki zastępują prawą kartkę z wpisu z 02.08.2018:

Pozostaje tylko przenieść ten kompletnie nieuporządkowany zapis brudnopisu do formalnej postaci na czysto w pracy.

Przy tej okazji chciałby zwrócić się do matematycznej części czytelników o opinię.

Mianowicie, co szanowni czytelnicy sądzicie o następującym skrótowym zapisie:

Czy gdzieś stosuje się może taki zapis?

Zanim powiecie, że to mizerna oszczędność, proszę policzyć, że zapis w górnym wierszu posiada 17 osobnych znaków. Tymczasem zapis dolny wymaga tylko 11 znaków, czyli o 35% mniej. Zajmuje też o 30% mniej miejsca (górny ma szerokość 151 pikseli, a dolny 105).

Zapis taki powstał mi samorzutnie w notatkach. W ostatnim czasie zapisałem kilka stron przekształceń złożeń funkcji, gdzie około połowa z nich to funkcje odwrotne (czyli "do potęgi -1"). Dodatkowo ciągłe zapisywanie nawiasów wkoło x przy f(x) także zaczęło stawać się uciążliwe. I powyższy zapis zacząłem stosować samoczynnie, jako ulga w tej niedoli. I powiem szczerze, że nie tylko szybkość pracy, ale i przyjemność mi wzrosła. Ręka nie hamowała już umysłu i bardziej można było skupić się na zapisywanej treści, a mniej na przepisywaniu jedynek i nawiasów.

Oto przykład zastosowania - żywcem wzięty z mojego brudnopisu:

Czy szanowni czytelnicy zwróciliby mi uwagę na ewentualne nieścisłości powyższego skrótowego zapisu?

Na obronę:

Złożenie funkcji: dopuszcza się zapis złożenia funkcji (np. F,G,H) w formie skrótowej: FGH. Nieformalnie mówiąc, interpretacja tego zapisu jest taka - bierzemy wartość funkcji H i przepuszczamy ją przez funkcję G, a następnie uzyskany wynik przepuszczamy przez funkcję F.

Jeśli dodalibyśmy do tego zapisu zmienną x bez nawiasu: FGHx to zapis taki współgrałby z powyższą interpretacją: bierzemy wartość x, przepuszczamy ją przez funkcję H, a następnie uzyskany wynik przepuszczamy przez funkcję G i tak dalej. Oczywiście z kontekstu musi jasno wynikać, co jest funkcją (F,G,H), a co zmienną (x).

Idąc dalej - zamiast F(x) moglibyśmy pisać Fx. I znowu - jeśli z kontekstu wynika jasno, że F to funkcja, a x to zmienna, to nawiasy wkoło x w zapisie F(x) nie spełniają żadnej funkcji uściślającej, są więc zbędne, przy założeniu powyższej interpretacji zapisu Fx: bierzemy wartość x i przepuszczamy ją przez funkcję F... Czyli dokładnie to samo, co oznacza F(x).

Funkcja odwrotna: zapis liczby ujemnej -X oznacza (-1)X. Czyli w zapisie -X zamiast liczby -1 piszemy sam znak minus: -. Dlaczego tego samego skrótu nie użyć do zapisu funkcji odwrotnej, czyli F -1, i zapisać krócej F -

Oczywiście wiem, że mamy standardowy zapis, więc należy się go trzymać. Mimo to dyskusja mnie frapuje, choćby dla intelektualnej przyjemności: czy zaproponowany zapis jest precyzyjny? Albo w jakich okolicznościach byłby nieprecyzyjny?

Zapraszam gorąco do podzielenia się swoją opinią!




03.08.2018. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#030818

To nietypowo drugi wpis w ciągu ostatnich 2 dni (poprzedni zamieściłem wczoraj). Mam chyba lokalny kryzys energii. Jestem w trakcie opisywania owego wspomnianego poniżej rozkładu prawdopodobieństwa i okazuje się, że istnieje w nim pewna "zakamuflowana" szczególna sytuacja, która komplikuje go jeszcze bardziej. Najbardziej "złośliwe" jest to, że nieuwzględnienie tej sytuacji daje poprawny wynik, lecz tak zostać, oczywiście, nie może.

Dla uspokojenia - jest to element czysto warsztatowy i nie ma żadnego wpływu na jednokierunkowość funkcji, tak naprawdę ktoś mógłby go opisać za mnie. Ale dla porządku opisany musi być (w pełni poprawnie). I to są elementy, które mi odbierają czasami energię. Takie warsztatowe komplikacje, które nie dotyczą głównego nurtu rozumowania, a więc są dla mnie nieciekawe, nieambitne, ale są uciążliwe, bo wymagają mozolnej pracy, aby je uporządkować. Coś może jak na budowie - fajnie jest projektować dom, ale ktoś musi też wykonać ciężką pracę kładzenia cegieł jedna po drugiej. I taką "matematyczną fizyczną pracę" muszę, niestety, też wykonywać sam. Nie jest to trudne i oczywiście poradzę sobie z tym, ale problem w tym, że to zajmuje czas i energię. A energii mam coraz mniej. I żałuję, gdy muszę ją poświęcać na takie problemy warsztatowe. To się trochę wyżaliłem.

Dla lepszej ilustracji mojej frustracji w tej sytuacji (ale piękne rymy!) dodam, że okazało się, że do analizy tego rozkładu należy dodać pewną szczególną sytuację, która wg wstępnych ustaleń powstaje wtedy, kiedy złożenie pewnych dwóch permutacji zbioru {0,...,N-1} posiada cykl długości 2 i cykl ten zawiera pewną wartość. Oczywiście jest to tylko kwestia czasu, aby zrozumieć, dlaczego tak jest i opisać to, jest to zadanie merytorycznie bardzo proste, ale i tak trzeba na nie poświęcić energię, a żeby to zrobić, to trzeba tę energię mieć. Dziwnie widzę po sobie, że dużo więcej energii mam, gdy pracuję nad dużo bardziej skomplikowanymi elementami pracy. One mnie motywują samą swoją komplikacją, wyzwaniem. A takie proste warsztatowe problemy, a jak jeszcze są żmudne i obszerne (jak ten), odbierają mi energię. Ale nie da się od tego uciec i trzeba energię w sobie wymusić, przebrnąć przez to i przejść do łatwiejszych (czyli trudniejszych) elementów.

Półżartobliwie pozwolę sobie stwierdzić, że trudniejszy problem jest łatwiejszy. Poprzez fakt bycia trudniejszym wyzwala więcej motywacji, inspiracji i przez to więcej energii jednostkowej (przypadającej na jednostkę komplikacji problemu) i przez to staje się łatwiejszy do rozwiązania. Na przykład - problem o komplikacji 10 wyzwala u badacza 7 jednostek energii (7 / 10 = 0,7 energii jednostkowej), a problem o komplikacji 100 jest tak fascynujący i inspirujący, że wyzwala 120 jednostek energii (120 / 100 = 1,2 energii jednostkowej). 1,2 > 0,7, czyli problem trudniejszy jest łatwiejszy do rozwiązania.

I taka sytuacja właśnie ma miejsce w tym problemie opisu rozkładu prawdopodobieństwa. Jest to mało inspirujący, choć jednocześnie mozolny problem i wyzwala on u mnie za mało energii, aby go szybko rozwiązać. Jak wykrzesam tę energię z siebie na siłę, to rozwiążę go prawdopodobnie bardzo szybko. I teraz mam właśnie taką chwilę słabości energetycznej.

Oczywiście słabość ta minie, bo nie ma innego wyjścia. W najgorszym razie po prostu zmuszę się. Jednak znacznie przyjemniej, łatwiej i efektywniej się pracuje, gdy energia przychodzi sama, gdy nie trzeba się zmuszać. Jeśli komuś wpadają do głowy jakieś pozytywne słowa, które mogłyby mi tu pomóc, to bardzo poproszę...

Gwoli uspokojenia - nie ma możliwości, abym nie ukończył pracy. Jedynym pytaniem jest to, jak bardzo będę musiał jeszcze zagryzać zęby, ile łez wylać i jak bardzo się zmuszać. Ale praca i tak zostanie ukończona na 100%.




02.08.2018. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#020818

Dziękuję wiernym czytelnikom za troskę. Muszę przyznać, że każda otrzymana wiadomość, także anonimowa, ma dla mnie duże znaczenie motywujące i za każdą dziękuję. Obecnie powiedziałbym, że byłem (ale już nie jestem) w dołku (psychicznie i energetycznie, choć nie merytorycznie), ale to jest doskonała wiadomość, ponieważ to oznacza, że teraz może być już tylko lepiej! I wierzę, że od teraz do samego końca będzie już tylko coraz lepiej!

Udręka przeprowadzki jakoś została ogarnięta. Ze względu na wrodzony perfekcjonizm, niestety sporo czasu zajęło mi zorganizowanie się w nowym miejscu. W tym pedantyczne wyczyszczenie wszystkiego, ustawienie i przy okazji modernizacja stanowiska pracy. Jestem bardzo wrażliwy na punkcie ergonomii, tu rozumianej jako ustawienie stanowiska pracy (biurka, krzesła, komputera, monitora) tak, aby czuć się w nim absolutnie naturalnie, wygodnie i bez żadnych dyskomfortów. To, choć brzmi banalnie, jest dla mnie naprawdę istotne i ma znaczący wpływ na efektywność pracy.

W ostatnich dniach wreszcie udało mi się już porządnie skupić i poczynić pierwsze dalsze postępy w finalizowaniu pracy. Jestem obecnie w trakcie opisywania na czysto rozkładu prawdopodobieństwa wartości funkcji VMPC, a dokładniej na opisie na czysto tego, co tu mam zanotowane na brudno:

To, co na kartce z lewej strony, jest już zapisane na czysto i jest prawidłowe. To, co na prawej kartce, jest trochę bardziej skomplikowane i w tej chwili jestem w trakcie opisywania tego na czysto.

Gdy pierwszy raz czytałem ten brudnopis po przeprowadzce, to złapałem się za głowę, że przecież nic z tego nie rozumiem! A sam przecież kilka miesięcy wcześniej to pisałem! Ale rozumienie wymaga koncentracji, a ta z kolei przychodzi z czasem. Na zrozumienie każdego problemu matematycznego, nawet takiego, który samemu się wcześniej opisało (a co dopiero takiego, który ktoś inny opisał, np. autor zadania), trzeba poświęcić trochę czasu, aby wgryźć się w niego, aby umysł "zaskoczył". Dopiero po tym czasie umysł zaczyna wszystko rozumieć.

Na marginesie dodam, że uważam, iż wiele osób zniechęca się do matematyki właśnie z tego powodu, że nie dają sobie tej chwili pokornego czasu, aż umysł się rozkręci i zrozumie problem krok po kroku, powoli. Wielu, widząc, że na samym początku problemu nie rozumieją wszystkiego od razu, z miejsca rezygnuje. I to jest błąd! Matematyka wymaga czasu... Czasami 15 minut, czasami godziny, a czasami kilku dni! Dopiero po tym czasie cała "czarna magia" nagle się rozjaśnia i wszystko okazuje się być całkiem proste, a nawet oczywiste! Ja muszę być wyjątkowo oporny, gdyż nad jednym zagadnieniem - jednokierunkowości funkcji VMPC - pracuję od 20 lat (minie w grudniu 2018).

Wracając do postępów w pracy - te wyglądają optymistycznie. Teoretycznie jestem w stanie wyznaczyć roboczy plan, co jeszcze zostało do zrobienia do końca, czyli do uzyskania pracy gotowej do publikacji:

1. Dokończenie powyżej wspomnianego opisu rozkładu prawdopodobieństwa. Jest to dość elementarny/szkolny etap (mało w nim twórczego myślenia), ale jest on mozolny oraz relatywnie skomplikowany (opis na czysto zajmie w pracy kilka stron prawie samych symboli matematycznych; dwie z tych stron są już gotowe - powstały w ciągu ostatnich kilku dni).

2. Zapisanie na czysto wyników badań z roku 2017, czyli "słynnej" kartki brudnopisu z numerem [3](36) (oraz wszystkich wcześniejszych kartek [3](1..36)). To może zająć trochę czasu, ale mam nadzieję, że pójdzie sprawniej niż ilość kartek brudnopisu (36) sugeruje.

3. Opisanie funkcji malejącej. Szczegółów merytorycznych tej części nie będę rozwijał przed publikacją pracy, ponieważ jest to jeden z kluczowych elementów pracy, który umożliwił przeprowadzenie dowodu jednokierunkowości funkcji. Uściślić mogę jedynie, że koncepcja "funkcji malejącej" zastąpiła i jednocześnie uogólniła koncepcję "blokowanych pozycji" (to mój własny żargonowy termin) i stanowiła to poważne uproszczenie i udoskonalenie pracy, o którym pisałem na blogu 16.04.2018. Teraz pozostaje tylko opisać to na czysto.

4. Umiejscowienie funkcji VMPC i ukończonego dowodu jej jednokierunkowości w kontekście problemu "czy P=NP". To już czysto deserowy techniczny etap i nawet ktoś inny mógłby go opisać za mnie. Dlatego zostaje na koniec.

Oczywiście, jak to już nieraz bywało, i tu po drodze mogą pojawić się nieprzewidziane rozgałęzienia i komplikacje. Na szczęście jestem pełen wiary, że wszystko na pewno skończy się pozytywnie, bo nigdy dotychczas żadne komplikacje nie podważyły dowodu merytorycznie, a jedynie wydłużały czas jego formalnego opisania.

Dodam, że mogę bez żadnego stresu postawić swoje życie na to, że funkcja VMPC jest jednokierunkowa. Czy mój dowód tego faktu jest na tyle mocny, aby akademickie środowisko matematyków na świecie uznało go za prawidłowy - to jest pytanie, na które znajdziemy odpowiedź po publikacji pracy. A całą pracę wciąż mam nadzieję, że uda mi się ukończyć szlifować do swoich 40 urodzin, czyli do 12.01.2019.

Pozdrawiam wszystkich wiernych czytelników. Zapraszam wszystkich chcących podzielić się jakąkolwiek myślą dotyczącą mojego projektu do kontaktu przy pomocy poniższego formularza. I do następnego wpisu!




16.06.2018. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#160618

Chciałbym podziękować pewnej osobie (która lubi ósemki) za wspaniałomyślne wsparcie mojego projektu w chwili, gdy byłem (jeszcze jestem) w mocnym dołku.

Jestem na końcowym etapie urządzania się w nowym lokum. W ostatnich tygodniach przeprowadzka niestety zdominowała mój czas. Ale wygląda, że to bardzo dobra inwestycja czasu. Nowe lokum - niezależna część domu jednorodzinnego, którą wynajmuję - posiada niesamowicie inspirującą atmosferę do pracy. Panują tu idealne warunki termiczne - mimo braku klimatyzacji podczas upałów jest tu doskonała do pracy temperatura 21-22 stopni. Z okna piękny widok na ogród. Cisza i spokój. Wygląda to na idealne miejsce do niezależnej pracy naukowej czy twórczej. Do tego przemiła starsza pani - właścicielka. Konieczność wykonania własnoręcznego remontu kuchni (już na ukończeniu) wydaje się wysiłkiem wartym podjęcia, aby móc tu mieszkać i pracować!

Zgodnie z powiedzeniem "a change is as good as rest" (zmiana jest równie dobra, jak odpoczynek), traktuję tę przeprowadzkę i remont jako wakacje dla umysłu, który regeneruje się i zbiera siły do dalszej pracy.

Do intensywnej pracy nad funkcją będę wracał już w najbliższych dniach, gdy tylko uporam się z najpilniejszymi robotami remontowymi, które umożliwią normalne funkcjonowanie. Dalsze prace remontowe będę prowadził powoli, jako rozrywka i oderwanie od pracy.

Tymczasem aktualizacja sytuacji dotyczącej
kolekcjonerskich zestawów do Permutu. W ostatnich dniach nowego właściciela znalazł zestaw numer 10.

Zestawów kolekcjonerskich Permutu istnieje tylko 35. Do sprzedaży pozostały już tylko ostatnie sztuki o numerach 11,12,14,15,16,17 oraz 5 i 7.

Rezerwacja, jaką był objęty zestaw numer 11, została przeze mnie anulowana i zestaw nr 11 jest obecnie także dostępny do sprzedaży. Jest to w tej chwili najniższy numer dostępny w normalnej cenie (dwa zestawy o numerach jednocyfrowych mają wyższą cenę).

Dochody ze sprzedaży kolekcjonerskich zestawów Permutu pomagają mi finansować projekt VMPC, a dla nabywcy stanowią one nie tylko piękne dobro luksusowe, ale za kilka lat mogą okazać się dobrą inwestycją.

Po sprzedaniu jeszcze kilku sztuk (około trzech) sprzedaż zostanie definitywnie zakończona i pozostałe egzemplarze pozostawię w swojej kolekcji.

Jest to więc ostatnia okazja, aby stać się właścicielem kolekcjonerskiego zestawu Permutu.




27.05.2018. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#270518

Niestety los ostatnio nie jest dla mnie łaskawy. Mimo że merytoryczna część pracy ma się dobrze, to co rusz atakują mnie problemy życiowe, które nie pozwalają w pełni skupić się na pracy.

Najpierw - tuż po podjęciu tej ważnej decyzji o uproszczeniu pracy - zachorowałem. Choroba trwała trzy tygodnie, było to jakieś perfidne przeziębienie, które ciągnęło się ze zmiennymi w czasie objawami. Ale udało się pokonać bez antybiotyków.

Nie było mi dane długo się cieszyć dojściem do zdrowia, bo zaraz potem dowiedziałem się, że muszę się przeprowadzić. Kawalerka, którą wynajmowałem na preferencyjnych warunkach przez ostatnie 10 lat od sąsiada zza ściany, zostanie - z powodu jego postępującej choroby - zajęta przez osobę, która będzie sprawowała nad nim opiekę.

W domu moich rodziców nie ma fizycznie miejsca. Nie mogę też wynająć pokoju w mieszkaniu studenckim, bo mój tryb pracy do około 3 rano nie da się połączyć z innymi "normalnymi" domownikami.

Znalezienie mieszkania (kawalerki) do wynajęcia w moim rodzinnym mieście, Wrocławiu, w mojej sytuacji finansowej, niestety jest trudne. I tym sposobem ponownie przyziemne problemy finansowe odciągają mnie od pracy.

Na tym tle tylko szczegółem wydaje się być konieczność zakupu nowej pralki, gdyż poprzednia, kupiona jako nowa niby renomowanej firmy, zepsuła się w nienaprawialny sposób (koszt naprawy przekracza wartość nowej pralki) pół roku po gwarancji. Gratuluję księgowym korporacyjnym precyzyjnego planowania żywotności nowych sprzętów i zaśmiecania środowiska urządzeniami, które powinny popracować jeszcze co najmniej 10 lat. Ale przecież trzeba poprawić ROE, P/E, a akcjonariusze wystawili zarządowi opcje kupna akcji z ceną wykonania 10% powyżej obecnego kursu giełdowego, więc co innego pozostaje zrobić? Trzeba wyciągać od klientów coraz więcej pieniędzy coraz to bardziej "zaawansowanymi" sposobami. Pralkę musiałem kupić nową, innej firmy, co dodatkowo nadszarpnęło moje rezerwy finansowe.

Udało mi się znaleźć lokum w cenie, na którą mnie stać, ale kosztem jest standard, który jest tak niski, że przed wprowadzeniem muszę tam zrobić remont. Oczywiście ze względów finansowych muszę to zrobić własnoręcznie. Zamiast poświęcać 20 godzin na własnoręczne malowanie nowego lokum, potem drugie tyle na umeblowanie kuchni, mógłbym wykorzystać ten czas na kończenie mojej pracy naukowej. Ale nie stać mnie na to.

Poświęciłem się pasji, nauce i wybrałem pracować niezależnie. Ale dzisiejszy świat, opanowany przez pieniądz i sztywne struktury organizacyjne, nie pozostawia miejsca na takie wybory.

Aż śmiać mi się chce, że przez tego typu opóźnienia może się okazać, że ktoś przede mną rozwiązał problem "czy P=NP", a ja na pytanie "dlaczego nie skończył pan pracy na czas", odpowiem, że musiałem remontować kuchnię. Nie wiem, czego oznaką jest to, że bardziej mnie to śmieszy niż smuci, ale trochę niepokoi mnie taka reakcja.

Nie polecam nikomu obranej przeze mnie drogi. Zamiast podążać za pasją i niezależnymi odkryciami naukowymi, lepiej jest pójść do pracy, np. programować czy obliczać ryzyko kredytowe w banku (do obu mam kwalifikacje), zarabiać pieniądze i dzięki temu normalnie żyć.




16.04.2018. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#160418

Wreszcie zakończyłem pomyślnie proces decyzyjny na temat owego dużego uproszczenia pracy. Pewna mozolna i skomplikowana część pracy, zwana przeze mnie potocznie analizą "blokowanych pozycji", zostanie zastąpiona rozwiązaniem znacznie prostszym i bardziej eleganckim.

Jest to jedna z ważniejszych decyzji. Do śmieci pójdzie kilkanaście stron pracy i grube kilka miesięcy pracy. Nie dlatego, że były złe, ale dlatego, że znalazłem znacznie lepszy sposób na osiągnięcie tego samego celu.

Przed podjęciem tak istotnej decyzji musiałem ją przeanalizować od każdej strony. Dodam tylko, że sam skrót argumentów za tą decyzją zajął mi 4 strony brudnopisu. Ale musiałem mieć pewność, że to jest właściwa decyzja.

W wyniku tej decyzji wykonuję bardzo duży skok naprzód w kierunku ukończenia całej pracy. Analiza "blokowanych pozycji" była elementem, który w pracy mi się najmniej podobał i wymagał najwięcej szlifowania. Był to trochę taki wrzód, ale wdawał się być niezbędny. Teraz mogę się go pozbyć w całości i jest to jedna z najpiękniejszych chwil w całym procesie pisania i szlifowania pracy!

Po podjęciu tej decyzji postanowiłem trochę odpocząć, bo byłem już przemęczony i efektywność mojej pracy znacznie spadła. Jak na złość, nie mogę zbytnio zaświętować bo dopadło mnie jakieś perfidne przeziębienie. Być może także trochę z przemęczenia.

Ale perspektywy są teraz bardzo optymistyczne i jak tylko odzyskam zdrowie, to z zapałem przystępuję do realizacji nowego rozwiązania!

Konkurs z poprzedniego wpisu wciąż jest aktualny - na razie nikt nie przesłał poprawnej odpowiedzi.


25.03.2018. Link do tego wpisu: www.pieknafunkcja.pl/postepy/#250318

Niespodzianka. Ale (jeszcze) nie ta duża, o której pisałem poprzednio.

Jest to kolejny przykład na to, jak bardzo nieprzewidywalny (dla mnie samego) jest proces kończenia tej pracy. Jeszcze 10 dni temu nie rozważałem nawet, że zajmę się tym zagadnieniem.

Przy tej okazji ogłoszę nawet mały konkurs!

Mianowicie niniejsza "mała niespodzianka" usuwa pewną anomalię statystyczną, jaką można zaobserwować w wartościach funkcji VMPC. Własność ta była znana od dawna (została odkryta około 2003 roku przez pewnego francuskiego naukowca). Choć nie stanowi ona żadnej przeszkody dla jednokierunkowości funkcji, to jest pewnym elementem zakłócającym powierzchowną estetykę funkcji. Funkcja byłaby piękniejsza, gdyby tej anomalii nie było. Ale skoro jest, to niech sobie będzie, dawno ją zaakceptowałem i uwzględniłem w badaniach.

Ale właśnie odkryłem, w jaki sposób można się jej pozbyć!

Okazało się, że można to osiągnąć, jeśli usuniemy z dziedziny funkcji pewien bardzo łatwo definiowalny podzbiór permutacji. W efekcie wprawdzie pewien znacznie mniej istotny rozkład prawdopodobieństwa trochę się komplikuje i przyjmuje postać:

ale dzięki temu zamiast wspomnianej anomalii, uzyskujemy taki piękny rozkład jednostajny:

I pytanie konkursowe: jaką anomalię statystyczną usuwa powyższe rozwiązanie?

Osoba, która jako pierwsza prześle mi odpowiedź, otrzyma w nagrodę darmowy egzemplarz gry Permutu! I zaciekawi mnie swoją wnikliwością...


15.03.2018.
Link do tego wpisu:
www.pieknafunkcja.pl/postepy/#150318
(w analogiczny sposób można uzyskać bezpośrednie linki do wszystkich wcześniejszych wpisów. Kod liczbowy (tu #150318) to data wpisu bez kropek, z tylko dwoma ostatnimi cyframi roku, czyli tu zamiast 15.03.2018 mamy 150318. Poprzedni wpis (z dnia 03.02.2018) ma adres www.pieknafunkcja.pl/postepy/#030218. I tak dalej).

Oprócz wielu ogólniejszych analiz, w ostatnim czasie wróciłem do zmagania z rozkładami prawdopodobieństwa dotyczącymi funkcji VMPC. Oprócz wcześniej opisanego rozkładu (wpis z 10.10.2017), z którym poszło mi dość gładko, opisać trzeba było jeszcze jeden rozkład. Miałem nadzieję, że nim pójdzie równie prosto, ale niestety nie było tak łatwo i nie znalazłem żadnej drogi "na skróty". Pozostało mozolne rozbicie zjawiska na kombinatoryczne czynniki pierwsze.

W biografii Richarda Feynmana przeczytałem, że gdy analizował on jakiś problem, potrzebował konkretnego (liczbowego czy fizycznego) przykładu. Tym przykładem posiłkował się, analizując zjawisko, aby potem sformułować ogólne wnioski. Oczywiście, gdy zjawisko jest proste, do jego opisania może wystarczyć przekształcanie znanych wzorów. Gdy problem jest bardziej skomplikowany, wspomożenie się konkretnym przykładem może znacznie ułatwić jego rozwiązanie.

Celem jest, oczywiście, uzyskanie rozwiązania ogólnego, ale konkretny przykład pomaga zobaczyć zjawisko oczami wyobraźni. Jak mawiał Albert Einstein - wyobraźnia jest ważniejsza od wiedzy. Może można dodać, że wyobraźnia pomaga zdobywać wiedzę? W tej sytuacji - zgodnie z zasadą od szczegółu do ogółu.

Poniżej zamieszczam zdjęcia mojego brudnopisu, na którym widać przebieg tego procesu. Proszę, oczywiście, nie zwracać uwagi na estetykę ani pozorny chaos. To jest brudnopis, który nie był przeznaczony do publikacji, ale mimo to postanowiłem go tu zamieścić dla ilustracji.

Tak wyglądał zapis przykładu dla wybranego "z kapelusza" N=5. Za duże N spowodowałoby, że liczb będzie za dużo i trudno będzie się poruszać po przykładzie. Za małe N może spowodować, że nie ujawnią się wszystkie charakterystyczne zjawiska. Wybór rozmiaru przykładu jest trochę sztuką.

A tak wyglądają porządki - proces uogólniania powyższego pozornie chaotycznego przykładu:



Na marginesie dodam, że ten etap pracy jest podobny to pracy sprzątaczki. Zastaje ona chaos i musi go uporządkować. Tu trzeba zrobić dokładnie to samo. Zastaję rozrzucone pozornie chaotycznie liczby i muszę je uporządkować, znajdując ogólne zależności między nimi.

Pozwolę sobie sformułować tu okolicznościowy żart:

Czym różni się matematyk od sprzątaczki? Matematyk pracuje na siedząco.

Tak wygląda opis zjawiska po zrobieniu porządku:

Przede mną kolejne etapy, ale koniec jest coraz bliżej. W rękawie mam niespodziankę, do której przymierzam się z ekscytacją, a która może radykalnie uprościć jedną dużą i mozolną część dowodu. Zanim wykonam tak duży krok, muszę go bardzo dokładnie przeanalizować od wielu stron. Nie zapeszając jeszcze bardziej, wracam do ostatniego etapu rozważania tego kroku!



03.02.2018. Rok 2017 upłynął pod znakiem walki z kilkoma elementami, które znacznie przeciągnęły się w czasie. Na szczęście walka zakończyła się sukcesem (mój poprzedni wpis z grudnia 2017). Mam nadzieję, że 2018 upłynie pod znakiem zbierania tego efektów. Na razie zaczęło się dobrze.

Pozytywne jest, że dzięki temu przeciągnięciu nabrałem świeższego spojrzenia na pozostałe elementy pracy, którymi nie zajmowałem się przez dużą część 2017. Mam na nie teraz trochę takiego spojrzenia, jakbym był recenzentem, a nie tylko autorem.

Jednocześnie szukam najlepszego sposobu na wkomponowanie wyników z kartki "36" (głównego wyniku pracy w 2017) na czysto. I jednocześnie rozpocząłem dalsze analizy rozkładu prawdopodobieństwa, opisanego tu 10.10.2017. Muszę zgłębić, jak wiele rozkład ten ma wspólnego z funkcją VMPC. W optymistycznej wersji uda się zasymulować generowanie wartości funkcji VMPC bez użycia wzoru funkcji. Jedynie przy pomocy generatora pseudolosowych permutacji wg tego rozkładu. No, wg trochę zmodyfikowanej jego postaci. Nie ma to fundamentalnego znaczenia dla dowodu, ale nie potrafię się powstrzymać, aby tego nie zgłębić. Może to bowiem dać jeszcze więcej szerokiego rozumienia, czym jest funkcja VMPC.

Na drodze do tego celu natrafiłem małą ciekawostkę. Okazało się, że prowadzi to trochę pośrednią drogą do ciągu Fibonacciego, a jeszcze dokładniej, do "złotego podziału", czyli "magicznej" liczby 1,618... Często pojawia się ona w przyrodzie, muzyce, estetyce. Ma wiele definicji, a jest to po prostu taki dobór dwóch liczb, że gdy podzielimy liczbę większą przez mniejszą to uzyskamy taki sam wynik, jak po podzieleniu sumy tych dwóch liczb przez liczbę większą. Przykładowo - osoby, które czytają to na monitorze o proporcji obrazu 16:10 (np. w rozdzielczości 1680x1050, jak np. ja :-)) zamiast w popularnej 16:9 (np. 1920x1080), oglądają obraz w proporcjach bliskich właśnie złotemu podziałowi (16 / 10 = 1,6 to właśnie prawie 1,618).

Potraktowałem to jako weekendową rozrywkę i zapisałem kilka zależności. Oczywiście nie jest to nic odkrywczego, ale przyjemnie było natrafić na jakieś znane wyniki i na "kopalnię metali szlachetnych" :-), wychodząc od własnych badań
(dokładniej - od ciągu rekurencyjnego x k,n, gdzie x k,0 może mieć dowolną wartość rzeczywistą).

Ogólnie moja praca o funkcji jest dość samotna. Nie korzystam prawie wcale z zewnętrznych wyników. Chyba jedyną rzeczą, jaka w mojej pracy pochodzi z zewnętrznych źródeł, jest sama definicja funkcji jednokierunkowej. I dlatego cieszę się, gdy w tym morzu samotności natknę się czy choć zahaczę o coś znanego.

Podobnie było z tablicą Eulera (Euler's Difference Table), którą odkryłem samodzielnie, ale po jakimś czasie znalazłem, że Euler zrobił to samo wiele lat wcześniej. Zamienione mieliśmy jedynie kolumny z wierszami.

Z bardziej przyziemnych spraw, w styczniu skończyłem 39 lat i postanowiłem bardzo mocno, że do ukończenia "40", czyli do 12 stycznia 2019, muszę mieć pracę albo już opublikowaną albo całkowicie skończoną i gotową do publikacji. Będę robił wszystko, aby to się udało.

W 2018 roku chcę skoncentrować się maksymalnie na pracy. Jednym z elementów tego było... pogorszenie swojej i tak kiepskiej sytuacji finansowej. Zrezygnowałem z prowadzenia księgowości w małej firmie mojego ojca. Miałem z tego jakieś małe dochody, ale za bardzo angażowało to moją uwagę. Teraz czuję się znacznie lżej, mobilniej i łatwiej mi będzie poświęcić 100% koncentracji na pracę nad funkcją. Finansowo, oczywiście, jest to decyzja nieracjonalna. Ale mimo to czuję, że jest to decyzja dobra. Zobaczymy, co się okaże.



23.12.2017. Gorąco dziękuję tajemniczej grupie stałych czytelników za przesłane poetyckie życzenia! Nie wiem, czy odłożę całkiem VMPC, żeby zjeść karpia, ale na pewno uda się połączyć jedno z drugim!

Obecny etap badań ciągnie się od początku 2017 roku. Jest on łącznikiem między definicją funkcji VMPC, a zapisanym już na czysto i stanowiącym główny trzon dowodu modelem odwracania funkcji.

Nie wierzę w szczęśliwe liczby, ale kilka razy w życiu szczęśliwe zdarzenia zbiegły mi się z liczbą 36. Jednocześnie na początku tego roku doznałem dość przejmującego przeczucia, że zakończenie tego etapu rozpoznam po tym, że uzyskany wniosek formalny będzie tak spójny i piękny, że polecą mi łzy.

Z biegiem czasu niecierpliwiłem się coraz bardziej, bo łzy nie chciały lecieć, a zapisałem ponad 40 stron brudnopisu (numerowanych liczbami, czasami z literami, np. 26a, 26b). W nim wiele prób opisania zjawiska, które miałem od samego początku "na końcu języka", które doskonale rozumiem, ale nie mogłem znaleźć sposobu na zapisanie go w sposób formalny, czyli przy użyciu samych symboli matematycznych, bez żadnego intuicyjnego uzasadnienia. Zacząłem nawet wmawiać sobie, że przepowiednia ze łzami to brednia i że mam po prostu pracować, a nie płakać.

20 grudnia 2017 o godzinie 2:16 zapisałem kartkę numer 36.

Na jej końcu wyszedł mi pewien pięknie spójny formalny zapis. Zacząłem się nad nim zastanawiać. Z chwili na chwilę, zaczynał się zazębiać z kolejnymi analizowanymi przez ten rok podejściami. Każde podejście było słuszne, ale żadne nie kończyło się zapisem formalnym. Każde potrzebowało intuicyjnego komentarza, co w dowodzie matematycznym jest niedopuszczalne.

Siedziałem tak przez jakieś pół godziny. Wpasowując nowy zapis do kolejnych podejść, poczułem zaszklenie w oczach. Po chwili miałem policzki zalane łzami. To było głębokie logiczno-emocjonalne przeżycie. Źródłem wzruszenia była logika. Uzyskany formalny wniosek tak idealnie wypełniał wszystkie intuicyjne nieścisłości w każdym rozważanym wcześniej podejściu!

Dla przykładu - analizowałem intuicyjne stwierdzenie "droga rozpoczynająca się od kolejnego elementu musi być inna". To umiałem udowodnić. Ale nie umiałem udowodnić, dlaczego w ogóle trzeba rozważać drogę od innego elementu! Na kartce 36 naturalnie powstało mi twierdzenie, które łatwo udowodniłem i wyprowadziłem z niego formalny wniosek, który wypełnia wszystkie tego typu intuicyjne niedopowiedzenia wcześniejszych koncepcji!

Twierdzenie powstało nie z formalnych przekształceń, tylko intuicyjnie. Mogło pozostać kolejną niedokończoną intuicyjną koncepcją. Zapisałem na kartce notatkę - "udowodnić formalnie powyższe". Z nadzieją, że następnego dnia spróbuję się z tym zmierzyć. Ale przed pójściem spać pomyślałem, "a, przynajmniej zacznę coś kombinować, to rano łatwiej mi będzie się za to zabrać". I chwilę później wyszedł mi gotowy dowód twierdzenia! Dowód okazał się bardzo prosty. Ale tyle wysiłku (rok!) kosztowało mnie, aby znaleźć taki "punkt widzenia" - sposób opisania zjawiska (a tych sposobów jest pewnie nieskończenie wiele) - który da się zakończyć prostym i łatwym do udowodnienia twierdzeniem!

Matematyka jest piękna. Ale proces wymyślania i odkrywania może być bolesny i długotrwały. Doceniajmy twierdzenia, jakie napotykamy na swojej matematycznej drodze. Być może uzyskanie niektórych z nich kosztowało kogoś wiele wysiłku i wyrzeczeń. Nawet (a może w szczególności...), jeśli twierdzenie ma prostą postać i jest bardzo ogólne.

To, oczywiście, jeszcze nie koniec pracy, teraz trzeba to uporządkować i zapisać na czysto. Ale przewiduję, że wszystkie kolejne etapy - do samego końca pracy - powinny być już znacznie prostsze! Obym się nie mylił!

Życzę wszystkim czytającym te słowa szczęśliwych i spokojnych Świąt Bożego Narodzenia!

Jeśli masz ochotę podzielić się ze mną swoim komentarzem, gorąco zapraszam do skorzystania z poniższego formularza kontaktowego. Każda otrzymana wiadomość mnie cieszy i inspiruje do dalszej pracy.



29.11.2017. Obecny etap pracy jest dość mozolny, niestety. Zapisałem kolejne 20 stron brudnopisu. Razem w obecnym etapie powstało na razie 40 stron brudnopisu. Wszystko po to, aby znaleźć najlepszy sposób na formalne zapisanie stosunkowo prostej myśli, opisującej istotę funkcji VMPC. Stanowi ona łącznik między definicją funkcji, a właściwą częścią dowodu, które są już ukończone. Wiedziałem, że ten etap będzie długi, ale nie sądziłem, że aż tak. Na razie efekty tej pracy wyglądają tak (kartki rozłożyłem na podłodze):

Choć widzę, że puenta tego etapu jest już blisko, to czuję się nim przemęczony.
Czasami zastanawiam się, skąd biorę, a czasami, skąd brać siły do dalszej pracy.

Jeśli zastanawiasz się, drogi czytelniku, nad prezentami dla swoich bliskich, nieśmiało podsuwam pomysł na skromny dodatek do puli prezentów pod choinką - grę planszową Permutu, która, jak wiadomo, powstała jako efekt uboczny moich badań nad funkcją VMPC.

Za jednym razem zrobisz prezent komuś bliskiemu i jednocześnie mi, wspierając projekt zakupem gry. Permutu kosztuje 39 zł z wysyłką. Jest naprawdę dobrą i wciągającą grą, tak przynajmniej mówią wszyscy, którzy w nią grali i podzielili się opinią.

Na tę okazję wymyśliłem akcję dla wszystkich, którzy śledzą mój projekt (a więc czytają te słowa).
Akcja Gwiazdka z VMPC i Permutu.

Każdy, kto wpisze "VMPC" w polu "dodatkowe informacje" podczas
składania zamówienia na Permutu, otrzyma rabat i może kupić Permutu za 36 zł zamiast 39. Wystarczy złożyć zamówienie i zapłacić 36 zł (razy ilość zamawianych sztuk), a nie wyświetlone w formularzu 39 zł.

Taki tajny kod do tańszego zakupu Permutu dla wszystkich, którzy to czytają :-)

Koszt 36 zł obejmuje już wysyłkę, a więc po zamówieniu otrzymasz grę na następny dzień (najpóźniej za dwa dni), dostarczoną Pocztą do domu.

Mam nadzieję, że choć kilka osób zdecyduje się na zakup.

Jeśli ktoś ma możliwość przesłać wiadomość o tej akcji dalej, czy na facebooku czy gdzie kto ma pomysł, będę bardzo wdzięczny. Wystarczy wspomnieć o projekcie i zamieścić link do formularza zamówienia Permutu:

www.permutu.pl/zamow

Przed Świętami wykonam jeszcze jeden wpis z życzeniami i mam nadzieję, że także z dobrymi informacjami o dalszych postępach w pracy. Tu można kliknąć, aby przejść do formularza zamówienia Permutu.

Dziękuję wszystkim za przesłane komentarze i zachęcam do wysyłania kolejnych! Zaskakująco wiele osób decyduje się pozostać anonimowymi i nie podaje adresu zwrotnego. Nie mam nic przeciwko, ale w takiej sytuacji trudno mi odpowiedzieć. A niektóre z anonimowych wiadomości zawierały konkretne pytania...

Dla jednej z takich osób, która pytała o pewien zakład o to, czy funkcję VMPC da się odwrócić: zakład wygrałem (funkcji nie da się odwrócić), ale druga strona, po przyznaniu się do błędu w swoim rozumowaniu, uznała zakład za nieważny i zaczęła straszyć mnie prawnikami, gdybym opublikował szczegóły sytuacji.

26.10.2017. Kilka kolejnych gałęzi odciętych! Jeśli istota funkcji VMPC jest gołym pniem, do którego dążę, to mój obecny etap pracy można porównać do pracy drwala, który odcina gałęzie, aż do gołego pnia. Różnica w tym, że drwalowi robota idzie szybciej. Ja potrafię zastanawiać się kilka dni przed odcięciem którejś gałęzi.

W ciągu ostatnich 2 tygodni postęp jest znaczny. Bardzo pomocne w eliminowaniu gałęzi jest porównanie VMPC do funkcji g(x)=f(f(f(x))) oraz h(x)=f(f(f(x)+1)+1). Co może wydawać się paradoksalne, h(x) jest tak samo łatwa do odwrócenia, jak g(x). Mimo że h(x)=f(f(f(x)+1)+1) wygląda "jak" albo "jeszcze mocniej" niż VMPC.

Istota funkcji VMPC: v(x)=f(f(f(x))+1) = f(f(f(x)+0)+1) tkwi bowiem w tym, że operacje modyfikujące są zmienne - raz jest to "+0", a raz "+1". Z tego faktu wynika siła, jak i sama nazwa funkcji - Variably Modified Permutation Composition.

Obecny etap pracy skierował mnie na zgłębienie problemu odwracania funkcji f(f(f(x))) i formalnego uzasadnienia, dlaczego funkcja ta jest łatwa do odwrócenia. To znacznie pomaga nakierować myśli, metodą kontrastu, na kluczowe fakty decydujące trudności odwrócenia VMPC.

Etap ten wymaga trochę pracy koncepcyjnej, a ta u mnie wiąże się z papierem i piórem. Obecny rozdział zwiększył rozmiar brudnopisu VMPC o 20 stron.

Oto wizualne przedstawienie istoty funkcji VMPC. Mamy 4 kocki, każdy ma 3 wytłoczenia. Z klocków trzeba zbudować jeden ciąg tak, aby klocki łączyły się dwoma wytłoczeniami.

Jeśli uda się zbudować taki ciąg - funkcja jest odwrócona.
Klocki po lewej stronie reprezentują funkcję f(f(f(x))). Ułożenie ciągu ze wszystkich klocków jest proste.
Klocki po stronie prawej to funkcja VMPC. Żadnych klocków nie da się połączyć dwoma wytłoczeniami.



10.10.2017. Pierwszy etap formalizowania istoty jednokierunkowości funkcji VMPC za mną. To na pewno nie koniec tego etapu, ale już ostateczny obraz dotyczącego go rozdziału zaczyna się klarować.

Zrobiłem tez duże postępy w selekcji i syntezie kilku innych kluczowych faktów, dotyczących źródła jednokierunkowości funkcji VMPC. Niektóre z nich są już tak wyklarowane, że są niemal gotowe do zapisania formalnie na czysto w pracy.

Pozostał jeszcze co najmniej jeden ważny fakt, który jeszcze musi "dojrzeć", a więc pomęczyć mi głowę przez jakiś czas, aż oczyści się ze wszystkich zbędnych informacji i pozostanie tylko jego naga istota. Logiczne źródło zjawiska, z którego wszystko inne jest tylko wnioskiem. Wtedy problem można uznać za rozwiązany i gotowy do zapisania formalnie przy pomocy symboli matematycznych. Wymaga to cierpliwości, wnikliwości i czasu.

To fascynujący proces, który nieustannie przewija się przez mój projekt. Tym razem dotyczy naprawdę fundamentalnego problemu i to czyni ten etap pracy tak bardzo ekscytującym.



18.09.2017. Osobiste burzliwości i dotykanie istoty funkcji VMPC.

W ostatnim ponadmiesięcznym okresie, niestety, burzliwości życia osobistego (rozstanie z dziewczyną) znacznie utrudniły mi pracę. Postępy merytoryczne, choć są, to nie są spektakularne.

Problemy osobiste są już jednak definitywnie za mną, a w żaglach czuję świeży powiew czystej energii do pracy, więc teraz powinno być już tylko lepiej! Wierzę, że do końca roku 2017 uda się dojść do końca szlifowania pracy. Nie gwarantuję tego, ale wierzę w to.

Obecny etap pracy jest bardzo trudny, gdyż stanowi dotykanie istoty funkcji VMPC. Nie zakończy się żadnym nowym spektakularnym wzorem, ale wywodem formalnym, który będzie syntetycznie prześwietlał właśnie istotę funkcji VMPC. I będzie trafiał w jej samo serce, które bije tylko... w jedną stronę (funkcja jednokierunkowa!)

Subiektywnie wydaje mi się, że etap ten jest najpiękniejszy w całym dowodzie. Być może po jego zakończeniu ktoś, kto zrozumiałby istotę tego etapu na ogólnym poziomie (bez wnikania w formalizmy matematyczne, skupiając się tylko na koncepcyjnej warstwie rozumowania) miałby inspirację nawet do napisania wiersza o samym źródle jednokierunkowości funkcji VMPC. Niestety sam talentu do napisania takowego wiersza - nie posiadam!

Moja praca w ostatnim czasie zawierała bardzo dużo "pracy bez pracy" - czystego myślenia, bez komputera, nawet bez kartki papieru. Zbieranie i układanie w głowie kluczowych faktów. W momencie, gdy fakty zaczęły się powtarzać i zazębiać, przeszedłem do zapisywania ich. I to już od kilku dni ma miejsce. Jest już więc teoretycznie z górki, ale nie ma pewności, czy jeszcze wiele razy nie będzie trzeba "wrócić w chmury" i np. chodzić z jakąś myślą wiele dni, aż ułoży się i zazębi z pozostałymi.

Jestem w pełni świadomy, że powyższy tekst bardziej może pasować do relacji z pisania powieści niż dowodu matematycznego. Jest to jednak, przynajmniej dla mnie, tylko potwierdzeniem tego, co powszechnie się mówi, ale w co wielu nie wierzy:

Matematyka jest formą sztuki. Przynajmniej ta część matematyki, gdzie szukamy (najpiękniejszego?) sposobu na przelanie swoich (logicznych) myśli na język (formalny matematyczny). Jest to proces twórczy, w którego zwieńczeniu czytelnik może doszukiwać się (logicznego) piękna.

Mam nadzieję, że i mi się uda choć małą cząstkę tego, zakorzenionego w funkcji VMPC piękna, przelać na papier w tym etapie pracy.



02.08.2017. Zakończyłem kolejny etap szlifowania pracy. Jego przebieg ponownie potwierdza, dlaczego szlifowanie pracy trwa tak długo. Dopiero teraz udało mi się zakończyć etap, który rozpoczął się w kwietniu 2017, a który miał zająć co najwyżej tydzień. Efektem jest uściślenie, do jakich dokładnie sytuacji wzór na prawdopodobieństwo postępu odwracania funkcji (ten wielki wzór z początku pracy) ma zastosowanie. Niestety zamiast planowanych kilku zdań na ten temat, w pracy jest obecnie 5 nowych stron dotyczących tego problemu. Pocieszeniem jest to, że teraz jest to już najprawdopodobniej wersja ostateczna tego etapu pracy.

Przede mną kolejny etap, tym razem trochę bardziej abstrakcyjny. Sformalizowanie przejścia pomiędzy definicją funkcji VMPC a opisanym w pracy modelem jej odwracania. Wstępne wyniki na brudno tego etapu już są, ale ile czasu zajmie dojście do wersji ostatecznej na czysto - okaże się w trakcie.

Czuję się tak, jakbym to nie ja, a funkcja decydowała, ile czasu zajmują mi kolejne etapy.

Jako ciekawostka "po godzinach" udało mi się znaleźć na strychu stare materiały dotyczące moich badań nad funkcją z lat 1999-2005. Nie liczę nawet ile zajmują stron. Mają około 10 cm grubości.

   



Wszystkich, którzy wierzą w mój projekt, zachęcam do zakupu
kolekcjonerskiej wersji Permutu, a więc gry powstałej na bazie funkcji VMPC.

Ostatnie egzemplarze o najbardziej atrakcyjnych numerach jednocyfrowych i dwucyfrowych "naście" są jeszcze dostępne. Środki uzyskane z ich sprzedaży wspomagają moją mozolną pracę nad funkcją VMPC.



03.07.2017. W letnim numerze kwartalnika Przekrój ukazał się artykuł zawierający wywiad ze mną. Tekst dotyczy wpływu dzieciństwa na osiągnięcia w dorosłym życiu. Artykuł zawiera wywiady z 7 osobami różnych specjalności. Zapraszam do lektury. Letni numer dostępny jest orientacyjnie od końca czerwca do połowy września 2017.



Jednocześnie zachęcam do zakupu kolekcjonerskiej wersji Permutu, gry powstałej na bazie funkcji VMPC.

Dostępne są jeszcze ostatnie egzemplarze o najbardziej atrakcyjnych niskich numerach seryjnych: jednocyfrowych 4,5,7 i dwucyfrowych 10,12,14,15,16,17 są jeszcze dostępne. Środki uzyskane ze sprzedaży tych unikalnych, w dużej mierze ręcznie robionych, egzemplarzy wspomagają ukończenie mojej pracy nad funkcją VMPC. Kolekcjonerskie Permutu zostało wyprodukowane w limitowanej serii 35 egzemplarzy i może stanowić dobrą lokatę kapitału, szczególnie po sukcesie mojego projektu!



17.06.2017. Kolejny element, którego dopracowanie miało zająć tylko chwilę, zajął kilka tygodni. Tym razem efektem jest znaczne rozbudowanie definicji funkcji VMPC. Podczas gdy dla zwykłego człowieka jest to po prostu f(f(f(x))+1), to przez ostatni miesiąc znacznie rozbudowane zostało rozróżnienie na szczególną i ogólną postać funkcji VMPC. Obecnie sama definicja funkcji zajmuje całą stronę, do tego kolejna nowa strona dowodu pewnej własności, którą ogólna postać funkcji musi spełniać, aby ta była funkcją typu VMPC i była jednokierunkowa.

Obecnie badam liczność zbioru wartości funkcji VMPC dla dużych permutacji, udało mi się przebadać N=13, a obecnie kilka komputerów pracuje nad N=14. Wyzwaniem jest tu nie tylko moc obliczeniowa, ale przede wszystkim pamięć - gdzie zapamiętać, które z 14! (ponad 87 miliardów) możliwych permutacji już zostało wygenerowanych przez funkcję VMPC?

Dla N=14 powinno się udać, ale N=15 (ponad 1,3 biliona permutacji) już jest raczej poza zasięgiem. Chyba że ktoś chciałby użyczyć na około 20 dni pracy non-stop jeden rdzeń superkomputera mającego 170 GB pamięci RAM.

Na pewno dokończę pracę, ale pracując nad jednym problemem 19 lat, bez żadnej nagrody, powoli tracę siły. Kolejne kroki przychodzą mi z coraz większym trudem. Nawet w optymistycznej wersji, gdzie rozwiążę problem, czy P=NP, wykażę, że VMPC jest pierwszą na świecie funkcją jednokierunkową - czy jest to warte takich wyrzeczeń? Poświęcenia 19 lat życia bez żadnej bieżącej nagrody, a przeciwnie, zmagając się z trudnościami, będąc zdanym na siebie.



08.05.2017. Dobrze jest być w błędzie, gdy myśli się, że jest się w błędzie. Miesiąc temu wyglądało, że prawdopodobieństwo odwrócenia funkcji jest zależne od wyboru szczególnej wersji wzoru funkcji (a więc od permutacji m1 i m2 we wzorze f(m2(f(m1(x))))). Jeszcze wcześniej sądziłem, że nie jest zależne. Symulacje pokazały jednak minimalne różnice w tym prawdopodobieństwie w zależności właśnie od wyboru m1 i m2. Okazało się jednak, że winę za to ponosi... jakość wbudowanego generatora liczb pseudolosowych!

Tu ukłony w kierunku osób (było ich kilkaset), które w 2010 roku pomagały mi w symulacjach komputerowych podczas tworzenia algorytmu generowania liczb pseudolosowych VMPC-R. Pamiętacie
dziennik z symulacji i kipiące od wysiłku komputery, które łącznie wygenerowały 1 300 000 000 000 000 liczb? Otóż liczby te ponownie przydały się teraz. Gdy zastąpiłem standardowy generator liczb pseudolosowych przez stworzony wtedy VMPC-R, symulacje zaczęły układać się tak, jak powinny! A więc tak, jak pierwotnie sądziłem - że wybór m1 i m2 jednak nie ma wpływu na prawdopodobieństwo odwrócenia funkcji. Na razie nie jest to wynik ostateczny, a wstępny, bo przede mną przeprowadzenie bardzo wielu symulacji, które mają to zweryfikować. Ale dobrze jest, gdy coś, co się stworzyło ogromnym wysiłkiem kilka lat wcześniej, nagle przydaje się i rozwiązuje (najprawdopodobniej) problem, który ma się dzisiaj!

Wiadomość z ostatniej chwili jest też taka, że przy okazji optymalizowania algorytmu symulującego zauważyłem czystym przypadkiem, pewną bardzo ciekawą zależność, wprawdzie poboczną, nie mającą żadnego wpływu na główne rozumowanie, ale mimo to ciekawą i umieszczającą funkcję VMPC w nieco szersze ramy. Zauważyłem zaskakującą ścisłą zależność między prawdopodobieństwem zajścia pewnego zjawiska "atomowego" podczas odwracania funkcji, a ilością sytuacji m1(x)=m2(x). Funkcja VMPC z definicji nie posiada ani jednej takiej sytuacji. "Zwykłe" potrójne złożenie N-elementowych permutacji, a więc f(f(f(x))), posiada N takich sytuacji. Wygląda, że
Pk = Pv - K (Pv - Pr)
gdzie Pk to prawdopodobieństwo zajścia tegoż atomowego zjawiska dla funkcji mającej K sytuacji m1(x)=m2(x), Pv to prawdopodobieństwo tego zjawiska dla funkcji VMPC, a Pr - dla funkcji posiadającej dokładnie jedną sytuację m1(x)=m2(x). Jest to na razie obserwacja wstępna i nieuporządkowana, ale jest o tyle ciekawa, że łączy wiele rodzajów funkcji jednym wzorem i, co jeszcze ciekawsze "filozoficznie", wreszcie łączy dwie funkcje: zwykłe złożenie permutacji f(f(f(x))) oraz VMPC (a więc np. f(f(f(x))+1) wzorem, który mówi, że te dwie funkcje są skrajnymi przypadkami pewnego zjawiska. A skądinąd wiemy, że funkcje te są także skrajnościami w trudności odwracania, gdzie f(f(f(x))) jest łatwa do odwrócenia, podczas gdy f(f(f(x))+1) (VMPC), jest niemożliwa do odwrócenia - jednokierunkowa.



30.03.2017. Praca posuwa się powoli do przodu. Wolniej niż chciałbym, a tym razem spowalnia mnie... moc obliczeniowa procesora. Zanim zacznie być całkiem z górki, muszę jeszcze doprecyzować jeden element pracy, a ten wymaga trochę więcej pracy niż początkowo sądziłem. Zarówno trochę koncepcyjnej pracy (jak opisać zjawisko, aby było najbardziej elegancko), jak i pracy obliczeniowej - trzeba wykonać symulacje komputerowe weryfikujące wpływ wyboru szczególnej wersji wzoru funkcji VMPC na prawdopodobieństwo odwrócenia funkcji. Początkowo sądziłem, że wpływu tego nie ma i że funkcja może pozostać zdefiniowana w abstrakcyjny sposób jako f(m2(f(m1(x)))), gdzie m1 i m2 to dowolne stałe, jawne permutacje. Po długotrwałych symulacjach komputerowych okazuje się, że wartości m1 i m2 mają minimalny wpływ na uzyskiwane prawdopodobieństwa. Obliczenia czasami wymagają kilku dni pracy komputera, gdyż różnice pojawiają się dopiero np. na 5 miejscu po przecinku (np. 0,12345 vs 0,12346) i aby tak mała różnica była statystycznie istotna, potrzeba ogromnej próbki, a ta wymaga bardzo długich obliczeń na komputerze.

Wynikiem tych analiz będzie najprawdopodobniej odejście od ogólnego wzoru funkcji VMPC, f(m2(f(m1(x)))), i powrót do korzeni, czyli do któregoś wzoru szczegółowego, np. właśnie do pierwotnego f(f(f(x))+1), który formalnie oznacza, że m1(x)=x, a m2(x)=x+1 mod N, i który na razie w symulacjach daje najlepsze wyniki (najniższe prawdopodobieństwo odwrócenia funkcji).

Niestety, dysponuję słabym sprzętem komputerowym (procesor AMD Athlon II X4 640), co wydłuża proces symulacji. Pasujący do mojej płyty głównej 8-rdzeniowy procesor AMD FX-8320E (kosztujący 530 zł) pomógłby przyspieszyć symulacje 3-krotnie, jednak nie mogę sobie pozwolić na jego zakup.



14.02.2017. Cała pierwsza część pracy, która była najmniej sformalizowana i przez to wymagała najwięcej dopracowywania, została sfinalizowana. W ostatnim czasie zrobiłem sobie trochę intelektualnej przerwy, aby naładować mózg i inspirację świeżymi siłami. Ale ta przerwa właśnie się kończy i właśnie teraz zabieram się za kolejny etap!

Wszystkich, którzy wierzą w mój projekt, zachęcam do zakupu
kolekcjonerskiej wersji Permutu, a więc gry powstałej na bazie funkcji VMPC.

Ostatnie egzemplarze o najbardziej atrakcyjnych numerach jednocyfrowych i dwucyfrowych 1n są jeszcze dostępne. Środki uzyskane ze sprzedaży tych unikalnych dzieł sztuki wspomagają ukończenie mojej pracy nad funkcją VMPC.

Życzę wszystkim zakochanym wszystkiego najlepszego z okazji Walentynek!



31.12.2016. Postępy w pracy idą dobrze, merytorycznie zgodnie z planem, a czasowo - niezgodnie z planem. Jeszcze nie skończyłem szlifowania pracy. Niemal wszystko zajmuje znacznie więcej czasu niż na początku mi się wydaje. Wynika to w dużej mierze z mojego perfekcjonizmu, którego jestem niewolnikiem. Nawet najprostsza rzecz musi być zrobiona doskonale. Czasami oznacza to, że muszę przez wiele dni czytać różne materiały, aby zdecydować, jak opisać jakieś zjawisko. Mimo że mógłbym je opisać tak, jaki wpadł mi pierwszy pomysł i też by było dobrze. Może źle robię, ale chcę, aby praca była faktycznie dopracowana najlepiej, jak potrafię. Abym nie miał sobie nic do zarzucenia, że coś mogłem zrobić lepiej.

Dla przykładu przez cały okres okołoświąteczny (Święta, oczywiście, "ukradły" trochę dni pracy) studiowałem różne prace matematyczne, aby zainspirować się do udoskonalenia samej definicji funkcji VMPC. Definicja funkcji, oczywiście, była już 18 lat temu. Ale czy była najlepsza? Czy była najbardziej ogólna? Na pewno nie. W pracy przez prawie dwa lata była jedna definicja funkcji VMPC, już dużo bardziej ogólna, ale teraz wzięło mnie na to, aby ją jeszcze bardziej udoskonalić.

No i zajęło to dużo czasu. Ale za to są efekty. Teraz definicja funkcji jest faktycznie najlepsza, jaką jestem w stanie skonstruować. I dopiero teraz jestem z niej zadowolony! "Popularny" wzór funkcji VMPC, a więc f(f(f(x))+1) jest wobec nowej definicji tylko szczególnym przypadkiem szczególnego przypadku funkcji VMPC. Dopiero teraz definicja funkcji jest wystarczająco mocno uogólniona i odpowiednio elegancko zapisana formalnie.

Wiąże się to, niestety z jedną komplikacją, a mianowicie, że w całej pracy muszę zmienić przyjęty dla funkcji VMPC zbiór z {0,1,...,N-1} na {1,2,...,N}. Niby bzdura, niby merytorycznie bez znaczenia, ale nowa wersja będzie ciut bardziej elegancka. A że praca zajmuje 57 stron, to będzie sporo "fizycznej" pracy z tym. Z koniecznością zachowania bardzo dużej ostrożności, aby nigdzie nie popełnić błędu przy tej zmianie.

Męczy mnie ten proces, ale muszę być twardy i nie mogę podarować sobie choć jednego pomysłu na udoskonalenie pracy.

Życzę wszystkim powodzenia w nadchodzącym 2017 roku!



22.11.2016. Kolejny etap szlifowania pracy za mną. Polegało to na przebiciu się ponownie przez wyprowadzenie wzoru, nad którym pracowałem na początku 2015 (wzoru na prawdopodobieństwo sukcesu pierwszego kroku odwracania funkcji VMPC). Ponieważ całe wyprowadzenie zajmuje 12 stron matematycznych "szlaczków", przetrawienie tego wymagało trochę czasu... Całość musiałem na nowo przeanalizować i, co najtrudniejsze, przetłumaczyć na "język VMPC", a więc wspominany już wielokrotnie 4-stronicowy zbiór symboli, służących do opisu funkcji VMPC.

Nad jednym z bardziej "niewdzięcznych" etapów tego wyprowadzenia pracowałem prawie 2 tygodnie. Mianowicie w jednym tylko miejscu we wzorze jest użyty pewien wzór kombinatoryczny D'. Wzór ten musiałem wyprowadzić sam, bo nie znalazłem go nigdzie w literaturze. Aby jednak go wyprowadzić, musiałem najpierw wyprowadzić pewien inny wzór, Dx(N). Aby wyprowadzić ten wzór, musiałem wymyślić pewną tablicę liczb, określoną pewnym wzorem. Potem, gdy już tę tablicę wymyśliłem i wyprowadziłem z niej odpowiednie wzory, okazało się, że tablicę tę wymyślił już ktoś przede mną! Nazywał się Leonhard Euler! Tablicą tą jest "Euler's difference table". Swoją drogą - ekscytujące przeżycie - wymyślić coś całkiem samemu, a potem dowiedzieć się, że dokładnie to samo wymyślił już wcześniej jeden z najwspanialszych matematyków świata.

Oczywiście świadczy to tylko o mojej niewiedzy - w przeciwnym razie nie musiałbym tej tablicy wymyślać sam, tylko po prostu wiedziałbym, że Euler już ją dawno temu wymyślił.

Teraz muszę chwilowo odpocząć, może kilka dni, a zaraz potem zabieram się za szlifowanie kolejnych elementów pracy. Na razie pracę udało się skrócić do 57 stron (z pierwotnych 63). Im mniej, tym lepiej. Choć wiem, że jeszcze kilka rzeczy muszę dopisać, więc objętość może jeszcze o parę stron wzrosnąć.



27.10.2016. A tu przykład z ostatniej chwili, jaką "siłę" upraszczania ma język opisu funkcji VMPC. Wiele zjawisk, których formalny zapis wymagał gimnastyki bez użycia języka (dotyczy to tej części pracy, która powstała przed jesienią 2015), teraz udaje zapisać w sposób elementarnie prosty przy użyciu tegoż właśnie języka.



26.10.2016. Pierwsze efekty porządkowania pracy już za mną! Zacząłem od najstarszej części pracy - ona powstała przed zdefiniowaniem języka opisu funkcji - 4-stronicowego zestawu zmiennych i zbiorów, pozwalającego opisać każdą sytuację, jaka może wystąpić podczas odwracania funkcji. Teraz wplatam tę pierwszą część pracy w język opisu funkcji, aby cała praca była spójna. Przy tej okazji uporządkowałem wyprowadzenie niektórych wzorów. Dla przykładu wyprowadzenie dwóch wzorów, które w pierwotnej wersji pracy zajmowało 3 strony, teraz mieści się na jednej stronie, a jednocześnie jest jeszcze jaśniejsze.



11.09.2016. Duża część odpoczynku za mną. Nie udało mi się wyjechać nigdzie, ale odpoczynek to głównie stan umysłu. Lokalne wycieczki, relaks i jakoś udało się poczuć napływ świeżej energii do pracy. Oficjalnie powrót to pracy zaplanowałem równo z ropoczęciem roku akademickiego, a więc na 1 października.



31.05.2016. Ukazał się artykuł o moich badaniach nad funkcją VMPC w serwisie 38milionow.pl.



26.02.2016. Ukazał się film z mojego wystąpienia na konferencji TEDx Wrocław 2015:





26.02.2016. Początek roku 2016 zaowocował dwoma cennymi obserwacjami oraz dalszymi postępami w porządkowaniu dowodu. Udało mi się wyprowadzić uniwersalny wzór opisujący każdą sytuację, jaka może wystąpić podczas odwracania funkcji VMPC:



Nie jest to wprawdzie nic rewolucyjnego, gdyż dalsza część dowodu będzie wciąż taka sama, jak pierwotnie założyłem, ale teraz będzie ona jeszcze bardziej klarowna, gdyż będzie wyprowadzona właśnie z tego uniwersalnego wzoru. Wzór ten udało się wyprowadzić dzięki zastosowaniu opracowanego pod koniec 2015 rok języka (zestawu zbiorów i zmiennych) służącego do opisu funkcji VMPC. W obecnej wersji (dopracowywanie języka trwa ciągle, a ostatnie udoskonalenie wprowadzałem wczoraj, być może to już ostatnie!) same definicje pojęć tego języka zajmują 4 strony czystopisu. Jednakże pozwalają niesamowicie dokładnie opisywać funkcję VMPC! I powyższy wzór - obiektywnie wcale nieskomplikowany, jest właśnie efektem tego, że język udało się tak ładnie ułożyć, aby dało się z niego wyprowadzić prosto wyglądające wzory, ale niosące ze sobą dużą ilość treści. I z tego efektu jestem niezmiernie zadowolony.

Co więcej, dzięki zapisaniu powyższego wzoru - udało mi się bardzo jasno zilustrować istotę funkcji VMPC. Nie jest to formalnie część dowodu na jednokierunkowość funkcji, jednakże jest bardzo silnym argumentem wstępnym, pozwalającym intuicyjnie zrozumieć, czym tak naprawdę jest funkcja VMPC i dlaczego nie może się jej dać odwrócić. Formalny dowód jest przeprowadzony całkowicie niezależnie od tej obserwacji, jednakże obserwacja jest na tyle ciekawa, że zostanie zawarta w pracy jako element wstępny. Mianowicie, korzystając z powyższego wzoru, udało mi się pokazać, że funkcja VMPC - mimo że jest przekształceniem jednej N-elementowej permutacji, działa tak, jakby stanowiła zbiór trzech losowych permutacji o N-1 elementach. Innymi słowy - kosztem jedynie odjęcia jednego elementu permutacji (zamiast N mamy N-1 elementów, co nie jest żadnym zauważalnym kosztem) zyskujemy taki efekt, jaki mielibyśmy generując dwie dodatkowe losowe permutacje. A to w oczywisty sposób utrudnia odwracanie funkcji, gdyż w losowości, z definicji, nie ma regularności, a więc i nie da się znaleźć algorytmu wykorzystującego te regularności w celu odwrócenia funkcji.

Tyle nowych pomysłów. Obecnie, od około 2 tygodni, intensywnie porządkuję powyższe nowe optymistyczne myśli i wplatam je w dotychczasowe rozumowanie, jednocześnie udoskonalając język opisu funkcji tak, aby wynikające ostatecznie wzory były jak najprostsze.

Póki co najnowszym wynikiem tego porządkowania jest zawyżające przybliżenie powyższego wzoru, które także zostanie użyte w dowodzie, choć jako element dodatkowy. Przybliżenie poniższe, choć wygląda na bardziej skomplikowane niż sam wzór, który ono ma przybliżać, to jednak istotą tego przybliżenia jest to, że pozbywa się ono zmiennych K oraz H, aby możliwe było stosowanie wzoru także bez znajomości wartości zmiennych K i H:



Przede mną dalsze porządkowanie rozumowania i podążanie w kierunku ostatecznego wzoru na prawdopodobieństwo odwrócenia funkcji VMPC. To ostateczne prawdopodobieństwo będzie musiał pokonać każdy algorytm odwracania funkcji. Tylko algorytm hipotetycznie doskonały mógłby się do tego prawdopodobieństwa zbliżyć, choć w praktyce każdy możliwy do wymyślenia algorytm odwracania funkcji będzie odwracał funkcję z prawdopodobieństwem miliardy miliardów razy mniejszym.

Więcej szczegółów na blogu z postępów prac:
www.pieknafunkcja.pl/postepy



Kolekcjonerski zestaw do Permutu numer 34 znalazł nowego właściciela.

Był to ostatni egzemplarz kolekcjonerskiego Permutu przeznaczony do sprzedaży. Wszystkie zestawy kolekcjonerskie przeznaczone do sprzedaży (16 sztuk o numerach od 20 do 35) są już w rękach nabywców. Gratuluję wszystkim, którzy zdążyli z zakupem!



Kolekcjonerski zestaw do Permutu numer 28 znalazł nowego właściciela. Do sprzedaży pozostał tylko jeden zestaw numer 34.



10.12.2015. W serwisie wynikilotto.net.pl ukazał się artykuł mojego autorstwa dotyczący opłacalności gry w Lotto.



01.12.2015. Jesienno-zimowa mobilizacja twórcza. Trwa od pewnego czasu, a teraz pora napisać kilka słów o jej efektach. W okresie letnim i wczesnojesiennym niestety prace znacznie zwolniły. Wciąż posuwały się prawidłowo do przodu, ale znacznie wolniej. Spowodowane to było zmianami w życiu osobistym oraz koniecznością własnoręcznego wyremontowania blacharki mojego starego samochodu (Toyota Corolla, rocznik 1990) - ilość dziur w nadwodziu przekroczyła punkt krytyczny, a nie stać mnie było na zlecenie remontu blacharzowi (kosztowałoby to około 5.000 zł) i dlatego wszystkie prace wykonałem własnoręcznie.

Sytuacja osobista i samochodowa jest już opanowana i całą energię poświęcam funkcji VMPC. Być może tak właśnie musiało być. W czasie, gdy prace latem zwolniły, umysł porządkował informacje. Było to chyba potrzebne, bowiem to, co obecnie przede mną, jest wyjątkowo trudne do opisania. Są to skomplikowane zjawiska, których samo opisanie językiem werbalnym byłoby złożone, a do opisania ich formalnym językiem matematycznym musiałem stworzyć własny "język" czy jak kto woli "toolbox" (zestaw narzędzi). Język ten to zestaw funkcji i zbiorów, zdefiniowanych w taki sposób, aby umożliwić eleganckie formalne przedstawienie zjawiska.

Prace nad stworzeniem tego "języka" właśnie zakończyłem. Centralnym jego elementem jest funkcja "T". Towarzyszy jej kilka tożsamości oraz odpowiednio zdefiniowanych zbiorów. Poniżej drobny wycinek:

"Język" ten będzie używany do samego końca pracy. Przy jego bezpośredniej pomocy opisane zostaną kluczowe fakty decydujące o jednokierunkowości funkcji VMPC. Obecnie przede mną jest wyprowadzenie złożonych wzorów na prawdopodobieństwa. Przy ich wyprowadzaniu posługiwał się będę powstałym "językiem". Wzory te są dalszym rozwinięciem wzoru wyprowadzonego wiosną.

Pierwszy wzór tego etapu pracy już jest. Jest to właśnie ten wzór, którego ostateczna postać wpadła mi do głowy latem na huśtawce ogrodowej. Dopiero teraz jednak można go odnieść do funkcji w elegancki formalny sposób - korzystając właśnie z opracowanego "języka".

Przede mną zapisanie na czysto w pracy wyprowadzenia tego wzoru, a następnie przejście do dalszych wzorów.



Kolekcjonerski zestaw do Permutu numer 30 znalazł nowego właściciela. Do sprzedaży pozostały już tylko 2 zestawy z numerami: 28,34.



17.09.2015 ukazał się wywiad ze mną na kanale Continuum na YouTube.





Kolekcjonerski zestaw do Permutu numer 25 znalazł nowego właściciela. Do sprzedaży pozostały już tylko 3 zestawy z numerami: 28,30,34.



Kolekcjonerski zestaw do Permutu numer 31 znalazł nowego właściciela. Do sprzedaży pozostały zestawy z numerami: 25,28,30,34.



Kolekcjonerski zestaw do Permutu numer 27 znalazł nowego właściciela. Do sprzedaży pozostały zestawy z numerami: 25,28,30,31,34.





30.06.2015 w telewizji TVN 24 ma być nadany wywiad ze mną dotyczący badań nad funkcją VMPC.



27.06.2015 ukazał się artykuł o moich badaniach nad funkcją VMPC w serwisie INNPoland.pl.



25.06.2015. Jestem obecnie w najważniejszym etapie całej pracy. Uzyskuję w nim niewielomianowy wzór na prawdopodobieństwo odwrócenia funkcji niezależnie od zastosowanego algorytmu. Z wzoru tego wynika jednokierunkowość funkcji VMPC. Jest to centralna część całego dowodu. Mimo że wzór jest już gotowy (czyli w bardzo uproszczonym sensie praca osiągnęła pierwszą fazę ukończenia), to z racji wagi tego etapu, prowadzę ze sobą swoistą grę. Próbuję sam atakować ten wzór ze wszelkich stron. I jednocześnie go bronić. Tak, aby od razu zawrzeć w pracy odpowiedzi na możliwie największą ilość pytań, jakie czytelnik może mieć. To, owszem, spowalnia proces pisania, ale po publikacji powinno znacznie przyspieszyć proces weryfikacji. Potem zostało jeszcze wiele dodatkowych elementów do opisania, więc nie należy popadać w nadmierny optymizm, ale faktem jest, że na razie praca idzie mi bardzo dobrze i wyprzedzam założony sobie w grudniu 2014 harmonogram.

Więcej szczegółów na blogu z postępów prac:
www.pieknafunkcja.pl/postepy



16.05.2015 miałem przyjemność wystąpić na konferencji TEDx Wrocław.

(konferencja na licencji TED).

Przed 300-osobową widownią opowiadałem o przebiegu moich 17-letnich badań nad funkcją VMPC oraz o tym, czego się przez ten czas nauczyłem. O myśleniu poza schematami, o błądzeniu i wytrwałości, o znoszeniu krytyki. Wspaniała atmosfera i doskonała organizacja konferencji stworzyły niezapomniane doświadczenie.

Zobacz galerię zdjęć.



Materiał filmowy z wystąpienia dostępny będzie w późniejszym czasie (za 1-2 miesiące).



10.05.2015. Analiza wzoru-kobyły wraz z opisem na czysto zajęły trochę czasu, ale ten etap już za mną! Wszedłem teraz w kolejny etap, w którym będę analizował zjawiska spokrewnione z tym wzorem, ale już będące o krok bliżej finałowego wniosku, iż funkcja VMPC jest jednokierunkowa. Etap ten zakończy się dodaniem kolejnego rozdziału. Praca na czysto ma na razie objętość 26 stron.



Kolekcjonerskie zestawy do Permutu numer 23 oraz 26 znalazły nowych właścicieli. Do sprzedaży pozostały zestawy z numerami: 25,27,28,30,31,34.





13.04.2015. W piątek 10 kwietnia ukazał się artykuł o grze Permutu i projekcie VMPC w Gazecie Wyborczej, w wydaniu wrocławskim w dodatku "Tygodnik Wrocław".



10.04.2015. Nowy wpis na moim nieformalnym blogu. Tym razem to tylko jedna myśl:
Człowiek, który mierzy swoją wartość wielkością posiadanego majątku, jest ubogim człowiekiem.
Co sądzisz? Zobacz więcej.



08.04.2015. Ukazała się recenzja gry Permutu na portalu www.matematyka.wroc.pl.



31.03.2015. Udało mi się zauważyć tożsamość, która pozwala w znacznym stopniu uprościć wyjściową postać wzoru. Dokładniej - cała suma ze zmienną E może zostać zastąpiona znacznie prostszym wyrażeniem:

Obserwacja ta zmniejsza subiektywnie postrzeganą komplikację wzoru o 30%. To dobra wiadomość, bo ten wzór będzie się przewijał do samego końca pracy, a im będzie prostszy, tym lepiej! Poprzedni wpis podający znacznie prostszą postać wzoru to w odróżnieniu od obecnego wyniku wzór przybliżony (też będzie potrzebny), a ten jest wzorem dokładnym.



18.03.2015. Są już pierwsze konkretne wyniki obróbki wzoru. Jest to dość żmudny etap pracy ze względu na "masywność" tego wzoru. Aby wydrukować go w jednej linijce, musiałem zmienić orientację papieru na poziomą :-) Ale wszystko zaczyna się dobrze układać i uzyskałem wynik, że wzór-kobyła może być przybliżony wzorem znacznie prostszym:

W specyficznych okolicznościach wzór główny przybiera postać wzoru uproszczonego, a w innych okolicznościach dąży do niego od góry, a od dołu dąży do tegoż uproszczonego wzoru dla N'=N-1.



11.03.2015. Obecnie zajmuję się obróbką poniższego wzoru. Nie jest to przyjemne, gdyż wzór jest wielką "kobyłą". Jest już jednak pierwszy bardzo optymistyczny wynik - wzór ten da się uprościć do bardzo eleganckiej postaci, dużo łatwiejszej w dalszej analizie. Więcej szczegółów wkrótce, gdy wszystko zostanie precyzyjnie doliczone.



19.02.2015. Dziś uporządkowałem zapis ogólny wzoru. Podczas edycji w Wordzie trzeba by było zmniejszyć czcionkę do rozmiaru 7, aby wzór zmieścił się w jednym wierszu... Jest to jeden z najważniejszych wzorów w całej pracy. Tak wygląda w normalnym rozmiarze czcionki, zapisany w trzech wierszach:



18.02.2015. Dziś duży sukces! Po 3 tygodniach pracy uzyskałem postać ogólną jednego z najważniejszych wzorów w całym dowodzie. Jest to uogólnienie dwóch poprzednich wzorów, o których pisałem. Wzór jest tak skomplikowany, że do samego podstawienia liczb musiałem napisać program komputerowy. Będę musiał podzielić wzór na części, aby go przejrzyście zawrzeć w pracy. Gdy to zrobię, wkleję go także tutaj. Olśnienie, które pozwoliło mi pokonać ostatnią przeszkodę przyszło mi do głowy o... 3:30 w nocy.



11.02.2015. Chwila kryzysu sił. Na szczęście nie kryzysu efektów. Po kolejnym tygodniu zmagań udało mi się dojść do kolejnego wzoru, będącego elementem być może najtrudniejszego przejścia w całym dowodzie. Postaram się ten wzór wkleić tu, ale na razie jest to trudne, bo przed uproszczeniem wzór jest zbudowany z 65 wartości. Tak jak twierdzenie Pitagorasa wiąże trzy wartości (a^2+b^2=c^2). Samo podstawienie liczb do wzoru (65 liczb) było wyzwaniem. Cudem chyba okazało się, że po podstawieniu danych wzór dawał prawidłowy wynik za pierwszym razem! Gdyby był błąd, byłoby to jak szukanie igły w stogu siana i mogłoby zająć kilka dni. Na szczęście jest dobrze. Kosztowało mnie to jednak chyba bardzo dużo wysiłku umysłowego i teraz czuję się wyprany z sił. To stan normalny i przejściowy. Do tej chwili prace idą szybciej i skuteczniej niż sądziłem.



03.02.2015. Kolejne kilka dni matematycznego odpływu. Uzyskałem kolejny wzór potrzebny do wykonania chyba najtrudniejszego przejścia w dowodzie (czy faktycznie okaże się najtrudniejsze, będę mógł powiedzieć po ukończeniu całej pracy).

gdzie e oznacza liczbę Eulera; [] zaokrąglenie do najbliższej liczby całkowitej.
S0,N oznacza N-ty element sekwencji liczb 1, 2, 9, 44, 265, 1854, 14833, 133496, 1334961,...
S1,N oznacza N-ty element sekwencji liczb 1, 3, 11, 53, 309, 2119, 16687, 148329, 1468457,...
S2,N oznacza N-ty element sekwencji liczb 2, 4, 14, 64, 362, 2428, 18806, 165016, 1616786,...



28.01.2015. Definicje oraz opisanie kilku podstawowych prawdopodobieństw za mną. Wchodzę w etap bardziej zaawansowany. Przede mną jedno z najtrudniejszych przejść w dowodzie. Dziś pierwszy sukces - po kilku dniach pracy nad jednym wzorem udało mi się określić prawdopodobieństwo, które jest jednym z ważnych kroków niezbędnych do opisania tego przejścia. Wzór na prawdopodobieństwo wyrzucenia orła monetą to P=1/2. Ten, nad którym teraz się męczyłem, jest trochę bardziej złożony :-)

gdzie e oznacza liczbę Eulera, a [] zaokrąglenie do najbliższej liczby całkowitej.



18 stycznia 2015 ukazała się recenzja Permutu na portalu www.for2players.pl.




Potrzebne są środki na ukończenie badań nad wielkim problemem matematycznym
"czy P=NP". Jeśli możesz - wesprzyj proszę projekt na serwisie zrzutka.pl.
Jeśli nie możesz - roześlij proszę link to zrzutki znajomym (zrzutka.pl/vmpc)



7 stycznia 2015 kolekcjonerski zestaw do Permutu numer 32 znalazł nowego właściciela. Do sprzedaży pozostały zestawy z numerami: 23,25,26,27,28,30,31,34.





20 grudnia 2014 ukazała się recenzja Permutu na portalu www.zagramy.net.



19 grudnia 2014trzy kolekcjonerskie drewniane zestawy do Permutu trafiły do jednego nowego właściciela. Były to plansze numer 22,33 i 35. Gratuluję zakupu, który mam nadzieję przysporzy wyjątkowych wrażeń estetycznych, emocji związanych z grą, a w perspektywie kilku lat okaże się dobrą inwestycją.

Nakład zestawów kolekcjonerskich jest ograniczony do 35 sztuk. Każdy zestaw jest wykonany częściowo ręcznie z litego drewna bukowego i posiada wyrzeźbiony numer seryjny.

Na chwilę obecną do sprzedaży pozostały zestawy z numerami: 23,25,26,27,28,30,31,32,34.



17 grudnia 2014. Otworzyłem stronę, na której będę dokumentował postępy w pisaniu pracy naukowej, dowodzącej jednokierunkowości funkcji VMPC i rozwiązującej słynny problem matematyczny "czy P=NP": www.pieknafunkcja.pl/postepy



12 grudnia 2014. Ukazał się wywiad ze mną na temat moich badań w e-gazecie studenckiej Sic!



10 grudnia 2014. Ukazał się artykuł o projekcie VMPC i grze Permutu styczniowym numerze magazynu Młody Technik (Przeczytaj artykuł).







10 grudnia 2014. Opublikowałem nową pracę naukową z kryptografii: "Statistical weakness in Spritz against VMPC-R: in search for the RC4 replacement";  [pobierz PDF].

Jeden z największych kryptologów świata, Ron Rivest, autor algorytmu RC4, współautor algorytmu RSA, opublikował w październiku 2014 nowy zaprojektowany przez siebie algorytm szyfrowania Spritz, który ma być następcą RC4.

W pracy mojej wykazałem słabość nowego algorytmu Rivesta oraz przedstawiam swój algorytm VMPC-R jako posiadający lepsze własności kryptograficzne.

Do wykazania słabości w Spritzu użyłem tego samego, zaprojektowanego przez siebie testu statystycznego, którego używałem podczas projektowania algorytmu VMPC-R. Tak, to ten algorytm, który w 2010 badaliśmy wraz z kilkuset ochotnikami wykonując testy statystyczne na swoich komputerach!

Dla 3-bitowej wersji obu algorytmów - Spritz wykazuje nieakceptowalne odchylenia od modelu losowego po wygenerowaniu około 4 milionów liczb. Dla porównania - liczby generowane przez VMPC-R pozostają wciąż zgodne z modelem losowym po wygenerowaniu 122 bilionów liczb (122 miliony milionów). To 31 milionów razy więcej niż potrzeba, aby wykazać słabość w Spritzu.

8 grudnia 2014. Ukazała się recenzja Permutu na portalu niedzielnigracze.pl.



4 grudnia 2014 ukazała się recenzja Permutu na portalu znadplanszy.pl.



W dniach 22-24 listopada 2014 Permutu było gościem na targach gier Wrocław Games Fest. Ponownie potwierdziła się reguła, że w sobotę goście poznają grę, a w niedzielę wracają ją kupić.

Pozdrawiam parę, która wypożyczyła Permutu z wypożyczalni i do której dosiadłem się udając zainteresowanego grą :-) Miło było zobaczyć, że Permutu wystarczy wyciągnąć z opakowania i po krótkiej chwili zapoznania można od razu grać!

Turniej Permutu odbył się z dużym rozmachem. Trwał 2 godziny, podczas których rozegranych zostało 15 partii i mimo że każdy z zawodników rozegrał ich 5 - emocje nie opadały do samego końca, a o nudzie nie było mowy. Gdyby trzeba było grać przez kolejne 2 godziny, raczej nikogo nie trzeba by było namawiać. Najlepszy okazał się startujący we wszystkich dotychczasowych turniejach Dawid Góra, który wygrał wszystkie mecze i cały turniej. Permutu kolejny raz okazało się grą dla wszystkich - zarówno dzieci jak i dorosłych. Wszystkim uczestnikom turnieju gratuluję wyników; osobom, które kupiły grę, życzę dobrej zabawy i do następnego spotkania!



W dniach 14-16 listopada 2014 Permutu gościło na targach gier Hall of Games we wrocławskiej Hali Stulecia. Stoisko Permutu było licznie oblegane, niektórzy chcieli nawet kupić rzeźbiony stół do Permutu, niestety bez skutku :-) Odbył się także kolejny turniej Permutu. Wiele osób zafascynowała nie tylko sama gra, ale i badania naukowe nad funkcją VMPC, z których gra się wywodzi. Kilku nowych nabywców Permutu odmówiło odejścia od stołu bez autografu autora! Wszystkim, którzy kupili grę, życzę dobrej i długiej zabawy z Permutu! Zobacz galerię zdjęć.





27.10.2014. Premiera dwóch nowych gier z wykorzystaniem klocków do Permutu! Teraz kupując Permutu otrzymujesz nie jedną, ale trzy różne gry! Oczywiście osoby, które kupiły grę wcześniej - także mogą cieszyć się dwoma nowymi grami - wystarczy przeczytać zasady i grać!

     



06.10.2014 Permutu gościło na evencie Imladris w Krakowie w dniach 3-5 października 2014.



01.10.2014 jest ważną datą w rozwoju badań nad funkcją VMPC. Tego dnia zakończyłem główny etap doprecyzowywania elementów dowodu jednokierunkowości funkcji VMPC i rozpocząłem zapisywanie dowodu na czysto w pracy naukowej. Celem jest opublikowanie pracy na międzynarodowej konferencji naukowej, co jest wymogiem w procedurze rozwiązania problemu milenijnego "czy P=NP" Clay Mathematics Institute.

Jeśli wszystko się uda, VMPC stanie się pierwszą na świecie funkcją jednokierunkową. Samo to będzie doniosłym osiągnięciem, gdyż funkcje jednokierunkowe są dla matematyków trochę jak Święty Graal - dużo się o nich mówi, wiele wynikałoby z ich istnienia, ale nikt żadnej nie znalazł.

Drugą pieczenią na tym ogniu będzie rozwiązanie jednej z największych zagadek matematyki - problemu "czy P=NP" - z faktu istnienia funkcji jednokierunkowej wynika bezpośrednio, że P ≠ NP.

Robocza wersja dowodu zapisana jest ręcznie na stosie 2 cm kartek A4 (około 150 stron). Ponad drugie tyle leży na strychu jako materiał roboczy z wcześniejszego etapu badań. Dowodowi towarzyszy ponad 5000 linii kodu (około 150 stron wydruku A4) symulacji komputerowych. Uporządkowanie tych materiałów i zapisanie całego rozumowania precyzyjnym językiem matematycznym wymagać będzie bardzo dużo pracy.





Dnia 12.09.2014 do klientów korporacyjnych wykorzystujących aplikację do szyfrowania VMPCrypt dołączył
Niepubliczny Zakład Opieki Zdrowotnej SABA-MED.



Dnia 31.08.2014 Permutu gościło na otwarciu nowego sklepu z grami planszowymi Planszóweczka we wrocławskim Kinie Nowe Horyzonty. Stoliki były tłumnie oblegane przez miłośników planszówek, a Permutu zachwyciło wielu gości - niemal 80% osób zasiadających do stolika poznać grę odeszło dopiero po kupieniu własnego egzemplarza Permutu! Najdostojniejsi goście przy stoliku Permutu mieli dziś lat 60 (choć duchem najwyżej 30) i pokazali, że Permutu jest grą dla wszystkich - bez względu na wiek! Zobacz galerię zdjęć.





30.08.2014 Permutu było jedną z atrakcji imprezy "WF czy WiFi" zorganizowanej przez wrocławskie Centrum Handlowe Pasaż Grunwaldzki. Wspólnie z wrocławskim sklepem z grami planszowymi Od Smyka do Matematyka prezentowaliśmy Permutu oraz inne gry planszowe gościom. Najmłodsi gracze mieli dziś 8 lat, a i tak dobrze sobie radzili :-) Działo się dużo i było głośno. Gościem specjalnym imprezy był słynny polski hokeista - Mariusz Czerkawski. Wśród atrakcji były pokaze tańców, karate, boksu, akrobatyki, a nawet sumo! Zobacz galerię zdjęć.





W dniach 08-10.08.2014 Permutu gościło na konwencie Niucon we Wrocławiu. Impreza trwała trzy dni bez przerwy przez 24 godziny na dobę i gościła 3000 osób. Przewinęło się kilka niezwykłych osobliwości, rozegraliśmy niezliczoną ilość partii Permutu, odbył się kolejny turniej Permutu. Nawet wyjątkowo "oporni" (jak o sobie mówili :-)) zaskakiwali sami siebie, jak szybko opanowali zasady Permutu! Dziękuję wszystkim za udział! Zobacz galerię zdjęć.





W dniach 28-29.06.2014 odbyła się prezentacja gry Permutu oraz pierwszy turniej Permutu podczas Dni Fantastyki we Wrocławiu w Centrum Kultury "Zamek" w Leśnicy! Było Was naprawdę wielu, niekiedy grać musieliśmy w piątkę na raz, a cała sobota do późnego wieczora minęła jak chwila! :-) Dziękuję wszystkim! Zobacz galerię zdjęć.





25.05.2014

Niezwykłe spotkanie z autorem recenzji gry
Urban opublikowanej w magazynie CD Action numer 3/97 - MrJedi (Pawłem Musiałowskim - www.kawaii.pl), legendarnym redaktorem CD Action.

Spotkanie miało miejsce we Wrocławiu podczas imprezy z retro-grami organizowanej przez Fundację Promocji Retroinformatyki "Dawne Komputery i Gry", która odbyła się we Wrocławiu w dniach 24 i 25 maja 2014 w CRZ Krzywy Komin przy ul. Dubois 33-35a. MrJedi był prelegentem "Spotkanie z MrJedi - legendarnym redaktorem CD-Action".





24.05.2014

Premiera gry komputerowej Urban 2.

Powstała na bazie wydanej w 1997 roku gry Urban, którą napisałem mając 16 lat. Poprawiona grafika, przystosowanie do systemu Windows i nowy poziom trudności (łatwości :-)), w którym mamy nieograniczoną ilość zapór i gra zamiast łamać głowę sprawia prawdziwą frajdę! Dla zwolenników ekstremalnych wyzwań pozostał tryb Ekspert. Który poziom trudności wybierzesz? Ściągnij Urbana 2 za darmo!

www.permutu.pl/urban



10.05.2014

Na Politechnice Wrocławskiej odbyło się spotkanie z autorem Permutu przy okazji Mistrzostw Polski w Grach Matematycznych i Logicznych. Spotkanie zorganizowano w partnerstwie z wrocławskim sklepem z grami planszowymi
Od Smyka do Matematyka (www.matmaigry.pl).

Wokół stolika Permutu ciągle było tłoczno, niektórzy musieli chwilę poczekać na kolejkę, ale udało się rozegrać nawet kilka pełnych partii, w tym kilka w 3 lub 4 osoby! Było wesoło, ciekawie, wszyscy bez wyjątku łapali zasady gry zanim jeszcze zdążyłem je dobrze wytłumaczyć :-) Wszystkie prośby o autograf autora zostały spełnione. Dziękuję wszystkim, którzy zdecydowali się na zakup gry! Było Was naprawdę wielu - gier Permutu sprzedało się dokładnie tyle samo, ile gier pozostałych... wszystkich razem wziętych! Do zobaczenia przy następnej okazji!





05.05.2014

Opublikowałem nową pracę naukową z kryptografii. Opisałem w niej słabości statystyczne w 20 różnych algorytmach szyfrowania typu RC4. Słabości wykryłem przy użyciu zaprojektowanego przez siebie testu statystycznego "distant-equalities". Jednocześnie jedynym algorytmem tego typu, który przechodzi ten test jest zaprojektowany przeze mnie i opublikowany w 2013 algorytm VMPC-R. Więcej o algorytmie VMPC-R można znaleźć na mojej stronie
www.szyfrowanie.com.

Statistical weaknesses in 20 RC4-like algorithms and (probably) the simplest algorithm free from these weaknesses - VMPC-R (Słabości statystyczne w 20 algorytmach szyfrujących typu RC4 i prawdopodobnie najprostszy algorytm wolny od tych słabości - VMPC-R). Archiwum Międzynarodowego Stowarzyszenia Badań Kryptologicznych IACR ePrint Archive, Report 2014/315, 05 maja 2014. [PDF]





12-13.04.2014

Odbyło się spotkanie z autorem Permutu w sklepie z grami planszowymi
Planszóweczka we Wrocławiu.

Wszyscy odwiedzający chwytali zasady Permutu w jedną chwilę, a niektórym nawet udało się ograć autora :-)
43% osób, które siadały do stołu, decydowało się na zakup Permutu, a jeśli pominąć osoby w wieku gimnazjalnym, które z założenia pragnęły tylko poznać grę i choćby kupić ją chciały, to i tak za co nie miały - aż 60%! Dziękuję wszystkim i życzę dobrej zabawy!





08.04.2014

Aplikacja VMPCrypt 5 pojawiła się w serwisach do pobierania plików

   
   



17-28.02.2014

Gra Permutu pojawi się w Akademii Zimowej w MATCHPOINT - imprezie z okazji ferii zimowych. Leżący pod Wrocławiem MATCHPOINT to jeden z najlepszych ośrodków sportowo-rekreacyjnych w Polsce, a także klub tenisowy czołowego polskiego tenisisty, Michała Przysiężnego. Zapraszam wszystkich!




25.01.2014

Kolekcjonerski zestaw do Permutu nr 21 znalazł swojego nowego właściciela.



21.01.2014

Na serwisie procesor.pl pojawiła się recenzja najnowszej wersji aplikacji do szyfrowania danych VMPCrypt 5: "Jak zaszyfrować poufne pliki i bezpiecznie przechowywać hasła?".

Jednocześnie aplikacja VMPCrypt 5 pojawiła się w serwisach do pobierania plików





04.01.2014

Kolekcjonerski zestaw do Permutu nr 20 znalazł swojego nowego właściciela.



12.12.2013

Przeprowadziłem wykład na Politechnice Krakowskiej pod tytułem "Historia pewnej jedynki. Od funkcji VMPC przez algorytm szyfrowania i problem, czy P=NP, do gry Permutu". Wykład dotyczył funkcji VMPC, technologii szyfrowania VMPC oraz gry Permutu.

Zobacz zapowiedź wykładu

Zobacz informację o wykładzie

Plakat wykładu:


Zdjęcia z wykładu:




10.12.2013

Kolekcjonerski zestaw do Permutu nr 24 znalazł swojego nowego właściciela.



25.11.2013

Megapremiera
Po długich pracach twórczych na świat wychodzą wreszcie:
  • Nowa wersja aplikacji do szyfrowania danych - VMPCrypt 5.
    Strona VMPCrypt: www.szyfrowanie.com
  • Moje badania nad jednokierunkowością funkcji VMPC i wielką zagadką matematyki "czy P=NP?" są przedstawione teraz na indywidualnej stronie internetowej.
    Strona funkcji VMPC: www.pieknafunkcja.pl
  • Nowy algorytm do generowania liczb pseudolosowych VMPC-R.
    Strona Technologii Szyfrowania VMPC: www.szyfrowanie.com



16.10.2013

Kolekcjonerski zestaw do Permutu nr 13 znalazł swojego nowego właściciela.



18.06.2013

Kolekcjonerski zestaw do Permutu nr 29 znalazł swojego nowego właściciela.



15.05.2013

Prace nad nową wersją VMPCrypt 5 są już na ukończeniu. Znaczne udoskonalenia wprowadzone zostały do Szyfrowanej Książki, która powoli staje się firmową funkcją VMPCrypta. Teraz Książka będzie znacznie bardziej intuicyjna i elastyczna w obsłudze. Pozwoli bezpiecznie przechowywać loginy i hasła, listy kontaktów i wszelkie prywatne informacje, które chcemy zabezpieczyć i/lub mieć uporządkowane w jednym miejscu.

Premiera VMPCrypt 5 nastąpi równocześnie z premierą gry planszowej Permutu.



11.02.2013

Kolekcjonerski zestaw do Permutu nr 18 znalazł swojego nowego właściciela.



20.12.2012

Kolekcjonerski zestaw do Permutu nr 8 znalazł swojego nowego właściciela.



12.12.2012

Badania nad jednokierunkowością funkcji VMPC posunęły się skokowo do przodu i osiągnęły bardzo ekscytujący etap leżący na pograniczu zakończenia badań pełnym sukcesem,
a tym samym do rozwiązania wielkiej zagadki matematyki - problemu "czy P=NP?"

Wkrótce badania nad funkcją VMPC zostaną opisane na nowej stronie www.pieknafunkcja.pl.



17.07.2012

Trwają intensywne prace nad nową grą planszową Permutu, której zasady wywodzą się z konstrukcji funkcji jednokierunkowej VMPC. Jest to abstrakcyjna gra strategiczna (tej samej kategorii, co szachy).

Zasady i budowa gry są już opracowane. Pierwsza seria gry będzie wydana w prestiżowej formie z rzeźbioną planszą i rzeźbionymi klockami wykonanymi z litego drewna bukowego. Pierwsza seria będzie numerowana. Obecnie rozpoczęła się produkcja pierwszych 35 egzemplarzy.

Strona gry znajdzie się pod adresem www.permutu.pl.



14.03.2012

Zakończenie prac nad nowym algorytmem VMPC-R służącym do generowania liczb pseudolosowych. Algorytm ten, wraz z istniejącymi opracowanymi przeze mnie algorytmami kryptograficznymi, zostanie zamieszczony na stronie www.szyfrowanie.com, która będzie poświęcona Technologii Szyfrowania VMPC.



24.03.2011

Reaktywacja gry komputerowej Urban - stworzonej przez Bartosza Żółtaka w wieku 16 lat. Gra została zaprojektowana pod systemem DOS, ale teraz udało się ją reaktywować pod Windows (i innymi platformami).

Strona gry Urban: www.permutu.pl/urban



20.01.2011

Premiera nowej wersji programu - VMPCrypt 4.1.
Zobacz listę zmian.



24.12.2010

Do grona klientów używających VMPCrypt dołączył Urząd Skarbowy Warszawa Targówek



29.03.2010

Do grona klientów używających VMPCrypt dołączyła Wojskowa Akademia Techniczna



17.11.2009

Premiera nowej wersji i nowej nazwy programu - VMPCrypt 4



01.01.2009

Premiera nowej wersji programu - VMPC Security 3



16.09.2008

Do grona klientów używających VMPCrypt dołączyła Agencja Rozwoju Przemysłu S.A.



21.07.2007

Premiera nowej wersji i skróconej nazwy programu - VMPC Security 2



24.12.2004

Premiera pierwszej wersji programu - VMPC Data Security



06.02.2004, godzina 9:30

Prezentuję moją pracę naukową VMPC One-Way Function and Stream Cipher (Funkcja jednokierunkowa i szyfr strumieniowy VMPC) na międzynarodowej konferencji kryptograficznej Fast Software Encryption (FSE 2004), Delhi, Indie, 5-7 lutego 2004.










FSE 2004
Publikacja na konferencji Międzynarodowego Stowarzyszenia Badań Kryptologicznych (IACR) FSE 2004


Konferencje Enigma
Publikacje na Krajowej Konferencji Zastosowań Kryptografii Enigma w Warszawie


WCTT
Nagroda Wrocławskiego Centrum Transferu Technologii przy Politechnice Wrocławskiej


Software Developer's Journal
Rekomendowany projekt magazynu Software Developer's Journal


Copyright © 1999-2022 by Bartosz Żółtak
Aktualizacja: 05.03.2024