Próbowałem dziś (2024-12-07) sortować Pana Tadeusza w różnych kolejnościach - i oto, co wyszło.
Zacząłem od tego, że wziąłem treść Pana Tadeusza, zmieniłem litery na wielkie, wyrzuciłem wszystko, co nie jest literą, usunąłem nadmiarowe spacje - i wyszła taka podstawowa treść.
Potem posortowałem wszystkie linijki alfabetycznie - wyszło naprawdę fajnie. Chciałbym kiedyś usłyszeć taką wersję recytowaną przez dobrego aktora, albo wydrukowaną w ładnym wydaniu w grubych okładkach.
A potem posortowałem też alfabetycznie, ale a tergo, bo od dawna ciekawiło mnie, na ile powtarzalne są rymy w Panu Tadeuszu.
A potem spróbowałem różnych sposobów sortowania, które szukały linijki podobnej do poprzedniej. Znaczy, brałem pierwszą linijkę ("Litwo, ojczyzno moja..."), szukałem podobnej do niej, potem podobnej do tamtej i tak dalej. I próbowałem to robić z różnymi miarami podobieństwa: z odległością levenshteina (e, tak sobie wyszło), z mierzeniem długości najdłuszego wspólnego fragmentu dwu napisów. To wyszło całkiem ciekawie, więc spróbowałem jeszcze porównywać, ile wspólnych słów jest w dwu linijkach. I ile jest tych słów jeśli ograniczyć sie tylko do słów mających przynajmniej trzy litery albo do słów, które mają tylko pięć liter.
Oto kod, którym to robiłem. Jeśli policzysz, ile jest wersów w poszczególnych wersjach, to zobaczysz, że niektóre posortowania mają o jeden wers mniej niż wersja wyjściowa. Też to zauważyłem, pewnie bład w kodzie, może na przykład przy sortowaniu czasem ostatniego wersu nie printuję. Nie wiem, nie wnikałem, mi to nie przeszkadza.
A na sam koniec, jak już miałem spisany niniejszy opis i jeszcze raz przeglądałem sobie, jak wyszło, pomyślałem, że mam sortowanie alfabetyczne z lewej strony, mam sortowanie alfabetyczne z prawej strony - a żeby tak posortować z obu stron naraz? Oczywiście nie bardzo wiadomo, co by to miało znaczyć, ale nie przeszkodziło mi to w zrobieniu takiego posortowania: proszę, oto Pan Tadeusz posortowany jednocześnie z obu stron wersów tak, że dla każdego wersu szukam takiego następnika, żeby suma sumy i iloczynu długości wspólnego prefiksu i sufiksu była maksymalna. A oto Pan Tadeusz posortowany jednocześnie z obu stron wersów tak, że sumuję linijkę i linijkę odwróconą i to jest klucz mojego sortowania. No i jeszcze oto Pan Tadeusz posortowany jednocześnie z obu stron wersów tak, że dla każdego wersu przeplatam litery z prawej i litery z lewej i to jest klucz mojego sortowania.