Article View: pl.comp.programming
Article #216597Re: Ile czasu zajmie komputerowi rozszerzony algorytm euklidesa?
From: godek.maciek
Date: Sat, 07 Dec 2019 21:38
Date: Sat, 07 Dec 2019 21:38
41 lines
7127 bytes
7127 bytes
W dniu sobota, 7 grudnia 2019 21:44:27 UTC+1 użytkownik osobliwy nick napisał: > W dniu sobota, 7 grudnia 2019 20:58:32 UTC+1 użytkownik godek...@gmail.com napisał: > > W dniu piątek, 6 grudnia 2019 23:25:56 UTC+1 użytkownik osobliwy nick napisał: > > > Chcę rozwiązywać równania typu: > > > > > > a*2^(x+y)+b*g^y = 1 > > > > > > rozszerzonym algorytmem euklidesa dla losowych x+y=128, będących liczbami naturalnymi z zerem. Czy ktoś ma pomysł jak ustalić ile to może średnio zająć komputerowi dla całkowitego "g" wynoszącego powiedzmy > > > 5? > > > > Tak. Napisać program i to zmierzyć. > > > > (Jeżeli dziedzina jest mała, to można sobie stabelaryzować wynik, i wówczas "wyliczenie" zajmie tyle, ile wydobycie danych z tablicy.) > > > > > Dodam tylko, że nie umiem programować, więc nie jestem w stanie napisać sobie żadnych testów (dopiero rozważam zlecenie napisania komuś programu). > > > > A dlaczego nie rozważysz "nauczenia się programowania"? > > Brzmi to dość górnolotnie, ale nauczenie się jakiegoś języka w stopniu umożliwiającym Ci realizację rzeczy, o które pytasz, raczej nie zajmie Ci więcej czasu, niż napisanie takiego posta. > > Chodzi to za mną od dawna, ale to osobny temat. Miałem podstawy C na studiach, ale zapomniałem właściwie wszystkiego, nie byłem też szczególnie zdolnym studentem, jednocześnie nie miałem też szczególnie zdolnych prowadzących zajęcia (a to wiem od kolegów przybyłych do nas z Politechniki, studiujących jednocześnie inne kierunki, którzy krytykowali sposób nauczania na moim kierunku). W ostatnich latach zaś każdą wolną chwilę poświęcałem na naukę czegoś zupełnie innego - rynków finansowych i tradingu. I tak odkładałem to programowanie przez lata. Jednocześnie już na etapie analizy i testowania strategii tradingowych potrzebowałem... tak - umieć programować. Zleciłem wówczas dosyć szerokie testy i napisanie różnych programów pewnemu programiście. Ostatecznie zderzyliśmy się z teorią chaosu i efektem motyla - bo wykresy kursów łudząco przypominają błądzenie losowe (proces Wienera) i jest masa naukowych teorii i modeli traktująca o efektywności rynków finansowych i zachowaniu się kursu. Naiwni wtedy byliśmy, ale przynajmniej zyskałem fajnego znajomego. > > Wracając do tematu. Może to jest ten moment. Na pewno masz rację, że powinienem to zrobić. Zwłaszcza, że poznałem z czym to się je i jakieś tam programy kilka lat temu nawet pisałem (na studiach i po nich). A już nie pierwszy raz zlecam komuś pisanie jakiegoś programu. Kiedyś zleciłem napisanie programu, który będzie poszukiwał liczb Crandalla, które nie będą liczbami Wieferich (problem z zakresu matematyki teoretycznej). Potrafiłem zostawić komputer odpalony na tydzień czasu, bo wzór, który to liczył przebiegał po ogromnej liczbie wariacji wielu zmiennych. Niczego niestety nie znalazłem. > > Dzisiaj jednak mam inne już nieco dalej idące plany. Docelowo chcę założyć firmę, startup, która ma stworzyć program szyfrujący (na podstawie zaproponowanego przez mnie algorytmu) i opatentować to rozwiązanie, czy to w postaci implementacji, czy ogólnie algorytmu. Nie sądzę, że będę w stanie zrealizować ten plan samodzielnie, jako początkujący programista. Tutaj potrzeba ludzi, którzy robią to od lat, a najlepiej takich z doświadczeniem w kryptografii. I wobec konieczności zlecenia napisania takiego programu (a na początek testów), czy stworzenia całego oprogramowania, uczenie się programowania samodzielnie jest trochę jak zakładanie własnego zespołu kolarskiego i jednoczesne uczenie się jazdy na rowerze. Wiadomo, że prezes, czy sponsor zespołu sam nigdy na takiej kolarzówce nie będzie się tam ścigał razem z zawodnikami, jak bardzo by się nie starał. Jest taka książka, "Od dobrego do wielkiego", w której pojawia się koncepcja "przywódcy 5 poziomu". Dziwne nazwy na bok, chodzi o to, że autor przeanalizował wiele firm, które odniosło spektakularny sukces, i mu wyszło, że najlepsi przywódcy byli ekspertami w dziedzinie, w której działała firma. (Może brzmi to trywialnie, ale wiele firm zatrudnia jako liderów "etatowych menadżerów", którzy "znają się tylko na zarządzaniu" i mają bardzo niewielką wiedzę dziedzinową). W moim odczuciu programowanie dobrze uczy trzeźwości w odfiltrowywaniu magicznego myślenia od tego, co jest rzeczywiście możliwe do wykonania. Zwłaszcza te pytania, które zadajesz, po prostu się proszą o to, żebyś to sprawdził samodzielnie. To dobry pretekst, żeby przysiąść i odświeżyć sobie wiedzę ze studiów. To jest naprawdę na wyciągnięcie ręki. Co do "niezbyt zdolnych prowadzących zajęcia", to nie jest to dobra wymówka. Ja większości zajęć z polibudy też nie wspominam jakoś rewelacyjnie - na uniwersytecie studiowało mi się dużo przyjemniej (zwłaszcza filozofię, ale nawet na infie nie było tak źle). Ale to na polibudzie mieliśmy jednego profesora, który w kółko mówił, że "albo ktoś jest samoukiem, albo nieukiem". Nikt Cię niczego nie nauczy. Sam musisz się nauczyć. Dobry nauczyciel może tylko stworzyć okazję do zainteresowania się przedmiotem. Dlatego - jasne - dobrze by było, żebyś znalazł sobie jakiegoś magika od optymalizacji programu pod konkretny sprzęt, bo tutaj jest dużo szczególików, których nie powinieneś musieć poznawać. Ale napisanie programu w C czy chociaż Pythonie powinieneś mieć w małym palcu, bo to są proste rzeczy. Python nawet wspiera duże liczby, więc w przeciwieństwie do C nie jesteś ograniczony rozmiarem rejestrów.
Technical Details
Message-ID:
<152fff50-e2c9-48c2-b45c-dd859aa0b46c@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin1!goblin.stu.neva.ru!g89no4187500qtd.0!news-out.google.com!w29ni454qtc.0!nntp.google.com!g89no4187488qtd.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mailReferences:
<ed31de14-90d3-405e-96e3-a82fcc32b9cc@googlegroups.com> <f7034d01-5d38-40c6-8342-c911e426a20d@googlegroups.com> <a31aceaf-db83-42e1-a1ce-064abeb28058@googlegroups.com>Show Full Headers
Complete Article Headers
X-Received: by 2002:a37:4c8e:: with SMTP id z136mr21450512qka.177.1575754740035; Sat, 07 Dec 2019 13:39:00 -0800 (PST) X-Received: by 2002:aed:37c6:: with SMTP id j64mr19342152qtb.364.1575754739873; Sat, 07 Dec 2019 13:38:59 -0800 (PST) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin1!goblin.stu.neva.ru!g89no4187500qtd.0!news-out.google.com!w29ni454qtc.0!nntp.google.com!g89no4187488qtd.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: pl.comp.programming Date: Sat, 7 Dec 2019 13:38:59 -0800 (PST) In-Reply-To: <a31aceaf-db83-42e1-a1ce-064abeb28058@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=83.25.234.133; posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r NNTP-Posting-Host: 83.25.234.133 References: <ed31de14-90d3-405e-96e3-a82fcc32b9cc@googlegroups.com> <f7034d01-5d38-40c6-8342-c911e426a20d@googlegroups.com> <a31aceaf-db83-42e1-a1ce-064abeb28058@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <152fff50-e2c9-48c2-b45c-dd859aa0b46c@googlegroups.com> Subject: Re: Ile czasu zajmie komputerowi rozszerzony algorytm euklidesa? From: godek.maciek@gmail.com Injection-Date: Sat, 07 Dec 2019 21:39:00 +0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit