🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #216597

Re: Ile czasu zajmie komputerowi rozszerzony algorytm euklidesa?

#216597
From: godek.maciek
Date: Sat, 07 Dec 2019 21:38
41 lines
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-mail
References: <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