• Liebe User, bitte beachtet folgendes Thema: Was im Forum passiert, bleibt im Forum! Danke!
  • Hallo Gemeinde! Das Problem leidet zurzeit unter technischen Problemen. Wir sind da dran, aber das Zeitkontingent ist begrenzt. In der Zwischenzeit dürfte den meisten aufgefallen sein, dass das Erstellen von Posts funktioniert, auch wenn das Forum erstmal eine Fehlermeldung wirft. Um unseren Löschaufwand zu minimieren, bitten wir euch darum, nicht mehrmals auf 'Post Reply' zu klicken, da das zur Mehrfachposts führt. Grußworte.

der Zufall...

Busta_inaktiv

Guest
Eine ewige Frage: Wie zufällig ist der bw-Zufall?

Nun, wie testet man Starcraft? Die bwprogrammers.com hätten die Rasse wahrscheinlich im Speicher auslesen oder der Netzwerkkommunikation entnehmen können, aber dafür fehlen mir die Kenntnisse. Daher:

1. Ein kleines Autoit-Skript, das bw startet und ein neues Single-Player-Spiel erstellt. Dann Screenshot machen, Screenshot aus dem bw-Ordner verschieben (wg. Beschränkung auf 100 Stück), Spiel neu starten, und von vorne.

2. 30 Zeilen Javacode: Screenshot lesen, anhand der Farbe in der Bildmitte (cc/hatch/nexus) die Rasse erkennen und zählen.

Dauer ca: vierzig Minuten autoit kennen lernen und Skript schreiben, dreißig Minuten erster erfolgloser Programmierversuch, vierzig Minuten zweiter Versuch, diesmal mit passenden Api-Funktionen.
Laufzeit:
1. Screenshots während eines Trainings laufen gelassen, genaue Zeit daher unbekannt; bei (durch's Skript vorgegebenen) 2,8 Sekunden je Bild wahrscheinlich etwa 50 Minuten je 1000 Spiele.
2. Analyse: 52 Sekunden je 3600 Bilder.

Ergebnis nach dem bisher einzigen Durchlauf, 3600 Spiele:
1196 x Protoss = 33,2_ %
1188 x Terran = 33 %
1216 x Zerg = 33,7_ %

Keine Auffälligkeit!


Vorschläge für weitere Tests? Geplant sind Spiele im Multiplayer (im Lan) mit unterschiedlich vielen Mitspielern, und beim Training heute abend lasse ich nochmal ein paar tausend Durchläufe machen.
 

DkH.Nash

Guest
was soll das alles bringen ?
Ich glaube ich hab in meiner ersten Informatikstunde denn zufall mit den Würfeln gelernt zu programmieren und der ist 1/6 =)
Von daher ist es nicht schwer einen vernünftigen zufall zu erstellen.
Wenn Du nun nochmal 3600 Spiele machst, ists vielleicht eine kleine Abweichung, aber das ist ja normal...

Oder willst Du einen HErsteller entlarven bei einem schlechten zufallsfaktor? =)
 
Mitglied seit
01.11.2004
Beiträge
1.412
Reaktionen
0
interessant waere ob es wirklich zufall ist... weil dann koennte es ja durchaus vorkommen das man 10 mal hintereinadner z bekommt... koennte aber genausogut sein das man dort einen algorhytmus vorfindet, mit dem man dann die naechste rasse berechnen koennte

das wuerde mich mal interessieren
 
Mitglied seit
19.05.2003
Beiträge
19.993
Reaktionen
849
toll also ne abweichung von plus 0,4 % bei z
vonminus 0,01 bei p und 0,03


der sinn an zufall ist , dass eben uach 10 mal z kommen kann die wahrscheinlcihkeit dafür ist dann halt 1/3 hoch 10

das hat mir der vorher erhaltenen race nix zu tun
 

ScHniB

Guest
also beim showmatch war ich schonmal 5 von 6 mal p ;D also denke schon dass es zufall ist
 
Mitglied seit
02.02.2005
Beiträge
2.479
Reaktionen
8
n1. Man hätte sich zwar auch denken können, dass Blizzard in der Lage und willens ist, einen ausreichend guten Zufalls-Generator zu programmieren, aber jetzt sind wir auf der sicheren Seite. :thumb:
 

TuxRevenge

Guest
Original geschrieben von Busta

Ergebnis nach dem bisher einzigen Durchlauf, 3600 Spiele:
1196 x Protoss = 33,2_ %
1188 x Terran = 33 %
1216 x Zerg = 33,7_ %

Keine Auffälligkeit!

[/B]

Was zeigt uns dieser Test nun? Die Rassen wurden halt sehr ausgeglichen Verteilt. Hat aber recht wenig mit Zufall zu tun. :eek3:
Selbst wenn du 1500x Toss, 1500x Terra und 600x Zerg als Ergebniss bekommen hättest, wäre es nichts besonderes.

Es ist und bleibt nun mal Zufall!
 

Asta Khan_inaktiv

Guest
Re: Re: der Zufall...

Original geschrieben von TheTom


Was zeigt uns dieser Test nun? Die Rassen wurden halt sehr ausgeglichen Verteilt. Hat aber recht wenig mit Zufall zu tun. :eek3:
Selbst wenn du 1500x Toss, 1500x Terra und 600x Zerg als Ergebniss bekommen hättest, wäre es nichts besonderes.

Es ist und bleibt nun mal Zufall!


die ersten zwei sätze stimmen (wie oben gesagt) aber der rest war unsinn. die wahrscheinlichkeit, dass da 1500/1500/600 rauskommt, obwohl es echter zufall ist, ist praktisch nichtexistent. ==> das ist etwas sehr besonderes und man müsste schon regelrecht dumm sein um das zu ignorieren.

bau in das skript mal ein paar weitere tests mit ein, z.b. wie oft nach rasse x rasse y folgt usw.

nicht, dass das alles was bringt. warum sollte blizzard sich da irgendwas unnützes und kompliziertes ausdenken anstatt einfach den zufall zu lassen? ^^
 

lamer5

Guest
ich spiel eigentlich 90% rnd und von irgend einer reihenfolge hab ich noch nie was bemerkt ...
 
Mitglied seit
13.08.2001
Beiträge
1.028
Reaktionen
0
Disassemblieren des Codes führt hier weiter als solche Experimente. Starcraft verwendet einen ganz normalen Pseudo-Zufallszahlengenerator, deshalb ist die Random-Rasse völlig zufällig.

Nicht mehr zufällig wird es aber dann, wenn mehr als ein Random-Spieler im Spiel ist. In einem 1vs1 ist z.B. ein Mirror-Matchup viel unwahrscheinlicher als zwei unterschiedliche Rassen. In einem 8 Spieler Spiel (alle Random) gibt es nie mehr als dreimal dieselbe Rasse. Und so weiter, der Algorithmus dahinter ist relativ kompliziert.
 

DkH.Nash

Guest
@Doktor_Faust: DAs musste erstmal beweisen!

Meine Meinung:
Der Zufallsgenerator ist ganz simpel gestrickt:
Schleife
Random(3)
Schleife ende (Programmiersprache^^)

Der wird sich einen feuchten Dreck drum kümmern, welche Rasse der Gegner ist! Und Mirrormatches kommen nur deshalb weniger zustande, weil es 3 Rassen gibt, d.h. die Wahrscheinlichkeit ist 2/3, dass es kein Mirror Match ist...
Gruß
 
Mitglied seit
01.11.2004
Beiträge
1.412
Reaktionen
0
Original geschrieben von Doktor Faust
Disassemblieren des Codes führt hier weiter als solche Experimente. Starcraft verwendet einen ganz normalen Pseudo-Zufallszahlengenerator, deshalb ist die Random-Rasse völlig zufällig.

Nicht mehr zufällig wird es aber dann, wenn mehr als ein Random-Spieler im Spiel ist. In einem 1vs1 ist z.B. ein Mirror-Matchup viel unwahrscheinlicher als zwei unterschiedliche Rassen. In einem 8 Spieler Spiel (alle Random) gibt es nie mehr als dreimal dieselbe Rasse. Und so weiter, der Algorithmus dahinter ist relativ kompliziert.

und du bist sicher das kein algorhytmus dafuer besteht das du nicht 20 mal hinternander rnd bekommst?

e: ersetzt rnd bitte durch gleiche rasse unabhaengig vom gegner -_-
 
Mitglied seit
13.08.2001
Beiträge
1.028
Reaktionen
0
Original geschrieben von nAsh0r
@Doktor_Faust: DAs musste erstmal beweisen!

Meine Meinung:
Der Zufallsgenerator ist ganz simpel gestrickt:
Schleife
Random(3)
Schleife ende (Programmiersprache^^)

Der wird sich einen feuchten Dreck drum kümmern, welche Rasse der Gegner ist! Und Mirrormatches kommen nur deshalb weniger zustande, weil es 3 Rassen gibt, d.h. die Wahrscheinlichkeit ist 2/3, dass es kein Mirror Match ist...
Gruß

Ich habe den Code disassembliert. Falls du Assembler verstehst, kannst du das problemlos selbst nachvollziehen. Die tatsächliche Wahrscheinlichkeit eines Mirror-MUs liegt übrigens bei nur 1/24 oder 4,2%.

Namelless: verstehe die Frage nicht.
 
Mitglied seit
02.02.2005
Beiträge
2.479
Reaktionen
8
Das ist mir neu, hätt ich nicht gedacht. Hat echt noch nie jemand bei nem 6-Mann-Racewar (alle Random) erlebt, dass eine Rasse 4 mal vorkommt?

Ist das mit dem Algorithmus irgendwo noch genauer erklärt? Also einerseits die Gesetzmäßigkeit und andererseits Blizzards Motive?
 
Mitglied seit
06.04.2004
Beiträge
2.684
Reaktionen
0
Ort
Krefeld
hatte gestern 8 ma rnd 8 mal zerg was sagt uns das nu ? ^^
das die welt mich hasse (ich kann kein zerg)
 
Mitglied seit
20.03.2004
Beiträge
698
Reaktionen
0
Original geschrieben von Doktor Faust


Ich habe den Code disassembliert. Falls du Assembler verstehst, kannst du das problemlos selbst nachvollziehen. Die tatsächliche Wahrscheinlichkeit eines Mirror-MUs liegt übrigens bei nur 1/24 oder 4,2%.

kopier die entsprechenden zeilen mal hier rein. Ich bin nicht so irre den code zu durchsuchen. wenn C code wäre ok, aber asm durchsuchen nach sowas :stupid:

bezweifle allerdings die 4,2% sehr stark.
 
Mitglied seit
13.08.2001
Beiträge
1.028
Reaktionen
0
Die Einschränkungen durch den Algorithmus sehen so aus:

2 Random Spieler: Wahrscheinlichkeit 1/24 für Mirror-MU
3 Random Spieler: Es gibt nie 3 mal dieselbe Rasse.
4 Random Spieler: Keine Rasse 3 oder 4 mal. Nur eine Rasse 2 mal. Also nur die Kombinationen PPZT, ZZPT, TTZP.
5 Random Spieler: keine Rasse mehr als zweimal
6 Random Spieler: keine Rasse mehr als dreimal, und höchstens eine dreimal.
7 Random Spieler: keine Rasse mehr als dreimal, und genau eine dreimal. Also ZZZ TT PP, TTT PP ZZ, PPP TT ZZ
8 Random Spieler: keine Rasse viermal oder mehr.
 
Mitglied seit
13.08.2001
Beiträge
1.028
Reaktionen
0
Original geschrieben von ETBrooD


das stimmt nicht
Wenn du das in der Praxis mal anders gesehen hast, hat vermutlich einer der 8 Random-Spieler noch auf den letzten Drücker seine Rasse umgestellt.
 
Mitglied seit
29.10.2002
Beiträge
230
Reaktionen
0
Ort
Kaarst
im 1n1 ist das echt zufällig
allerdings ist das im 2n2 nach meiner erfahrung etwas anders. da guckt der "zufall" scheinbar nach den rassen der anderen spieler
beispiel:
Spieler 1rndm
Spieler 2toss
Spieler 3terran
Spieler 4Terran
dann bekommt man höchstwahrscheinlich z, so ist zumindest meine erfahrung. scheinbar guckt das spiel da nach nem race balancing. ganz so zufällig scheint es dann doch net zu sein, zumindest im 2n2
 
Mitglied seit
27.01.2003
Beiträge
3.742
Reaktionen
0
Original geschrieben von Doktor Faust

Wenn du das in der Praxis mal anders gesehen hast, hat vermutlich einer der 8 Random-Spieler noch auf den letzten Drücker seine Rasse umgestellt.

nope

kA was daran so unverständlich sein soll
8 random zocker
2-7 haben die gleiche rasse
logisch nachvollziehbar eh?
der zufall lässt sich nix vorschreiben
 
Mitglied seit
13.08.2001
Beiträge
1.028
Reaktionen
0
Original geschrieben von ETBrooD


nope

kA was daran so unverständlich sein soll
8 random zocker
2-7 haben die gleiche rasse
logisch nachvollziehbar eh?
der zufall lässt sich nix vorschreiben

Es ist aber nicht zufällig.
 
Mitglied seit
13.08.2001
Beiträge
1.028
Reaktionen
0
Original geschrieben von Doomdrake
im 1n1 ist das echt zufällig
allerdings ist das im 2n2 nach meiner erfahrung etwas anders. da guckt der "zufall" scheinbar nach den rassen der anderen spieler
beispiel:
Spieler 1rndm
Spieler 2toss
Spieler 3terran
Spieler 4Terran
dann bekommt man höchstwahrscheinlich z, so ist zumindest meine erfahrung. scheinbar guckt das spiel da nach nem race balancing. ganz so zufällig scheint es dann doch net zu sein, zumindest im 2n2

Nein, Balancing gibt es nur innerhalb der Random Spieler. Die fest ausgewählten Rassen haben keinen Einfluss.
 
Mitglied seit
27.01.2003
Beiträge
3.742
Reaktionen
0
und wie erklärst du dir dann, dass bei 8 random zockern auch mal 4 oder mehr die gleiche rasse haben?
is nämlich so, kannst du noch so oft bestreiten, dadurch wirds nicht unwahrer
 
Mitglied seit
13.08.2001
Beiträge
1.028
Reaktionen
0
Original geschrieben von ETBrooD
und wie erklärst du dir dann, dass bei 8 random zockern auch mal 4 oder mehr die gleiche rasse haben?
is nämlich so, kannst du noch so oft bestreiten, dadurch wirds nicht unwahrer
Erklärung dafür steht oben.
 
Mitglied seit
02.02.2005
Beiträge
2.479
Reaktionen
8
etbrood hat uns entdeckt, nix wie weg, einer lenkt ihn ab...
 

Busta_inaktiv

Guest
An die "wofür"-Schreier: Es sollte natürlich genau auf das raus, was Faust jetzt schon veröffentlicht hat - die Multiplayer-Verteilungen. Für Tests fehlten mir aber die Partner im Lan

Original geschrieben von Doktor Faust
Die Einschränkungen durch den Algorithmus sehen so aus:

2 Random Spieler: Wahrscheinlichkeit 1/24 für Mirror-MU
3 Random Spieler: Es gibt nie 3 mal dieselbe Rasse.
4 Random Spieler: Keine Rasse 3 oder 4 mal. Nur eine Rasse 2 mal. Also nur die Kombinationen PPZT, ZZPT, TTZP.
5 Random Spieler: keine Rasse mehr als zweimal
6 Random Spieler: keine Rasse mehr als dreimal, und höchstens eine dreimal.
7 Random Spieler: keine Rasse mehr als dreimal, und genau eine dreimal. Also ZZZ TT PP, TTT PP ZZ, PPP TT ZZ
8 Random Spieler: keine Rasse viermal oder mehr.
 
Mitglied seit
19.05.2003
Beiträge
19.993
Reaktionen
849
sonst fängst du doch immer mit lesen > u an


einer hat dann gewählt in letzer sekunde s.o
 

haschischtasche

Ährenpenis
Mitglied seit
28.09.2002
Beiträge
34.831
Reaktionen
7.288
gut, etbrood

dann laedst du dir jetzt mal camtasia, und startest soviele spiele mit dir random und 7 anderen random comps, bis eines kommt bei denen mehr als 3 leute die gleiche rasse haben, und gibst uns das vid.
viel spass waehrend dein koerper langsam ueber jahrhunderte verschimmelt.
 
Mitglied seit
27.01.2003
Beiträge
3.742
Reaktionen
0
warum sollte ich? mir genügt, dass ihr im unwissen darüber lebt, wer nun wirklich recht hat
schließlich ist das doch sinn und zweck der sache, dass man selbst nachforscht, um sicherzugehen
ich nehm euch keine arbeit ab, hf
 
Mitglied seit
12.08.2002
Beiträge
12.824
Reaktionen
39
Original geschrieben von ETBrooD


kannst dir auch eben die große mühe machen und sie zitieren?

was ein schwachsinn ey, natürlich können 4 man die gleiche rasse haben, hallo das is ZUFALL
wir können uns ja ma im bnet treffen und das ausprobieren :elefant: sicher is das möglich. ranged hat vollkommen recht
 

DeCaY4

Guest
Man kann auf dem Computer keinen Zufall erzeugen. Dafür braucht man einen physikalischen Zufallszahlengenerator.

Computer erzeugen Pseudozufallszahlen. Die sehen aus wie Zufallszahlen, halten auch diversen Tests stand, aber sind nun mal nicht zufällig. Ergo hat auch bw (was auch immer Du mit dem thread aussagen willst) keinen echten Zufallszahlengenerator implementiert, sondern einen Pseudozufallszahlengenerator. Irgendwann wiederholt sich die Folge der so erzeugten Pseudozufallszahlen. Allerdings kann die Periode extrem lang sein (s. auch Satz von Knuth)

http://de.wikipedia.org/wiki/Zufallszahl
http://de.wikipedia.org/wiki/Pseudozufallszahlen

Computer sind deterministisch. :) Ansonsten wäre die Verifikation von Algorithmen z.B. unmöglich

€:http://java.sun.com/j2se/1.5.0/docs/api/java/util/Random.html
 

yB.2LoW

Guest
hab schon ne weile keine wahrscheinlichkeitsrechnung gemacht, aber wenn es wirklich 100% zufall ist, dann ist die chance, dass bei 6 spielern eine rasse 4 mal, oder öfter vorkommt meiner meinung nach:
(1/3)^4*(2/3)^2+(1/3)^5*2/3+(1/3)^6= 0,00548+0,00274+0,00137 = 0,00960 = 0,96% ~1%

also müsste alle 100 spiele eine rasse mindestens 4 mal vorkommen. bei 2-300 rassenschlachten (ja ich weiss, ist eine schlechte angewohnheit 8[), die ich schon gespielt habe (6 leute spielen random - man macht dann ally mit denjenigen, die die selbe rasse haben, wenn eine rasse 3 mal vorkommt, dann verbünden sich die restlichen 3 spieler) - hatte ich noch _NIE_ eine rasse mindestens 4 mal bzw. kam noch nie eine rasse nicht vor.
 
Mitglied seit
02.02.2005
Beiträge
2.479
Reaktionen
8
Die Wahrscheinlichkeit dass eine beliebige Rasse bei 6 Random-Spielern mindestens 4 mal auftaucht wäre bei einem Laplace-artigen Zufallsgenerator (1/3, 1/3, 1/3) über 50%, da müsste man also jeden zweiten Racewar neu starten.

3*((1/3)^4*(2/3)^2*6*5 + (1/3)^5*2/3*6 + (1/3)^6) = 0.547...
 
Mitglied seit
20.03.2004
Beiträge
698
Reaktionen
0
paste doch einfach mal den asm code hierrein(die entscheidenden teile !) oder wenn er zu groß ist extern.

dann haben wirs weiß auf blau(?) wie es richtig ist.
 
Mitglied seit
13.08.2001
Beiträge
1.028
Reaktionen
0
Den Assemblercode zu lesen ist wirklich extrem mühselig. Wer mir nicht glaubt, soll einfach mal ein paar Versuche machen.
 

yB.2LoW

Guest
Original geschrieben von Wuselmops
Die Wahrscheinlichkeit dass eine beliebige Rasse bei 6 Random-Spielern mindestens 4 mal auftaucht wäre bei einem Laplace-artigen Zufallsgenerator (1/3, 1/3, 1/3) über 50%, da müsste man also jeden zweiten Racewar neu starten.

3*((1/3)^4*(2/3)^2*6*5 + (1/3)^5*2/3*6 + (1/3)^6) = 0.547...

54% is sicher falsch, aber ka... bin mir auch nicht sicher ob meines stimmt...1% schaut auch zu wenig aus...
stimmt, ich hab berechnet, wie die chance ist, dass eine bestimme rasse 4 mal oder mehr vorkommt, aber gibt 3 rassen
soll mal jemand anders nachrechnen 8[
 
Oben