Sie sind nicht angemeldet.

  • Anmelden

1

23.11.2009, 16:43

zufallsgenerator?

hi
ich muss 54 items in eine zufallsreihenfolge bringen
falls das zu schwer is brauch ich nen zufallsgenerator der die zahlen 1-54 randomisiert
wenns geht nich zu arbeitsaufwändig bin nämlich faul
any ideas?

2

23.11.2009, 17:03

randperm(54) in matlab/octave liefert, was du brauchst.

3

23.11.2009, 17:26

Du erstellst dir einen Array mit Größe 54 und initialisierst mit x=i für alle i=1,...54.

Dann lässt du i von 1 bis 54 laufen und gehst wie folgt vor:
- lasse dir Zufallszahl k zwischen i und 54 geben (beides inkl.)
- tausche x[k] mit x[i]

Am Ende steht in deinem Array x eine zufällige Permutation. Da du immer so intellektuell tust, hättest du aber auch selbst drauf kommen können, denn das ist wirklich keine Leistung.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »plizzz« (23.11.2009, 17:27)


4

23.11.2009, 17:45

Man kann auch ein Feld der Größe 54 mit zufälligen Werten initialisieren, und dann mit einem einfachen Sortierverfahren (z.B. Bubblesort, http://de.wikipedia.org/wiki/Bubblesort ) sortieren. Den ursprünglichen Feldindex (1 bis 54) bewegt man dann mit dem jeweiligen Zufallswert mit, ein zweites Feld B bietet sich hier an:

Unter vertausche( A[ i ], A[ i + 1 ] ) klemmt man einfach ein vertausche( B[ i ], B[ i + 1 ] ) - das müsste an sich ausreichen.

Und nur B muss man dann am Schluss auch ausgeben.

5

23.11.2009, 18:01

ach schon gut hab zahlen in einen hut(hut!!!) getan ung gezogen. nach all der arbeit is mir aufgefallen dass das ganz umsonst war weil das auf dem fragebogen eh routiert abgefragt werden muss. omg ich sucke

6

23.11.2009, 18:26

also so eine pragmatische methode hätte ich ja vom proletariat erwartet aber nicht von so einem intellektuellen wie dir ?(

7

23.11.2009, 18:32

ein proletarier hätte aber keinen hut sondern nen bauhelm verwendet

8

23.11.2009, 19:42

Zitat

Da du immer so intellektuell tust, hättest du aber auch selbst drauf kommen können, denn das ist wirklich keine Leistung.


Das an sich ist schon ne Leistung.

дер фукс ист шлау унд стеллт сих думм, дер роммел махт ес андерсрум.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Hagakure« (23.11.2009, 19:44)


9

23.11.2009, 22:23

lol, endgeile Lösungvorschläge hier, wo man das einfach mit Excel hätte machen können.. :D :respekt:

10

23.11.2009, 22:26

kreative vorschläge :respekt:

11

23.11.2009, 22:53

Es kommt darauf an, ob er die Permutationen einfach für irgendetwas anderes gebraucht hat (dann kann er Excel, Matlab, ... nehmen) oder ob er es als Aufgabe hatte, einen elementaren Algorithmus für eine Zufallsvertauschung zu finden (dann ist es schlecht, mit Excel anzutanzen). Da er das Problem letztendlich mit einem Hut gelöst hat, scheint letzteres jedoch eher unwahrscheinlich.

12

23.11.2009, 23:04

RE: zufallsgenerator?

egal ^^

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »_Wanderer_Xen« (23.11.2009, 23:04)


13

23.11.2009, 23:11

Zitat

Original von _Wanderer_Xen
lol, endgeile Lösungvorschläge hier, wo man das einfach mit Excel hätte machen können.. :D :respekt:

Wie hättest du es dann in Excel gemacht?

Wenn uns Rommel mal genauer sagt, wofür er es gebraucht hat, dann hätte es vielleicht eine ganz einfach Lösung gegeben: Man nimmt die "natürliche" Reihenfolge 1-54, d.h. X_i = i.

Philosophische Tiefe gewinnt dieses Problem, wenn man Rommel's Threadtitel wörtlich nimmt. Kann man Zufall erzeugen, der nicht bereits schon vorhanden ist?

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »AtroX_Worf« (23.11.2009, 23:12)


14

23.11.2009, 23:46

54 Zellen mit =Zufallszahl() und dann der Größe nach sortieren?! Entspricht wohl ziemlich genau seinem "in einen Hut getan" (hut!!!!). :D

15

24.11.2009, 00:09

Zitat

Original von _Wanderer_Xen
54 Zellen mit =Zufallszahl() und dann der Größe nach sortieren?! Entspricht wohl ziemlich genau seinem "in einen Hut getan" (hut!!!!). :D

Dann hat man beispielsweise:

Zitat

0,000286966
0,005980796
0,014570326
0,090963388
0,113377842
...
0,928396928
0,960747103
0,984587624

Und jetzt?

16

24.11.2009, 00:11

jetzt kommt der komplizierte teil!

17

24.11.2009, 00:13

Zitat

Original von AtroX_Worf

Zitat

Original von _Wanderer_Xen
54 Zellen mit =Zufallszahl() und dann der Größe nach sortieren?! Entspricht wohl ziemlich genau seinem "in einen Hut getan" (hut!!!!). :D

Dann hat man beispielsweise:

Zitat

0,000286966
0,005980796
0,014570326
0,090963388
0,113377842
...
0,928396928
0,960747103
0,984587624

Und jetzt?


die zellen nebenan jetzt mit 1-54 nummerieren und dann zeilen nach den zufallszahlen sortieren, voila

18

24.11.2009, 00:22

wie worf eigentlich nur fragt damit er die antwort selbst zwei posts weiter geben kann^^

19

24.11.2009, 00:38

nimm R:
cbind(c(1:54),sample(54,54))

und fertig

20

24.11.2009, 00:40

Zitat

Original von mymF.frantic
wie worf eigentlich nur fragt damit er die antwort selbst zwei posts weiter geben kann^^

Ich wollte damit nur zeigen, dass es keinesfalls so trivial ist. Vor allem ohne die automatische Sortierfunktion von Excel, also nur allein mit Excel-Funktionen. Xen hatte da einfach zu kurz gedacht.

Allgemein müssen die Zufallszahlen ja so gekoppelt sein, dass jede nur genau einmal vorkommt.

Wenn man sich also schon aufregt, dass es so einfach in Excel wäre - dann sollte man auch sofort die Lösung zur Hand haben!

Aber das noch niemand was zu meinem Vorschlag gesagt hat, einfach nur die Zahlen 1-54 in dieser Reihenfolge zu nehmen... ;)

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »AtroX_Worf« (24.11.2009, 00:49)


21

24.11.2009, 00:50

also worf, ich halte ja normal rel. viel von deinen posts, aber hier ist doch wohl mal absolut klar, dass rommel für irgend einen pragmatischen grund irgend ne einfache zufällige folge haben möchte. dass da 1-54 in dieser reihenfolge in 99% der fälle nicht angebracht ist, genausowenig wie es interessant ist, ob bei excel zufällig 2x die gleiche zufallszahl generiert wird, ist mehr als offensichtlich.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »jens« (24.11.2009, 00:50)


22

24.11.2009, 00:53

Zitat

Original von AtroX_Worf

Zitat

Original von mymF.frantic
wie worf eigentlich nur fragt damit er die antwort selbst zwei posts weiter geben kann^^

Ich wollte damit nur zeigen, dass es keinesfalls so trivial ist. Vor allem ohne die automatische Sortierfunktion von Excel, also nur allein mit Excel-Funktionen. Xen hatte da einfach zu kurz gedacht.

Allgemein müssen die Zufallszahlen ja so gekoppelt sein, dass jede nur genau einmal vorkommt.

Wenn man sich also schon aufregt, dass es so einfach in Excel wäre - dann sollte man auch sofort die Lösung zur Hand haben!

Aber das noch niemand was zu meinem Vorschlag gesagt hat, einfach nur die Zahlen 1-54 in dieser Reihenfolge zu nehmen... ;)


Epic fail.

23

24.11.2009, 01:50

Zitat

Original von jens
also worf, ich halte ja normal rel. viel von deinen posts, aber hier ist doch wohl mal absolut klar, dass rommel für irgend einen pragmatischen grund irgend ne einfache zufällige folge haben möchte. dass da 1-54 in dieser reihenfolge in 99% der fälle nicht angebracht ist, genausowenig wie es interessant ist, ob bei excel zufällig 2x die gleiche zufallszahl generiert wird, ist mehr als offensichtlich.

Offensichtlich ist die Permutation 1-54 genauso wahrscheinlich, wie jede andere Permutation auch. Da nur einmal gezogen wird, kann man also auch diese Permutation nehmen. Dahin wollte ich die Diskussion lenken.
Oder erklär mir mal, wieso eine andere Permutation besser sein sollte. (Dies mag vielleicht sein, aber dann muss man argumentieren).

Der Zufall soll ja nicht innerhalb der Zahlen liegen, da genau jede Zahl einmal vorkommen soll. Der Zufall liegt also in der Verteilung des insgesamt gezogenen Vektors, d.h. wenn man mehrmals ziehen würde, sollten zufällig verschiedene Vektoren herauskommen.

Bei Excel war das Problem, dass es keine direkte Funktion gibt um eine Permutation zu erzeugen. Wenn man nicht die Sotierfunktion nimmt, wie du es vorgeschlagen hast (Xen aber nicht), dann müsste man ganz schon rumprobieren (kannst es ja spaßeshalber mal versuchen ;)).

24

24.11.2009, 01:51

Zitat

Original von AtroX_Worf

Zitat

Original von mymF.frantic
wie worf eigentlich nur fragt damit er die antwort selbst zwei posts weiter geben kann^^

Ich wollte damit nur zeigen, dass es keinesfalls so trivial ist. Vor allem ohne die automatische Sortierfunktion von Excel, also nur allein mit Excel-Funktionen. Xen hatte da einfach zu kurz gedacht.

Allgemein müssen die Zufallszahlen ja so gekoppelt sein, dass jede nur genau einmal vorkommt.

Wenn man sich also schon aufregt, dass es so einfach in Excel wäre - dann sollte man auch sofort die Lösung zur Hand haben!

Aber das noch niemand was zu meinem Vorschlag gesagt hat, einfach nur die Zahlen 1-54 in dieser Reihenfolge zu nehmen... ;)


Stimmt, so trivial ist es nicht, man sollte lieber eine Raubkopie/ Studentenversion von Matlab/ ein mathematisch sicheres Verfahren/ ein Array in einer x-beliebigen Programmiersprache/ einen Hut, aber auf keinen Fall (!!!) 2 Spalten und die Sortierfunktion von Excel heranziehen um das Problem aller Probleme der Menschheit zu lösen:

Zitat

brauch ich nen zufallsgenerator der die zahlen 1-54 randomisiert
insbesondere unter der Nebenbedingung

Zitat

wenns geht nich zu arbeitsaufwändig bin nämlich faul


Ich danke Dir aus tiefstem Herzen für diese Erleuchtung am späten Abend! DANKE!

25

24.11.2009, 01:57

Zitat

Original von _Wanderer_Xen
54 Zellen mit =Zufallszahl() und dann der Größe nach sortieren?! Entspricht wohl ziemlich genau seinem "in einen Hut getan" (hut!!!!). :D


Ich bitte nochmal um Verzeihung, dass ich nicht auf die zweite Spalte mit den Zahlen 1-54 hingewiesen habe. Mea culpa! :(

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »_Wanderer_Xen« (24.11.2009, 01:57)


26

24.11.2009, 02:01

Passt schon, die Lösung des speziellen Problems ist ja jetzt auch nicht wirklich interessant, da das Problem eh schon gelöst wurde.

Das jetzt noch interessante sind die von mir gestellten und noch unbeantworteten Fragen.

Zitat

Original von AtroX_Worf
Wenn uns Rommel mal genauer sagt, wofür er es gebraucht hat, dann hätte es vielleicht eine ganz einfach Lösung gegeben: Man nimmt die "natürliche" Reihenfolge 1-54, d.h. X_i = i.

Philosophische Tiefe gewinnt dieses Problem, wenn man Rommel's Threadtitel wörtlich nimmt. Kann man Zufall erzeugen, der nicht bereits schon vorhanden ist?

27

24.11.2009, 02:25

weil die fragen überhaupt nichts mit dem topic zu tun haben?

hör auf hier ständig offtopic zu trollen und mach nen eigenen thread auf wenn du was wissen willst

close pls

28

24.11.2009, 02:52

Die Frage war benatwortet, dann kann man den Thread für interessante Weiterentwicklungen der ursprünglichen Fragestellung benutzen.

Es gibt vielleicht auch Menschen, die Probleme einmal auf einem abstrakterem Level lösen, um bei späteren Einzelproblemen nicht jedes mal neu überlegen zu müssen. Das du das nicht verstehen kannst finde ich nicht weiter verwunderlich.
Der Reiz des Masters bsteht immerhin zu einem Gutteil auch darin, dass die Mods solche Themen offen lassen und sich vielleicht eine reizvolle Diskussion entwickelt. Keine Angst, sobald keiner mehr drauf antwortet, gibt es auch keine Diskussion mehr.

back2topic: Die fundamentale Frage ist also: Wenn ich ein Zufallsexperiment nur einmal durchführe und alle Ausgänge gleich wahrscheinlich sind, brauche ich dann eine Form von Zufall (Zufallsexpiment, Zufallszahlen etc.), um einen möglicheh Ausgang auszuwählen? Oder könnte ich auch direkt einen Ausgang wählen?

Was ist eigentlich eigentlich noch zufällig, wenn ich etwas nur einmal ausführe? Das Gedankenexperiment, dass ich es hätte mehrmals ausführen können?
Kann man diese Frage beantworten, so kann man auch entscheiden ob es sinnvoll ist, die Sequenz 1-54 auszuwählen - oder ob man zwingend exogen Zufall erzeugen und tatsächlich ein Experiment durchführen muss, um richtig zu liegen.

Kann man also an irgend einer Stelle abkürzen, oder muss man tatsächlich einmal, wie auch immer, das Zufallsexperiment durchführen, die 54 nacheinander zufällig zu ziehen?

29

24.11.2009, 03:50

rox thread

30

24.11.2009, 09:21

Top :)

Der Masters-Oberlehrer erfreut mein Herz jeden Morgen aufs Neue...