next up previous contents index
Next: getCompressedSize Up: Schnittstellenbeschreibung Previous: evalueObject   Contents   Index


getTimeNeed

Syntax: unsignedLongFib getTimeNeed(
unsignedLongFib lMaxTime=0 ) const


Diese Methode berechnet einen Wert für die Zeit, welche zur Auswertung des Fib-Objekts benötigt wird.

Von der Methode getTimeNeed werden auch externe Objekte aufgelöst und in der Berechnung berücksichtigt.

Der Eingabeparameter lMaxTime dient dazu, den Aufwand zum Berechnen der Zeit zu begrenzen. Wenn ein Fib-Objekt sehr Zeitaufwändig auszuwerten ist, würde auch das Ermitteln der Zeitstatistik entsprechend lange dauern. Mit dem Parameter lMaxTime wird die Zeit zur Berechnung der Zeitstatistik begrenzt bzw. abgebrochen, wenn lMaxTime erreicht wurde. Wenn der Wert lMaxTime nicht angegeben wird oder $0$ ist, wird die Berechnungszeit nicht begrenzt.

Nützlich ist diese Begrenzung, da eine genetische Operation die Auswertungszeit sehr stark erhöhen kann. Durch die Begrenzung kann die Zeit zum Ermitteln der Zeitstatistik begrenzt werden und alle Individuen, die diese Grenze erreichen sofort verworfen/ gelöscht werden.

In Tabelle 18 sind die Formeln für die benötigten Zeiten für die einzellnen Elemente aufgeführt. Dabei bezeichnet $T$ die Auswertungszeit eines Fib-Elements und $T(Obj_i)$ die Auswertungszeit des i'ten enthaltenden Fib-Objekts.

Table 18: Auswertungszeiten $T(Obj)$ der Fib-Objekts $Obj$
Fib-Elementklasse Zeitformel Anmerkung
     
cPoint $T(Obj)= 1 + E_V$ $E_V$ ist die Anzahl der Elemente des Positionsvektors
cProperty $T(Obj)= 1 + E_V + T(Obj_1)$ $E_V$ ist die Anzahl der Elemente des Eigenschaftsvektor; $T(Obj_1)$ die Auswertungszeit des enthaltenden Fib-Objekts $Obj_1$
cFibList $T(Obj)= 1 + \sum^{n}_{i=1} T(Obj_i)$ $T(Obj_i)$ sind die Auswertungszeiten der enthaltenden Fib-Unterobjekte $Obj_i$; $n$ ist die Anzahl der enthaltenden Fib-Unterobjekte
cComment: $T(Obj)= 1 + T(Obj_1)$ $T(Obj_1)$ ist die Auswertungszeit des enthaltenden Fib-Objekts $Obj_1$
cArea: $T(Obj)= 1 + \sum_{W \in B_1 \ldots B_n} T( Obj_1(W) )$ $B_i$ sind die Unterbereiche des Bereichs, mit $n$ der Anzahl der Unterbereiche; $W$ sind dann die einzelnen Werte der Bereiche; $T( Obj_1(W) )$ ist die Auswertungszeit des enthaltenden Fib-Objekts $Obj_1$, wenn die Variable des Bereichselements auf $W$ gesetzt wurde
cFunction $T(Obj)= T(UF) + T( Obj_1(W) )$ $T(UF)$ ist die Zeit, welche zu Berechnen der Unterfunktion benötigt wird; $T( Obj_1(W) )$ ist die Auswertungszeit des enthaltenden Fib-Objekts $Obj_1$, wenn die Variable des Funktionselements auf $W$, den Wert der Funktion, gesetzt wurde
cIf $T(Obj)= T(UB) + if ( UB==true )\{ T(Obj_1)\} else \{ T(Obj_2)\}$ $T(UB)$ ist die Zeit, welche zu Berechnen der Unterbedingung benötigt wird; $T(Obj_1)$ und $T(Obj_2)$ die Auswertungszeiten der enthaltenden Fib-Objekte $Obj_1$ und $Obj_2$, es wird jeweils die Auswertungszeit desjenigen Objekts hinzuaddiert, welches bei der Unterbedingungsauswertung auch ausgewertet würde (als $Obj_1$ wenn die Unterbedingung wahr ist und sonst $Obj_2$)
cExtObject $T(Obj)= 5 + T(Obj_1)$ $T(Obj_1)$ ist die Auswertungszeit des Fib-Objekts $Obj_1$, welches durch das externe Objekte repräsentiert wird
cExtSub- object $T(Obj)= 2 + T(Obj_1)$ $T(Obj_1)$ ist die Auswertungszeit des Fib-Objekts $Obj_1$, welches hier jeweils eingesetzt bzw. extern bereitgestellt wird
cFibSet % latex2html id marker 11459
$T(Obj)= n * \sharp DefVar +$ $\sum_{V \in V_1 \ldots V_n} T( Obj_1(V) )$ % latex2html id marker 11463
$\sharp DefVar$ ist die Anzahl der vom set-Element definierten Variablen;$V_i$ sind die Vektoren mit den zu setzenden Werten des set-Elements, mit $n$ der Anzahl der Vektoren; $V$ sind dann die einzelnen Vektoren; $T( Obj_1(V) )$ ist die Auswertungszeit des enthaltenden Fib-Objekts $Obj_1$, wenn die definierten Variable des set-Elements auf die entsprechenden Elementwerte von $V$ gesetzt wurden
cFibMatrix $T(Obj)= if ( i not 0 )\{$ $\sum_{V \in V_1 \ldots V_k}( d + i + T( Obj_1(D(V),V) ) )$ $\}else\{$ $\sum_{v_1 = Startvalue_1 \ldots Endvalue_1} \ldots$ $sum_{v_d = Startvalue_d \ldots Endvalue_d} ($ $d + T( Obj_1(v_1, \ldots, v_d ) ) ) \}$ Die Zeitbereichnung von Matrixelementen ist davon Abhängig, ob Variablen für die Werte vorhanden sind ($0 < i$). Sind Variablen für die Werte vorhanden ($0 < i$), wird für jeden Wertevektor $V=(W_{1.b}, \ldots, W_{n.b})$ das enthaltende Objekt $Obj_1$ mit aufgerufen / ausgewertet bzw. die Zeit für diesen Aufruf addiert. Dabei werden die Wertevariablen mit den entsprechenden Werten belegt und die Dimensionsvariablen mit den entsprechend hochgezählten Werten $D(V)$ (in $Obj_1(D(V),V)$). Zu der Zeit des Aurufs des enthaltende Objekts $Obj_1$ wird noch die Zeit zur Belegung der Variablen addiert ($d + i$). Wenn keine Variablen für die Werte vorhanden sind ($i==0$), durchlaufen die Dimensionsvariablen jeweils ihre Bereiche, wobei für jede Belegung das enthaltende Objekt ausgewertet wird. Die Zeit ist also für jede Dimensionsvariablenbelegung die Zeit für die Belegung dieser $d$ plus die Auswertungzeit des enthaltende Objekts für diese Belegung.
cRoot $T(Obj)= 3 + T(Obj_1)$ $T(Obj_1)$ ist die Auswertungszeit des enthaltenden Haupt-Fib-Objekts $Obj_1$
nullstellige Unterfunktionen $T(UF)= 1$ Für jede Unterfunktionen oder Unterbedingungen wird jeweils $1$ hinzuaddiert
einstellige Unterfunktionen $T(UF)= 1 + T( UF_1 )$ $UF_1$ ist die enthaltende Unterfunktion
zweistellige Unterfunktionen $T(UF)= 1 + T( UF_1 ) + T( UF_2 )$ $UF_1$ und $UF_2$ sind die enthaltenden Unterfunktionen
nullstellige Unterbedingungen $T(UB)= 1$ Für jede Unterfunktionen oder Unterbedingungen wird jeweils $1$ hinzuaddiert
einstellige Unterbedingungen $T(UB)= 1 + T( UB_1 )$ $UB_1$ ist die enthaltende Unterbedingung
zweistellige Unterbedingungen $T(UB)= 1 + T( UB_1 ) + T( UB_2 )$ $UB_1$ und $UB_2$ sind die enthaltenden Unterbedingungen
Vergleiche $T(UB)= 1 + T( UF_1 ) + T( UF_2 )$ $UF_1$ und $UF_2$ sind die enthaltenden Unterfunktionen
   


Eingabeparameter:


Rückgabe: Diese Methode berechnet einen Wert für die Zeit, welche zur Auswertung des Fib-Objekts benötigt wird.


next up previous contents index
Next: getCompressedSize Up: Schnittstellenbeschreibung Previous: evalueObject   Contents   Index
Betti Österholz 2013-02-13