Darstellung und Analyse hydrologischer Topologien auf der Basis ...
Darstellung und Analyse hydrologischer Topologien auf der Basis ...
Darstellung und Analyse hydrologischer Topologien auf der Basis ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
114 Anwendung: Das Talsperrensystem Weida-Zeulenroda<br />
−activation:double<br />
−delta:double<br />
−lastInput:double<br />
+id:Long<br />
Neuron<br />
(from iwes::nn_model)<br />
+layer:Vector[]<br />
>+NN():NN<br />
+addNeuron(neuron:Neuron):void<br />
+addLink(fromNeuron:Neuron,toNeuron:Neuron,weight:double):void<br />
hydro<br />
+removeLink(link:Link):void<br />
+removeNeuron(neuron:Neuron):void<br />
+setLayer(neuron:Neuron,layer:int):void<br />
+propagate(input:Vector):Vector<br />
+getEdges():Hashtable<br />
+getNeurons():Hashtable<br />
NN<br />
(from iwes::nn_model)<br />
1..*<br />
1..*<br />
>+Neuron():Neuron<br />
+setActivationFunction(af:ActivationFunction):void<br />
+calcActivation(input:double):void<br />
+getActivation():double<br />
+calcDelta(error:double):double<br />
+getDelta():double<br />
+from:Neuron<br />
+to:Neuron<br />
+weight:double<br />
#lastDelta:double<br />
Link<br />
(from iwes::nn_model)<br />
>+Link(fromNeuron:Neuron,toNeuron:Neuron,weight:double):Link<br />
+modifyWeight(delta:double):void<br />
HydroNet<br />
(from iwes::nn_model::hydro)<br />
>+HydroNet():HydroNet<br />
+propagate(input:double):double<br />
+doLearn(nominalOut:double,eta:double,minStep:double,maxError:double,alpha:double,maxCosts:double):double<br />
−modifyWeights(eta:double,alpha:double):void<br />
+createWeightsNActivationFunctions(fileNames:String[],polygonArea:Hashtable,functionType:int):void<br />
+getFertilizations():Hashtable<br />
+loadXML(fileName:String):HydroNet<br />
+saveXML(fileName:String):void<br />
+addHydroLink(fromNeuron:Neuron,toNeuron:Neuron,weight:double,type:int):void<br />
+initFertilizationEdgeWeights(fert:Hashtable):void<br />
1..*<br />
+INTERFLOW:int=0<br />
+GROUNDFLOW:int=1<br />
+type:int=0<br />
+minimumWeight:double= 0<br />
HydroLink<br />
(from iwes::nn_model::hydro)<br />
>+HydroLink(f:Long,t:Long,w:double,type:int):HydroLink<br />
+modifyWeight(delta:double,alpha:double):void<br />
based_on<br />
−a:double[]<br />
Polynom<br />
(from iwes::misc)<br />
><br />
Matrix<br />
(from iwes::regression)<br />
+rows:int<br />
+columns:int<br />
+element:double[][]<br />
>+Matrix():Matrix<br />
+transpose():Matrix<br />
+multiply(m1:Matrix,m2:Matrix):Matrix<br />
+divide(m1:Matrix,m2:Matrix):Matrix<br />
+sub(r1:int,r2:int,c1:int,c2:int):Matrix<br />
+appendCols(inout x:Matrix):Matrix<br />
+appendRows(inout x:Matrix):Matrix<br />
+Q():Matrix<br />
+R():Matrix<br />
+sort():Matrix<br />
represented_by<br />
>+Polynom(samplingPoints:Matrix):Polynom<br />
+Polynom(a:double[]):Polynom<br />
+calculate(x:double):double<br />
+<strong>der</strong>ive():ActivationFunction<br />
+getType():int<br />
−samplingPoints:Matrix<br />
−samplingPoints:Matrix<br />
Polyline<br />
(from iwes::misc)<br />
>+Polyline(samplingPoints:Matrix):Polyline<br />
+calculate(x:double):double<br />
+<strong>der</strong>ive():ActivationFunction<br />
+getType():int<br />
DPolyline<br />
(from iwes::misc)<br />
><br />
has_<strong>der</strong>iviative<br />
has_<strong>der</strong>iviative<br />
><br />
ActivationFunction<br />
(from iwes::misc)<br />
+calculate(inout x:double):double<br />
+<strong>der</strong>ive():ActivationFunction<br />
+getType():int<br />
represented_by<br />
>+DPolyline(samplingPoints:Matrix):DPolyline<br />
+calculate(x:double):double<br />
+<strong>der</strong>ive():ActivationFunction<br />
+getType():int<br />
><br />
Abbildung 3.25: UML-Klassendiagramm <strong>der</strong> <strong>Basis</strong>klassen für die Implementierung des HydroNet