Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Losowanie na podstawie parametru :), Im większa wartość tym mniejsze prawdopodobnieństwo
Naster
post
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 2.08.2007

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


Witam.

Mam taki dylemat algorytmiczny (IMG:style_emoticons/default/smile.gif)

Otóż przykładowo posiadam tablice
Kod
$array = array(100, 400, 300, 200, 600, 110, 500, 100);


i teraz potrzebuje wylosować jedną wartość ale na podstawie parametru. Chodzi oto aby np wartość 600 miała 5% szans na wylosowanie a wartość 100 np 40%.

Nie mam pojęcia jak się za to zabrać. Wszelkie sugestie, podpowiedzi mile widziane (IMG:style_emoticons/default/smile.gif)

Z góry dziękuje za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
masiakla
post
Post #2





Grupa: Zarejestrowani
Postów: 80
Pomógł: 17
Dołączył: 4.09.2010
Skąd: far far away

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


Cytat(MateuszS @ 6.09.2010, 21:49:22 ) *
  1. <?
  2.  
  3. $array = array(100 => 40, 400 => 50, 300 => 10); // liczba => prawdopodobienstwo w %, suma 100%

Komentarz twój wynika właśnie z definicji rozkładu zmiennej gdzie suma prawdopodobieństw ma wynosić 1, dla skończonej i nieskończonej ilości wartości. W tym przypadku mamy "rozkład skokowy" co niejako ułatwia zadanie z policzeniem.

Cytat(MateuszS @ 6.09.2010, 21:49:22 ) *
@masiakla, mieciesz pojęciami (IMG:style_emoticons/default/biggrin.gif)

Po napisaniu posta właśnie zacząłem się zastanawiać, czy nie za bardzo pojechałem, bo wszak dla mnie wydaje się to proste, ale mam trochę lat na karku, o tyle dla kogoś innego może być trudne w zrozumieniu. Do tego napisanie aplikacji, która to wykorzystuje, może nie być wcale takie proste, choćby ogarnięcie zagadnień, których nawet za moich czasów nie uczyli w liceum, a to zadanie wymaga też poznania innych działów matematyki. Dlatego rozwiązanie twoje i celbarowicz'a wydaja mnie się bardziej przystępne.

Ten post edytował masiakla 6.09.2010, 21:19:48
Go to the top of the page
+Quote Post

Posty w temacie


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: 27.12.2025 - 11:59