public class Program
{
public static void Main()
{
var keyManager = new System.Collections.Generic.Dictionary<string, double>();
keyManager.Add("F3", 0.7);
keyManager.Add("F4", 0.2);
keyManager.Add("F5", 0.1);
var rnd = new System.Random();
var rndValue = rnd.NextDouble();
double sum = 0;
foreach (var key in keyManager.Keys)
{
sum += keyManager[key];
if (sum > rndValue)
{
System.Windows.Forms.Clipboard.SetText(key);
break;
}
}
}
}
Losowanie z prawdopodobieństwem
- Rejestracja: dni
- Ostatnio: dni
- Rejestracja: dni
- Ostatnio: dni
- Postów: 57
Super działa!
Jest Pan Wielki ! :)
A ostatnie pytanie czy można używać np. 0.15 bo rozumiem , że jak podzielę np. na 10 teraz F1 do F10 to wtedy będzie wszędzie 0.1 a czy mogę użyć np. 0.05 ?
Chodzi o to , żeby suma była równa 1 ?
- Rejestracja: dni
- Ostatnio: dni
Jesli suma szans będzie wynosic >= 1, to zawsze przynajmniej 1 zostanie wcisniety.
Jesli suma szans bedzie < 1, to moze zdazyc sie tak, ze jakis nie zostanie wcisniety.
Mozna stosowac liczby ulamkowe, wiec 0.15 jak najbardziej jest ok.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 273
Dokładnie tez bym tak zrobił chociaż nie mam wyższych studiów z matematyki .
- Rejestracja: dni
- Ostatnio: dni
Zimny Krawiec napisał(a):
Dokładnie tez bym tak zrobił chociaż nie mam wyższych studiów z matematyki .
Dobrze wiedziec :)
- Rejestracja: dni
- Ostatnio: dni
- Postów: 273
Akurat ta odpowiedź nie była do ciebie ale ok.
Tak się zastanawiam po co komu pseudolosowe liczby o różnym prawdopodobieństwie
- Rejestracja: dni
- Ostatnio: dni
- Postów: 57
Za dużo się zastanawiacie zamiast pomagać.
Pomidor nie pytał tylko pomógł widocznie te losowe liczby były mi do czegoś potrzebne.
Działanie skryptu jest zajebiste i jeszcze raz wielkie dzięki Pomidor !!
Niektórzy chcieli stówę za ten skrypt.
Dlaczego pseudolosowe to taka nazwa?
To jest rotator liczb z % prawdopodobieństwem , tak ?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 4883
no popatrz, siedziales nad tym 7 godzin i ktos Ci ciagle pomagal... uwazasz ze nie jest to warte 100 zl?
Zeby miec liczbe losowa musisz miec niedetermistyczną zmienna. W programie przewaznie losuje sie na bazie czasu czy jakiegos zbioru danych wiec przewaznie jest determistyczny.
Co to oznacza
Ze jakbym wiedzial dokladnie kiedy uruchamiasz program i jakiego algorytmu pseudolosowego uzywasz to moglbym wylosowac taka sama liczbe za kazdym razem
Jak chcesz w pelni losowa liczbe to musialbys odczytywac np szumy z mikrofonu i na podstawie tego losowac liczby, ale to tez nie jest pelna determistycznosc
- Rejestracja: dni
- Ostatnio: dni
- Postów: 57
Skrypt raczej nie zajął tutaj nikomu 7 godzin.
Kolega , który pomagał mi wszystko tłumaczył i dlatego tyle wyszło.
Nie twierdzę , że praca programisty nie byłaby tyle warta natomiast jak widać są osoby , które pomogły bezinteresownie i to się ceni.
Wracając do tematu :
https://puu.sh/ARo6W/d7c990fb6c.png
70k razy wyszlo 0.7 nastepnie 20k czyli 0.2 a nastepnie 10k czyli 0.1
Czemu nie jest to losowe skoro nawet % się zgadzają?
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Wrocław
Bo losowość istnieje tylko w naturze, a nie w algorytmach komputerowych.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 57
Natomiat procentowo jakoś to wygląda i działa więc czemu piszecie , że coś jest nie tak ?
Nie chciałem nikogo urazić ogólnie w tym wątku.
W praktyce http://eduinf.waw.pl/inf/utils/010_2010/0213.php ten skypt będzie losował inaczej niż ten co zrobił kolega Pomidor?
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Wrocław
A ktoś pisze, że coś jest nie tak? To, że te liczby tak się nazywają, to nie znaczy, że coś jest z nimi nie tak.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 57
Kolega wysłał przykład skryptu :
http://eduinf.waw.pl/inf/utils/010_2010/0213.php
Czy on będzie działał inaczej/lepiej niż skrypt Pomidora czy to będzie to samo ?
Przy okazji Wy programiści uważacie , że Wasz czas jest już tak cenny , że głowa mała a to g**no prawda jest tak samo cenny jak budowlańca czy każdego innego a ton wypowiedzi np. teraz w Pana wypowiedziach zazwyczaj świadczy o tym , że czujecie się ważniejsi przez to , że jesteście programistami :)
To tak na marginesie eheh
- Rejestracja: dni
- Ostatnio: dni
- Postów: 5227
Mówiąc prosto
w matematyce "zawsze" 2+2 = 4, 3+x=4 da x=1 itd. (informatyka jest gałęzią matematyki) - dla tych samych danych zawsze daje ten sam wynik, więc jak nagle miałyby powstawać inne wyniki?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 57
Reasumując skrypt Pomidora spełnia swoje zadanie i nie ma żadnego problemu ?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 273
" ##### fasadin napisał(a):
no popatrz, siedziales nad tym 7 godzin i ktos Ci ciagle pomagal... uwazasz ze nie jest to warte 100 zl?
Zeby miec liczbe losowa musisz miec niedetermistyczną zmienna. W programie przewaznie losuje sie na bazie czasu czy jakiegos zbioru danych wiec przewaznie jest determistyczny.
Co to oznacza
Ze jakbym wiedzial dokladnie kiedy uruchamiasz program i jakiego algorytmu pseudolosowego uzywasz to moglbym
wylosowactaka sama liczbe za kazdym razemJak chcesz w pelni losowa liczbe to musialbys odczytywac np szumy z mikrofonu i na podstawie tego losowac liczby, ale to tez nie jest pelna determistycznosc "
Nie ma czegoś takiego jak w pełni losowa liczba .
Może to wykracza poza zakres informatyki ale w świecie przyrody czy jak to nazwać . nie ma przypadków . Jedynie człowiek jest istotą nieprzewidywalną bo posiada wolną wolę ,