diff --git a/chapters/2_background.tex b/chapters/2_background.tex index b1a53ad..9205a57 100644 --- a/chapters/2_background.tex +++ b/chapters/2_background.tex @@ -2,41 +2,10 @@ \chapter{Background}\label{ch:background} %************************************************ +\input{chapters/2_background_preamble} + \jip{TODO:\ Mention something about LCG.} -\noindent{}A goal shared between all programming languages is to provide a certain level -of abstraction: an assembly language allows you to abstract from the binary -instructions and memory positions; Low-level imperial languages, like FORTRAN, -were the first to allow you to abstract from the processor architecture of the -target machine; and nowadays writing a program requires little knowledge of the -actual workings of the hardware on which the program is executed. - -Freuder states that the ``Holy Grail'' of programming languages would be where -the user merely states the problem, and the computer solves it and that -\gls{constraint-modelling} is one of the biggest steps towards this goal to -this day \autocite*{freuder-1997-holygrail}. Different from imperative (and -even other declarative) languages, in a \cml{} the modeller does not describe -how to solve the problem, but rather provides the problem requirements. You -could say that a constraint model actually describes the solution to the -problem. - -In a constraint model, instead of specifying the manner in which we can find -the solution, we give a concise description of the problem. We describe what we -already know, the \parameters{}, what we wish to know, the \variables{}, and -the relationships that should exist between them, the \constraints{}. - -This type of combinatorial problem is typically called a \gls{csp}. The goal of -a \gls{csp} is to find values for the \variables{} that satisfy the -\constraints{} or prove that no such assignment exists. Many \cmls\ also -support the modelling of \gls{cop}, where a \gls{csp} is augmented with a -\gls{objective} \(z\). In this case the goal is to find a solution that -satisfies all \constraints{} while minimising (or maximising) \(z\). - -Although a constraint model does not contain any instructions on how to find a -suitable solution, these models can generally be given to a dedicated solving -program, or \solver{} for short, that can find a solution that fits the -requirements of the model. - \begin{example}% \label{ex:back-knapsack} diff --git a/chapters/2_background_preamble.tex b/chapters/2_background_preamble.tex new file mode 100644 index 0000000..b6b2995 --- /dev/null +++ b/chapters/2_background_preamble.tex @@ -0,0 +1,32 @@ +\noindent{}A goal shared between all programming languages is to provide a certain level +of abstraction: an assembly language allows you to abstract from the binary +instructions and memory positions; Low-level imperial languages, like FORTRAN, +were the first to allow you to abstract from the processor architecture of the +target machine; and nowadays writing a program requires little knowledge of the +actual workings of the hardware on which the program is executed. + +Freuder states that the ``Holy Grail'' of programming languages would be where +the user merely states the problem, and the computer solves it and that +\gls{constraint-modelling} is one of the biggest steps towards this goal to +this day \autocite*{freuder-1997-holygrail}. Different from imperative (and +even other declarative) languages, in a \cml{} the modeller does not describe +how to solve the problem, but rather provides the problem requirements. You +could say that a constraint model actually describes the solution to the +problem. + +In a constraint model, instead of specifying the manner in which we can find +the solution, we give a concise description of the problem. We describe what we +already know, the \parameters{}, what we wish to know, the \variables{}, and +the relationships that should exist between them, the \constraints{}. + +This type of combinatorial problem is typically called a \gls{csp}. The goal of +a \gls{csp} is to find values for the \variables{} that satisfy the +\constraints{} or prove that no such assignment exists. Many \cmls\ also +support the modelling of \gls{cop}, where a \gls{csp} is augmented with a +\gls{objective} \(z\). In this case the goal is to find a solution that +satisfies all \constraints{} while minimising (or maximising) \(z\). + +Although a constraint model does not contain any instructions on how to find a +suitable solution, these models can generally be given to a dedicated solving +program, or \solver{} for short, that can find a solution that fits the +requirements of the model. diff --git a/chapters/5_incremental.tex b/chapters/5_incremental.tex index 56f2ac4..621571a 100644 --- a/chapters/5_incremental.tex +++ b/chapters/5_incremental.tex @@ -1,3 +1,4 @@ +%************************************************ \chapter{Incremental Processing}\label{ch:incremental} %************************************************