nearly done
This commit is contained in:
@ -236,3 +236,21 @@
|
||||
year={2016},
|
||||
url={https://arxiv.org/abs/1604.00772}
|
||||
}
|
||||
@article{eiben1999parameter,
|
||||
title={Parameter control in evolutionary algorithms},
|
||||
author={Eiben, {\'A}goston E and Hinterding, Robert and Michalewicz, Zbigniew},
|
||||
journal={IEEE Transactions on evolutionary computation},
|
||||
volume={3},
|
||||
number={2},
|
||||
pages={124--141},
|
||||
year={1999},
|
||||
publisher={IEEE},
|
||||
url={https://www.researchgate.net/profile/Marc_Schoenauer/publication/223460374_Parameter_Control_in_Evolutionary_Algorithms/links/545766440cf26d5090a9b951.pdf},
|
||||
}
|
||||
@article{rechenberg1973evolutionsstrategie,
|
||||
title={Evolutionsstrategie Optimierung technischer Systeme nach Prinzipien der biologischen Evolution},
|
||||
author={Rechenberg, Ingo},
|
||||
year={1973},
|
||||
publisher={Frommann-Holzboog}
|
||||
}
|
||||
|
||||
|
BIN
arbeit/img/Evo_overview.png
Normal file
BIN
arbeit/img/Evo_overview.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 114 KiB |
BIN
arbeit/img/deformations.png
Normal file
BIN
arbeit/img/deformations.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 158 KiB |
204
arbeit/ma.md
204
arbeit/ma.md
@ -1,5 +1,5 @@
|
||||
---
|
||||
fontsize: 12pt
|
||||
fontsize: 11pt
|
||||
---
|
||||
|
||||
\chapter*{How to read this Thesis}
|
||||
@ -23,8 +23,6 @@ Unless otherwise noted the following holds:
|
||||
|
||||
# Introduction
|
||||
|
||||
\improvement[inline]{Mehr Bilder}
|
||||
|
||||
Many modern industrial design processes require advanced optimization methods
|
||||
due to the increased complexity resulting from more and more degrees of freedom
|
||||
as methods refine and/or other methods are used. Examples for this are physical
|
||||
@ -35,6 +33,13 @@ layouting of circuit boards or stacking of 3D--objects). Moreover these are
|
||||
typically not static environments but requirements shift over time or from case
|
||||
to case.
|
||||
|
||||
\begin{figure}[hbt]
|
||||
\centering
|
||||
\includegraphics[width=\textwidth]{img/Evo_overview.png}
|
||||
\caption{Example of the use of evolutionary algorithms in automotive design
|
||||
(from \cite{anrichterEvol}).}
|
||||
\end{figure}
|
||||
|
||||
Evolutionary algorithms cope especially well with these problem domains while
|
||||
addressing all the issues at hand\cite{minai2006complex}. One of the main
|
||||
concerns in these algorithms is the formulation of the problems in terms of a
|
||||
@ -65,6 +70,12 @@ varies from context to context\cite{richter2015evolvability}. As a consequence
|
||||
there is need for some criteria we can measure, so that we are able to compare different
|
||||
representations to learn and improve upon these.
|
||||
|
||||
\begin{figure}[hbt]
|
||||
\centering
|
||||
\includegraphics[width=\textwidth]{img/deformations.png}
|
||||
\caption{Example of RBF--based deformation and FFD targeting the same mesh.}
|
||||
\end{figure}
|
||||
|
||||
One example of such a general representation of an object is to generate random
|
||||
points and represent vertices of an object as distances to these points --- for
|
||||
example via \acf{RBF}. If one (or the algorithm) would move such a point the
|
||||
@ -96,7 +107,7 @@ take an abstract look at the definition of \ac{FFD} for a one--dimensional line
|
||||
Then we establish some background--knowledge of evolutionary algorithms (in
|
||||
\ref{sec:back:evo}) and why this is useful in our domain (in
|
||||
\ref{sec:back:evogood}) followed by the definition of the different evolvability
|
||||
criteria established in \cite{anrichterEvol} (in \ref {sec:back:rvi}).
|
||||
criteria established in \cite{anrichterEvol} (in \ref {sec:intro:rvi}).
|
||||
|
||||
In Chapter \ref{sec:impl} we take a look at our implementation of \ac{FFD} and
|
||||
the adaptation for 3D--meshes that were used. Next, in Chapter \ref{sec:eval},
|
||||
@ -319,13 +330,20 @@ The main algorithm just repeats the following steps:
|
||||
of $\mu$ individuals.
|
||||
|
||||
All these functions can (and mostly do) have a lot of hidden parameters that
|
||||
can be changed over time.
|
||||
can be changed over time. A good overview of this is given in
|
||||
\cite{eiben1999parameter}, so we only give a small excerpt here.
|
||||
|
||||
\improvement[inline]{Genauer: Welche? Wo? Wieso? ...}
|
||||
For example the mutation can consist of merely a single $\sigma$ determining the
|
||||
strength of the gaussian defects in every parameter --- or giving a different
|
||||
$\sigma$ to every part. An even more sophisticated example would be the \glqq 1/5
|
||||
success rule\grqq \ from \cite{rechenberg1973evolutionsstrategie}.
|
||||
|
||||
<!--One can for example start off with a high
|
||||
mutation rate that cools off over time (i.e. by lowering the variance of a
|
||||
gaussian noise).-->
|
||||
Also in selection it may not be wise to only take the best--performing
|
||||
individuals, because it may be that the optimization has to overcome a barrier
|
||||
of bad fitness to achieve a better local optimum.
|
||||
|
||||
Recombination also does not have to be mere random choosing of parents, but can
|
||||
also take ancestry, distance of genes or grouping into account.
|
||||
|
||||
## Advantages of evolutionary algorithms
|
||||
\label{sec:back:evogood}
|
||||
@ -346,8 +364,8 @@ are shown in figure \ref{fig:probhard}.
|
||||
Most of the advantages stem from the fact that a gradient--based procedure has
|
||||
only one point of observation from where it evaluates the next steps, whereas an
|
||||
evolutionary strategy starts with a population of guessed solutions. Because an
|
||||
evolutionary strategy modifies the solution randomly, keeping the best solutions
|
||||
and purging the worst, it can also target multiple different hypothesis at the
|
||||
evolutionary strategy modifies the solution randomly, keeping some solutions
|
||||
and purging others, it can also target multiple different hypothesis at the
|
||||
same time where the local optima die out in the face of other, better
|
||||
candidates.
|
||||
|
||||
@ -371,16 +389,18 @@ converge to the same solution.
|
||||
As we have established in chapter \ref{sec:back:ffd}, we can describe a
|
||||
deformation by the formula
|
||||
$$
|
||||
\vec{V} = \vec{U}\vec{P}
|
||||
\vec{S} = \vec{U}\vec{P}
|
||||
$$
|
||||
where $\vec{V}$ is a $n \times d$ matrix of vertices, $\vec{U}$ are the (during
|
||||
where $\vec{S}$ is a $n \times d$ matrix of vertices^[We use $\vec{S}$ in this
|
||||
notation, as we will use this parametrization of a source--mesh to manipulate
|
||||
$\vec{S}$ into a target--mesh $\vec{T}$ via $\vec{P}$], $\vec{U}$ are the (during
|
||||
parametrization) calculated deformation--coefficients and $P$ is a $m \times d$ matrix
|
||||
of control--points that we interact with during deformation.
|
||||
|
||||
We can also think of the deformation in terms of differences from the original
|
||||
coordinates
|
||||
$$
|
||||
\Delta \vec{V} = \vec{U} \cdot \Delta \vec{P}
|
||||
\Delta \vec{S} = \vec{U} \cdot \Delta \vec{P}
|
||||
$$
|
||||
which is isomorphic to the former due to the linear correlation in the
|
||||
deformation. One can see in this way, that the way the deformation behaves lies
|
||||
@ -443,7 +463,6 @@ The definition for an *improvement potential* $P$ is\cite{anrichterEvol}:
|
||||
$$
|
||||
\mathrm{potential}(\vec{U}) := 1 - \|(\vec{1} - \vec{UU}^+)\vec{G}\|^2_F
|
||||
$$
|
||||
\unsure[inline]{ist das $^2$ richtig?}
|
||||
given some approximate $n \times d$ fitness--gradient $\vec{G}$, normalized to
|
||||
$\|\vec{G}\|_F = 1$, whereby $\|\cdot\|_F$ denotes the Frobenius--Norm.
|
||||
|
||||
@ -499,10 +518,9 @@ $$
|
||||
$$
|
||||
and do a gradient--descend to approximate the value of $u$ up to an $\epsilon$ of $0.0001$.
|
||||
|
||||
For this we use the Gauss--Newton algorithm\cite{gaussNewton}
|
||||
\todo[inline]{rewrite. falsch und wischi-waschi. Least squares?}
|
||||
as the solution to
|
||||
this problem may not be deterministic, because we usually have way more vertices
|
||||
For this we employ the Gauss--Newton algorithm\cite{gaussNewton}, which
|
||||
converges into the least--squares solution. An exact solution of this problem is
|
||||
impossible most of the times, because we usually have way more vertices
|
||||
than control points ($\#v~\gg~\#c$).
|
||||
|
||||
## Adaption of \ac{FFD} for a 3D--Mesh
|
||||
@ -754,10 +772,9 @@ As regularization-term we add a weighted Laplacian of the deformation that has
|
||||
been used before by Aschenbach et al.\cite[Section 3.2]{aschenbach2015} on
|
||||
similar models and was shown to lead to a more precise fit. The Laplacian
|
||||
\begin{equation}
|
||||
\mathrm{regularization}(\vec{P}) = \frac{1}{\sum_i A_i} \sum_{i=1}^n A_i \cdot \left( \sum_{\vec{s_j} \in \mathcal{N}(\vec{s_i})} w_j \cdot \|\Delta \vec{s_j} - \Delta \vec{\overline{s}_j}\|^2 \right)
|
||||
\mathrm{regularization}(\vec{P}) = \frac{1}{\sum_i A_i} \sum_{i=1}^n A_i \cdot \left( \sum_{\vec{s}_j \in \mathcal{N}(\vec{s}_i)} w_j \cdot \|\Delta \vec{s}_j - \Delta \vec{s}_i\|^2 \right)
|
||||
\label{eq:reg3d}
|
||||
\end{equation}
|
||||
\unsure[inline]{was ist $\vec{\overline{s}_j}$? Zentrum? eigentlich $s_i$?}
|
||||
is determined by the cotangent weighted displacement $w_j$ of the to $s_i$
|
||||
connected vertices $\mathcal{N}(s_i)$ and $A_i$ is the Voronoi--area of the corresponding vertex
|
||||
$\vec{s_i}$. We leave out the $\vec{R}_i$--term from the original paper as our
|
||||
@ -765,8 +782,10 @@ deformation is merely linear.
|
||||
|
||||
This regularization--weight gives us a measure of stiffness for the material
|
||||
that we will influence via the $\lambda$--coefficient to start out with a stiff
|
||||
material that will get more flexible per iteration.
|
||||
\unsure[inline]{Andreas: hast du nen cite, wo gezeigt ist, dass das so sinnvoll ist?}
|
||||
material that will get more flexible per iteration. As a side--effect this also
|
||||
limits the effects of overagressive movement of the control--points in the
|
||||
beginning of the fitting process and thus should limit the generation of
|
||||
ill--defined grids mentioned in section \ref{sec:impl:grid}.
|
||||
|
||||
# Evaluation of Scenarios
|
||||
\label{sec:res}
|
||||
@ -812,14 +831,15 @@ For our setup we first compute the coefficients of the deformation--matrix and
|
||||
use then the formulas for *variability* and *regularity* to get our predictions.
|
||||
Afterwards we solve the problem analytically to get the (normalized) correct
|
||||
gradient that we use as guess for the *improvement potential*. To check we also
|
||||
consider a distorted gradient $\vec{g}_{\textrm{d}}$
|
||||
consider a distorted gradient $\vec{g}_{\mathrm{d}}$
|
||||
$$
|
||||
\vec{g}_{\textrm{d}} = \frac{\vec{g}_{\textrm{c}} + \mathbb{1}}{\|\vec{g}_{\textrm{c}} + \mathbb{1}\|}
|
||||
\vec{g}_{\mathrm{d}} = \frac{\mu \vec{g}_{\mathrm{c}} + (1-\mu)\mathbb{1}}{\|\mu \vec{g}_{\mathrm{c}} + (1-\mu) \mathbb{1}\|}
|
||||
$$
|
||||
where $\mathbb{1}$ is the vector consisting of $1$ in every dimension and
|
||||
$\vec{g}_\textrm{c} = \vec{p^{*}} - \vec{p}$ the calculated correct gradient. As
|
||||
we always start with a gradient of $\mathbb{0}$ this shortens to
|
||||
$\vec{g}_\textrm{c} = \vec{p^{*}}$.
|
||||
where $\mathbb{1}$ is the vector consisting of $1$ in every dimension,
|
||||
$\vec{g}_\mathrm{c} = \vec{p^{*}} - \vec{p}$ is the calculated correct gradient,
|
||||
and $\mu$ is used to blend between $\vec{g}_\mathrm{c}$ and $\mathbb{1}$. As
|
||||
we always start with a gradient of $p = \mathbb{0}$ this means shortens
|
||||
$\vec{g}_\mathrm{c} = \vec{p^{*}}$.
|
||||
|
||||
\begin{figure}[ht]
|
||||
\begin{center}
|
||||
@ -836,12 +856,21 @@ randomly inside the x--y--plane. As self-intersecting grids get tricky to solve
|
||||
with our implemented newtons--method we avoid the generation of such
|
||||
self--intersecting grids for our testcases (see section \ref{3dffd}).
|
||||
|
||||
To achieve that we select a uniform distributed number $r \in [-0.25,0.25]$ per
|
||||
dimension and shrink the distance to the neighbours (the smaller neighbour for
|
||||
$r < 0$, the larger for $r > 0$) by the factor $r$^[Note: On the Edges this
|
||||
displacement is only applied outwards by flipping the sign of $r$, if
|
||||
appropriate.].
|
||||
\improvement[inline]{update!! gaussian, not uniform!!}
|
||||
To achieve that we generated a gaussian distributed number with $\mu = 0, \sigma=0.25$
|
||||
and clamped it to the range $[-0.25,0.25]$. We chose such an $r \in [-0.25,0.25]$
|
||||
per dimension and moved the control--points by that factor towards their
|
||||
respective neighbours^[Note: On the Edges this displacement is only applied
|
||||
outwards by flipping the sign of $r$, if appropriate.].
|
||||
|
||||
In other words we set
|
||||
\begin{equation*}
|
||||
p_i =
|
||||
\begin{cases}
|
||||
p_i + (p_i - p_{i-1}) \cdot r, & \textrm{if } r \textrm{ negative} \\
|
||||
p_i + (p_{i+1} - p_i) \cdot r, & \textrm{if } r \textrm{ positive}
|
||||
\end{cases}
|
||||
\end{equation*}
|
||||
in each dimension separately.
|
||||
|
||||
An Example of such a testcase can be seen for a $7 \times 4$--grid in figure
|
||||
\ref{fig:example1d_grid}.
|
||||
@ -957,12 +986,22 @@ grid--resolutions}
|
||||
\label{fig:1dimp}
|
||||
\end{figure}
|
||||
|
||||
\improvement[inline]{write something about it..}
|
||||
The improvement potential should correlate to the quality of the
|
||||
fitting--result. We plotted the results for the tested grid-sizes $5 \times 5$,
|
||||
$7 \times 7$ and $10 \times 10$ in figure \ref{fig:1dimp}. We tested the
|
||||
$4 \times 7$ and $7 \times 4$ grids as well, but omitted them from the plot.
|
||||
|
||||
- spearman 1 (p=0)
|
||||
- gradient macht keinen unterschied
|
||||
- $UU^+$ scheint sehr kleine EW zu haben, s. regularität
|
||||
- trotzdem sehr gutes kriterium - auch ohne Richtung.
|
||||
Additionally we tested the results for a distorted gradient described in
|
||||
\ref{sec:proc:1d} with a $\mu$--value of $0.25$, $0.5$, $0,75$, and $1.0$ for
|
||||
the $5 \times 5$ grid and with a $\mu$--value of $0.5$ for all other cases.
|
||||
|
||||
All results show the identical *very strong* and *significant* correlation with
|
||||
a Spearman--coefficient of $- r_S = 1.0$ and p--value of $0$.
|
||||
|
||||
These results indicate, that $\|\mathbb{1} - \vec{U}\vec{U}^{+}\|_F$ is close to $0$,
|
||||
reducing the impacts of any kind of gradient. Nevertheless, the improvement
|
||||
potential seems to be suited to make estimated guesses about the quality of a
|
||||
fit, even lacking an exact gradient.
|
||||
|
||||
## Procedure: 3D Function Approximation
|
||||
\label{sec:proc:3dfa}
|
||||
@ -1010,9 +1049,10 @@ the mentioned evolvability criteria are good.
|
||||
|
||||
In figure \ref{fig:setup3d} we show an example setup of the scene with a
|
||||
$4\times 4\times 4$--grid. Identical to the 1--dimensional scenario before, we create a
|
||||
regular grid and move the control-points \improvement{Beschreiben wie} random between their
|
||||
neighbours, but in three instead of two dimensions^[Again, we flip the signs for
|
||||
the edges, if necessary to have the object still in the convex hull.].
|
||||
regular grid and move the control-points in the exact same random manner between
|
||||
their neighbours as described in section \ref{sec:proc:1d}, but in three instead
|
||||
of two dimensions^[Again, we flip the signs for the edges, if necessary to have
|
||||
the object still in the convex hull.].
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\includegraphics[width=\textwidth]{img/3d_grid_resolution.png}
|
||||
@ -1244,7 +1284,14 @@ in brackets for various given grids ($\mathrm{X} \in [4,5,7], \mathrm{Y} \in [4,
|
||||
\label{tab:3dimp}
|
||||
\end{table}
|
||||
|
||||
\begin{figure}[!htb]
|
||||
Comparing to the 1D--scenario, we do not know the optimal solution to the given
|
||||
problem and for the calculation we only use the initial gradient produced by the
|
||||
initial correlation between both objects. This gradient changes with every
|
||||
iteration and will be off our first guess very quickly. This is the reason we
|
||||
are not trying to create artificially bad gradients, as we have a broad range in
|
||||
quality of such gradients anyway.
|
||||
|
||||
\begin{figure}[htb]
|
||||
\centering
|
||||
\includegraphics[width=\textwidth]{img/evolution3d/improvement_montage.png}
|
||||
\caption[Improvement potential for different 3D--grids]{
|
||||
@ -1254,11 +1301,76 @@ indicate trends.}
|
||||
\label{fig:resimp3d}
|
||||
\end{figure}
|
||||
|
||||
We plotted our findings on the improvement potential in a similar way as we did
|
||||
before with the regularity. In figure \ref{fig:resimp3d} one can clearly see the
|
||||
correlation and the spread within each setup and the behaviour when we increase
|
||||
the number of control--points.
|
||||
|
||||
# Schluss
|
||||
Along with this we also give the spearman--coefficients along with their
|
||||
p--values in table \ref{tab:3dimp}. Within one scenario we only find a *weak* to
|
||||
*moderate* correlation between the improvement potential and the fitting error,
|
||||
but all findings (except for $7 \times 4 \times 4$ and $6 \times 6 \times 6$)
|
||||
are significant.
|
||||
|
||||
If we take multiple datasets into account the correlation is *very strong* and
|
||||
*significant*, which is good, as this functions as a litmus--test, because the
|
||||
quality is naturally tied to the number of control--points.
|
||||
|
||||
All in all the improvement potential seems to be a good and sensible measure of
|
||||
quality, even given gradients of varying quality.
|
||||
|
||||
\improvement[inline]{improvement--potential vs. steps ist anders als in 1d! Plot
|
||||
und zeigen!}
|
||||
|
||||
|
||||
# Discussion and outlook
|
||||
\label{sec:dis}
|
||||
|
||||
- Regularity ist kacke für unser setup. Bessere Vorschläge? EW/EV?
|
||||
In this thesis we took a look at the different criteria for evolvability as
|
||||
introduced by Richter et al.\cite{anrichterEvol}, namely *variability*,
|
||||
*regularity* and *improvement potential* under different setup--conditions.
|
||||
Where Richter et al. used \acf{RBF}, we employed \acf{FFD} to set up a
|
||||
low--complexity parametrization of a more complex vertex--mesh.
|
||||
|
||||
In our findings we could show in the 1D--scenario, that there were statistically
|
||||
significant very strong correlations between *variability and fitting error*
|
||||
($0.94$) and *improvement--potential and fitting error* ($1.0$) with
|
||||
comparable results than Richter et al. (with $0.31$ to $0.88$
|
||||
for the former and $0.75$ to $0.99$ for the latter), whereas we found
|
||||
only weak correlations for *regularity and convergence--speed* ($0.28$)
|
||||
opposed to Richter et al. with $0.39$ to $0.91$.^[We only took statistically
|
||||
*significant* results into consideration when compiling these numbers. Details
|
||||
are given in the respective chapters.]
|
||||
|
||||
For the 3D--scenario our results show a very strong, significant correlation
|
||||
between *variability and fitting error* with $0.89$ to $0.94$, which are pretty
|
||||
much in line with the findings of Richter et al. ($0.65$ to $0.95$). The
|
||||
correlation between *improvement potential and fitting error* behave similar,
|
||||
with our findings having a significant coefficient of $0.3$ to $0.95$ depending
|
||||
on the grid--resolution compared to the $0.61$ to $0.93$ from Richter et al.
|
||||
In the case of the correlation of *regularity and convergence speed* we found
|
||||
very different (and often not significant) correlations and anti--correlations
|
||||
ranging from $-0.25$ to $0.46$, whereas Richter et al. reported correlations
|
||||
between $0.34$ to $0.87$.
|
||||
|
||||
Taking these results into consideration, one can say, that *variability* and
|
||||
*improvement potential* are very good estimates for the quality of a fit using
|
||||
\acf{FFD} as a deformation function.
|
||||
|
||||
One reason for the bad or erratic behaviour of the *regularity*--criterion could
|
||||
be that in an \ac{FFD}--setting we have a likelihood of having control--points
|
||||
that are only contributing to the whole parametrization in negligible amounts.
|
||||
This results in very small right singular values of the deformation--matrix
|
||||
$\vec{U}$ that influence the condition--number and thus the *regularity* in a
|
||||
significant way. Further research is needed to refine *regularity* so that these
|
||||
problems get addressed.
|
||||
|
||||
Richter et al. also compared the behaviour of direct and indirect manipulation
|
||||
in \cite{anrichterEvol}, whereas we merely used an indirect \ac{FFD}--approach.
|
||||
As direct manipulations tend to perform better than indirect manipulations, the
|
||||
usage of \acf{DM--FFD} could also work better with the criteria we examined.
|
||||
|
||||
\improvement[inline]{write more outlook/further research}
|
||||
|
||||
\improvement[inline]{Bibliotheksverzeichnis links anpassen. DOI überschreibt
|
||||
Direktlinks des Autors.\newline
|
||||
|
BIN
arbeit/ma.pdf
BIN
arbeit/ma.pdf
Binary file not shown.
247
arbeit/ma.tex
247
arbeit/ma.tex
@ -2,8 +2,9 @@
|
||||
% abstracton : Abstract mit Ueberschrift
|
||||
\documentclass[
|
||||
a4paper, % default
|
||||
12pt, % default = 11pt
|
||||
BCOR10mm, % Bindungskorrektur bei Klebebindung 6mm, bei Lochen BCOR8.25mm
|
||||
11pt, % default = 11pt
|
||||
DIV=calc,
|
||||
BCOR6mm, % Bindungskorrektur bei Klebebindung 6mm, bei Lochen BCOR8.25mm
|
||||
twoside, % default, 2seitig
|
||||
titlepage,
|
||||
% pagesize=auto
|
||||
@ -168,8 +169,6 @@ Unless otherwise noted the following holds:
|
||||
|
||||
\chapter{Introduction}\label{introduction}
|
||||
|
||||
\improvement[inline]{Mehr Bilder}
|
||||
|
||||
Many modern industrial design processes require advanced optimization
|
||||
methods due to the increased complexity resulting from more and more
|
||||
degrees of freedom as methods refine and/or other methods are used.
|
||||
@ -181,6 +180,13 @@ circuit boards or stacking of 3D--objects). Moreover these are typically
|
||||
not static environments but requirements shift over time or from case to
|
||||
case.
|
||||
|
||||
\begin{figure}[hbt]
|
||||
\centering
|
||||
\includegraphics[width=\textwidth]{img/Evo_overview.png}
|
||||
\caption{Example of the use of evolutionary algorithms in automotive design
|
||||
(from \cite{anrichterEvol}).}
|
||||
\end{figure}
|
||||
|
||||
Evolutionary algorithms cope especially well with these problem domains
|
||||
while addressing all the issues at hand\cite{minai2006complex}. One of
|
||||
the main concerns in these algorithms is the formulation of the problems
|
||||
@ -214,6 +220,12 @@ from context to context\cite{richter2015evolvability}. As a consequence
|
||||
there is need for some criteria we can measure, so that we are able to
|
||||
compare different representations to learn and improve upon these.
|
||||
|
||||
\begin{figure}[hbt]
|
||||
\centering
|
||||
\includegraphics[width=\textwidth]{img/deformations.png}
|
||||
\caption{Example of RBF--based deformation and FFD targeting the same mesh.}
|
||||
\end{figure}
|
||||
|
||||
One example of such a general representation of an object is to generate
|
||||
random points and represent vertices of an object as distances to these
|
||||
points --- for example via \acf{RBF}. If one (or the algorithm) would
|
||||
@ -247,7 +259,7 @@ establish some background--knowledge of evolutionary algorithms (in
|
||||
\ref{sec:back:evo}) and why this is useful in our domain (in
|
||||
\ref{sec:back:evogood}) followed by the definition of the different
|
||||
evolvability criteria established in \cite{anrichterEvol} (in
|
||||
\ref {sec:back:rvi}).
|
||||
\ref {sec:intro:rvi}).
|
||||
|
||||
In Chapter \ref{sec:impl} we take a look at our implementation of
|
||||
\ac{FFD} and the adaptation for 3D--meshes that were used. Next, in
|
||||
@ -486,9 +498,21 @@ The main algorithm just repeats the following steps:
|
||||
\end{itemize}
|
||||
|
||||
All these functions can (and mostly do) have a lot of hidden parameters
|
||||
that can be changed over time.
|
||||
that can be changed over time. A good overview of this is given in
|
||||
\cite{eiben1999parameter}, so we only give a small excerpt here.
|
||||
|
||||
\improvement[inline]{Genauer: Welche? Wo? Wieso? ...}
|
||||
For example the mutation can consist of merely a single \(\sigma\)
|
||||
determining the strength of the gaussian defects in every parameter ---
|
||||
or giving a different \(\sigma\) to every part. An even more
|
||||
sophisticated example would be the \glqq 1/5 success rule\grqq ~from
|
||||
\cite{rechenberg1973evolutionsstrategie}.
|
||||
|
||||
Also in selection it may not be wise to only take the best--performing
|
||||
individuals, because it may be that the optimization has to overcome a
|
||||
barrier of bad fitness to achieve a better local optimum.
|
||||
|
||||
Recombination also does not have to be mere random choosing of parents,
|
||||
but can also take ancestry, distance of genes or grouping into account.
|
||||
|
||||
\section{Advantages of evolutionary
|
||||
algorithms}\label{advantages-of-evolutionary-algorithms}
|
||||
@ -512,8 +536,8 @@ Most of the advantages stem from the fact that a gradient--based
|
||||
procedure has only one point of observation from where it evaluates the
|
||||
next steps, whereas an evolutionary strategy starts with a population of
|
||||
guessed solutions. Because an evolutionary strategy modifies the
|
||||
solution randomly, keeping the best solutions and purging the worst, it
|
||||
can also target multiple different hypothesis at the same time where the
|
||||
solution randomly, keeping some solutions and purging others, it can
|
||||
also target multiple different hypothesis at the same time where the
|
||||
local optima die out in the face of other, better candidates.
|
||||
|
||||
\improvement[inline]{Verweis auf MO-CMA etc. Vielleicht auch etwas
|
||||
@ -539,15 +563,18 @@ deformations}\label{criteria-for-the-evolvability-of-linear-deformations}
|
||||
|
||||
As we have established in chapter \ref{sec:back:ffd}, we can describe a
|
||||
deformation by the formula \[
|
||||
\vec{V} = \vec{U}\vec{P}
|
||||
\] where \(\vec{V}\) is a \(n \times d\) matrix of vertices, \(\vec{U}\)
|
||||
are the (during parametrization) calculated deformation--coefficients
|
||||
and \(P\) is a \(m \times d\) matrix of control--points that we interact
|
||||
with during deformation.
|
||||
\vec{S} = \vec{U}\vec{P}
|
||||
\] where \(\vec{S}\) is a \(n \times d\) matrix of vertices\footnote{We
|
||||
use \(\vec{S}\) in this notation, as we will use this parametrization
|
||||
of a source--mesh to manipulate \(\vec{S}\) into a target--mesh
|
||||
\(\vec{T}\) via \(\vec{P}\)}, \(\vec{U}\) are the (during
|
||||
parametrization) calculated deformation--coefficients and \(P\) is a
|
||||
\(m \times d\) matrix of control--points that we interact with during
|
||||
deformation.
|
||||
|
||||
We can also think of the deformation in terms of differences from the
|
||||
original coordinates \[
|
||||
\Delta \vec{V} = \vec{U} \cdot \Delta \vec{P}
|
||||
\Delta \vec{S} = \vec{U} \cdot \Delta \vec{P}
|
||||
\] which is isomorphic to the former due to the linear correlation in
|
||||
the deformation. One can see in this way, that the way the deformation
|
||||
behaves lies solely in the entries of \(\vec{U}\), which is why the
|
||||
@ -614,9 +641,8 @@ in the given direction.
|
||||
The definition for an \emph{improvement potential} \(P\)
|
||||
is\cite{anrichterEvol}: \[
|
||||
\mathrm{potential}(\vec{U}) := 1 - \|(\vec{1} - \vec{UU}^+)\vec{G}\|^2_F
|
||||
\] \unsure[inline]{ist das $^2$ richtig?} given some approximate
|
||||
\(n \times d\) fitness--gradient \(\vec{G}\), normalized to
|
||||
\(\|\vec{G}\|_F = 1\), whereby \(\|\cdot\|_F\) denotes the
|
||||
\] given some approximate \(n \times d\) fitness--gradient \(\vec{G}\),
|
||||
normalized to \(\|\vec{G}\|_F = 1\), whereby \(\|\cdot\|_F\) denotes the
|
||||
Frobenius--Norm.
|
||||
|
||||
\chapter{\texorpdfstring{Implementation of
|
||||
@ -670,10 +696,10 @@ v_x \overset{!}{=} \sum_i N_{i,d,\tau_i}(u) c_i
|
||||
\] and do a gradient--descend to approximate the value of \(u\) up to an
|
||||
\(\epsilon\) of \(0.0001\).
|
||||
|
||||
For this we use the Gauss--Newton algorithm\cite{gaussNewton}
|
||||
\todo[inline]{rewrite. falsch und wischi-waschi. Least squares?} as the
|
||||
solution to this problem may not be deterministic, because we usually
|
||||
have way more vertices than control points (\(\#v~\gg~\#c\)).
|
||||
For this we employ the Gauss--Newton algorithm\cite{gaussNewton}, which
|
||||
converges into the least--squares solution. An exact solution of this
|
||||
problem is impossible most of the times, because we usually have way
|
||||
more vertices than control points (\(\#v~\gg~\#c\)).
|
||||
|
||||
\section{\texorpdfstring{Adaption of \ac{FFD} for a
|
||||
3D--Mesh}{Adaption of for a 3D--Mesh}}\label{adaption-of-for-a-3dmesh}
|
||||
@ -958,11 +984,10 @@ al.\cite[Section 3.2]{aschenbach2015} on similar models and was shown to
|
||||
lead to a more precise fit. The Laplacian
|
||||
|
||||
\begin{equation}
|
||||
\mathrm{regularization}(\vec{P}) = \frac{1}{\sum_i A_i} \sum_{i=1}^n A_i \cdot \left( \sum_{\vec{s_j} \in \mathcal{N}(\vec{s_i})} w_j \cdot \|\Delta \vec{s_j} - \Delta \vec{\overline{s}_j}\|^2 \right)
|
||||
\mathrm{regularization}(\vec{P}) = \frac{1}{\sum_i A_i} \sum_{i=1}^n A_i \cdot \left( \sum_{\vec{s}_j \in \mathcal{N}(\vec{s}_i)} w_j \cdot \|\Delta \vec{s}_j - \Delta \vec{s}_i\|^2 \right)
|
||||
\label{eq:reg3d}
|
||||
\end{equation}
|
||||
|
||||
\unsure[inline]{was ist $\vec{\overline{s}_j}$? Zentrum? eigentlich $s_i$?}
|
||||
is determined by the cotangent weighted displacement \(w_j\) of the to
|
||||
\(s_i\) connected vertices \(\mathcal{N}(s_i)\) and \(A_i\) is the
|
||||
Voronoi--area of the corresponding vertex \(\vec{s_i}\). We leave out
|
||||
@ -972,8 +997,10 @@ merely linear.
|
||||
This regularization--weight gives us a measure of stiffness for the
|
||||
material that we will influence via the \(\lambda\)--coefficient to
|
||||
start out with a stiff material that will get more flexible per
|
||||
iteration.
|
||||
\unsure[inline]{Andreas: hast du nen cite, wo gezeigt ist, dass das so sinnvoll ist?}
|
||||
iteration. As a side--effect this also limits the effects of
|
||||
overagressive movement of the control--points in the beginning of the
|
||||
fitting process and thus should limit the generation of ill--defined
|
||||
grids mentioned in section \ref{sec:impl:grid}.
|
||||
|
||||
\chapter{Evaluation of Scenarios}\label{evaluation-of-scenarios}
|
||||
|
||||
@ -1025,12 +1052,14 @@ deformation--matrix and use then the formulas for \emph{variability} and
|
||||
\emph{regularity} to get our predictions. Afterwards we solve the
|
||||
problem analytically to get the (normalized) correct gradient that we
|
||||
use as guess for the \emph{improvement potential}. To check we also
|
||||
consider a distorted gradient \(\vec{g}_{\textrm{d}}\) \[
|
||||
\vec{g}_{\textrm{d}} = \frac{\vec{g}_{\textrm{c}} + \mathbb{1}}{\|\vec{g}_{\textrm{c}} + \mathbb{1}\|}
|
||||
consider a distorted gradient \(\vec{g}_{\mathrm{d}}\) \[
|
||||
\vec{g}_{\mathrm{d}} = \frac{\mu \vec{g}_{\mathrm{c}} + (1-\mu)\mathbb{1}}{\|\mu \vec{g}_{\mathrm{c}} + (1-\mu) \mathbb{1}\|}
|
||||
\] where \(\mathbb{1}\) is the vector consisting of \(1\) in every
|
||||
dimension and \(\vec{g}_\textrm{c} = \vec{p^{*}} - \vec{p}\) the
|
||||
calculated correct gradient. As we always start with a gradient of
|
||||
\(\mathbb{0}\) this shortens to \(\vec{g}_\textrm{c} = \vec{p^{*}}\).
|
||||
dimension, \(\vec{g}_\mathrm{c} = \vec{p^{*}} - \vec{p}\) is the
|
||||
calculated correct gradient, and \(\mu\) is used to blend between
|
||||
\(\vec{g}_\mathrm{c}\) and \(\mathbb{1}\). As we always start with a
|
||||
gradient of \(p = \mathbb{0}\) this means shortens
|
||||
\(\vec{g}_\mathrm{c} = \vec{p^{*}}\).
|
||||
|
||||
\begin{figure}[ht]
|
||||
\begin{center}
|
||||
@ -1048,13 +1077,24 @@ grids get tricky to solve with our implemented newtons--method we avoid
|
||||
the generation of such self--intersecting grids for our testcases (see
|
||||
section \ref{3dffd}).
|
||||
|
||||
To achieve that we select a uniform distributed number
|
||||
\(r \in [-0.25,0.25]\) per dimension and shrink the distance to the
|
||||
neighbours (the smaller neighbour for \(r < 0\), the larger for
|
||||
\(r > 0\)) by the factor \(r\)\footnote{Note: On the Edges this
|
||||
displacement is only applied outwards by flipping the sign of \(r\),
|
||||
if appropriate.}.
|
||||
\improvement[inline]{update!! gaussian, not uniform!!}
|
||||
To achieve that we generated a gaussian distributed number with
|
||||
\(\mu = 0, \sigma=0.25\) and clamped it to the range \([-0.25,0.25]\).
|
||||
We chose such an \(r \in [-0.25,0.25]\) per dimension and moved the
|
||||
control--points by that factor towards their respective
|
||||
neighbours\footnote{Note: On the Edges this displacement is only applied
|
||||
outwards by flipping the sign of \(r\), if appropriate.}.
|
||||
|
||||
In other words we set
|
||||
|
||||
\begin{equation*}
|
||||
p_i =
|
||||
\begin{cases}
|
||||
p_i + (p_i - p_{i-1}) \cdot r, & \textrm{if } r \textrm{ negative} \\
|
||||
p_i + (p_{i+1} - p_i) \cdot r, & \textrm{if } r \textrm{ positive}
|
||||
\end{cases}
|
||||
\end{equation*}
|
||||
|
||||
in each dimension separately.
|
||||
|
||||
An Example of such a testcase can be seen for a \(7 \times 4\)--grid in
|
||||
figure \ref{fig:example1d_grid}.
|
||||
@ -1177,19 +1217,26 @@ grid--resolutions}
|
||||
\label{fig:1dimp}
|
||||
\end{figure}
|
||||
|
||||
\improvement[inline]{write something about it..}
|
||||
The improvement potential should correlate to the quality of the
|
||||
fitting--result. We plotted the results for the tested grid-sizes
|
||||
\(5 \times 5\), \(7 \times 7\) and \(10 \times 10\) in figure
|
||||
\ref{fig:1dimp}. We tested the \(4 \times 7\) and \(7 \times 4\) grids
|
||||
as well, but omitted them from the plot.
|
||||
|
||||
\begin{itemize}
|
||||
\tightlist
|
||||
\item
|
||||
spearman 1 (p=0)
|
||||
\item
|
||||
gradient macht keinen unterschied
|
||||
\item
|
||||
\(UU^+\) scheint sehr kleine EW zu haben, s. regularität
|
||||
\item
|
||||
trotzdem sehr gutes kriterium - auch ohne Richtung.
|
||||
\end{itemize}
|
||||
Additionally we tested the results for a distorted gradient described in
|
||||
\ref{sec:proc:1d} with a \(\mu\)--value of \(0.25\), \(0.5\), \(0,75\),
|
||||
and \(1.0\) for the \(5 \times 5\) grid and with a \(\mu\)--value of
|
||||
\(0.5\) for all other cases.
|
||||
|
||||
All results show the identical \emph{very strong} and \emph{significant}
|
||||
correlation with a Spearman--coefficient of \(- r_S = 1.0\) and p--value
|
||||
of \(0\).
|
||||
|
||||
These results indicate, that \(\|\mathbb{1} - \vec{U}\vec{U}^{+}\|_F\)
|
||||
is close to \(0\), reducing the impacts of any kind of gradient.
|
||||
Nevertheless, the improvement potential seems to be suited to make
|
||||
estimated guesses about the quality of a fit, even lacking an exact
|
||||
gradient.
|
||||
|
||||
\section{Procedure: 3D Function
|
||||
Approximation}\label{procedure-3d-function-approximation}
|
||||
@ -1244,10 +1291,11 @@ are good.
|
||||
|
||||
In figure \ref{fig:setup3d} we show an example setup of the scene with a
|
||||
\(4\times 4\times 4\)--grid. Identical to the 1--dimensional scenario
|
||||
before, we create a regular grid and move the control-points
|
||||
\improvement{Beschreiben wie} random between their neighbours, but in
|
||||
three instead of two dimensions\footnote{Again, we flip the signs for
|
||||
the edges, if necessary to have the object still in the convex hull.}.
|
||||
before, we create a regular grid and move the control-points in the
|
||||
exact same random manner between their neighbours as described in
|
||||
section \ref{sec:proc:1d}, but in three instead of two
|
||||
dimensions\footnote{Again, we flip the signs for the edges, if necessary
|
||||
to have the object still in the convex hull.}.
|
||||
|
||||
\begin{figure}[!htb]
|
||||
\includegraphics[width=\textwidth]{img/3d_grid_resolution.png}
|
||||
@ -1491,7 +1539,15 @@ in brackets for various given grids ($\mathrm{X} \in [4,5,7], \mathrm{Y} \in [4,
|
||||
\label{tab:3dimp}
|
||||
\end{table}
|
||||
|
||||
\begin{figure}[!htb]
|
||||
Comparing to the 1D--scenario, we do not know the optimal solution to
|
||||
the given problem and for the calculation we only use the initial
|
||||
gradient produced by the initial correlation between both objects. This
|
||||
gradient changes with every iteration and will be off our first guess
|
||||
very quickly. This is the reason we are not trying to create
|
||||
artificially bad gradients, as we have a broad range in quality of such
|
||||
gradients anyway.
|
||||
|
||||
\begin{figure}[htb]
|
||||
\centering
|
||||
\includegraphics[width=\textwidth]{img/evolution3d/improvement_montage.png}
|
||||
\caption[Improvement potential for different 3D--grids]{
|
||||
@ -1501,15 +1557,84 @@ indicate trends.}
|
||||
\label{fig:resimp3d}
|
||||
\end{figure}
|
||||
|
||||
\chapter{Schluss}\label{schluss}
|
||||
We plotted our findings on the improvement potential in a similar way as
|
||||
we did before with the regularity. In figure \ref{fig:resimp3d} one can
|
||||
clearly see the correlation and the spread within each setup and the
|
||||
behaviour when we increase the number of control--points.
|
||||
|
||||
Along with this we also give the spearman--coefficients along with their
|
||||
p--values in table \ref{tab:3dimp}. Within one scenario we only find a
|
||||
\emph{weak} to \emph{moderate} correlation between the improvement
|
||||
potential and the fitting error, but all findings (except for
|
||||
\(7 \times 4 \times 4\) and \(6 \times 6 \times 6\)) are significant.
|
||||
|
||||
If we take multiple datasets into account the correlation is \emph{very
|
||||
strong} and \emph{significant}, which is good, as this functions as a
|
||||
litmus--test, because the quality is naturally tied to the number of
|
||||
control--points.
|
||||
|
||||
All in all the improvement potential seems to be a good and sensible
|
||||
measure of quality, even given gradients of varying quality.
|
||||
|
||||
\improvement[inline]{improvement--potential vs. steps ist anders als in 1d! Plot
|
||||
und zeigen!}
|
||||
|
||||
\chapter{Discussion and outlook}\label{discussion-and-outlook}
|
||||
|
||||
\label{sec:dis}
|
||||
|
||||
\begin{itemize}
|
||||
\tightlist
|
||||
\item
|
||||
Regularity ist kacke für unser setup. Bessere Vorschläge? EW/EV?
|
||||
\end{itemize}
|
||||
In this thesis we took a look at the different criteria for evolvability
|
||||
as introduced by Richter et al.\cite{anrichterEvol}, namely
|
||||
\emph{variability}, \emph{regularity} and \emph{improvement potential}
|
||||
under different setup--conditions. Where Richter et al. used \acf{RBF},
|
||||
we employed \acf{FFD} to set up a low--complexity parametrization of a
|
||||
more complex vertex--mesh.
|
||||
|
||||
In our findings we could show in the 1D--scenario, that there were
|
||||
statistically significant very strong correlations between
|
||||
\emph{variability and fitting error} (\(0.94\)) and
|
||||
\emph{improvement--potential and fitting error} (\(1.0\)) with
|
||||
comparable results than Richter et al. (with \(0.31\) to \(0.88\) for
|
||||
the former and \(0.75\) to \(0.99\) for the latter), whereas we found
|
||||
only weak correlations for \emph{regularity and convergence--speed}
|
||||
(\(0.28\)) opposed to Richter et al. with \(0.39\) to
|
||||
\(0.91\).\footnote{We only took statistically \emph{significant} results
|
||||
into consideration when compiling these numbers. Details are given in
|
||||
the respective chapters.}
|
||||
|
||||
For the 3D--scenario our results show a very strong, significant
|
||||
correlation between \emph{variability and fitting error} with \(0.89\)
|
||||
to \(0.94\), which are pretty much in line with the findings of Richter
|
||||
et al. (\(0.65\) to \(0.95\)). The correlation between \emph{improvement
|
||||
potential and fitting error} behave similar, with our findings having a
|
||||
significant coefficient of \(0.3\) to \(0.95\) depending on the
|
||||
grid--resolution compared to the \(0.61\) to \(0.93\) from Richter et
|
||||
al. In the case of the correlation of \emph{regularity and convergence
|
||||
speed} we found very different (and often not significant) correlations
|
||||
and anti--correlations ranging from \(-0.25\) to \(0.46\), whereas
|
||||
Richter et al. reported correlations between \(0.34\) to \(0.87\).
|
||||
|
||||
Taking these results into consideration, one can say, that
|
||||
\emph{variability} and \emph{improvement potential} are very good
|
||||
estimates for the quality of a fit using \acf{FFD} as a deformation
|
||||
function.
|
||||
|
||||
One reason for the bad or erratic behaviour of the
|
||||
\emph{regularity}--criterion could be that in an \ac{FFD}--setting we
|
||||
have a likelihood of having control--points that are only contributing
|
||||
to the whole parametrization in negligible amounts. This results in very
|
||||
small right singular values of the deformation--matrix \(\vec{U}\) that
|
||||
influence the condition--number and thus the \emph{regularity} in a
|
||||
significant way. Further research is needed to refine \emph{regularity}
|
||||
so that these problems get addressed.
|
||||
|
||||
Richter et al. also compared the behaviour of direct and indirect
|
||||
manipulation in \cite{anrichterEvol}, whereas we merely used an indirect
|
||||
\ac{FFD}--approach. As direct manipulations tend to perform better than
|
||||
indirect manipulations, the usage of \acf{DM--FFD} could also work
|
||||
better with the criteria we examined.
|
||||
|
||||
\improvement[inline]{write more outlook/further research}
|
||||
|
||||
\improvement[inline]{Bibliotheksverzeichnis links anpassen. DOI überschreibt
|
||||
Direktlinks des Autors.\newline
|
||||
|
@ -3,7 +3,8 @@
|
||||
\documentclass[
|
||||
a4paper, % default
|
||||
$if(fontsize)$$fontsize$,$endif$ % default = 11pt
|
||||
BCOR10mm, % Bindungskorrektur bei Klebebindung 6mm, bei Lochen BCOR8.25mm
|
||||
DIV=calc,
|
||||
BCOR6mm, % Bindungskorrektur bei Klebebindung 6mm, bei Lochen BCOR8.25mm
|
||||
twoside, % default, 2seitig
|
||||
titlepage,
|
||||
% pagesize=auto
|
||||
|
Reference in New Issue
Block a user