BOINC@Poland

Inne => Archiwum => Wątek zaczęty przez: goofyx w 29 Październik 2010, 23:22

Tytuł: [Pomysł] PerfectNumber@Home - szukanie liczb doskonałych [pomysł nr.2]
Wiadomość wysłana przez: goofyx w 29 Październik 2010, 23:22
Jak się pewnie domyślacie chodzi o projekt mający celu szukanie liczb doskonałych?
Co wy na to?
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Troll81 w 30 Październik 2010, 08:57
Wyjaśnij prosze.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Sebastian M. Bobrecki w 30 Październik 2010, 12:48
Ale chciałbyś szukać po prostu kolejnych wielkich parzystych liczb doskonałych czy zająć się szukaniem doskonałej liczby nieparzystej? Czy może i to i to? Ale liczb parzystych to już ludzkość trochę zna i to takich co mają kilka czy nawet kilkanaście milionów cyfr.

Jeśli chciałbyś szukać liczby nieparzystej to to by mogło być ciekawe bo z tego co się orientuję jeszcze żadnej nie znamy. Natomiast fajnie jak by się ktoś obeznany w matematyce wypowiedział czy takie liczby mają/mogą mieć jakieś specjalne zastosowanie czy może jest to taki kolejny problem czysto matematyczny z którego w zasadzie nic nie wynika. Osobiście uważam że tak właśnie jest np. z poszukiwaniem wielkich liczb pierwszych o których nie wiem czy poza tym że wydłużamy ich listę to coś więcej nam dają, bo jedyne znane mi ich zastosowanie to kryptografia. Tyle że tam obecnie wykorzystuje się liczby pierwsze które w reprezentacji dziesiętnej liczą maksymalnie po kilka tysięcy cyfr. Wiem że teraz trochę "offtopuję" ale zna ktoś jeszcze jakieś zastosowanie takich liczb (czy to pierwszych czy doskonałych)?

Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: sesef w 30 Październik 2010, 13:10
Goofyx widzę masz samozaparcie, ale najpierw to radziłbym się zastanowić nad sprzętem, miejscem usadowienia projektu itp. Pomysł na projekt to najmniejszy problem. Oczywiście wszystko można uruchomić na starym X P 1800+ z 1,5 GB ramu, ale w końcu przychodzi dzień kiedy to jest zbyt mało, kiedy potrzeba UPSa, żeby Henio złota rączka z dyspozytorni nie wywalił bazy jak mu się przypadkiem coś wyłączy. Pomijając już dni kiedy chce się tylko otworzyć okno i wywalić serwer, bo cały dzień tylko coś się sypie. Nie wspominając o kosztach jak się chce trzymać serwerek w domu.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: goofyx w 30 Październik 2010, 20:48
No to pokolei.
1. Projekt obejmowalby zarowno parzyste jak i nie parzyste liczby. Zgadza sie matematyka zna liczbe dosk9nala ktora ma teraz ok.25mln cyfr.
2. Jest to tez wedlug mnie czysta matematyka bez bezposredniego wplywu na nasze zycie
3. Sprzet mam, a mianowicie Spider1 powinien wystarczyc. Komp jest postawiony pod ups ktory wytrzyma 30 minut, ale przez ostatni rok nie bylo pradu w sumie przez 6godz. Do kompa nie ma dostepu Pan Heniu. Dostep maja 3 osoby, ja i 2 kumpli serwisantow.
4. Tylko jakas instrukcje do postawienia serwera bym potrzebowal tylko taka dla topornych ;) bo na razie nie znam za dobrze linucha.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Sebastian M. Bobrecki w 30 Październik 2010, 21:57
Według mnie kwestie przygotowania/utrzymania infrastruktury oraz samo odpalenie serwera projektu nie jest problemem. Już kilka razy to robiłem do własnych celów i zasadniczo jest proste. Według mnie największym problemem jest napisanie aplikacji bo potrzebny jest nie tylko sprawny programista ale też ktoś z odpowiednią wiedzą matematyczną z teorii liczb żeby zaprojektować algorytm albo chociaż wskazać że np. dla jakichś liczb to lepiej zrobić jedno a dla innych co innego itp.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: goofyx w 31 Październik 2010, 00:42
1. To moze jakas instrukcje napiszesz co do stawiania i aktualizacji serwera boinc oraz zarzadzania nim. Bedzie fajny art do wiki.
2. Matematykiem nie jeetem, ale za to programista. Choc glownie uzywam Delphi to z c++ na cele aplikacji boinc  powinienem sobie poradzic. Moze ktos na forum bardziej zna sie na matematyce?
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Akira w 31 Październik 2010, 03:10
Spróbuje jutro zagadać do kumpla. Studiuje matematykę na UW i do tego jest programistą. Powinien pomóc ;)
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: OxyOne w 31 Październik 2010, 09:02
Podstawę masz Boinc na Debianie (http://www.gpuvision.pl/topic62.html) resztę dopiszę później albo Sesef dopisze czy też TJM.

Oprócz tego masz jeszcze nakładkę ma IPTables - Shorewall  Shorewall  (http://www.gpuvision.pl/topic66.html)
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: goofyx w 31 Październik 2010, 09:34
@Rysiu obiecał, że postawi serwera boinc do testów na maszynie wirtualnej jaką dla niego wystawiłem.
Co do instrukcji z pod tych linków na pewno popatrzę bo taka wiedza przyda się w przyszłości <- nie chciałbym nikomu zabierać czasu na coś co mógłbym zrobić sam.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: goofyx w 31 Październik 2010, 09:36
Cytat: Akira w 31 Październik 2010, 03:10
Spróbuje jutro zagadać do kumpla. Studiuje matematykę na UW i do tego jest programistą. Powinien pomóc ;)
Szczególnie od strony matematycznej by się ktoś przydał zarówno do tego pomysłu jak i do innych ;) <- które powstają w mojej głowie ;)
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Sebastian M. Bobrecki w 31 Październik 2010, 11:03
Trochę mnie wczoraj nakręciłeś i popełniłem w nocy prototypową aplikację która nawet jakoś tam działa, znalazła ponad dwadzieścia pierwszych liczb z tablicy znanych. Potem szedłem spać więc wyłączyłem kompa. Ale coś tam działa i teraz jak znajdę jeszcze trochę czasu to postaram się to połączyć z libboinc, bo do tej pory zwykle używałem wrappera a to bardzo słabe jest.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: goofyx w 31 Październik 2010, 15:34
Ja popelnilem prototyp dla algorytmu do szukania liczb doskonwlych. Narazie w delphi i potrafi znalezc 4 takie liczby. Teraz chce to przenisc do c++ z obsluga duzych liczb. W delphi mam odpowiednie do tego  moduly z obsluga teoretycznie nieskonczenie dlugich liczb.

Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Rysiu w 31 Październik 2010, 17:12
Pisz w czystym C - będzie wydajniej i więcej osób będzie ogarniało.

Sam z Delphi nie mam styczności  %)

Mogę popełnić taki program w czystym C i nawet jego zrównoleglić.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Sebastian M. Bobrecki w 31 Październik 2010, 18:33
Cytat: goofyx w 31 Październik 2010, 15:34
Ja popelnilem prototyp dla algorytmu do szukania liczb doskonwlych. Narazie w delphi i potrafi znalezc 4 takie liczby. Teraz chce to przenisc do c++ z obsluga duzych liczb. W delphi mam odpowiednie do tego  moduly z obsluga teoretycznie nieskonczenie dlugich liczb.

Znaczy się moja aplikacja też szuka liczb doskonałych. Ja tam napisałem że znalazła "ponad dwadzieścia pierwszych liczb z tablicy znanych" a nie że liczb pierwszych. Chodziło mi zasadniczo o tę/tą tablicę http://en.wikipedia.org/wiki/List_of_perfect_numbers (http://en.wikipedia.org/wiki/List_of_perfect_numbers).

Teraz zapodałem żeby poszukał tej z pozycji 37 i jak na razie liczy już prawie 5h, zeżarł 189MB ram-u ale walczy dalej.

P.S. Znalezienie tych wszystkich z p < 100000 zajmuje mu niecałą godzinę na moim notku.  :)
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Rysiu w 31 Październik 2010, 18:54
Nie doczytywałem się ale chyba wyszukujesz je w oparciu o liczby pierwsze, a jeżeli tak to jakiego testu pierwszości używasz?
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Sebastian M. Bobrecki w 31 Październik 2010, 19:06
Cytat: Rysiu w 31 Październik 2010, 18:54
Nie doczytywałem się ale chyba wyszukujesz je w oparciu o liczby pierwsze, a jeżeli tak to jakiego testu pierwszości używasz?

Najpierw robię typowe test dla małych liczb pierwszych a potem test Millera-Rabina. Wiem że ten test nie jest deterministyczny ale nie daje błędów negatywnych a najwyżej pozytywne (choć jak dotąd mam farta bo się nie pomylił  ;) ) w związku z tym nadaje się do w miarę szybkiego przeczesania sporych zakresów i wybrania kandydatów które potem należało by sprawdzić jakąś metodą deterministyczną i zaoszczędzić sporo czas.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: goofyx w 31 Październik 2010, 21:30
eh, ja rzuciłem pomysłem a bober projekta boinc z tego zrobi.
Też chciałbym mieć swój udział.


ps.: hmm, jeśli dobrze pamiętam to liczby doskonałe to takie co używają liczb Mersenne <- a tych znamy na razie 47 więc nowych licz doskonałych też nie będzie <- przynajmniej ja to tak rozumiem, mogę się mylić bo tak jak zawsze zaznaczam nie jestem matematykiem. Więc teoretycznie projekt powinien szukać liczb Mersenna, a nie licz doskonałych.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Rysiu w 31 Październik 2010, 21:55
Cytat: goofyx w 31 Październik 2010, 21:30
ps.: hmm, jeśli dobrze pamiętam to liczby doskonałe to takie co używają liczb Mersenne <- a tych znamy na razie 47 więc nowych licz doskonałych też nie będzie <- przynajmniej ja to tak rozumiem, mogę się mylić bo tak jak zawsze zaznaczam nie jestem matematykiem. Więc teoretycznie projekt powinien szukać liczb Mersenna, a nie licz doskonałych.
Czyli to mija się z celem.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: goofyx w 31 Październik 2010, 22:37
Cytat: Rysiu w 31 Październik 2010, 21:55
Cytat: goofyx w 31 Październik 2010, 21:30
ps.: hmm, jeśli dobrze pamiętam to liczby doskonałe to takie co używają liczb Mersenne <- a tych znamy na razie 47 więc nowych licz doskonałych też nie będzie <- przynajmniej ja to tak rozumiem, mogę się mylić bo tak jak zawsze zaznaczam nie jestem matematykiem. Więc teoretycznie projekt powinien szukać liczb Mersenna, a nie licz doskonałych.
Czyli to mija się z celem.
hmm, nie do końca projekt zamiast nazywać się PerfectNumber@Home może mieć nazwę MersenneNumber@Home <- i szukać tych liczb, jeśli znajdzie to od razu mamy kolejną liczbę doskonałą.
Teoretycznie 2 pieczenie na jednym ogniu.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Rysiu w 31 Październik 2010, 22:51
Cytat: goofyx w 31 Październik 2010, 22:37
Cytat: Rysiu w 31 Październik 2010, 21:55
Cytat: goofyx w 31 Październik 2010, 21:30
ps.: hmm, jeśli dobrze pamiętam to liczby doskonałe to takie co używają liczb Mersenne <- a tych znamy na razie 47 więc nowych licz doskonałych też nie będzie <- przynajmniej ja to tak rozumiem, mogę się mylić bo tak jak zawsze zaznaczam nie jestem matematykiem. Więc teoretycznie projekt powinien szukać liczb Mersenna, a nie licz doskonałych.
Czyli to mija się z celem.
hmm, nie do końca projekt zamiast nazywać się PerfectNumber@Home może mieć nazwę MersenneNumber@Home <- i szukać tych liczb, jeśli znajdzie to od razu mamy kolejną liczbę doskonałą.
Teoretycznie 2 pieczenie na jednym ogniu.
Tylko po co dublować projekt.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: goofyx w 31 Październik 2010, 23:01
Cytat: Rysiu w 31 Październik 2010, 22:51
Cytat: goofyx w 31 Październik 2010, 22:37
Cytat: Rysiu w 31 Październik 2010, 21:55
Cytat: goofyx w 31 Październik 2010, 21:30
ps.: hmm, jeśli dobrze pamiętam to liczby doskonałe to takie co używają liczb Mersenne <- a tych znamy na razie 47 więc nowych licz doskonałych też nie będzie <- przynajmniej ja to tak rozumiem, mogę się mylić bo tak jak zawsze zaznaczam nie jestem matematykiem. Więc teoretycznie projekt powinien szukać liczb Mersenna, a nie licz doskonałych.
Czyli to mija się z celem.
hmm, nie do końca projekt zamiast nazywać się PerfectNumber@Home może mieć nazwę MersenneNumber@Home <- i szukać tych liczb, jeśli znajdzie to od razu mamy kolejną liczbę doskonałą.
Teoretycznie 2 pieczenie na jednym ogniu.
Na platformie Boinc nie ma takiego projektu.
Tylko po co dublować projekt.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Rysiu w 31 Październik 2010, 23:13
Ale to działka PrimeGrid (http://www.boincatpoland.org/wiki/PrimeGrid), a poza BOINC już istnieje projekt dokładnie o tym taktujący od bardzo dawna (nie wiem czy prawie nie tak długo jak SETI)
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: goofyx w 01 Listopad 2010, 09:22
Cytat: Rysiu w 31 Październik 2010, 23:13
Ale to działka PrimeGrid, a poza BOINC już istnieje projekt dokładnie o tym taktujący od bardzo dawna (nie wiem czy prawie nie tak długo jak SETI)
W prime grid  jest projekt od sukania liczb mersennera?
Wiem, ze po za boinc jest projekt chy a gimps ktory szuka takich  liczb, ale moze boinc tez moglby wspomoc i znalezc kolejne takie liczby szybciej.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: sesef w 01 Listopad 2010, 11:28
Cytat: goofyx w 01 Listopad 2010, 09:22
Cytat: Rysiu w 31 Październik 2010, 23:13
Ale to działka PrimeGrid, a poza BOINC już istnieje projekt dokładnie o tym taktujący od bardzo dawna (nie wiem czy prawie nie tak długo jak SETI)
W prime grid  jest projekt od sukania liczb mersennera?
Wiem, ze po za boinc jest projekt chy a gimps ktory szuka takich  liczb, ale moze boinc tez moglby wspomoc i znalezc kolejne takie liczby szybciej.

A o wrapperze na GIMPS nie myśleliście?
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Sebastian M. Bobrecki w 01 Listopad 2010, 12:32
Cytat: sesef w 01 Listopad 2010, 11:28
A o wrapperze na GIMPS nie myśleliście?

Ja myślałem, ale doszedłem do wniosku że lepszym pomysłem było by zrobienie czegoś takiego od zera. Można by się przy tym sporo nauczyć i w sumie tak bym całe to przedsięwzięcie widział jeśli do niego dojdzie. Oczywiście jeśli coś faktycznie znajdziemy to tylko plus dla nas i dla całej nauki.  :)

Natomiast argument kolegi Rysia o tym że taki projekt istnieje od dawna poza boinc jest według mnie nietrafiony bo na platformie boinc jest sporo projektów które robią to samo co wcześniej robiły inne nie boincowe projekty (w szczególności dużo było i nadal jest właśnie projektów traktujących o liczbach pierwszych) i jakoś nikomu to nie przeszkadza.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Troll81 w 01 Listopad 2010, 16:42
Kciuki bedę trzymał :D
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: goofyx w 01 Listopad 2010, 17:56
Z mojego punkru jak juz wiele razy pislem (az do znudzenia;) jesli ktos wytlumaczy  mi od strony matematycznej to algorytm i program napisze :)
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Troll81 w 01 Listopad 2010, 18:09
MOze porozmawiaj z panem Wróbleskim....
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Sebastian M. Bobrecki w 01 Listopad 2010, 18:27
Ja dziś w wolnym czasie dopracowałem swoją aplikację tak że teraz korzysta z testu Lucasa-Lehmera do weryfikacji pierwszości liczby Mersenna. Zoptymalizowałem trochę obliczenia, uzysk w sumie niecałe 10% w porównaniu z wersją z wczoraj i dodałem obsługę wielowątkowości.  :)

Może w tygodniu poszukam jakiegoś wolnego serwera i pogadam w pracy czy nie będą mieli nic przeciwko żeby odpalić testowo taki projekt. Oczywiście jeśli goofyx się zgodzi bo to jego pomysł a ja tak tylko go podchwyciłem. I chciałbym faktycznie coś takiego odpalić bo to fajna sprawa może być. Oczywiście z racji tego że nie mam za wiele wolnego czasu to nawet jak dostanę zgodę to pewnie trochę to potrwa. Ale do gwiazdki powinno się udać.  ;D A z dodatkową pomocą pewnie i szybciej. :D

Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: goofyx w 01 Listopad 2010, 18:40
Cytat: b0b3r w 01 Listopad 2010, 18:27
Ja dziś w wolnym czasie dopracowałem swoją aplikację tak że teraz korzysta z testu Lucasa-Lehmera do weryfikacji pierwszości liczby Mersenna. Zoptymalizowałem trochę obliczenia, uzysk w sumie niecałe 10% w porównaniu z wersją z wczoraj i dodałem obsługę wielowątkowości.  :)

Może w tygodniu poszukam jakiegoś wolnego serwera i pogadam w pracy czy nie będą mieli nic przeciwko żeby odpalić testowo taki projekt. Oczywiście jeśli goofyx się zgodzi bo to jego pomysł a ja tak tylko go podchwyciłem. I chciałbym faktycznie coś takiego odpalić bo to fajna sprawa może być. Oczywiście z racji tego że nie mam za wiele wolnego czasu to nawet jak dostanę zgodę to pewnie trochę to potrwa. Ale do gwiazdki powinno się udać.  ;D A z dodatkową pomocą pewnie i szybciej. :D
Z jednej strony miałbym ochotę powiedzieć że to mój pomysł i żebyś go zostawił, ale z drugiej strony cieszę się, że kogoś natchnąłem ;) <- bez mojej zgody i tak mógłbyś uruchomić projekt, także dzięki, że w ogóle pytasz.
Jak dla mnie masz zielone światło, o ile rzeczywiście skończy się to uruchomieniem projektu i nie umrze.
Jak możesz to pisz w tym wątku, albo innym o postępach w uruchomieniu.

ps.: @b0b3r to może "w zamian" ;) pomógłbyś mi od strony matematycznej z czymś innym <- napisze na priva <- rzecz jasna jak masz czas i ochotę.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Sebastian M. Bobrecki w 01 Listopad 2010, 19:14
Ja tam wychodzę z założenia że jeśli coś ma z tego wyjść to musi przy tym działać więcej osób. Jeśli ja miałbym wszytko robić sam to nie miało by to sensu ale zakładam że chętnych do pomocy się trochę znajdzie, zwłaszcza przy kodowaniu. :)

Co do twojego problemu to dawaj. Jak będę wiedział to pomogę, ale z góry ostrzegam że taki ze mnie matematyk/programista jak z koziej d...  ;)
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: goofyx w 01 Listopad 2010, 22:19
Cytat: b0b3r w 01 Listopad 2010, 19:14
Ja tam wychodzę z założenia że jeśli coś ma z tego wyjść to musi przy tym działać więcej osób. Jeśli ja miałbym wszytko robić sam to nie miało by to sensu ale zakładam że chętnych do pomocy się trochę znajdzie, zwłaszcza przy kodowaniu. :)

Co do twojego problemu to dawaj. Jak będę wiedział to pomogę, ale z góry ostrzegam że taki ze mnie matematyk/programista jak z koziej d...  ;)

A przy czym potrzebowałbyś pomocy?
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Sebastian M. Bobrecki w 01 Listopad 2010, 22:54
Wydaje mi się że sporo będzie zabawy z aplikacjami:
- wskaźnik postępu
- punkty kontrolne
- integracja z boinc_api
- portowanie na różne systemy/architektury
- poprawki/optymalizacje
- inne...

Może być też coś do napisania przy walidatorze i generatorze zadań ale z tym nie powinno być większego problemu.

Do tego sporo rzeczy których przy samym serwerze do tej pory nie robiłem (nie miałem takiej potrzeby):
- oprawa graficzna
- różne teksty
- moderacja forum i faq
- poprawki/optymalizacje
- inne...

No i oczywiście samo testowanie serwera, aplikacji i ich kolejnych wersji itd.

Krótko mówiąc potrzeba mnóstwo ludzi, czasu i zapału.  :)
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: goofyx w 01 Listopad 2010, 23:12
Cytat: b0b3r w 01 Listopad 2010, 22:54
Wydaje mi się że sporo będzie zabawy z aplikacjami:
- wskaźnik postępu
- punkty kontrolne
- integracja z boinc_api
- portowanie na różne systemy/architektury
- poprawki/optymalizacje
- inne...

Może być też coś do napisania przy walidatorze i generatorze zadań ale z tym nie powinno być większego problemu.

Do tego sporo rzeczy których przy samym serwerze do tej pory nie robiłem (nie miałem takiej potrzeby):
- oprawa graficzna
- różne teksty
- moderacja forum i faq
- poprawki/optymalizacje
- inne...

No i oczywiście samo testowanie serwera, aplikacji i ich kolejnych wersji itd.

Krótko mówiąc potrzeba mnóstwo ludzi, czasu i zapału.  :)
1. Teoretycznie jeśli aplikacja jest w czystym c++ to raczej z kompilacją na wiele systemów nie powinno być problemu, nie wiem jak na różne architektury bo z c++ nie pracowałem za dużo.
2. Co do integracji czegokolwiek jako projekt boinc też nic nie robiłem <- ale z chęcią poszerzę swoją wiedzę w tej kwestii <- moje pomysły mają to na celu.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: goofyx w 03 Listopad 2010, 22:28
@b0b3r: napisz mi co potrzebuję żeby ci pomóc tzn.: jaki edytor c++ będziesz używał, bibliotek itp <- postawiem i mogę coś robić.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Karlik w 03 Listopad 2010, 23:00
Cytat: goofyx w 01 Listopad 2010, 23:12
1. Teoretycznie jeśli aplikacja jest w czystym c++ to raczej z kompilacją na wiele systemów nie powinno być problemu, nie wiem jak na różne architektury bo z c++ nie pracowałem za dużo.
Może Cię zaskoczę, ale wersji C++ jest dość sporo, więc niekoniecznie musi być przenośne. Oczywiście przy poprawnie napisanym, standardowym kodzie wszystko będzie ok, ale niestandardowe optymalizacje mogą się posypać. Zresztą wiem ile problemów miałem z doprowadzeniem niektórych aplikacji do kompilacji pod nowym gcc, bo zmieniły się trochę zakresy include'ów (w sensie zminimalizowano zależności). No i nie wiem jak stoi sprawa przenośności na windowsa.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: goofyx w 04 Listopad 2010, 07:57
Cytat: Karlik w 03 Listopad 2010, 23:00
Cytat: goofyx w 01 Listopad 2010, 23:12
1. Teoretycznie jeśli aplikacja jest w czystym c++ to raczej z kompilacją na wiele systemów nie powinno być problemu, nie wiem jak na różne architektury bo z c++ nie pracowałem za dużo.
Może Cię zaskoczę, ale wersji C++ jest dość sporo, więc niekoniecznie musi być przenośne. Oczywiście przy poprawnie napisanym, standardowym kodzie wszystko będzie ok, ale niestandardowe optymalizacje mogą się posypać. Zresztą wiem ile problemów miałem z doprowadzeniem niektórych aplikacji do kompilacji pod nowym gcc, bo zmieniły się trochę zakresy include'ów (w sensie zminimalizowano zależności). No i nie wiem jak stoi sprawa przenośności na windowsa.
wiem, że kompilatorów c++ jest wiele stąd kody c++ przestały być aż tak przenośne jak kiedyś.
Ale przynajmniej chciałbym wiedzieć jaki kompilator będzie używany i jakie środowisko.
Ewentualnie możemy się podzielić, że @b0b3r tworzy klienta dla linucha itp ja dla windy
Ze wszystkim można się dogadać.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Sebastian M. Bobrecki w 04 Listopad 2010, 16:23
Zasadniczo aplikacja którą zrobiłem jest w C i jest jak na razie przeznaczona pod system unixo-podobne (Linux, BSD, Solaris... choć na Solarisie jeszcze ma z nią probelm). Niestety z racji tego że pewne sprawy trochę inaczej wyglądają w tych systemach część kodu jest bardzo brzydka (ale jak na razie wygląda że działa) i będę musiał coś z tym zrobić. Dodatkowo z racji tego żeby było szybciej aplikacja korzysta z wrapper-a. To też pewnie będzie w przyszłości do zmiany ale ze względu na to że dokumentacja do boinc_api pozostawia wiele do życzenia (w zasadzie to praktycznie jej nie ma, i trzeba z plików przykładowych się domyślać co i jak) to pewnie zajmie to sporo czasu. Oczywiście aplikacja ma już sprawnie działające checkpointy i prawidłowy wskaźnik postępu i w trybie bez boinc-a działa świetnie. :)

Dodatkowo mam już w warunkach domowych postawiony testowy serwer boinc-a i coś tam działa (rozsyła odbiera itp.). Z takich cięższych rzeczy to jeszcze muszę zrobić tą bardziej "naukową" część czyli automatyczne generowanie zadań i obsługa tych już przeliczonych itp.  No i pozostaje sporo takich mniejszych, jak np. kalibracja wymaganej ilości obliczeń na jednostkę (co by się nie wyświetlało że pakiet się będzie liczył kilka lat). Związany z tym system punktacji. Tu mam trochę zgrzyt bo aplikacja działa na integer-ach i jest duża różnica między wydajnością systemów 64 bitowych i 32 bitowych a z wyników benchmarków to wcale nie wynika (więc się zastanawiam czy by nie dać stałych punktów za pakiet). Jest jeszcze kwestia jaki jest pożądany czas obliczań jednego pakietu? Obecnie to oscyluje w okolicy 4h na Core2Duo 2GHz w trybie 64bit (na procach Amd jest nawet szybsza).

Tak swoją drogą to w sumie projekt się będzie skupiał na szukaniu liczb pierwszych Mersenne-a to pomyślałem żeby go nazwać Mersenne@home (zarejestrowałem już nawet domenę mersenneathome.net).

P.S. Z racji tego że mam sporo zajęć a do tego jeszcze jestem teraz chory, prace idą powoli ale posuwają się na przód i myślę że jest szansa że do końca listopada projekt wystartuje. Pewnie w fazie publicznych testów ale to już zawsze coś. :)
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Troll81 w 04 Listopad 2010, 16:26
i tak masz wielki mój szacun.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Tomasz R. Gwiazda w 04 Listopad 2010, 16:49
b0b3r: prace ida powoli ??
nie przesadzaj, jak dla mnie to rewelacyjnie szybko ida
:parrrty:

Oczywiscie do testow zamknietych jestem chetny :D Moze chociaz raz dostane invite code i bede mogl cos zrobic przed tymi ludzmi z Top10 ktorzy zawsze dostaja invity do projektow :P
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: michalc w 04 Listopad 2010, 17:49
Cześć,

ja też byłbym chętny do testowania. Sęk w tym że nie wiem czy odpowiada Tobie mój kalkulator czyli Intel CoreDuo T2300@1.66GHz, 3GB RAM, Wix XP SP3.

Wyrazy uznania za wykonaną do tej pory pracę.

No i dużo zdrowia  :D

Michał
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Tomasz R. Gwiazda w 04 Listopad 2010, 17:50
kazda maszyna sie przyda a zroznicowanie sprzetowe jest bardzo porzadane
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Troll81 w 04 Listopad 2010, 18:30
moge udostepnić maszynkę z HaikuOS :D
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: goofyx w 04 Listopad 2010, 19:03
Cytat: b0b3r w 04 Listopad 2010, 16:23
Zasadniczo aplikacja którą zrobiłem jest w C i jest jak na razie przeznaczona pod system unixo-podobne (Linux, BSD, Solaris... choć na Solarisie jeszcze ma z nią probelm). Niestety z racji tego że pewne sprawy trochę inaczej wyglądają w tych systemach część kodu jest bardzo brzydka (ale jak na razie wygląda że działa) i będę musiał coś z tym zrobić. Dodatkowo z racji tego żeby było szybciej aplikacja korzysta z wrapper-a. To też pewnie będzie w przyszłości do zmiany ale ze względu na to że dokumentacja do boinc_api pozostawia wiele do życzenia (w zasadzie to praktycznie jej nie ma, i trzeba z plików przykładowych się domyślać co i jak) to pewnie zajmie to sporo czasu. Oczywiście aplikacja ma już sprawnie działające checkpointy i prawidłowy wskaźnik postępu i w trybie bez boinc-a działa świetnie. :)

Dodatkowo mam już w warunkach domowych postawiony testowy serwer boinc-a i coś tam działa (rozsyła odbiera itp.). Z takich cięższych rzeczy to jeszcze muszę zrobić tą bardziej "naukową" część czyli automatyczne generowanie zadań i obsługa tych już przeliczonych itp.  No i pozostaje sporo takich mniejszych, jak np. kalibracja wymaganej ilości obliczeń na jednostkę (co by się nie wyświetlało że pakiet się będzie liczył kilka lat). Związany z tym system punktacji. Tu mam trochę zgrzyt bo aplikacja działa na integer-ach i jest duża różnica między wydajnością systemów 64 bitowych i 32 bitowych a z wyników benchmarków to wcale nie wynika (więc się zastanawiam czy by nie dać stałych punktów za pakiet). Jest jeszcze kwestia jaki jest pożądany czas obliczań jednego pakietu? Obecnie to oscyluje w okolicy 4h na Core2Duo 2GHz w trybie 64bit (na procach Amd jest nawet szybsza).

Tak swoją drogą to w sumie projekt się będzie skupiał na szukaniu liczb pierwszych Mersenne-a to pomyślałem żeby go nazwać Mersenne@home (zarejestrowałem już nawet domenę mersenneathome.net).

P.S. Z racji tego że mam sporo zajęć a do tego jeszcze jestem teraz chory, prace idą powoli ale posuwają się na przód i myślę że jest szansa że do końca listopada projekt wystartuje. Pewnie w fazie publicznych testów ale to już zawsze coś. :)

Mam propozycje.
Załóżmy SVN dla projektu <- ty możesz prowadzić dla unikswo podobnych, ja dla windowsa ,- teoretycznie wersja 32 i 64 bity bo takie obsługuje visual studio 2010 :).
Serwer testowy może stać u mnie na Spider1 jako maszyna wirtualna <- on chodzi non-stop także nie ma problemu.

Teoretycznie 1-2 tygodnia i można by zamknięte testy uruchomić <- i rzeczywiście przed świętami uruchomić projekt na otwarte testy :)

Co ty na to?
Chyba, że masz inne plany.

ps.: w skrócie co oznacza że masz to zrobione na wraperze?
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Karlik w 04 Listopad 2010, 21:35
Cytat: goofyx w 04 Listopad 2010, 19:03
ps.: w skrócie co oznacza że masz to zrobione na wraperze?
Zapewne to, że używa wrappera XP Innymi słowy: boinc uruchamia program, który uruchamia właściwy program. Generalnie do napisania macie integrację z boinc_api (czyli żeby boinc manager mógł bezpośrednio uruchamiać właściwy program). :P
@b0b3r: korzystasz z dużych liczb? Jeżeli tak to pisałeś sam czy jakieś biblioteczne?
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Sebastian M. Bobrecki w 04 Listopad 2010, 22:48
@Karlik
Używam gmp ponieważ:
1). trzeba by wiele czasu żeby napisać coś takiego co by działało wydajnie, bezbłędnie i przenośnie.
2). w gmp jest mocno zoptymalizowany kod (sporo kodu w asemblerze)
3). gmp dostosowuje algorytmy do operandów (np. nie robi tak jak niektóre że od razu jadą z mnożeniem FFT jak argumenty są dosyć małe itp.)
4). gmp ma możliwość kompilacji w trybie "fat" (jedna biblioteka zawiera wiele wersji algorytmów zoptymalizowanych dla różnych architektur - to bardzo pożądana cecha dla boinc-a) :)

@goofyx
Co do serwera deweloperskiego to zobaczymy jak wyjdzie. Szczerze mówiąc jeszcze nad tym nie myślałem jakoś szczególnie, ale staram się robić tak żeby kodowania było jak najmniej. W myśl zasady przetestować i jak działa to nie ruszać żeby nie popsuć  ;)

Co do wrapper-a to jest tak jak Karlik napisał. Jest to taki program który z jednej strony implementuje funkcje boinc_api do komunikacji klientem boinc-a a z drugiej uruchamia zwykły "nieboincowy" program i tak jakby tłumaczy ich komunikację (wykonywanie checkpointów, indykator postępu,itp.). Z tego co pamiętam to Enigma też działa z wrapper-em i chyba niektóre aplikacje w Prime.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: sesef w 04 Listopad 2010, 23:34
Cytat: b0b3r w 04 Listopad 2010, 22:48
1). trzeba by wiele czasu żeby napisać coś takiego co by działało wydajnie, bezbłędnie i przenośnie.
2). w gmp jest mocno zoptymalizowany kod (sporo kodu w asemblerze)
3). gmp dostosowuje algorytmy do operandów (np. nie robi tak jak niektóre że od razu jadą z mnożeniem FFT jak argumenty są dosyć małe itp.)
4). gmp ma możliwość kompilacji w trybie "fat" (jedna biblioteka zawiera wiele wersji algorytmów zoptymalizowanych dla różnych architektur - to bardzo pożądana cecha dla boinc-a) :)

http://www.mpir.org/

Oparte na GMP potrafi być o kilka % szybsze od standardowego GMP.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Troll81 w 05 Listopad 2010, 10:05
Byłby ktoś chętny i umiejętny sportować toto na HaikuOS??
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Sebastian M. Bobrecki w 05 Listopad 2010, 10:30
@sesef
O, dzięki na pewno przetestuję. Chociaż cudów bym się nie spodziewała bo z tego co widzę to te funkcje z których ja skorzystałem są w zasadzie takie same (chodzi mi o źródła). Ale powiem więcej po testach.

@Troll81
Z tego co kojarzę to na Haiku są dosyć standardowe rozwiązania (libc, gcc,...), więc jest szansa że się da. Ale myślę żeby najpierw się zająć bardziej popularnymi platformami a dopiero potem że tak to ujmę niszowymi. A tak swoją drogą jesteś jakoś nieźle obeznany z tym systemem? Jak tam sprawy stoją? Ja drzewiej używałem BeOS-a jako podstawowy system na kompie do pracy i bardzo go sobie chwaliłem. Jestem ciekawy jak to z tym Haiku wygląda (na jakim on jest etapie) bo nigdy go sobie nie instalowałem? Ale to może w innym wątku.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: sesef w 05 Listopad 2010, 13:09
Cytat: b0b3r w 05 Listopad 2010, 10:30
@sesef
O, dzięki na pewno przetestuję. Chociaż cudów bym się nie spodziewała bo z tego co widzę to te funkcje z których ja skorzystałem są w zasadzie takie same (chodzi mi o źródła). Ale powiem więcej po testach.

To są zazwyczaj różnice do 5% i to tylko przy Intach. Podstawowym plusem MPIR jest oficjalne wsparcie dla windowsa (gotowe projekty pod VS).
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: goofyx w 05 Listopad 2010, 13:19
Cytat: sesef w 05 Listopad 2010, 13:09
Cytat: b0b3r w 05 Listopad 2010, 10:30
@sesef
O, dzięki na pewno przetestuję. Chociaż cudów bym się nie spodziewała bo z tego co widzę to te funkcje z których ja skorzystałem są w zasadzie takie same (chodzi mi o źródła). Ale powiem więcej po testach.

To są zazwyczaj różnice do 5% i to tylko przy Intach. Podstawowym plusem MPIR jest oficjalne wsparcie dla windowsa (gotowe projekty pod VS).
o wsparcie VS się przyda :)
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Sebastian M. Bobrecki w 05 Listopad 2010, 13:24
@sesef
Przy tego typu matematyce działa się tylko na intach a każde 5% się przyda. :) Chociaż w gmp ostatnio się bardzo dużo poprawiło wersja 5 jest pond 40% szybsza od 4. Ale nie ma co dywagować trzeba sprawdzić i tyle. Może dziś wieczorem znajdę trochę czasu to to zrobię.

Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: sesef w 10 Listopad 2010, 18:41
Jak tam idzie chłopaki?

Radzę wszystko posprawdzać z 3x bo Anderson ostatnio ma manie dodawania 5120251153542432 rzeczy z których 3/4 nie działa, albo wręcz powoduje wysyp serwera.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: goofyx w 10 Listopad 2010, 20:58
Cytat: sesef w 10 Listopad 2010, 18:41
Jak tam idzie chłopaki?

Radzę wszystko posprawdzać z 3x bo Anderson ostatnio ma manie dodawania 5120251153542432 rzeczy z których 3/4 nie działa, albo wręcz powoduje wysyp serwera.
Może i głupie pytanie, ale co to za koleś?
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: sesef w 10 Listopad 2010, 21:21
Cytat: goofyx w 10 Listopad 2010, 20:58
Cytat: sesef w 10 Listopad 2010, 18:41
Jak tam idzie chłopaki?

Radzę wszystko posprawdzać z 3x bo Anderson ostatnio ma manie dodawania 5120251153542432 rzeczy z których 3/4 nie działa, albo wręcz powoduje wysyp serwera.
Może i głupie pytanie, ale co to za koleś?

David Anderson (http://www.boincatpoland.org/wiki/David_Anderson) główny admin/twórca BOINC
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Sebastian M. Bobrecki w 11 Listopad 2010, 01:37
Spoko będę to miał na uwadze. Tak naprawdę wystarczy popatrzeć jak boinc (strona serwerowa) jest napisany. Aż dziw bierze że to w ogóle działa.  ;)
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: goofyx w 15 Listopad 2010, 22:24
Cytat: b0b3r w 05 Listopad 2010, 13:24
@sesef
Przy tego typu matematyce działa się tylko na intach a każde 5% się przyda. :) Chociaż w gmp ostatnio się bardzo dużo poprawiło wersja 5 jest pond 40% szybsza od 4. Ale nie ma co dywagować trzeba sprawdzić i tyle. Może dziś wieczorem znajdę trochę czasu to to zrobię.
Mógłbyś napisać w punktach jakie kroki podejmujesz w swojej aplikacji?
Nie wiem czy dobrze zrozumiałem teorie co do liczb doskonałych.
W skrócie to takie których suma dzielników równa się tej liczbie np.: 6 = 1 + 2 + 3
I później założenie jest takie, że: ( przykładowo dla n =2 )
1. Mersenne Prime to Mp = 2^p-1 np.: 2^2-1 = 4 - 1 = 3
2. Liczba doskonała to Pn = 2^(p-1) * Mp np.: 2^(2-1) * 3 = 2 * 3 = 6
3. p jest liczbą pierwszą

Czyli teoretyczne kroki to:
1. Sprawdzenie czy zadana liczba n jest liczbą pierwszą np.: Test Lucasa-Lehmera tak jak pisałeś <- jeśli n jest liczbą pierwszą
2. Obliczamy liczbę doskonałą : 2^(p-1) * (2^p-1)
3. Możemy dodatkowo znaleźć dzielniki wyliczonej liczby i sprawdzić czy ich suma się zgadza

Dobrze to rozumiem?
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: goofyx w 15 Listopad 2010, 23:02
ps.:
A jeszcze sobie tak teraz myślałem <- też nie wiem czy dobrze.
Skoro wszystko opiera się na p, które jest liczbą pierwszą to czy nie można w jakiś sposób wykorzystać wyników np.: PrimeGrid <- oni szukają liczb pierwszych o ile się nie mylę.

A po za tym jaki jest problem w znalezieniu kolejnej liczby Mersennera i liczby doskonałej?
Skoro "wystarczy" liczba pierwsza <- przykładowo pobrana z PrimeGrid <- jaki sens ma szukanie/sprawdzanie czy liczba jest pierwsza skoro ktoś już o tym wie np.: PrimeGrid.

Dalszy ciąg rozważania <- może mylnego.
Mając np funkcję sprawdzającą czy dana liczba jest liczbą pierwszą:


function is_perfect(a:longint):boolean;
var
 i,s:longint;
begin
 s:=0;
 for i:=1 to a do
   if a mod i = 0 then
     s:=s+i;
 if s div 2 = a then
   is_perfect:=true
 else
   is_perfect:=false;
end;


To czy według Was coś takiego wystarczy dla duużych liczb mających np.: 20mln cyfr i więcej <- pomijam zasięg 32 bitów typów np.: pascalu/delphi.
Dzięki powyższej funkcji bez problemu znajduję 4 jak nie 5 liczb doskonałych <- na więcej nie pozwala zasięg zmiennych 32 bitowych przy testach.
Gdzie tu trudność przy szukaniu liczb doskonałych <- w szukaniu liczb pierwszych?
Skoro teoretycznie 99% sukcesu to znalezienie liczby pierwszej to teoretycznie taka aplikacja powielała by 99% tego co ma PrimeGrid.

Idąc tą drogą: co zawierała by WU? <- rzecz jasna nie mówię o pojedynczych sztukach liczb
1. Jakąś liczbę
2. Liczbę pierwszą

ad<-1
Klient sprawdza czy liczba jest pierwsza jeśli tak zwraca na serwer liczbę pierwszą

ad<-2
zwraca liczbę doskonałą na serwer



A teraz nie ktoś powie mi gdzie mam błąd w moim toku rozumowania <- bo pewnie jest taki.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: apohawk w 15 Listopad 2010, 23:19
Jeśli liczby doskonałe zawsze można znaleźć przez te wzorki na liczbach mersena, to problem znalezienia kolejnej liczby doskonałej sprowadza się do znalezienia kolejnej liczby pierwszej, a to huhuhu nietrywialne ;)
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: goofyx w 15 Listopad 2010, 23:32
Cytat: apohawk w 15 Listopad 2010, 23:19
Jeśli liczby doskonałe zawsze można znaleźć przez te wzorki na liczbach mersena, to problem znalezienia kolejnej liczby doskonałej sprowadza się do znalezienia kolejnej liczby pierwszej, a to huhuhu nietrywialne ;)
Nie no ja nie przeczę że to proste.
Ale chodziło mi czy dobrze myślę, że mając kolejną liczbę pierwszą mamy kolejną liczbę doskonałą <- przy takim założeniu wyliczenie liczby doskonałej to "pikuś" bo 99,9% sukcesu to liczba pierwsza.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: apohawk w 15 Listopad 2010, 23:36
Cytat: goofyx w 15 Listopad 2010, 23:02

function is_perfect(a:longint):boolean;
var
 i,s:longint;
begin
 s:=0;
 for i:=1 to a do
   if a mod i = 0 then
     s:=s+i;
 if s div 2 = a then
   is_perfect:=true
 else
   is_perfect:=false;
end;

Jakiś koszmarek wyszedł. Skróć pętlę o połowę, bo ten for chyba liczy się także dla i=a, a wtedy masz w sumie s=a+a dla liczby doskonałej, po to ten if z divem na końcu chyba jest.

half_a=a/2;
s=0;
for(i=1;i<=half_a;i++)
if(a%i==0) s=s+i
if(s==a) return true;
else return false;


Dalej można by tą pętlę skrócić do i<=sqrt(a)

sqrt_a=sqrt(a); //znajdź/napisz sobie jakieś sensowne rzutowanie na integera wzwyż
s=0;
for(i=1;i<=sqrt_a;i++)
if(a%i==0) s=s+i+a/i;
if(s==a) return true;
else return false;

Jakbym gdzieś napisał błąd w składni, to to jest pseudo-kod, a nie C ;)

Cytat
Nie no ja nie przeczę że to proste.
Ale chodziło mi czy dobrze myślę, że mając kolejną liczbę pierwszą mamy kolejną liczbę doskonałą <- przy takim założeniu wyliczenie liczby doskonałej to "pikuś" bo 99,9% sukcesu to liczba pierwsza.
Ale PG nie daje ci "kolejnych" liczb pierwszych, tylko jakieś tam liczby pierwsze. Możesz sobie znaleźć sitem erastotenesa (czy jak mu tam było) liczby pierwsze w zakresie [1;1000000] i mieć liczb doskonałych od zarąbania.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: goofyx w 15 Listopad 2010, 23:54
Cytat: apohawk w 15 Listopad 2010, 23:36
Ale PG nie daje ci "kolejnych" liczb pierwszych, tylko jakieś tam liczby pierwsze. Możesz sobie znaleźć sitem erastotenesa (czy jak mu tam było) liczby pierwsze w zakresie [1;1000000] i mieć liczb doskonałych od zarąbania.
1. No tak niby nie kolejne <- a ciekawe dlaczego nie kolejne ;)
2. Od zarąbania? "Tylko" jakoś 664tyś z hakiem ;)
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Sebastian M. Bobrecki w 16 Listopad 2010, 12:06
Małe wyjaśnienie kwestii matematycznych tak jak ja to widzę pod kontem projektu:
1). Liczba doskonałą parzystą ma postać ((2^p)-1)(2^(p-1)), przy czym (2^p)-1 musi być liczbą pierwszą. (2^p)-1 jest liczbą Mersenne-a, więc w zasadzie szukamy takich liczb.
2). Liczba Mersenne-a może być liczbą pierwszą tylko jeśli p jest liczbą pierwszą. Ale nie dla każdego p będącego liczbą pierwszą liczba Mersenne-a też będzie pierwsza (np. 11, 67, 257,...).
3). Trzeba podstawiać pod p kolejne (lub może jakoś lepiej wybrane; trzeba się douczyć) liczby pierwsze większe od 43112609 i sprawdzać czy dadzą w wyniku liczbę pierwszą Mersenne-a za pomocą testu Lucas-a - Lehmer-a.
4). Szukanie liczb pierwszych sitem Eratostenesa jest mało efektywne i już dla obecnie znanego największego p (43112609) dającego liczbę pierwszą Mersenne-a zajęło by jakieś kosmiczne lata.
5). Jako źródło liczb pierwszych dla p można użyć tabel obecnie znanych liczb pierwszych lub wybierać je metodą probabilistyczną np. testem Meiller-a - Rabin-a.

Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: goofyx w 16 Listopad 2010, 13:28
Cytat: b0b3r w 16 Listopad 2010, 12:06
Małe wyjaśnienie kwestii matematycznych tak jak ja to widzę pod kontem projektu:
1). Liczba doskonałą parzystą ma postać ((2^p)-1)(2^(p-1)), przy czym (2^p)-1 musi być liczbą pierwszą. (2^p)-1 jest liczbą Mersenne-a, więc w zasadzie szukamy takich liczb.
2). Liczba Mersenne-a może być liczbą pierwszą tylko jeśli p jest liczbą pierwszą. Ale nie dla każdego p będącego liczbą pierwszą liczba Mersenne-a też będzie pierwsza (np. 11, 67, 257,...).
3). Trzeba podstawiać pod p kolejne (lub może jakoś lepiej wybrane; trzeba się douczyć) liczby pierwsze większe od 43112609 i sprawdzać czy dadzą w wyniku liczbę pierwszą Mersenne-a za pomocą testu Lucas-a - Lehmer-a.
4). Szukanie liczb pierwszych sitem Eratostenesa jest mało efektywne i już dla obecnie znanego największego p (43112609) dającego liczbę pierwszą Mersenne-a zajęło by jakieś kosmiczne lata.
5). Jako źródło liczb pierwszych dla p można użyć tabel obecnie znanych liczb pierwszych lub wybierać je metodą probabilistyczną np. testem Meiller-a - Rabin-a.
1. Nie do końca się zgodzę, chyba że nie zrozumiałem twojej myśli. My nie szukamy liczby pierwszej Marsenna bo nie o to chodzi <- chodzi nam w ogóle o liczbę pierwszą p <- mając kolejną liczbę p mamy kolejną liczbę Marsenna, która też jest pierwszą, oraz mamy kolejną liczbę doskonałą. Podstawowy szkopuł to znaleźć kolejne liczby pierwsze przy założeniu p > 2.
2. Dokładnie. Dlatego mając kolejną liczbę p, należy sprawdzić czy  (2^p)-1 też jest liczbą pierwszą, jeśli tak to w sumie mamy kolejną liczbę doskonałą
3. Dlaczego akurat dla p > 43112609? <- projekt mógłby startować od pierwsze liczby pierwszej jaką znamy czyli p = 2. Będzie ciekawiej :)
4. To prawda sito jest mało efektywne, ale przede wszystkim jest prawdopodobieństwo, że pominie niektóre liczby nawet jeśli są pierwsze
5. Lub , tak jak pisałem jechać po kolei <- według mnie projekt zyskał by na atrakcyjności.

Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Sebastian M. Bobrecki w 16 Listopad 2010, 13:48
GIMPS jak by to ująć mało przyjazny dla użytkownika. U nich to wygląda tak że dostajesz liczbę i liczysz ją do końca co czasami trwa nawet miesiąc. Ja chcę żeby aplikacja liczyła np. kilka tysięcy iteracji i odsyłała wyniki cząstkowe. Potem z tych wyników będzie następny WU i znowu do policzenia. Ma to według mnie co najmniej dwie korzyści:
1). Pakiet liczy się krócej (kilka godz.) co jest milej widziane przez użytkowników.
2). Już po kilku tysiącach iteracji można porównać wyniki między różnymi komputerami i sprawdzić czy nie ma błędów. To by było marnowanie czasu jak ktoś by mielił np. 2 tygodnie albo więcej a potem by się okazało że jest błąd i wszystkie obliczenia idą do kosza. Tak to może ktoś po kilku błędnych próbkach się zreflektuje i np. zdejmie parę MHz z ekstremalnie podkręconego procka.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Sebastian M. Bobrecki w 16 Listopad 2010, 14:04
Cytat: goofyx w 16 Listopad 2010, 13:28
...
1. Nie do końca się zgodzę, chyba że nie zrozumiałem twojej myśli. My nie szukamy liczby pierwszej Marsenna bo nie o to chodzi <- chodzi nam w ogóle o liczbę pierwszą p <- mając kolejną liczbę p mamy kolejną liczbę Marsenna, która też jest pierwszą, oraz mamy kolejną liczbę doskonałą. Podstawowy szkopuł to znaleźć kolejne liczby pierwsze przy założeniu p > 2.
2. Dokładnie. Dlatego mając kolejną liczbę p, należy sprawdzić czy  (2^p)-1 też jest liczbą pierwszą, jeśli tak to w sumie mamy kolejną liczbę doskonałą
3. Dlaczego akurat dla p > 43112609? <- projekt mógłby startować od pierwsze liczby pierwszej jaką znamy czyli p = 2. Będzie ciekawiej :)
4. To prawda sito jest mało efektywne, ale przede wszystkim jest prawdopodobieństwo, że pominie niektóre liczby nawet jeśli są pierwsze
5. Lub , tak jak pisałem jechać po kolei <- według mnie projekt zyskał by na atrakcyjności.

1. Tu nie masz się co nie zgadzać, to wynika z matematyki.
2. Dokładnie tak, to właśnie ma robić aplikacja projektu. Innymi słowy problemem nie jest wyszukiwanie liczb pierwszych na poziomie wartości liczby "p" bo to obecnie raptem trochę ponad 40 milionów a już dawno znamy dużo większe liczby pierwsze. Problemem obliczeniowym jest właśnie to żeby podstawić te znane liczby pierwsze pod p policzyć liczbę Mersenne-a i potem testem L-L sprawdzić czy będzie pierwsza.
3. To jest p dla największej obecnie znanej liczby Mersenne-a. Z tego co się orientuję mniejsze zostały już sprawdzone.
4. Sito jest tak mało efektywne że może Ci zabraknąć ramu/procesora/życia żeby to policzyć dla większych liczb.
5. No mi tam by bardziej zależało na tym żeby znaleźć jakieś nowe liczby bo to trochę szkoda czasu na liczenie tego co już jest sprawdzone. Choć z drugiej strony można by to potraktować jako procedurę testową.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Troll81 w 16 Listopad 2010, 14:08
moze w fazie alpha poluczyć te już sprawdzone i wyestymować sprawność algorytmu oraz zapotrzebowanie na sprzęt. A potem ruszyc z nowymi liczbami :D
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: goofyx w 16 Listopad 2010, 14:16
Cytat: b0b3r w 16 Listopad 2010, 14:04
Cytat: goofyx w 16 Listopad 2010, 13:28
...
1. Nie do końca się zgodzę, chyba że nie zrozumiałem twojej myśli. My nie szukamy liczby pierwszej Marsenna bo nie o to chodzi <- chodzi nam w ogóle o liczbę pierwszą p <- mając kolejną liczbę p mamy kolejną liczbę Marsenna, która też jest pierwszą, oraz mamy kolejną liczbę doskonałą. Podstawowy szkopuł to znaleźć kolejne liczby pierwsze przy założeniu p > 2.
2. Dokładnie. Dlatego mając kolejną liczbę p, należy sprawdzić czy  (2^p)-1 też jest liczbą pierwszą, jeśli tak to w sumie mamy kolejną liczbę doskonałą
3. Dlaczego akurat dla p > 43112609? <- projekt mógłby startować od pierwsze liczby pierwszej jaką znamy czyli p = 2. Będzie ciekawiej :)
4. To prawda sito jest mało efektywne, ale przede wszystkim jest prawdopodobieństwo, że pominie niektóre liczby nawet jeśli są pierwsze
5. Lub , tak jak pisałem jechać po kolei <- według mnie projekt zyskał by na atrakcyjności.

1. Tu nie masz się co nie zgadzać, to wynika z matematyki.
2. Dokładnie tak, to właśnie ma robić aplikacja projektu. Innymi słowy problemem nie jest wyszukiwanie liczb pierwszych na poziomie wartości liczby "p" bo to obecnie raptem trochę ponad 40 milionów a już dawno znamy dużo większe liczby pierwsze. Problemem obliczeniowym jest właśnie to żeby podstawić te znane liczby pierwsze pod p policzyć liczbę Mersenne-a i potem testem L-L sprawdzić czy będzie pierwsza.
3. To jest p dla największej obecnie znanej liczby Mersenne-a. Z tego co się orientuję mniejsze zostały już sprawdzone.
4. Sito jest tak mało efektywne że może Ci zabraknąć ramu/procesora/życia żeby to policzyć dla większych liczb.
5. No mi tam by bardziej zależało na tym żeby znaleźć jakieś nowe liczby bo to trochę szkoda czasu na liczenie tego co już jest sprawdzone. Choć z drugiej strony można by to potraktować jako procedurę testową.

Zgadzam się <- jako procedura testowa, sprawdzenie znanych będzie dobre.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Troll81 w 16 Listopad 2010, 21:25
Może dla tych co by chcieli projekt stawiać....

http://www.boincatpoland.org/images/3/3e/Zaproszenie.png
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: apohawk w 17 Listopad 2010, 01:36
nieźle  XD
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Sebastian M. Bobrecki w 18 Grudzień 2010, 11:11
No wreszcie znalazłem trochę czasu i udało mi się coś odpalić:

http://mersenneathome.net/ (http://mersenneathome.net/)   :)

Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Troll81 w 18 Grudzień 2010, 11:33
 :respect: :respect: :respect:

a teraz poprosze o kod aktywacyjny :D
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: emik w 18 Grudzień 2010, 13:11
będzie aplikacja na win?
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Sebastian M. Bobrecki w 18 Grudzień 2010, 13:23
Jest w planach taka aplikacja ale z racji że ja windows-ów nie używam to będzie ją musiał zrobić ktoś inny. Ja przesłałem moje wypociny na linux-a do goofyx-a i on pewnie coś z tego zrobi. Przy czym nie wiem ile to potrwa, ale ja jeszcze muszę dużo popracować nad generatorem zadań więc obecnie próbki będą się pojawiać bardzo sporadycznie jeśli w ogóle. Nie mniej jednak jeśli są posiadacze linux-ów (32 i 64 bit) chętni policzyć/pomóc poprawić pierwsze testowe pakiety to niech się zgłaszaj do mnie po kod aktywacyjny. Tylko nie wszyscy naraz żeby mi zostało trochę czasu na pracę nad generatorem  ;)
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: sesef w 18 Grudzień 2010, 13:34
Jakby co to ja mogę skompilować app pod win 32/64.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Sebastian M. Bobrecki w 18 Grudzień 2010, 14:20
Cytat: sesef w 18 Grudzień 2010, 13:34
Jakby co to ja mogę skompilować app pod win 32/64.

Jakby co to odezwę się jak już się uporam z generatorem jednostek.
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: krzyszp w 18 Grudzień 2010, 20:56
Dodany do bazy, jutro powinien być w wynikach na naszym serwerze statystyk...
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Sebastian M. Bobrecki w 19 Grudzień 2010, 11:37
Cytat: krzyszp w 18 Grudzień 2010, 20:56
Dodany do bazy, jutro powinien być w wynikach na naszym serwerze statystyk...

Fajnie :)
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Sebastian M. Bobrecki w 20 Grudzień 2010, 16:34
Hej kamraci pozakładajcie sobie profile bo mi serwer cały czas krzyczy że ma mało profili do losowania UoTD  :)
Dla przypomnienia: http://mersenneathome.net/ (http://mersenneathome.net/)
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Szopler w 20 Grudzień 2010, 18:31
Zrobione :)
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Troll81 w 20 Grudzień 2010, 20:28
mówisz i masz

http://mersenneathome.net/view_profile.php?userid=865
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: yoyo w 20 Grudzień 2010, 23:34
Hello,
sorry to jump in and change the language to english. Google translate translated this thread for me ;)

I read, that you are writing your own application, means you have the source code for it. In this case it is very simple to make a real Boinc application without using the wrapper. It is well described here http://boinc.berkeley.edu/trac/wiki/BasicApi and you have to add roughly 10 lines of code:
- a boinc_init() and boinc_finish()
- for each result input-/output file a boinc_resolve_filename()
- something for checkpoints, if your app writes some
- and for reporting progress a boinc_fraction_done()

I think thats all what must be added. Of course you must compile the Boinc api before.

yoyo
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Troll81 w 20 Grudzień 2010, 23:44
Thanks yoyo, we shall see into that :D
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Tomasz R. Gwiazda w 21 Grudzień 2010, 19:27
przez brak app na win musialem sobie postawic Linuxa zeby nie tracic dystansu :)

jak juz bedzie app pod win, to proponuje na kilka dni zblokowac sciaganie wu dla innych nacji to sie okopiemy na 1 miejscu w statsach :D
i druzynowo i indywidualnie :P
Tytuł: Odp: PerfectNumber@Home - pomysł nr.2
Wiadomość wysłana przez: Troll81 w 21 Grudzień 2010, 19:30
to by było nie fair  :wth: