Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> generator liczb losowych
kola76
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 24.09.2008

Ostrzeżenie: (0%)
-----


Witam,
czy istnieje taki program a jak tak to jaki by móc za jego pomocą wygenerować losowo liczby. Mam z pośród 3000 licz wygenerować 50, zupełnie losowo i przypadkowo, tylko nie wiem jak to zrobić:(

Pomóżcie jak możecie:(
Go to the top of the page
+Quote Post
Moli
post
Post #2





Grupa: Zarejestrowani
Postów: 662
Pomógł: 45
Dołączył: 26.03.2007
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


W php masz do tego funkcje rand (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) W innych językach programowania ta funkcja nazywa się praktycznie tak samo (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
tommy4
post
Post #3





Grupa: Zarejestrowani
Postów: 288
Pomógł: 12
Dołączył: 2.12.2005

Ostrzeżenie: (0%)
-----


http://www.random.org/integers/

http://www.random.org/integers/?num=50&...tml&rnd=new

Ten post edytował tommy4 24.09.2008, 20:22:16
Go to the top of the page
+Quote Post
hateman
post
Post #4





Grupa: Zarejestrowani
Postów: 86
Pomógł: 18
Dołączył: 28.04.2008
Skąd: Poznań

Ostrzeżenie: (0%)
-----


  1. <?php
  2. for ($i=0; $i<50; $i++)
  3. echo rand(0, 3000).'; ';
  4. ?>
Go to the top of the page
+Quote Post
kola76
post
Post #5





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 24.09.2008

Ostrzeżenie: (0%)
-----


dzięki serdeczne za pomoc:)
Go to the top of the page
+Quote Post
f1xer
post
Post #6





Grupa: Zarejestrowani
Postów: 403
Pomógł: 68
Dołączył: 20.03.2008

Ostrzeżenie: (0%)
-----


A tak żeby była ścisłość to w komputerze nie istnieje coś takiego jak generator liczb losowych są to jedynie liczby pseudolosowe, wiem że to taki mały offtop ale mam taką manię i nie lubię słuchać że wyświetlają się losowe liczby każda liczba jest wyświetlana wg. jakiegoś algorytmu, dlatego nie mogą one być w pełni losowe
Go to the top of the page
+Quote Post
batman
post
Post #7





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Cytat(f1xer @ 28.09.2008, 10:14:10 ) *
A tak żeby była ścisłość to w komputerze nie istnieje coś takiego jak generator liczb losowych są to jedynie liczby pseudolosowe, wiem że to taki mały offtop ale mam taką manię i nie lubię słuchać że wyświetlają się losowe liczby każda liczba jest wyświetlana wg. jakiegoś algorytmu, dlatego nie mogą one być w pełni losowe

A słyszałeś o generowaniu losowych wartości na podstawie aktualnego obciążenia procesora, ilości zużytej pamięci, pozycji myszki na ekranie i znacznika czasu?
Go to the top of the page
+Quote Post
f1xer
post
Post #8





Grupa: Zarejestrowani
Postów: 403
Pomógł: 68
Dołączył: 20.03.2008

Ostrzeżenie: (0%)
-----


To i tak nie jest wartość losowa podstawowa cecha algorytmu to jednoznaczność czyli dla konkretnych danych wejściowych daje zawsze ten sam wynik, nie możemy mówić tutaj o losowości jak przy rzucie kostką czy losowaniu ręcznemu po prostu żaden algorytm nie może dawać wyników losowych choćby był najbardziej skomplikowanym algorytmem na świecie.
Go to the top of the page
+Quote Post
mike
post
Post #9





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


~f1xer ależ algorytmy generatorów liczb losowych istnieją, jest ich nawet bardzo dużo. Inna sprawa, że są trudne lub niemożliwe do implementacji. Często implementacji są powolne. Zainteresuj się trochę matematyką wyższą, bo to co piszesz zawężasz do implementacji na maszynach a nie do teorii.

Poza tym liczby generowane przez komputery można uznać za losowe tak długo jak długo są zbliżone do losowych dla jak największej ilości osób.
Go to the top of the page
+Quote Post
batman
post
Post #10





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Cytat(f1xer @ 28.09.2008, 18:19:04 ) *
...nie możemy mówić tutaj o losowości jak przy rzucie kostką czy losowaniu ręcznemu...

Nie możesz się bardziej mylić. Najlepszy przykład:
Jak spowodować, by podczas rzucania sześciościenną kością do gry, zwiększyć prawdopodobieństwo wyrzucenia 6?
Spiłować odpowiedni kant.
Dowodzi to tego, że uzyskanie prawdziwej, według Ciebie, losowości, kość musiałaby być idealnym sześcianem z dokładnie wyważonym środkiem ciężkości, co w praktyce jest niezwykle drogie. Tak samo jak zaimplementowanie odpowiednio skomplikowanego algorytmu w aplikacji. Tak więc twierdzenie, że nie ma czegoś takiego jak liczby losowe na komputerze, jest tak samo prawdziwe, jak twierdzenie, że rozbicie lustra powoduje 7 lat nieszczęść.
Podczas generowania liczb losowych na komputerze, można skorzystać z tylu różnych wartości, że prawdopodobieństwo wystąpienie powtórzeń jest porównywalne z trafieniem 6 w pięciu kolejnych losowaniach lotto.
Go to the top of the page
+Quote Post
f1xer
post
Post #11





Grupa: Zarejestrowani
Postów: 403
Pomógł: 68
Dołączył: 20.03.2008

Ostrzeżenie: (0%)
-----


Cytat
Liczby pochodzące z generatora programowego zwane są liczbami pseudolosowymi, ponieważ faktycznie nie są dziełem przypadku, lecz wynikiem skomplikowanych procedur matematycznych.


Każdy algorytm jest jednoznaczny czyli jeżeli go znasz to możesz go odtworzyć, ale zgadza się są generatory sprzętowe bardzo skomplikowane i bardzo drogie opierają się na analizowaniu nieprzewidywalnych zjawisk fizycznych czyli wykorzystują już gotowe losowe dane, ale żaden program nie potrafi sam z siebie wygenerować liczby PRAWDZIWIE LOSOWEJ.
Go to the top of the page
+Quote Post
mike
post
Post #12





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Cytat(f1xer @ 30.09.2008, 08:39:33 ) *
Każdy algorytm jest jednoznaczny (...)
Gówno prawda (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Są algorytmy generujące liczby losowe. Nie chrzań mi bo studiowałem matematykę 5 lat i wiem.
Powtarzam: zainteresuj się matematyką wyższą to pogadamy. Na chwilą obecnoą wałkujesz swoją opinię na podstawie swojego "mi się wydaje".
Go to the top of the page
+Quote Post
sztosz
post
Post #13





Grupa: Zarejestrowani
Postów: 866
Pomógł: 32
Dołączył: 2.06.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat(mike @ 30.09.2008, 09:21:39 ) *
Gówno prawda (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Są algorytmy generujące liczby losowe. Nie chrzań mi bo studiowałem matematykę 5 lat i wiem.
Powtarzam: zainteresuj się matematyką wyższą to pogadamy. Na chwilą obecnoą wałkujesz swoją opinię na podstawie swojego "mi się wydaje".


To daj linka do jakiegoś artu, bo sam jestem ciekaw takiego algorytmu, zamiast to się chełpić studiami.
Go to the top of the page
+Quote Post
mike
post
Post #14





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Cytat(sztosz @ 30.09.2008, 09:46:03 ) *
To daj linka do jakiegoś artu, (...)
Nie mam pod ręką linków, po studiach nie kontynowałem drogi związanej z matematyką więc nie śledzę zagadnień z nią związanych.
Musiałbym odgrzebać wykłady albo stare książki, które leżą w domu u rodziców w jakiejś szafie. A nie będe jechał 200km bo sie komuś poszukać nie chce.
Z tego co pamiętam to Transformacja Boxa-Mullera (niestety link do marnej Wikipedii, ale trudno) jest jedną z metod.

Ogólnie żeby bawić się w ten temat najlepiej biegle smigać po teorii prawdopodobieństwa, znać nieźle procesy stochastyczne i mieć w głowie rozkłady większości zmiennych losowych.
Nigdy nie lubiłem tego działu.
Go to the top of the page
+Quote Post
f1xer
post
Post #15





Grupa: Zarejestrowani
Postów: 403
Pomógł: 68
Dołączył: 20.03.2008

Ostrzeżenie: (0%)
-----


czyli dochodzimy do wniosku że algorytm nie musi być jednoznaczny tak? no czyli można napisać algorytm który będzie nam za każdym razem zwracał inną wartość dla tych samych danych wejściowych? no nie wydaje mi się i serio na każdym wykładzie czy szkoleniu z programowania zawsze wykładowcy nie jednokrotnie wysokiej klasy specjaliści powtarzają że MUSI BYĆ JEDNOZNACZNY inaczej nie jest to algorytm i nie ważne czy są to proste funkcje sumujące czy złożone algorytmy generowania liczb losowych (a przynajmniej tak losowych jak to obecnie możliwe) na podstawie danych dotyczących szumów termicznych czy rozpadu izotopów, niestety ale chaos istnieje tylko w przyrodzie wszystko co jest zapisane jakimkolwiek wzorem dla konkretnych danych wejściowych da da ten sam wynik ZAWSZE bo jakoś trudno sobie wyobrazić inną sytuację. Ale wiem o czym mówisz MIKE mówisz o nieprzewidywalności programu to się zgodzę można taki napisać chodzi tutaj o to że nie znasz danych wejściowych ani sposobu działania więc nie możesz przypuszczać jaki będzie wynik. A i to nie jest moje widzi misie tak po prostu jest jeżeli się mylę to bardzo chętnie poczytam o takim algorytmie.
Go to the top of the page
+Quote Post
mike
post
Post #16





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


~f1xer no to jeszcze raz Ci powiem. Postudiuj trochę teori prawdopodobieństwa.
Mówisz o algorytmie i może tu się rozmijamy. Ja mam na myli to, że są twierdzenia i "wzory" dające w rezultacie liczby losowe. A to czy da się je zaimplementować na jakiejś maszynie i czy nie stracą na jakości lub nie będe za wolne i ociężałe to inna kwestia.

Mnie też uczyło wielu specjalistów wysokiej klasy. Tylko, że matematyka nie ogranicza się do zastosowania jej w informatyce. Może dlatego nie jesteś w stanie przyjąć tego co piszę.
Wiesz w liceum też mówi się uczniom, że liczby rzeczywise to całość i więcej nie ma (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) A to nie dlatego, że nauczycele nie wiedzą nic o zespolonych (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Cytat(f1xer @ 30.09.2008, 12:47:14 ) *
(...) bardzo chętnie poczytam o takim algorytmie.
Kliknij w linka w moim poprzednim poście.

---dodane---
Ok, żeby ta dyskusja nie przerodziła się w zajadłe coś o czym mowa w obrazku pod tytułem: "Ktoś w internecie nie ma racji", to...
Wtrąciłem się bo napisałeś o liczbach losowych. Przyznaję rację bo na komuterze owszem, nie koniecznie da się je wygenerować.
Rozwinąłem dyskusję dalej, choć pisałes o komputerach. Niepotrzebnie to zrobiłem.
Go to the top of the page
+Quote Post
f1xer
post
Post #17





Grupa: Zarejestrowani
Postów: 403
Pomógł: 68
Dołączył: 20.03.2008

Ostrzeżenie: (0%)
-----


No to chyba zrozumiałem gdzie się mijamy ja mówiłem tutaj o rzeczywistych maszynach/programach a nie o teoriach bo teorii jest wiele i na pewno któraś zakłada generowanie liczb losowych (takich prawdziwych) tylko że nie udało się jej jeszcze wykorzystać w praktyce ale proszę cię jesteś większym autorytetem więc napisz że każdy ALGORYTM pisany na komputer lub inną machinę, w dowolnym języku programowania i o dowolnym stopniu komplikacji musi być jednoznaczny. A jeżeli chodzi o liczby losowe to po dokształceniu się doczytałem że zbiór liczb losowych ma jedną ciekawą własność mając nieskończenie wiele jego elementów nie da się precyzyjnie obliczyć następnego elementu czyli teoretycznie jest to możliwe tylko że z praktyką bywa gorzej zresztą chyba dlatego LOTTO ma takie maszynki do losowania zamiast kompa z odpowiednim oprogramowaniem i generatorem losowych liczb. Pozdrawiam i niniejszym oświadczam że więcej nie będę się spierał no chyba że po skończeniu magisterki tutaj wrócę i coś dopiszę do tego POSTA (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Nie wydaje mi się że nie potrzebnie to zrobiłeś inni będą wiedzieć więcej a i ja się czegoś nowego nauczyłem.

Ten post edytował f1xer 30.09.2008, 12:32:50
Go to the top of the page
+Quote Post
mike
post
Post #18





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


No to czytając Twojego posta i uzględaniając mój update w moim poptzednim poście dochodzimy do tego samego :-)
I racja, nie podważam i nie zaprzeczam, że algorytmy są jednoznaczne.

A rozmijamy się takjak zauważyłeś na płaszczyźnie rozważań. To chyba koniec OT'a ;-)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.09.2025 - 23:23