php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Scripts > BRAINSTORMING PHP/SQL/HTML/JS/CSS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


BRAINSTORMING PHP/SQL/HTML/JS/CSS Ihr habt eine Idee, aber keinen genauen Ansatz? Diskutiert mit anderen Usern des Forums über eure Gedankengänge um evtl. hilfreiche Ideen zu bekommen!
Normale Fragen bitte weiterhin in die entsprechenden Foren!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 01-05-2011, 20:47
Wannabe
 Registrierter Benutzer
Links : Onlinestatus : Wannabe ist offline
Registriert seit: Apr 2001
Beiträge: 135
Wannabe ist zur Zeit noch ein unbeschriebenes Blatt
Wannabe eine Nachricht über ICQ schicken
Standard Gewichteter Zufallswert nähe Mittelwert

Hallo,

ich stehe gerade total auf dem Schlauch und hoffe, ihr könnt mir ein wenig mit Denkansätzen/Ideen helfen.

Ich habe einen MIN-Wert, einen MAX-Wert und einen Mittelwert.
Nun möchte ich eine Zufallszahl zwischen MIN und MAX generieren.
Das ist an sich kein Problem.
Mein Problem ist jetzt, dass ich möchte, das die Wahrscheinlichkeit höher ist, dass der Zufallswert irgendwo rund um den Mittelwert variiert.
Der Mittelwert ist dabei NICHT einfach die Mitte zwischen MIN und MAX, sondern ein errechneter Wert aus mehreren Datensätzen.

Also Beispielsweise:
Min: 1
Max: 10
Mittelwert: 6
Als Ergebnis soll nun öfter ein Wert um 6 (also vielleicht 4 - 8) heraus kommen, als beispielsweise die 1, 2 oder 10.
Diese Zahlen sind natürlich nur Beispielwerte.
Die tatsächlichen Zahlen mit denen ich arbeite, liegen im Dezimalbereich.

Ich dachte mir, es gibt doch sicherlich, vielleicht aus dem Bereich der Wahrscheinlichkeitsrechnung, der Statistik etc., bereits ausgeklügelte Formeln, die genau dieses Problem behandeln, wurde aber bei meiner Suche nicht fündig.

Hat von euch jemand eine Idee, wie ich mein Problem angehen könnte?
Ein kleiner Denkansatz oder vielleicht eine tatsächlich existierende Formel aus der Mathematik?

Geändert von Wannabe (01-05-2011 um 21:43 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 01-05-2011, 21:10
mephisto111
 Registrierter Benutzer
Links : Onlinestatus : mephisto111 ist offline
Registriert seit: Nov 2003
Beiträge: 52
mephisto111 befindet sich auf einem aufstrebenden Ast
Standard Dreiecksverteilung?

Hallo Wannabe,

Du koenntest z.B. die Zufallszahl gemaess einer
Dreiecksverteilung generieren:

Dreiecksverteilung ? Wikipedia

Durch welche Gesichtspunkte sind die in Deinem
Posting angegebenen Rahmenbedingungen motiviert
worden? Vielleicht laesst sich die zugrunde
liegende Verteilung (oder Verteilungsfamilie)
dann noch geschickter spezifizieren.
Mit Zitat antworten
  #3 (permalink)  
Alt 01-05-2011, 21:42
Wannabe
 Registrierter Benutzer
Links : Onlinestatus : Wannabe ist offline
Registriert seit: Apr 2001
Beiträge: 135
Wannabe ist zur Zeit noch ein unbeschriebenes Blatt
Wannabe eine Nachricht über ICQ schicken
Standard

Danke mephisto, das klingt schon sehr nach etwas, das mir hier weiterhelfen könnte.
Mir ist gerade aufgefallen, im ersten Posting habe ich von "Millionen-Werten" geschrieben.
Das sind natürlich nicht Millionen, sondern niedrige Dezimal-Werte. Sorry.

Also ganz konkret geht es um folgendes:

Der MIN-Wert stellt den schlechtesten Wert dar, den ein Spieler (unter allen Spielern) in einer Kategorie erreicht hat.
Der MAX-Wert entsprechend den besten Wert.
Der Mittelwert ist der Durchschnittswert, den ALLE Spieler erreicht haben.

Beispiel "Fußball" und "Zweikämpfe":

Spieler 1: 0,15 Zweikämpfe pro Minute
Spieler 2: 0,03 Zweikämpfe pro Minute.
Spieler 3: 0,25 Zweikämpfe pro Minute.
Spieler 4: 0,19 Zweikämpfe pro Minute.

Dann habe ich MIN 0,03 und MAX 0,25.
Und im Mittel hat ein Spieler dann 0,155 Zweikämpfe pro Minute.

Für Spieler 5 ergibt sich damit, dass er wahrscheinlich zwischen 0,03 und 0,25 Zweikämpfe, sehr wahrscheinlich aber sogar irgendwas um die 0,155 Zweikämpfe pro Minute haben wird.
Muss nicht sein, ist natürlich reine Theorie, aber die Wahrscheinlichkeit ist größer, als das er vielleicht nur 0,04 Zweikämpfe oder so haben wird.
Die MIN-, MAX- und Mittelwerte ergeben sich dabei nicht aus 4 Spielern, sondern aus allen Spielern einer Liga.

Der Erwartungswert liegt bei (MIN + Mittelwert + MAX) / 3, aber da fehlt mir halt der Zufall und die Möglichkeit, dass es auch sein könnte, das MIN oder MAX bei heraus kommen könnten ;-)

Geändert von Wannabe (01-05-2011 um 21:50 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 01-05-2011, 22:20
mephisto111
 Registrierter Benutzer
Links : Onlinestatus : mephisto111 ist offline
Registriert seit: Nov 2003
Beiträge: 52
mephisto111 befindet sich auf einem aufstrebenden Ast
Standard

Hallo Wannabe,

besitzen die Spieler unterschiedliche
"Spielstaerken" und haengt die "Anzahl
der Zweikaempfe" pro Minute auch von der
"Spielstaerke" eines Spielers ab? Wenn ja,
muesste Deine Ueberlegung verfeinert werden.
Mit Zitat antworten
  #5 (permalink)  
Alt 01-05-2011, 22:30
Wannabe
 Registrierter Benutzer
Links : Onlinestatus : Wannabe ist offline
Registriert seit: Apr 2001
Beiträge: 135
Wannabe ist zur Zeit noch ein unbeschriebenes Blatt
Wannabe eine Nachricht über ICQ schicken
Standard

Nein, Spielerstärken gibt es nicht.
Falls der Eindruck entstanden sein sollte:
Es geht NICHT um die Entwicklung des 1532sten Fußballmanagers oder so.
Ich spiele einfach nur ein wenig mit Sport-Statistiken herum.
Es geht also tatsächlich einfach nur darum, diesen gewichteten Zufallswert für Spieler 5 zu erstellen.
Mit Zitat antworten
  #6 (permalink)  
Alt 04-05-2011, 10:42
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Bleiben wir mal bei deinem Beispiel:
Zitat:
Also Beispielsweise:
Min: 1
Max: 10
Mittelwert: 6
Als Ergebnis soll nun öfter ein Wert um 6 (also vielleicht 4 - 8) heraus kommen, als beispielsweise die 1, 2 oder 10.
Diese Zahlen sind natürlich nur Beispielwerte.
Die tatsächlichen Zahlen mit denen ich arbeite, liegen im Dezimalbereich
Wie viel mal häufiger sollen denn Zahlen im Bereich 4-8 im Vergleich zu den anderen vorkommen?

Ist ja letztendlich nur eine weitere Zufallsgenerierung mit
PHP-Code:
$r=rand(1,$häufigkeit
und einer entsprechenden if abfrage:
PHP-Code:
if($r!=1)
  
$wert rand(1,10);
else
  
$wert rand(4,8); 
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #7 (permalink)  
Alt 04-05-2011, 21:33
mephisto111
 Registrierter Benutzer
Links : Onlinestatus : mephisto111 ist offline
Registriert seit: Nov 2003
Beiträge: 52
mephisto111 befindet sich auf einem aufstrebenden Ast
Standard

Da das eigentliche Problem darin bestand einen Zufallsmechanismus
zu beschreiben, der auch im "Dezimalbereich" funktioniert, hier eine kleine
Ergänzung zu dem Posting von Tobiaz. Der Nachteil seiner Methode ist, dass
mit ihr nur Verteilungen realisiert werden können, die (ein idealer
Zufallszahlengenerator vorausgesetzt) Mischungen von zwei diskreten
Gleichverteilungen sind.

Hier ein Rezept, mit dem man per PHP Zufallszahlen mit einer (praktisch)
beliebigen Verteilung erzeugen kann:

Schritt 1: Größte Zahl ermitteln, die von "rand" akzeptiert wird:

PHP-Code:
$a=getrandmax(); 
Schritt 2: Eine "zufällige" Zahl zwischen 0 und $a erzeugen:

PHP-Code:
$x=rand(0,$a); 
Schritt 3: Transformation dieser Zahl auf das Einheitsintervall:

PHP-Code:
$u=$x/$a
Schritt 4: $u lässt sich näherungsweise als Realisierung einer auf dem
Einheitsintervall gleichmässig verteilten Zufallsvariablen auffassen.

Wenn man auf diesen Wert die "Inverse" F_inv der gewünschten
Verteilungsfunktion F anwendet, erhält man einen Wert, der als Realisierung
einer gemäß F verteilten Zufallsvariablen aufgefasst werden kann:

PHP-Code:
$z=F_inv($u); 
Weitere Einzelheiten zu Schritt 4 vgl.
Inversionsmethode ? Wikipedia

Geändert von mephisto111 (04-05-2011 um 21:36 Uhr)
Mit Zitat antworten
  #8 (permalink)  
Alt 08-05-2011, 15:39
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Da das eigentliche Problem darin bestand einen Zufallsmechanismus
zu beschreiben, der auch im "Dezimalbereich" funktioniert,
Echt? ich dachte eigentlich das der TO das schon längst realisiert hatte, schließlich konnte er sein Problem entsprechend vereinfachen...
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #9 (permalink)  
Alt 09-05-2011, 17:00
Quetschi
 PHP Expert
Links : Onlinestatus : Quetschi ist offline
Registriert seit: Dec 2004
Beiträge: 3.134
Quetschi wird schon bald berühmt werden
Standard

Der Thread wurde zwar schon vor einer Weile eröffnet, aber vielleicht guckt der TO hier ja noch rein und findet folgenden Link interessant/passend?!

Diskrete begrenzte Glockenkurven-Verteilung? | PHP Gangsta - Der PHP Blog
__________________
Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
Schön - etwas Geschichte kann ja nicht schaden.
Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
BG-Zufallswert zeron BRAINSTORMING PHP/SQL/HTML/JS/CSS 4 05-06-2006 14:46
Probleme mit gewichteter Verteilung XGremliN PHP Developer Forum 5 03-06-2004 11:02
zufallswert generieren jochenj BRAINSTORMING PHP/SQL/HTML/JS/CSS 3 24-08-2003 21:26
zufallswert aus db auslesen? manyhits PHP Developer Forum 6 27-05-2002 00:15
zufallswert Berni SQL / Datenbanken 3 29-10-2000 10:55

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script ansehen ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script

Mit unserer Lösungen können Sie nahezu jeden B2B / B2C Marktplatz betreiben den Sie sich vorstellen können. Ganz egal ob Sie einen Automarktplatz, Immobilenportal oder einfach einen Anzeigenmarkt betreiben möchten. Mit ebiz-trader können Sie Ihre Anforder

11.10.2018 Berni | Kategorie: PHP/ Anzeigenmarkt
PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:56 Uhr.