diff --git a/arbeit/ma.md b/arbeit/ma.md index 4b03d6a..1cdb821 100644 --- a/arbeit/ma.md +++ b/arbeit/ma.md @@ -180,14 +180,18 @@ continuous (given $d \ge 1$) as every $p_i$ gets blended in between $\tau_i$ and $\tau_{i+d}$ and out between $\tau_{i+1}$, and $\tau_{i+d+1}$ as can bee seen from the two coefficients in every step of the recursion. -\improvement[inline]{Weitere Eigenschaften erwähnen: -\newline Convex hull -\newline $\sum_i N_i = 1$? -\newline Bilder von Basisfunktionen zur Visualisierung. +This means that all changes are only a local linear combination between the +control--point $p_i$ to $p_{i+d+1}$ and consequently this yields to the +convex--hull--property of B-Splines --- meaning, that no matter how we choose +our coefficients, the resulting points all have to lie inside convex--hull of +the control--points. + +\improvement[inline]{ +Bilder von Basisfunktionen zur Visualisierung. } For a given number of points $v_1,\dots,v_n$ we can then calculate -the contributions $n_{i,j}~:=~N_{j,d,\tau}$ of each control point $p_j$ to get the +the contributions \linebreak[4]$n_{i,j}~:=~N_{j,d,\tau}$ of each control point $p_j$ to get the projection from the control--point--space into the object--space: $$ v_i = \sum_j n_{i,j} \cdot p_j = \vec{n}_i^{T} \vec{p} @@ -264,16 +268,21 @@ however, is very generic and we introduce it here in a broader sense. The general shape of an evolutionary algorithm (adapted from \cite{back1993overview}) is outlined in Algorithm \ref{alg:evo}. Here, $P(t)$ denotes the population of parameters in step $t$ of the algorithm. The -population contains $\mu$ individuals $a_i$ that fit the shape of the parameters -we are looking for. Typically these are initialized by a random guess or just -zero. Further on we need a so--called *fitness--function* $\Phi : I \mapsto M$\improvement{Was ist $I,M$?\newline Bezug Genotyp/Phenotyp} that can take -each parameter to a measurable space along a convergence--function $c : I \mapsto -\mathbb{B}$ that terminates the optimization. +population contains $\mu$ individuals $a_i$ from the possible individual--set +$I$ that fit the shape of the parameters we are looking for. Typically these are +initialized by a random guess or just zero. Further on we need a so--called +*fitness--function* $\Phi : I \mapsto M$ that can take each parameter to a measurable +space $M$ (usually $M = \mathbb{R}$) along a convergence--function $c : I \mapsto \mathbb{B}$ +that terminates the optimization. + +Biologically speaking the set $I$ corresponds to the set of possible *Genotypes* +while $M$ represents the possible observable *Phenotypes*. The main algorithm just repeats the following steps: - **Recombine** with a recombination--function $r : I^{\mu} \mapsto I^{\lambda}$ to - generate new individuals based on the parents characteristics. + generate $\lambda$ new individuals based on the characteristics of the $\mu$ + parents. This makes sure that the next guess is close to the old guess. - **Mutate** with a mutation--function $m : I^{\lambda} \mapsto I^{\lambda}$ to introduce new effects that cannot be produced by mere recombination of the @@ -332,9 +341,23 @@ least get suboptimal solutions fast, which then refine over time. ## Criteria for the evolvability of linear deformations \label{sec:intro:rvi} -\improvement[inline]{Nomenklatur. Was ist $\vec{U}$? Kurz Matrix--Darstellung -des Problems & Rückgriff auf FFD-Kapitel.} +As we have established in chapter \ref{sec:back:ffd}, we can describe a +deformation by the formula +$$ +V = UP +$$ +where $V$ is a $n \times d$ matrix of vertices, $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 V = U \cdot \Delta 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 $U$, which is why the three criteria focus on this. ### Variability @@ -550,7 +573,8 @@ entfernen kann?} For our tests we chose different uniformly sized grids and added gaussian noise onto each control-point^[For the special case of the outer layer we only applied -noise away from the object] to simulate different starting-conditions. +noise away from the object, so the object is still confined in the convex hull +of the control--points.] to simulate different starting-conditions. \unsure[inline]{verweis auf DM--FFD?} diff --git a/arbeit/ma.pdf b/arbeit/ma.pdf index 9b135c3..0af94be 100644 Binary files a/arbeit/ma.pdf and b/arbeit/ma.pdf differ diff --git a/arbeit/ma.tex b/arbeit/ma.tex index 2065d41..11a8d87 100644 --- a/arbeit/ma.tex +++ b/arbeit/ma.tex @@ -148,20 +148,21 @@ Unless otherwise noted the following holds: \tightlist \item lowercase letters \(x,y,z\)\\ - refer to real variables and represent a point in 3D--Space. + refer to real variables and represent the coordinates of a point in + 3D--Space. \item lowercase letters \(u,v,w\)\\ - refer to real variables between \(0\) and \(1\) used as coefficients + refer to real variables between \(0\) and \(1\) used as coefficients in a 3D B--Spline grid. \item other lowercase letters\\ - refer to other scalar (real) variables. + refer to other scalar (real) variables. \item lowercase \textbf{bold} letters (e.g. \(\vec{x},\vec{y}\))\\ - refer to 3D coordinates + refer to 3D coordinates \item uppercase \textbf{BOLD} letters (e.g. \(\vec{D}, \vec{M}\))\\ - refer to Matrices + refer to Matrices \end{itemize} \chapter{Introduction}\label{introduction} @@ -169,15 +170,15 @@ Unless otherwise noted the following holds: \improvement[inline]{Mehr Bilder} Many modern industrial design processes require advanced optimization -methods due to the increased complexity. These designs have to adhere to -more and more degrees of freedom as methods refine and/or other methods -are used. Examples for this are physical domains like aerodynamic -(i.e.~drag), fluid dynamics (i.e.~throughput of liquid) --- where the -complexity increases with the temporal and spatial resolution of the -simulation --- or known hard algorithmic problems in informatics -(i.e.~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. +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 domains like aerodynamic (i.e.~drag), +fluid dynamics (i.e.~throughput of liquid) --- where the complexity +increases with the temporal and spatial resolution of the simulation --- +or known hard algorithmic problems in informatics (i.e.~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. Evolutionary algorithms cope especially well with these problem domains while addressing all the issues at hand\cite{minai2006complex}. One of @@ -228,7 +229,7 @@ the original author used, namely \emph{regularity}, \emph{variability}, and \emph{improvement potential}. We introduce these term in detail in Chapter \ref{sec:intro:rvi}. In the original publication the author could show a correlation between these evolvability--criteria with the -quality and potential of such optimization. +quality and convergence speed of such optimization. We will replicate the same setup on the same objects but use \acf{FFD} instead of \acf{RBF} to create a local deformation near the control @@ -332,16 +333,20 @@ between \(\tau_i\) and \(\tau_{i+d}\) and out between \(\tau_{i+1}\), and \(\tau_{i+d+1}\) as can bee seen from the two coefficients in every step of the recursion. -\improvement[inline]{Weitere Eigenschaften erwähnen: -\newline Convex hull -\newline $\sum_i N_i = 1$? -\newline Bilder von Basisfunktionen zur Visualisierung. +This means that all changes are only a local linear combination between +the control--point \(p_i\) to \(p_{i+d+1}\) and consequently this yields +to the convex--hull--property of B-Splines --- meaning, that no matter +how we choose our coefficients, the resulting points all have to lie +inside convex--hull of the control--points. + +\improvement[inline]{ +Bilder von Basisfunktionen zur Visualisierung. } For a given number of points \(v_1,\dots,v_n\) we can then calculate the -contributions \(n_{i,j}~:=~N_{j,d,\tau}\) of each control point \(p_j\) -to get the projection from the control--point--space into the -object--space: \[ +contributions \linebreak[4]\(n_{i,j}~:=~N_{j,d,\tau}\) of each control +point \(p_j\) to get the projection from the control--point--space into +the object--space: \[ v_i = \sum_j n_{i,j} \cdot p_j = \vec{n}_i^{T} \vec{p} \] or written for all points at the same time: \[ \vec{v} = \vec{N} \vec{p} @@ -420,14 +425,17 @@ broader sense. The general shape of an evolutionary algorithm (adapted from \cite{back1993overview}) is outlined in Algorithm \ref{alg:evo}. Here, \(P(t)\) denotes the population of parameters in step \(t\) of the -algorithm. The population contains \(\mu\) individuals \(a_i\) that fit -the shape of the parameters we are looking for. Typically these are -initialized by a random guess or just zero. Further on we need a -so--called \emph{fitness--function} -\(\Phi : I \mapsto M\)\improvement{Was ist $I,M$?\newline Bezug Genotyp/Phenotyp} -that can take each parameter to a measurable space along a -convergence--function \(c : I \mapsto \mathbb{B}\) that terminates the -optimization. +algorithm. The population contains \(\mu\) individuals \(a_i\) from the +possible individual--set \(I\) that fit the shape of the parameters we +are looking for. Typically these are initialized by a random guess or +just zero. Further on we need a so--called \emph{fitness--function} +\(\Phi : I \mapsto M\) that can take each parameter to a measurable +space \(M\) (usually \(M = \mathbb{R}\)) along a convergence--function +\(c : I \mapsto \mathbb{B}\) that terminates the optimization. + +Biologically speaking the set \(I\) corresponds to the set of possible +\emph{Genotypes} while \(M\) represents the possible observable +\emph{Phenotypes}. The main algorithm just repeats the following steps: @@ -435,14 +443,14 @@ The main algorithm just repeats the following steps: \tightlist \item \textbf{Recombine} with a recombination--function - \(r : I^{\mu} \mapsto I^{\lambda}\) to generate new individuals based - on the parents characteristics.\\ - This makes sure that the next guess is close to the old guess. + \(r : I^{\mu} \mapsto I^{\lambda}\) to generate \(\lambda\) new + individuals based on the characteristics of the \(\mu\) parents.\\ + This makes sure that the next guess is close to the old guess. \item \textbf{Mutate} with a mutation--function \(m : I^{\lambda} \mapsto I^{\lambda}\) to introduce new effects that cannot be produced by mere recombination of the parents.\\ - Typically this just adds minor defects to individual members of the + Typically this just adds minor defects to individual members of the population like adding a random gaussian noise or amplifying/dampening random parts. \item @@ -507,8 +515,21 @@ deformations}\label{criteria-for-the-evolvability-of-linear-deformations} \label{sec:intro:rvi} -\improvement[inline]{Nomenklatur. Was ist $\vec{U}$? Kurz Matrix--Darstellung -des Problems & Rückgriff auf FFD-Kapitel.} +As we have established in chapter \ref{sec:back:ffd}, we can describe a +deformation by the formula \[ +V = UP +\] where \(V\) is a \(n \times d\) matrix of vertices, \(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 V = U \cdot \Delta 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 \(U\), which is why the three +criteria focus on this. \subsection{Variability}\label{variability} @@ -730,8 +751,9 @@ entfernen kann?} For our tests we chose different uniformly sized grids and added gaussian noise onto each control-point\footnote{For the special case of - the outer layer we only applied noise away from the object} to -simulate different starting-conditions. + the outer layer we only applied noise away from the object, so the + object is still confined in the convex hull of the control--points.} +to simulate different starting-conditions. \unsure[inline]{verweis auf DM--FFD?} diff --git a/arbeit/settings/packages.tex b/arbeit/settings/packages.tex index 046bca1..fb95516 100644 --- a/arbeit/settings/packages.tex +++ b/arbeit/settings/packages.tex @@ -16,7 +16,7 @@ \usepackage{color} %\colorbox \usepackage{dsfont} %\mathds \usepackage{draftwatermark} -\SetWatermarkLightness{0.9} % default: 0.8 +\SetWatermarkLightness{0.95} % default: 0.8 \usepackage{epigraph} % \usepackage{euler} % euler: uni, eucal: baake, ohne: standard \usepackage{eucal} % euler calligraphy