Autor Beitrag
O'rallY
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 563



BeitragVerfasst: Do 30.01.03 21:22 
Wie funktioniert ein Zufallsgenerator bei einem Computer. Einen "Zufall" gibt es bei einer streng logisch rechnenden Maschine ja definitiv nicht, wie also ist die Funktionsweise der Alghorithmen für solche generatoren?

_________________
.oO'rallY
Linux is like a tipi: No gates, no windows and a gnu-eating apache inside...
©menschenskind
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Fr 31.01.03 14:33 
ìch denke, dass das ganz auf die anwendung ankommt...sprich es gibt zum beispiel befehle wie 'randomize' und 'random'..was allerdings dahinter passiert wiß ich net exakt, allerdings implementiert logisches arbeiten net, dass der "computer" auch zufällig arbeiten kann. :shock:
foxy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 814

Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
BeitragVerfasst: Fr 31.01.03 15:01 
Also Randomize/Random iss denke ich was du suchst .... damit kanns du festlegen, z.B. ein Range vonn 0...100 soll er dir zufallszahlen ausgeben ... oder ähnliches wenn du genauer sagen würdest für welche art von zufall du es brauchst wären wir einen schritt weiter :D

_________________
"Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it." (Linus Torvalds)
OperatingSystem Laptop (Ubuntu Hardy)
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Fr 31.01.03 15:03 
Dafür gibt es mathematische Algorithmen. Teilweise wird das über die Systemzeit berechnet, bzw diese so lange verrechnet, bis man eine schöne einfache Zahl raushat. Professionell wird es über Widerstände gemacht, bzw deren Standardrauschen. Allerdings ist das auch kein vollkommen echter Zufallswert und dieses Verfahren ist sowieso unbrauchbar für Computer. Ich würde also mal nach dem Mathe-Algo googlen, mit dem die Zahlen errechnet werden. Dafür gibt#s bestimmt verschiedene Methoden, also spuckt "algorithmus random" vermutlich jede Menge Stoff aus (Tipp: Versuch TUs zu finden oder sonstige Unis, die Infos sind meist besser und genauer bei solchen Themen als sonstwo).

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Fr 31.01.03 18:53 
So weit ich weiß, wird das bei Randomize mit der Zahl Pi gemacht, da wird, wenn man die Funktion Randomize aufruft, irgendeine Stelle der Zahl angefangen (abhängig von Systemzeit) und ab dann eben die Zufallszahlen mit diesen Nachkommata eine "Zufallszahl" berechnet.

Gruß
©menschenskind
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Fr 31.01.03 19:07 
da möchte ich ma ne frage einwerfen!! weiß einer aus wie sich die konstante pi herleiten lässt?! ich meine gehört zu haben, dass es so eine "simple" aufgabe, wie 11/4 oder sowas sein soll! :?: :?:
Raphael O.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1596


VS 2013
BeitragVerfasst: Fr 31.01.03 20:29 
du kannst sie nicht vollständig durch einen Bruch bestimmen!!!
Pi ist eine irrationale Zahl--> sie ist nicht regelmäßig
um sie zu bestimmen gibts viele Möglichkeiten, die ich allerdings auch nicht kenne... wären aber auch net für den Computer geeignet...
sind eher Versuche, in denen man z.B. Streichhölzer fallen lässt und wenn man das oft genug macht, dann ist die Richtung in die der Kopf zeigt und blablabla jedenfalls kommt da dann irgendwie Pi raus...

Delphi kennt Pi aber auch als "pi" also bracuhst du es gar nicht auszurechnen...
tja ich schweife ab, denn wahrscheinlich weisst du das ja und wolltest nur wissen, wie man es herleitet...

als Bruch kommt 22/7 dem ganzen "ziemlich" nahe:
22/7=3,1429
Pi = 3,1416

Naja genug gelabert :lol: :wink:

hoffe es hat was geholfen... kannst auch mal googeln nach den Methoden...

Fiji-Fighter

P.S. es gibt ganze "Pi-Klubs": eintrittsbedingungen sind z.B. das man Pi auswendig bis auf die 30. Stelle nach dem Komma auswendig wissen muss...
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Fr 31.01.03 20:41 
©menschenskind hat folgendes geschrieben:
...weiß einer aus wie sich die konstante pi herleiten lässt?! ich meine gehört zu haben, dass es so eine "simple" aufgabe, wie 11/4 oder sowas sein soll! :?: :?:


Nee, Nee das wäre 2.75 (zugegeben, nicht weit von Pi weg 8) )So einfach geht es wirklich nicht. Pi hat unendlich viele Stellen. Deshalb kann sie nicht genau in einer Zahl mit endlich vielen Stellen dargestellt werden, jedenfalls nicht im Dezimalsystem. Da würden auch 400 Gigabyte Speicher nichts nützen.

Deshalb erhält der Zufallsgenerator seinen Start-Wert aus der Systemzeit.

Gruß
Hansa

P.S.: Mit einem Bruch der nur aus zwei Zahlen besteht, wie 11/4 läßt sich PI nicht bestimmen. Im Computer wird nur eine Näherung berechnet und das aus einer unendlichen Summe von Zahlen, die immer kleiner werden. Und die wird halt irgendwann abgeschnitten. Das gilt übrigens für alle mathem. Funktionen, wie z.B. SIN, COS usw.
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Fr 31.01.03 21:37 
Also in der Schule hat man das gelernt:
D * Pi = U (Durchmesser * Pi = Umfang)
Man müsste also nur einen Kreis nehmen, dessen Umfang und Radius ausmessen und dann U/D rechnen, schon hätte man Pi. Zugegeben, die Messungenauigkeiten sind schon ein Problem, aber in etwa richtige Werte kriegt man raus, wenn man sich Mühe gibt.

Aber:
Pi ist ja wohl nicht in die CPU eingebrannt, oder. Sie müsste also jedesmal neu berechnet werden. Dafür gibt's bestimmt irgendwo einen Algorithmus, der das mit beliebiger Genauigkeit und sehr schnell erledigen muss. Den würde ich mir mal im Internet suchen. Oder wie kommt das Pi in den PC?

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Fr 31.01.03 21:41 
Zitat:
Oder wie kommt das Pi in den PC?


Als Konstante hinterlegt, wie denn sonst ? Oder glaubst Du, das wird jedesmal neu berechnet ?

Gruß
Hansa
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Fr 31.01.03 21:44 
:shock:
Davon bin ich tatsächlich immer ausgegangen.
Wo und von wem wird denn die Konstante implementiert? Kümemrt sich nur das OS darum, oder ist das tatsächlich in der Hardware verankert?

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Fr 31.01.03 21:51 
Hallo,

also die Delphi Hilfe spricht Tatsächlich von einer Funktion Pi aus der Unit Systems. Diese bestätigt übrigens was ich in der Schule gelernt habe:
Delphi Hilfe zu Pi hat folgendes geschrieben:
Dieser Wert gibt das Verhältnis zwischen dem Umfang und dem Durchmesser eines Kreises an. Pi hat den Näherungswert 3,1415926535897932385.

Also Pi = U / D.

Wenn man sich die Deklaration suchen lässt (um mal in den Quelltext zu gucken) landet man hier:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
unit System; { Predefined constants, types, procedures, }
             { and functions (such as True, Integer, or }
             { Writeln) do not have actual declarations.}
             { Instead they are built into the compiler }
             { and are treated as if they were declared }
             { at the beginning of the System unit.     }

Pi scheint also in den Compiler eingebaut zu sein. Sehr interessant, hilft aber nicht wirklich beim ergünden der Frage "Wie kommt Pi in den Computer".

Gruß
Klabautermann
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Fr 31.01.03 21:58 
Das könnte als Funktion so "in den Computer" kommen:

ausblenden Quelltext
1:
2:
3:
4:
function pi : real;
begin
   pi := 3,1415926535897932385;
end;
8)
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 31.01.03 22:23 
Hi!

Pi wird am einfachsten (nicht am schnellsten) durch Reihen berechnet. z.B.:

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

oder

Pi/4 = 1- 1/3 + 1/5 - 1/7 +-

Es gibt noch viele andere und wahrscheinlich auch einige, die noch besser konvergieren. Wahrscheinlich gibt es sowieso Verfahren, die effizienter sind, aber bisher habe ich nur Reihen gesehen, um Pi mit einem Computer berechnen zu können. (Maple ist beispielsweise ziemlich fix darin, Pi zu berechnen, da kommt bestimmt was anderes zum Einsatz.)

MfG,
Peter

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
kiwicht
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1021

Win 7, MacOS
Delphi x, VBA, PHP, ...
BeitragVerfasst: Sa 01.02.03 02:09 
und zwar nach folgendem prinzip:

1
11
21
1211
111221
312211
13112221
1113213211
31131211131221
13211311123113112211
11131221133112132113212221
3113112221232112111312211312113211

wer das system raus hat, weiß auch wie pi funktioniert... :? 8)

:P

mfg kiwicht

PS: ehrenwort, da steckt n system hinter!!!
©menschenskind
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Sa 01.02.03 11:51 
also was ich gelesen hab is, dass man unter verbund verschiedener hochleistungspc konstante pi bis auf 51 MILLARDEN stellen nach dem komma errechnet hat...das zu überbieten, wär doch ma ne aufgabe :mahn:
is quadratut, was wiederum mit dem kreis in verbindung steht möglich?!
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Sa 01.02.03 11:57 
höhö, wir könnten ja mal hier im AUQ versuchen PI auf soviele stellen wie möglich zu berechnen !!!

_________________
In the beginning was the word.
And the word was content-type: text/plain.
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Sa 01.02.03 12:56 
Für diese Berechnung gibt's doch schon Distributed Computing Projekte. Genauso wie für das finden von Primzahlen und anderen mathematischen Anomalien. Ganz zu schweigen von den KLlssikern der FFT-Analyse, Krebsheilmittelfindung oder Evolutionsuntersuchungen.
Aber was ich eigentlich meinte, ist, ob Pi in der Hardware, im OS oder dem Compiler. Da diese Frage beantwortet ist, würde sich eine andere Stellen: Gibt's Genauigkeitsunterschiede zwischen Borland, Intel und MS-Compilern, und nebenbei auch noch zwischen den Sprachen (ist Fortran zum Beispiel genauer als BASIC?)?
Es müsste doch eigentlich eine vollkommen standardisierte Zahl sein, die überall gleich ist. Da es aber Compiler von vielen verschiedenen Firmen gibt, wäre das doch sicherlich schwer...

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
O'rallY Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 563



BeitragVerfasst: Sa 01.02.03 13:57 
Ich kann mir eigentlich nicht vorstellen, dass Pi jedesmal neu berechnet wird. Das wäre viel zu Performancefressend, zumal es eigentlich auch ineffizient ist, eine Zahl, die ja konstant ist, nicht als Variable zu speichern.
Ich könnte mir auch vorstellen, dass verschiede Firmen von Compilern unterschiedliche Pi-Werte haben (vielleicht 5 Nachkommastellen mehr oder so). Ich denke, die Zahl wird einmal auf eine genügend genau berechnet und dann im Compiler irgendwo hinterlegt.
Ich habe mal einen Artikel gelesen, in dem es um eine an einem See gelegene Firma ging, die ihre Passwörter generierten, in dem sie das Plätschern des Wasser aufnahmen. Das brachte mich auf den Gedanken, dass es im Computer bestimmt auch eine Art Geräsch gibt, dass vom "Zufall" abhängt. Ich meine sowas in der Art wie:
tommie-lie hat folgendes geschrieben:

[...] über Widerstände gemacht, bzw deren Standardrauschen.[...]

Wieso ist dieses Verfahren unbrauchbar für den Computer?

_________________
.oO'rallY
Linux is like a tipi: No gates, no windows and a gnu-eating apache inside...