Jak wiadomo niejeden matematyk zmagał się z rozwiązaniem zagadki liczb pierwszych i na podstawie tego co oglądałem nawet w jednym z filmów dokumentalnych to niejeden z najlepszych matematyków poległ na liczbach pierwszych a właściwie to próbie udowodnienia (albo obalenia) hipotezy Riemanna. Doszukiwano się jakichś prawidłowości w rozkładzie tych liczb, łamano sobie głowy, nie wiem tylko po co to wszystko, skoro od strony jakichś matematycznych dowodów te najtęższe umysły sobie nie poradziły.
A tu proszę:
https://www.ideone.com/Bb0WyY
Na bazie oryginalnego kodu w pythonie:
http://arctrix.com/nas/python/bpnn.py
Symulacja dotyczyła tego czy sieć typu MLP byłaby w stanie sobie poradzić z ustalaniem liczb pierwszych na bazie zestawu treningowego, konkretniej chodzi o pierwsze 16 tych liczb, z tym że reprezentacja jest w formie binarnej a sieć de facto aproksymuje i oblicza przybliżone wartości wyjść w taki sposób, żeby skrypt pythona poprawnie obliczył na podstawie wejść wszystkie 16 początkowych liczb pierwszych. Wyniki macie pod pierwszym linkiem.
Jest rzeczą jasną że tam gdzie metody algorytmiczne sobie nie dają to sieci neuronowe są nie do pobicia. Udowodniono zresztą że sieci typu Feed Forward są uniwersalnymi aproksymatorami funkcji, w tym akurat skrypcie została użyta struktura z jedną warstwą ukrytą i nawet to wystarczyło do rozwiązania tego problemu. I teraz tylko wystarczy nawet przemnożyć ustalone wagi przez wejścia a potem obliczyć z tego wartość funkcji aktywacji, zaokrąglić, przetworzyć z reprezentacji dwójkowej na dziesiętną i mamy wynik.
Po co matematycy zawracają sobie głowę udowadnianiem hipotezy Riemanna to nie wiem, nie wiem również jakie to miałoby znaczenie praktyczne, skoro chodzi wyłącznie o udowodnienie/obalenie, że wszystkie nietrywialne zera funkcji dzeta leżą na linii krytycznej? Sieć neuronowa jak widać sobie poradziła, z tym że w przedziale w którym się nauczyła a mając na uwadze to że działanie perceptronu i tak jest określone wzorami matematycznymi, to czyż to nie rozwiązuje przynajmniej częściowo tej zagadki?