Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Wahrscheinlichkeiten festlegen (https://www.delphipraxis.net/48501-wahrscheinlichkeiten-festlegen.html)

Logic 26. Jun 2005 13:56


Wahrscheinlichkeiten festlegen
 
Hallo,

ich simulieren einen 1 dimensionalen Random Walk.

Ich geniere eine Zahl zwischen 1 und 10 und schaue ob sie gerade ist, wenn sie es ist, geht er einen Schritt nach oben, wenn nicht einen Schritt nach unten.

D.h. ich hab eine Wahrscheinlichkeit von 50% oder 0,5... wie kann ich jetzt z.b. einstellen, dass er mit 70% nach oben geht und mit 30% nach unten?

mfg
Logic

alzaimar 26. Jun 2005 14:00

Re: Wahrscheinlichkeiten festlegen
 
Von 0..6 in die eine Richtung, bei 7..9 in die Andere.

Nikolas 26. Jun 2005 14:05

Re: Wahrscheinlichkeiten festlegen
 
Für den BWINF hatte ich mal ein ähnliches Problem und hab es so gelößt:

Delphi-Quellcode:
// das Ereigniss tritt mit p% ein

if random <= (p/100) then showmessage('Ereigniss eingetreten');
Da hast du auch nicht den Aufwand, dass du für deine zufällige Zahl eine Variable brauchst und die auch noch auf odd oder nicht untersuchen musst.

maximov 27. Jun 2005 10:07

Re: Wahrscheinlichkeiten festlegen
 
Das ganz geht doch viel einfacher, wenn man immer auf 0 prüft. Und da die zahlenverteilung nahezu gleichmässig sein sollte, macht es auch nix, dass wir gegen 0 prüfen:

Delphi-Quellcode:
if random(20)=0 then DoSomethingwith_1_div_20_probability();
if random(5)=0 then DoSomethingwith_1_div_5_probability();
if random(100)=0 then DoSomethingwith_1_percent_probability();
...etc.
finde ich irgendwie die einfachste variante, da man nie irgendwelche teiler prüfen muss.

Boombuler 27. Jun 2005 12:45

Re: Wahrscheinlichkeiten festlegen
 
Zitat:

Zitat von Toxman
Für den BWINF hatte ich mal ein ähnliches Problem und hab es so gelößt:

Delphi-Quellcode:
// das Ereigniss tritt mit p% ein

if random <= (p/100) then showmessage('Ereigniss eingetreten');
Da hast du auch nicht den Aufwand, dass du für deine zufällige Zahl eine Variable brauchst und die auch noch auf odd oder nicht untersuchen musst.

Der Code wird so nicht funktionieren... Wenn wir nun eine 0% Wahrscheinlichkeit haben wollen und es kommt 0 bei Random raus so wird deine Funktion trozdem True geben...

Greetz
Boombuler

Logic 27. Jun 2005 12:49

Re: Wahrscheinlichkeiten festlegen
 
Danke für eure Antworten :)

Den 0% kommt nicht vor, von daher wars nicht so tragisch. Hab' das Zeugs auch sowieso heute abgegeben, von daher wärs auch jetzt zu spät :)

nochmal thx


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:32 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz