SN-Markov-Graphen ausgebaut.
authorFlorian Forster <octo@leeloo.octo.it>
Sat, 29 Jan 2011 12:32:05 +0000 (13:32 +0100)
committerFlorian Forster <octo@leeloo.octo.it>
Sat, 29 Jan 2011 12:32:05 +0000 (13:32 +0100)
diplomarbeit.tex
images/markov-comparators-12-pct.gnuplot
images/markov-comparators-14-pct.gnuplot
images/markov-comparators-16-pct.gnuplot
images/markov-comparators-18-pct.data [new file with mode: 0644]
images/markov-comparators-18-pct.gnuplot [new file with mode: 0644]

index a1145c4..2f8aed2 100644 (file)
@@ -1012,7 +1012,7 @@ sich die Resultate auch in der ersten Schicht nicht unterscheiden.
 
 \begin{figure}
   \begin{center}
-    \includegraphics[viewport=0 0 360 216,width=15cm]{images/count-cuts-16.pdf}
+    \includegraphics[viewport=0 0 425 262,width=15cm]{images/count-cuts-16.pdf}
   \end{center}
   \caption{Anzahl der \emph{unterschiedlichen} Sortiernetzwerke, die durch
   8-Schnittmuster aus $\operatorname{OES}(16)$, $\operatorname{BS}(16)$ und
@@ -1071,7 +1071,7 @@ unterschiedlichen Schnittmuster abschätzen.
 
 \begin{figure}
   \begin{center}
-    \includegraphics[viewport=0 0 360 216,width=15cm]{images/collisions-10000-1000000-32.pdf}
+    \includegraphics[viewport=0 0 425 262,width=15cm]{images/collisions-10000-1000000-32.pdf}
   \end{center}
   \caption{Abschnätzung der unterschiedlichen Schnittmuster mit der
   \emph{Monte-Carlo-Methode} für $\operatorname{OES}(32)$ und
@@ -1194,21 +1194,21 @@ Algorithmus vorschnell in Richtung eines lokalen Optimums optimiert.
 Die in \textsc{SN-Evolution} implementierte Selektion lässt sich mithilfe von
 Pseudocode wie folgt beschreiben:
 \begin{verbatim}
-Guetesumme := 0
+Gütesumme := 0
 Auswahl := (leer)
 
-fuer jedes Individuum in Population
+für jedes Individuum in Population
 {
-  reziproke Guete := 1.0 / Guete(Individuum)
-  Wahrscheinlichkeit P := reziproke Guete / (reziproke Guete + Guetesumme)
-  Guetesumme := Guetesumme + reziproke Guete
+  reziproke Güte := 1.0 / Guete(Individuum)
+  Wahrscheinlichkeit P := reziproke Güte / (reziproke Güte + Gütesumme)
+  Gütesumme := Gütesumme + reziproke Güte
 
   mit Wahrscheinlichkeit P
   {
     Auswahl := Individuum
   }
 }
-gebe Auswahl zurueck
+gib Auswahl zurück
 \end{verbatim}
 
 \subsection{Rekombination}
@@ -1543,13 +1543,17 @@ gegebenen Sortiernetzwerk. Um von einem Sortiernetzwerk zum Nächsten zu
 gelangen, rekombiniert der Algorithmus das aktuelle Sortiernetzwerk mit sich
 selbst und erhält so einen zufälligen Nachfolger.
 
-\begin{itemize}
-  \item $n \leftarrow \mathrm{Input}$
-  \item \texttt{while} \textit{true}
-  \begin{itemize}
-    \item $n \leftarrow \operatorname{recombine} (n, n)$
-  \end{itemize}
-\end{itemize}
+\begin{verbatim}
+  Netzwerk := Eingabe
+
+  für n Iterationen
+  {
+    Nachfolger := kombiniere (Netzwerk, Netzwerk)
+    Netzwerk   := Nachfolger
+  }
+
+  gib Netzwerk zurück
+\end{verbatim}
 
 \begin{itemize}
   \item Beste erreichte Netzwerke (gleich zu \emph{OE-Mergesort}).
@@ -1560,7 +1564,7 @@ selbst und erhält so einen zufälligen Nachfolger.
 
 \begin{figure}
   \begin{center}
-  \includegraphics[viewport=0 0 360 216,width=15cm]{images/markov-comparators-12-pct.pdf}
+  \includegraphics[viewport=0 0 425 262,width=15cm]{images/markov-comparators-12-pct.pdf}
   \end{center}
   \caption{Anzahl der Komparatoren von Sortiernetzwerken (mit 12~Leitungen),
   die von {\sc SN-Markov} durchlaufen wurden. Grün eingezeichnet ist die
@@ -1570,7 +1574,7 @@ selbst und erhält so einen zufälligen Nachfolger.
 
 \begin{figure}
   \begin{center}
-  \includegraphics[viewport=0 0 360 216,width=15cm]{images/markov-comparators-14-pct.pdf}
+  \includegraphics[viewport=0 0 425 262,width=15cm]{images/markov-comparators-14-pct.pdf}
   \end{center}
   \caption{Anzahl der Komparatoren von Sortiernetzwerken (mit 14~Leitungen),
   die von {\sc SN-Markov} durchlaufen wurden. Grün eingezeichnet ist die
@@ -1580,7 +1584,7 @@ selbst und erhält so einen zufälligen Nachfolger.
 
 \begin{figure}
   \begin{center}
-  \includegraphics[viewport=0 0 360 216,width=15cm]{images/markov-comparators-16-pct.pdf}
+  \includegraphics[viewport=0 0 425 262,width=15cm]{images/markov-comparators-16-pct.pdf}
   \end{center}
   \caption{Anzahl der Komparatoren von Sortiernetzwerken (mit 16~Leitungen),
   die von {\sc SN-Markov} durchlaufen wurden. Grün eingezeichnet ist die
@@ -1588,6 +1592,16 @@ selbst und erhält so einen zufälligen Nachfolger.
   \label{fig:markov-comparators-16}
 \end{figure}
 
+\begin{figure}
+  \begin{center}
+  \includegraphics[viewport=0 0 425 262,width=15cm]{images/markov-comparators-18-pct.pdf}
+  \end{center}
+  \caption{Anzahl der Komparatoren von Sortiernetzwerken (mit 18~Leitungen),
+  die von {\sc SN-Markov} durchlaufen wurden. Grün eingezeichnet ist die
+  \emph{Gamma-Verteilung} $f(x - 81)$ mit $k = 10,724$ und $\theta = 0,766$.}
+  \label{fig:markov-comparators-18}
+\end{figure}
+
 \newpage
 \section{Empirische Beobachtungen}
 
index 718b7a0..bde07ad 100644 (file)
@@ -13,8 +13,8 @@
 #      faq, bugs, etc:   type "help seeking-assistance"
 #      immediate help:   type "help"
 #      plot window:      hit 'h'
-# set terminal wxt 0
-# set output
+set terminal pdfcairo  size 15.00cm, 9.27cm 
+set output 'markov-comparators-12-pct.pdf'
 unset clip points
 set clip one
 unset clip two
@@ -44,7 +44,7 @@ set format cb "% g"
 set angles radians
 unset grid
 set key title ""
-set key inside right top vertical Right noreverse enhanced autotitles nobox
+set key outside center bottom horizontal Right noreverse enhanced autotitles box linetype -1 linewidth 1.000
 set key noinvert samplen 4 spacing 1 width 0 height 0 
 unset label
 unset arrow
@@ -105,8 +105,8 @@ set timestamp ""
 set timestamp  offset character 0, 0, 0 font "" norotate
 set rrange [ * : * ] noreverse nowriteback  # (currently [8.98847e+307:-8.98847e+307] )
 set trange [ * : * ] noreverse nowriteback  # (currently [-5.00000:5.00000] )
-set urange [ * : * ] noreverse nowriteback  # (currently [-5.00000:5.00000] )
-set vrange [ * : * ] noreverse nowriteback  # (currently [-5.00000:5.00000] )
+set urange [ * : * ] noreverse nowriteback  # (currently [-10.0000:10.0000] )
+set vrange [ * : * ] noreverse nowriteback  # (currently [-10.0000:10.0000] )
 set xlabel "Komparatoren" 
 set xlabel  offset character 0, 0, 0 font "" textcolor lt -1 norotate
 set x2label "" 
@@ -121,7 +121,7 @@ set yrange [ * : * ] noreverse nowriteback  # (currently [0.00000:16.0000] )
 set y2range [ * : * ] noreverse nowriteback  # (currently [0.00000:14.0879] )
 set zlabel "" 
 set zlabel  offset character 0, 0, 0 font "" textcolor lt -1 norotate
-set zrange [ * : * ] noreverse nowriteback  # (currently [8.98847e+307:-8.98847e+307] )
+set zrange [ * : * ] noreverse nowriteback  # (currently [-10.0000:10.0000] )
 set cblabel "" 
 set cblabel  offset character 0, 0, 0 font "" textcolor lt -1 rotate by -270
 set cbrange [ * : * ] noreverse nowriteback  # (currently [8.98847e+307:-8.98847e+307] )
@@ -144,9 +144,9 @@ set fit noerrorvariables
 gamma_gamma(x) = (floor(x - 0.5))!
 gamma_dist(x) = x**(gamma_k - 1) * exp((-1.0) * x / gamma_theta) / (gamma_theta**gamma_k * gamma(gamma_k))
 gamma_fit(x) = 100.0 * dgamma(x - gamma_offset, gamma_k, gamma_theta)
+dgamma(x, shape, rate) = (x<0)? 0 : (x==0)? ((shape<1)? 1/0 : (shape==1)? rate : 0) : (rate==0)? 0 : exp(_ln_dgamma(x, shape, rate))
 _ln_dgamma(x, a, b) = a*log(b) - lgamma(a) + (a-1)*log(x) - b*x
 pgamma(x, shape, rate) = (x<0)? 0 : igamma(shape, x*rate)
-dgamma(x, shape, rate) = (x<0)? 0 : (x==0)? ((shape<1)? 1/0 : (shape==1)? rate : 0) : (rate==0)? 0 : exp(_ln_dgamma(x, shape, rate))
 GNUTERM = "wxt"
 GPFUN_gamma_gamma = "gamma_gamma(x) = (floor(x - 0.5))!"
 gamma_k = 8.26729758801638
@@ -154,13 +154,12 @@ gamma_theta = 0.961930249498844
 GPFUN_gamma_dist = "gamma_dist(x) = x**(gamma_k - 1) * exp((-1.0) * x / gamma_theta) / (gamma_theta**gamma_k * gamma(gamma_k))"
 gamma_offset = 40
 GPFUN_gamma_fit = "gamma_fit(x) = 100.0 * dgamma(x - gamma_offset, gamma_k, gamma_theta)"
+GPFUN__ln_dgamma = "_ln_dgamma(x, a, b) = a*log(b) - lgamma(a) + (a-1)*log(x) - b*x"
+GPFUN_pgamma = "pgamma(x, shape, rate) = (x<0)? 0 : igamma(shape, x*rate)"
+GPFUN_dgamma = "dgamma(x, shape, rate) = (x<0)? 0 : (x==0)? ((shape<1)? 1/0 : (shape==1)? rate : 0) : (rate==0)? 0 : exp(_ln_dgamma(x, shape, rate))"
 FIT_CONVERGED = 1
 FIT_NDF = 39
 FIT_STDFIT = 0.222936770551606
 FIT_WSSR = 1.9383313428952
-GPFUN__ln_dgamma = "_ln_dgamma(x, a, b) = a*log(b) - lgamma(a) + (a-1)*log(x) - b*x"
-GPFUN_pgamma = "pgamma(x, shape, rate) = (x<0)? 0 : igamma(shape, x*rate)"
-GPFUN_dgamma = "dgamma(x, shape, rate) = (x<0)? 0 : (x==0)? ((shape<1)? 1/0 : (shape==1)? rate : 0) : (rate==0)? 0 : exp(_ln_dgamma(x, shape, rate))"
-plot [x=41:81] './images/markov-comparators-12-pct.data' title 'Gemessene Daten', gamma_fit(x) title 'Gamma-Verteilung'
-## fit gamma_fit(x) 'images/markov-comparators-12-pct.data' via gamma_k, gamma_theta
+plot [x=41:81] 'markov-comparators-12-pct.data' title 'Gemessene Daten', gamma_fit(x) title 'Gamma-Verteilung'
 #    EOF
index d8a3937..21e29ae 100644 (file)
@@ -13,8 +13,8 @@
 #      faq, bugs, etc:   type "help seeking-assistance"
 #      immediate help:   type "help"
 #      plot window:      hit 'h'
-# set terminal wxt 0
-# set output
+set terminal pdfcairo  size 15.00cm, 9.27cm 
+set output 'markov-comparators-14-pct.pdf'
 unset clip points
 set clip one
 unset clip two
@@ -44,7 +44,7 @@ set format cb "% g"
 set angles radians
 unset grid
 set key title ""
-set key inside right top vertical Right noreverse enhanced autotitles nobox
+set key outside center bottom horizontal Right noreverse enhanced autotitles box linetype -1 linewidth 1.000
 set key noinvert samplen 4 spacing 1 width 0 height 0 
 unset label
 unset arrow
@@ -157,6 +157,6 @@ FIT_CONVERGED = 1
 FIT_NDF = 47
 FIT_STDFIT = 0.125963571262577
 FIT_WSSR = 0.745740600405454
-plot [x=53:101] 'images/markov-comparators-14-pct.data' title 'Gemessene Daten', gamma_fit(x) title 'Gamma-Verteilung'
-## fit gamma_fit(x) 'images/markov-comparators-14-pct.data' via gamma_k, gamma_theta
+plot [x=53:101] 'markov-comparators-14-pct.data' title 'Gemessene Daten', gamma_fit(x) title 'Gamma-Verteilung'
+## fit gamma_fit(x) 'markov-comparators-14-pct.data' via gamma_k, gamma_theta
 #    EOF
index 0751469..4e93bc4 100644 (file)
@@ -13,8 +13,8 @@
 #      faq, bugs, etc:   type "help seeking-assistance"
 #      immediate help:   type "help"
 #      plot window:      hit 'h'
-# set terminal wxt 0
-# set output
+set terminal pdfcairo  size 15.00cm, 9.27cm 
+set output 'markov-comparators-16-pct.pdf'
 unset clip points
 set clip one
 unset clip two
@@ -44,7 +44,7 @@ set format cb "% g"
 set angles radians
 unset grid
 set key title ""
-set key inside right top vertical Right noreverse enhanced autotitles nobox
+set key outside center bottom horizontal Right noreverse enhanced autotitles box linetype -1 linewidth 1.000
 set key noinvert samplen 4 spacing 1 width 0 height 0 
 unset label
 unset arrow
@@ -214,6 +214,6 @@ GPFUN_gamma = "gamma(x) = x**(gamma_k - 1) * exp((-1.0) * x / gamma_theta) / (ga
 GPFUN__ln_dgamma = "_ln_dgamma(x, a, b) = a*log(b) - lgamma(a) + (a-1)*log(x) - b*x"
 GPFUN_pgamma = "pgamma(x, shape, rate) = (x<0)? 0 : igamma(shape, x*rate)"
 GPFUN_dgamma = "dgamma(x, shape, rate) = (x<0)? 0 : (x==0)? ((shape<1)? 1/0 : (shape==1)? rate : 0) : (rate==0)? 0 : exp(_ln_dgamma(x, shape, rate))"
-plot [x=63:116] 'images/markov-comparators-16-pct.data' title 'Gemessene Daten', gamma_fit(x) title "Gamma-Verteilung"
-## fit gamma_fit(x) 'images/markov-comparators-16-pct.data' via gamma_k, gamma_theta
+plot [x=63:116] 'markov-comparators-16-pct.data' title 'Gemessene Daten', gamma_fit(x) title "Gamma-Verteilung"
+## fit gamma_fit(x) 'markov-comparators-16-pct.data' via gamma_k, gamma_theta
 #    EOF
diff --git a/images/markov-comparators-18-pct.data b/images/markov-comparators-18-pct.data
new file mode 100644 (file)
index 0000000..657e905
--- /dev/null
@@ -0,0 +1,60 @@
+# Iterations: 2000000
+# Average: 95.121195
+82   0.002700
+83   0.017850
+84   0.083150
+85   0.234150
+86   0.525100
+87   1.081900
+88   2.119950
+89   3.715400
+90   5.601700
+91   7.519850
+92   8.935550
+93   9.665700
+94   9.740400
+95   9.213650
+96   8.254850
+97   7.111550
+98   5.918750
+99   4.800000
+100  3.808500
+101  2.986000
+102  2.264700
+103  1.717150
+104  1.275150
+105  0.948300
+106  0.685250
+107  0.507100
+108  0.359150
+109  0.261650
+110  0.186650
+111  0.139800
+112  0.095150
+113  0.068650
+114  0.043950
+115  0.032450
+116  0.022750
+117  0.014950
+118  0.011150
+119  0.009450
+120  0.006450
+121  0.004150
+122  0.002950
+123  0.001700
+124  0.001550
+125  0.000800
+126  0.000600
+127  0.000350
+128  0.000400
+129  0.000250
+130  0.000150
+131  0.000100
+132  0.000050
+133  0.000100
+134  0.000150
+135  0.000050
+136  0.000000
+137  0.000050
+138  0.000000
+139  0.000050
diff --git a/images/markov-comparators-18-pct.gnuplot b/images/markov-comparators-18-pct.gnuplot
new file mode 100644 (file)
index 0000000..3ebe8bf
--- /dev/null
@@ -0,0 +1,219 @@
+#!/usr/bin/gnuplot -persist
+#
+#    
+#      G N U P L O T
+#      Version 4.4 patchlevel 0
+#      last modified March 2010
+#      System: Linux 2.6.32-5-amd64
+#    
+#      Copyright (C) 1986-1993, 1998, 2004, 2007-2010
+#      Thomas Williams, Colin Kelley and many others
+#    
+#      gnuplot home:     http://www.gnuplot.info
+#      faq, bugs, etc:   type "help seeking-assistance"
+#      immediate help:   type "help"
+#      plot window:      hit 'h'
+set terminal pdfcairo  size 15.00cm, 9.27cm 
+set output 'markov-comparators-18-pct.pdf'
+unset clip points
+set clip one
+unset clip two
+set bar 1.000000 front
+set border 31 front linetype -1 linewidth 1.000
+set xdata
+set ydata
+set zdata
+set x2data
+set y2data
+set timefmt x "%d/%m/%y,%H:%M"
+set timefmt y "%d/%m/%y,%H:%M"
+set timefmt z "%d/%m/%y,%H:%M"
+set timefmt x2 "%d/%m/%y,%H:%M"
+set timefmt y2 "%d/%m/%y,%H:%M"
+set timefmt cb "%d/%m/%y,%H:%M"
+set boxwidth
+set style fill  empty border
+set style rectangle back fc  lt -3 fillstyle   solid 1.00 border lt -1
+set dummy x,y
+set format x "% g"
+set format y "% g"
+set format x2 "% g"
+set format y2 "% g"
+set format z "% g"
+set format cb "% g"
+set angles radians
+unset grid
+set key title ""
+set key outside center bottom horizontal Right noreverse enhanced autotitles box linetype -1 linewidth 1.000
+set key noinvert samplen 4 spacing 1 width 0 height 0 
+unset label
+unset arrow
+set style increment default
+unset style line
+unset style arrow
+set style histogram clustered gap 2 title  offset character 0, 0, 0
+unset logscale
+set offsets 0, 0, 0, 0
+set pointsize 1
+set encoding default
+unset polar
+unset parametric
+unset decimalsign
+set view 60, 30, 1, 1  
+set samples 100, 100
+set isosamples 10, 10
+set surface
+unset contour
+set clabel '%8.3g'
+set mapping cartesian
+set datafile separator whitespace
+unset hidden3d
+set cntrparam order 4
+set cntrparam linear
+set cntrparam levels auto 5
+set cntrparam points 5
+set size ratio 0 1,1
+set origin 0,0
+set style data points
+set style function lines
+set xzeroaxis linetype -2 linewidth 1.000
+set yzeroaxis linetype -2 linewidth 1.000
+set zzeroaxis linetype -2 linewidth 1.000
+set x2zeroaxis linetype -2 linewidth 1.000
+set y2zeroaxis linetype -2 linewidth 1.000
+set ticslevel 0.5
+set mxtics default
+set mytics default
+set mztics default
+set mx2tics default
+set my2tics default
+set mcbtics default
+set xtics border in scale 1,0.5 mirror norotate  offset character 0, 0, 0
+set xtics autofreq  norangelimit
+set ytics border in scale 1,0.5 mirror norotate  offset character 0, 0, 0
+set ytics autofreq  norangelimit
+set ztics border in scale 1,0.5 nomirror norotate  offset character 0, 0, 0
+set ztics autofreq  norangelimit
+set nox2tics
+set noy2tics
+set cbtics border in scale 1,0.5 mirror norotate  offset character 0, 0, 0
+set cbtics autofreq  norangelimit
+set title "" 
+set title  offset character 0, 0, 0 font "" norotate
+set timestamp bottom 
+set timestamp "" 
+set timestamp  offset character 0, 0, 0 font "" norotate
+set rrange [ * : * ] noreverse nowriteback  # (currently [8.98847e+307:-8.98847e+307] )
+set trange [ * : * ] noreverse nowriteback  # (currently [-5.00000:5.00000] )
+set urange [ * : * ] noreverse nowriteback  # (currently [-5.00000:5.00000] )
+set vrange [ * : * ] noreverse nowriteback  # (currently [-5.00000:5.00000] )
+set xlabel "Komparatoren" 
+set xlabel  offset character 0, 0, 0 font "" textcolor lt -1 norotate
+set x2label "" 
+set x2label  offset character 0, 0, 0 font "" textcolor lt -1 norotate
+set xrange [ * : * ] noreverse nowriteback  # (currently [82.0000:139.000] )
+set x2range [ * : * ] noreverse nowriteback  # (currently [82.0000:139.000] )
+set ylabel "Prozent" 
+set ylabel  offset character 0, 0, 0 font "" textcolor lt -1 rotate by -270
+set y2label "" 
+set y2label  offset character 0, 0, 0 font "" textcolor lt -1 rotate by -270
+set yrange [ * : * ] noreverse nowriteback  # (currently [0.00000:10.0000] )
+set y2range [ * : * ] noreverse nowriteback  # (currently [0.00000:9.74040] )
+set zlabel "" 
+set zlabel  offset character 0, 0, 0 font "" textcolor lt -1 norotate
+set zrange [ * : * ] noreverse nowriteback  # (currently [8.98847e+307:-8.98847e+307] )
+set cblabel "" 
+set cblabel  offset character 0, 0, 0 font "" textcolor lt -1 rotate by -270
+set cbrange [ * : * ] noreverse nowriteback  # (currently [8.98847e+307:-8.98847e+307] )
+set zero 1e-08
+set lmargin  -1
+set bmargin  -1
+set rmargin  -1
+set tmargin  -1
+set locale "en_US.UTF-8"
+set pm3d explicit at s
+set pm3d scansautomatic
+set pm3d interpolate 1,1 flush begin noftriangles nohidden3d corners2color mean
+set palette positive nops_allcF maxcolors 0 gamma 1.5 color model RGB 
+set palette rgbformulae 7, 5, 15
+set colorbox default
+set colorbox vertical origin screen 0.9, 0.2, 0 size screen 0.05, 0.6, 0 front bdefault
+set loadpath 
+set fontpath 
+set fit noerrorvariables
+binom(n,k) = (n!) / ((k!) * ((n-k)!))
+binv(n,k,p) = binom(n,k) * (p**k) * ((1-p)**(n-k))
+bin(x) = binv(n,floor(x),p)
+gauss(x) = (a1 / sigma) * exp((-0.5) * ((x - mu) / sigma)**2.0)
+poisson_int(x) = exp((-1.0) * lambda) * (lambda**x) / (x!)
+poisson(x) = poisson_int(floor(x + 0.5))
+erl(x) = gamma * exp(-1.0 * gamma * x) * (gamma * x)**(n_erl - 1) / ((n_erl - 1)!)
+binomial_int(x) = binomial_coeff(n, x) * p**x * (1-p)**(n-x)
+binomial_coeff(n,k) = (n!) / ((k!) * ((n-k)!))
+binomial(x) = binomial_int(floor(x + 0.5))
+binomial_fit(x) = 100.0 * binomial(x-19.0)
+poisson_fit(x) = 100.0 * poisson(x - offset)
+gauss_fit(x) = 100.0 * gauss(x)
+cauchy(x) = (1.0 / pi) * s / (s**2.0 + (x - t)**2)
+cauchy_fit(x) = 100.0 * cauchy(x)
+erlang_fit(x) = 100.0 * erl(x - erl_offset)
+gamma_dist(x) = x**(gamma_k - 1) * exp((-1.0) * x / gamma_theta) / (gamma_theta**gamma_k * gamma(gamma_k))
+gamma_fit(x) = 100.0 * dgamma(x - gamma_offset, gamma_k, gamma_theta)
+dgamma(x, shape, rate) = (x<0)? 0 : (x==0)? ((shape<1)? 1/0 : (shape==1)? rate : 0) : (rate==0)? 0 : exp(_ln_dgamma(x, shape, rate))
+foo_fit(x) = foo_a0 * exp(foo_a1 * (x - 62))
+_ln_dgamma(x, a, b) = a*log(b) - lgamma(a) + (a-1)*log(x) - b*x
+pgamma(x, shape, rate) = (x<0)? 0 : igamma(shape, x*rate)
+GNUTERM = "wxt"
+GPFUN_binom = "binom(n,k) = (n!) / ((k!) * ((n-k)!))"
+GPFUN_binv = "binv(n,k,p) = binom(n,k) * (p**k) * ((1-p)**(n-k))"
+n = 29
+p = 0.172562132555044
+GPFUN_bin = "bin(x) = binv(n,floor(x),p)"
+a1 = 0.398942280401433
+sigma = 1.88445909011715
+mu = 23.800757470569
+GPFUN_gauss = "gauss(x) = (a1 / sigma) * exp((-0.5) * ((x - mu) / sigma)**2.0)"
+lambda = 5.10554056666183
+GPFUN_poisson_int = "poisson_int(x) = exp((-1.0) * lambda) * (lambda**x) / (x!)"
+GPFUN_poisson = "poisson(x) = poisson_int(floor(x + 0.5))"
+gamma = 1.90073273091251
+n_erl = 54
+GPFUN_erl = "erl(x) = gamma * exp(-1.0 * gamma * x) * (gamma * x)**(n_erl - 1) / ((n_erl - 1)!)"
+GPFUN_binomial_int = "binomial_int(x) = binomial_coeff(n, x) * p**x * (1-p)**(n-x)"
+GPFUN_binomial_coeff = "binomial_coeff(n,k) = (n!) / ((k!) * ((n-k)!))"
+GPFUN_binomial = "binomial(x) = binomial_int(floor(x + 0.5))"
+GPFUN_binomial_fit = "binomial_fit(x) = 100.0 * binomial(x-19.0)"
+offset = 19
+GPFUN_poisson_fit = "poisson_fit(x) = 100.0 * poisson(x - offset)"
+GPFUN_gauss_fit = "gauss_fit(x) = 100.0 * gauss(x)"
+s = 1.39871428165847
+t = 23.5320369849105
+GPFUN_cauchy = "cauchy(x) = (1.0 / pi) * s / (s**2.0 + (x - t)**2)"
+GPFUN_cauchy_fit = "cauchy_fit(x) = 100.0 * cauchy(x)"
+erl_offset = 49.8425987940659
+GPFUN_erlang_fit = "erlang_fit(x) = 100.0 * erl(x - erl_offset)"
+gamma_k = 10.7234521744736
+gamma_theta = 0.76572583751246
+GPFUN_gamma_dist = "gamma_dist(x) = x**(gamma_k - 1) * exp((-1.0) * x / gamma_theta) / (gamma_theta**gamma_k * gamma_gamma(gamma_k))"
+gamma_offset = 81
+GPFUN_gamma_fit = "gamma_fit(x) = 100.0 * dgamma(x - gamma_offset, gamma_k, gamma_theta)"
+foo_a0 = 0.000540217815483465
+foo_a1 = 0.838098058527587
+GPFUN_foo_fit = "foo_fit(x) = foo_a0 * exp(foo_a1 * (x - 62))"
+GPFUN__ln_dgamma = "_ln_dgamma(x, a, b) = a*log(b) - lgamma(a) + (a-1)*log(x) - b*x"
+GPFUN_pgamma = "pgamma(x, shape, rate) = (x<0)? 0 : igamma(shape, x*rate)"
+GPFUN_dgamma = "dgamma(x, shape, rate) = (x<0)? 0 : (x==0)? ((shape<1)? 1/0 : (shape==1)? rate : 0) : (rate==0)? 0 : exp(_ln_dgamma(x, shape, rate))"
+y = 0
+FIT_CONVERGED = 1
+a = 240000
+a0 = 2.0
+FIT_NDF = 56
+FIT_STDFIT = 0.0927264844441511
+FIT_WSSR = 0.481499251372798
+lamdba = 14.0
+scale = 5000000
+GPFUN_gamma_gamma = "gamma_gamma(x) = (floor(x - 0.5))!"
+GPFUN_gamma = "gamma(x) = x**(gamma_k - 1) * exp((-1.0) * x / gamma_theta) / (gamma_theta**gamma_k * gamma_gamma(k))"
+plot [x=82:139] 'markov-comparators-18-pct.data' title 'Gemessene Daten', gamma_fit(x) title "Gamma-Verteilung"
+## fit gamma_fit(x) 'markov-comparators-18-pct.data' via gamma_k, gamma_theta
+#    EOF