[linux-l] [OT] Gewichtete Wahrscheinlichkeit, Random

Oliver Bandel oliver at first.in-berlin.de
Do Mär 1 09:59:26 CET 2007


On Wed, Feb 28, 2007 at 10:22:29PM +0100, Volker Grabsch wrote:
> On Sun, Feb 25, 2007 at 11:12:41AM +0100, Oliver Bandel wrote:
> > On Sun, Feb 25, 2007 at 03:25:07AM +0100, Roland Penzin wrote:
> > [...] 
> > > 
> > > einfacher tip. bist du bei der normalverteilung, ist da integral dessen 
> > > nicht wirklich schwierig/anders . eine atan funktion wäre schon 
> > > schlimmer. aber was ist die atan funktion wirklich anders als das 
> > > integral der normalverteilung - und davon gibt es verteilungskurven - & 
> > > das trifft den sachverhalt richtig - oder  - richtiger. 
> > [...]
> > 
> > Das Integral der Normalverteilung lässt sich nur mit numerischer Integration,
> > nicht in geschlossener Form berechnen.
> 
> Was bedeutet für dich "geschlossene Formel"? Ich meine, es ist doch
> Willkür, welche Funktionen du als "Bausteine" zulässt, und welche
> nicht.

Geschlossene Lösbarkeit immathematischen Sinne: man hat eine
Reihe, die konvergiert.

Integration von x^2 ergibt eine Funktion, Integration
von sin und cosergibt eine Funktion.

Für die Integration der Gauß-Funktion lässt sich KEINE
Funktion angeben!

Man muss sich also was anderes ausdenken... numerische Verfahren eben.


> 
> Auch sin und cos, ja sogar das Wurzelziehen, geschehen letztendlich
> näherungsweise durch eine kleine Iteration.
> 

Mathematisch gesehen kann man durch grenzwertbildung der Reihen
vorgehen. Der Rechner kann aber keine unendlichen Reihen verarbeiten,
statt Grenzwerten hat man dann Näherungen mit soundsovielen Iterationen.


> Für unsere Zwecke düften die ersten 3-10 Terme der Tailorentwicklung
> locker ausreichen. Noch schöner wär's natürlich, wenn das Integral
> der Glockenkurve gleich als Standardfunktion mit geliefert wird.


Wie viel Rechenaufwand das ist, habe ich nicht ausgerechnet.
Man will doch hier nicht mit Tailorreihen anfangen?!


> 
> > Dafür wäre dann entweder einigermassen großer Rechenaufwand notwendig,
> 
> Unsinn. Für die benötigte Genauigkeit fällt das nicht ins Gewicht.
> Das dürfte fast genauso fix wie ein Cosinus gehen.

Naja, vermutlich ist es alles schnell genug.
Geht ja ums ´Segeln und nicht um ein Ballerspiel, wo es auf den
letzten Performance-Kick drauf an kommt ;-) 


> 
> Die Frage ist eher, ob sich der Implementierungs-Aufwand lohnt. Und
> *das* ist der Grund, aus dem ich von solch einer komplexen Funktion
> eher abraten würde.

Hoher Implementierungsaufwand... und sicherlich auch mehr Rechenzeit.
Kommt eben auch hier drauf an, auf was man aufbauen will,
welche Funktionen man nutzt und welche man reimplementiert.

BTW: Die vorhandenen mathematischenRoutinen sind vermutlicherweise
     in Assembler codiert, und wenn manmeint, man müsse die
     Reihenentwicklung reimplementieren, wird man unter Umständen
     böse Überraschunbgen bzgl. der Perlformance erleben ;-)
     Das macht nur dnan Sinn, wenn man viele andere Functioncalls
     einspart und eine direkte Formelfindet für Sachen, die man
     sonst auf Umwegen nur erreicht.


> 
> > oder man geht wieder zurück auf die Idee mit den Arrays.
> 
> Nee, so schlecht *kann* die Performance nicht sein, nichtmal wenn
> du's auf 100 Nachkommastellen genau haben willst.
[...]

Na, ich würde das nicht so ohne weiteres behaupten.
Numerische Integration auf 100 Nachkommastellen Genauigkeit
wird sicherlich recht viel Rechenzeit brauchen.

Bei solchen lachs daher gesagten Behauptungen würde ich ja eher
vorsichtig sein. ;-)

Es gibt eine Reihe von numerischen Integrationsverfahren
und alle haben so ihre Problemchen :)


Gruß,
   Oliver



Mehr Informationen über die Mailingliste linux-l