Ok, teraz mogę uchylić wam rąbka tajemnicy i napisać więcej na temat tego ciągu i sposobu jego generowania. Poprzedni podany ciąg był lekko zmodyfikowany ze względów bezpieczeństwa.yorgin pisze:Cootje, jeżeli jesteś w stanie napisać więcej szczegółów na moje PW, chętnie poczytam. Interesuje mnie przede wszystkim opis ciągu \(\displaystyle{ 1,2,3,6,5,4,9,8,7,10,24,16,15,18,28,12,11,14,21,25,20,30,36,32,27,40,36,48,45,54,81,72,13...}\)
tj zależność pozwalająca otrzymać kolejną liczbę. Napisałeś również o wzorze na \(\displaystyle{ a_n}\) - nie wiem, czy chodzi o wzór ogólny, ale i ten chciałbym zobaczyć.
Obecnie na forum nie napisałeś niczego przekonującego. Jest chwalenie się odkryciem, ale na powyższej zasadzie ja mogę zrobić swoje:
\(\displaystyle{ 1,2,4,3,6,5,8,7,10,11,12,13,14,17,16,19,18,23,20,29,\ldots}\)
i powiedzieć, że wyrazy postaci \(\displaystyle{ 2n}\) są pierwsze. Mogę się nawet postarać o wzór ogólny na ten ciąg z wykorzystaniem tasiemca na \(\displaystyle{ n}\)-tą liczbę pierwszą. Nie nazwę tego odkryciem, norwimaj, też nie nazwie swojego ciągu odkryciem, choć również można go opisać wzorem jawnym.
Czasem warto napisać coś więcej. Skoro chcesz się podzielić odkryciem, zrób to. Wypisanie założeń i tezy jest wystarczające o ile nie odwołuje się do niezdefiniowanych pojęć czy wielkości. Ty natomiast wypisałeś tezę bez żadnego wprowadzenia.
Plik z 65536 wyrazami ciągu znajduje się tutaj:
Kod: Zaznacz cały
https://www.dropbox.com/s/n6b879idae11voraz wykres z naniesionymi ręcznie miejscami w których znajdują się liczby pierwsze:
Sposób w jaki generuję ciąg powstał przy próbie zrobienia czegoś na wzór gry w życie z założeniem, że komórki nie umierają i każda z nich może stworzyć następną komórkę danego typu. Na początku istnieje tylko jedna komórka o wartości \(\displaystyle{ 1}\) , która to rozpoczyna algorytm i jako jedyna tworzy liczby pierwsze i wyłącznie liczby pierwsze.
Trochę więcej o zasadach:
W pierwszym kroku mamy samotną wartość \(\displaystyle{ 1}\), która tworzy swoją krotność czyli liczbę \(\displaystyle{ 2}\) ta jest pierwsza bo powstałą z \(\displaystyle{ 1}\). W drugim kroku algorytmu posiadamy już dwie komórki, wybieramy od najstarszej do najmłodszej(Nie mylić z wartością chodzi tu o kolejność urodzenia), więc wybieramy \(\displaystyle{ 1}\), która tworzy następną swoją krotność czyli komórkę o wartości \(\displaystyle{ 3}\), a komórka z wartością \(\displaystyle{ 2}\) tworzy komórkę \(\displaystyle{ 4}\). Kolejny krok zakończony i myślę, że już widać czemu liczby pierwsze zawsze będą na pozycji \(\displaystyle{ 2^{n}+1}\) no ale lecimy dalej... W kroku trzecim \(\displaystyle{ 1}\) tworzy 5, \(\displaystyle{ 2}\) tworzy \(\displaystyle{ 6}\), \(\displaystyle{ 3}\) tworzy \(\displaystyle{ 9}\) (ponieważ \(\displaystyle{ 6}\) już istnieje i zachodzi kolizja dlatego tworzona jest następna krotność), \(\displaystyle{ 4}\) tworzy \(\displaystyle{ 8}\). I tak dalej do nieskończoności...
Przykład wizualny:
Krok1:
\(\displaystyle{ 1 \rightarrow 2}\)
Krok2:
\(\displaystyle{ 1 \rightarrow 3}\)
\(\displaystyle{ 2 \rightarrow 4}\)
Krok3:
\(\displaystyle{ 1 \rightarrow 5}\)
\(\displaystyle{ 2 \rightarrow 6}\)
\(\displaystyle{ 3 \rightarrow 9}\)
\(\displaystyle{ 4 \rightarrow 8}\)
Krok4:
\(\displaystyle{ 1 \rightarrow 7}\)
\(\displaystyle{ 2 \rightarrow 10}\)
\(\displaystyle{ 3 \rightarrow 12}\)
\(\displaystyle{ 4 \rightarrow 16}\)
\(\displaystyle{ 5 \rightarrow 15}\)
\(\displaystyle{ 6 \rightarrow 18}\)
\(\displaystyle{ 9 \rightarrow 27}\)
\(\displaystyle{ 8 \rightarrow 24}\)
Krok5:
\(\displaystyle{ 1 \rightarrow 11}\)
\(\displaystyle{ 2 \rightarrow 14}\)
\(\displaystyle{ 3 \rightarrow 21}\)
\(\displaystyle{ 4 \rightarrow 20}\)
\(\displaystyle{ 5 \rightarrow 25}\)
\(\displaystyle{ 6 \rightarrow 30}\)
\(\displaystyle{ 9 \rightarrow 36}\)
\(\displaystyle{ 8 \rightarrow 32}\)
\(\displaystyle{ 7 \rightarrow 28}\)
\(\displaystyle{ 10 \rightarrow 40}\)
\(\displaystyle{ 12 \rightarrow 48}\)
\(\displaystyle{ 16 \rightarrow 64}\)
\(\displaystyle{ 15 \rightarrow 45}\)
\(\displaystyle{ 18 \rightarrow 54}\)
\(\displaystyle{ 27 \rightarrow 81}\)
\(\displaystyle{ 24 \rightarrow 72}\)
Więcej znajdziecie w plikach.
Co ciekawe ciąg ten ma wiele właściwości np \(\displaystyle{ 2}\) zawsze tworzy poprzednią liczbę pierwszą mnożoną przez \(\displaystyle{ 2}\). Z początku wydaje się też, iż trzeba przeszukiwać wszystkie wygenerowane wartości aby znaleźć najmniejszą jeszcze nie wygenerowaną wartość, ale po analizie wykresów uparłem się, że można wygenerować następny krok na podstawie samych liczb z poprzedniego kroku, a nie całego zakresu. Okazało się, że faktycznie istnieje pewien schemat pozwalający policzyć dokładnie połowę liczb dla następnego kroku błyskawicznie. Bo skoro każdy krok był rozszerzeniem na wykresie dla następnego bo kształt jest ten sam tylko się formuję z większej ilości elementów to uznałem, że każda komórka ma swój odpowiednik w następnym kroku(O dziwo dla komórki rodzica tworzona komórka nie musi być odpowiednikiem) , a druga połowa uzupełniająca również musi tworzyć się według określonej zasady. To nadal było mało, ale po wielu dniach na tej podstawie udało się mi opracować wzór matematyczny pozwalający na generowanie ciągu z an.





