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

Volker Grabsch vog at notjusthosting.com
Mo Mär 19 08:48:28 CET 2007


On Fri, Mar 02, 2007 at 01:45:25PM +0100, Oliver Bandel wrote:
> > > > 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!
> > > 
> > > Was macht das Integral der Gauß-Funktion so besonders?
> > 
> > Die Gaußfunktion besitzt keine Stammfunktion.

Jede stetige Funktion besitzt eine Stammfunktion, so auch die
Glockenkurve. Genau genommen besitzt sie sogar unendlich viele
Stammfunktionen (... die sich aber nur durch Addition einer
Konstanten unterscheiden).

> [...]
> Jedenfalls keine, die man mit elementaren Funktionen darstellen kann.

Na bitte, da hast du's ja doch endlich kapiert: Die Frage ist nicht,
*ob* man ihr Integral durch andere Funktionen darstellen kann, sondern
ob man sie *mit einer bestimmten Grundmenge* von Funktionen darstellen
kann.

Will sagen, das hängt alles davon ab, welche Funktionen du als
"elementar" gelten lässt.

Beschränkst du dich z.B. auf die vier Grundrechenarten, so sind
weder  e^x noch sin(x) geschlossen darstellbar. Ja, nichtmal die
Wurzelfunktion.

Nimmst du die Exponenten, Logarithmen, Wurzeln, trigonometrischen
Funktionen und deren Umkehrfunktionen hinzu, kannst du sehr viel
mehr darstellen. Das Integral der Glockenkurve gehört aber nicht
dazu.

Das ist in der Geometrie genauso: Die Quadratur des Kreises ist
lediglich unlösbar, wenn man nur Konstruktionen mit *Zirkel und Lineal*
zulässt. Sind einem mehr Hilfsmittel gegeben, wäre das u.U. durchaus
lösbar.

In der Auswahl der Grundfunktionen liegt eben die Willkür. Was sind
beim Computer Grundfunktionen? ln? sin? Nur, weil dir die Standard-
Libs der verschiedenen Programmiersprachen entsprechende Funktionen
bereitstellen? Die arbeiten genauso mit Näherungsformeln, oder
"nummerisch", wie du es nennst. Deshalb nenne ich deine Argumentation
willkürlich.

Wo ist also der grundsätzliche Unterschied zwischen der Berechnung
von sin() und des Integrals der Glockenkurve? Es gibt keinen! Es
*könnte* höchstens sein, dass man keine guten Näherungsformeln für
letzteres kennt, aber das wage ich sehr zu bezweifeln, schließlich
ist diese Funktion in keiner Weise "bösartig".

------------------------------------------------------------------------

Zurück zum Ausgangsthema: Insbesondere kannst du keine Rückschlüsse
auf die Performance ziehen!

Eine "geschlossene" Formel ist nur dann wertvoll, wenn die
Grundfunktionen *wirklich* elementar sind (direkt vom Prozessor
unterstützt). Vielleicht auch noch, wenn sie aus 1 oder 2
"komplizierten" Funktionene bestehen, deren Näherungsfolgen
besonders gut konvergieren.

Aber: Eine monströse geschlossene Formel aus 'zig anderen Funktionen wie
arctan(), sin() und ln() kann durchaus sehr langsam sein, weil jede dieser
Teilfunktionen separat "angenähert" wird. Da ist ein direktes Näherungs-
verfahren für die Zielfunktionen u.U. sogar performanter. Das gilt
ganz besonders dann, wenn man nur 2 oder 3 Nachkommastellen braucht.
Dann ist ne selbstgebaute Näherung, z.B. die ersten 5 Glieder der
Tailorreihe, i.d.R. sauschnell ... sogar schneller als ein einziger
Aufruf von sin() oder ln().

In interpretierten Sprachen mag das anders aussehen, weil dort selbst-
gebaute Näherungsverfahren um Größenordnungen langsamer sind als die
Standardfunktionen. Das heißt aber nicht, dass man Funktionen wie das
Integral der Glockenkurve nicht performant berechnen *kann*, sondern
nur, dass diese Sprache dafür ungeeignet ist. Würde man ne entsprechende
C-Funktion analog zu sin(), ln(), etc. schreiben, ginge das sicher
genauso performant.


Viele Grüße,

    Volker

-- 
Volker Grabsch
---<<(())>>---
Administrator
NotJustHosting GbR



Mehr Informationen über die Mailingliste linux-l