Mentales habitudes - Tag - definition2015-10-19T19:25:25+02:00nojhanurn:md5:12147DotclearMore on "stochastic local search" definitionurn:md5:705773068ef68f0ce04b9d2bda4244322008-11-17T11:24:00+01:00nojhanAnecdotiquedefinitionmetaheuristicstochastic local search <p>Petr Pošík let an interesting comment on a previous post : <a href="http://metah.nojhan.net/post/2008/11/07/Metaheuristic-or-Stochastic-Local-Search#comments">"Metaheuristic"
or "Stochastic Local Search"?</a>. As bloggers always love worthwhile comments
from insightful readers, I copy it here, as an article, along with my
answer.</p>
<blockquote>
<p>I would like to present here an idea that will take the "stochastic" and
"local" idea even more further than Thomas and Dirk. In that view, even GAs are
local search techniques! Why?</p>
<p>It has a lot to do with the definition of neighborhood of the current state
of the algorithm. The state may be the position of an algorithm in the search
space. In classical local search, the state is given by mere 1 point. In
population-based techniques, the state is the whole population. New solutions
are usually generated only by local modifications of the state, i.e. the search
takes place only in the local neighborhood of the algorithm state.</p>
<p>Yes, of course, the local neighborhood of the population as a whole is very
broad and such a local search is much less prone to premature convergence and
exhibits a kind of global behaviour. But, IMHO, it is still a local
search...</p>
<p>I completely understand your view: if there is a non-zero probability of
generating any solution in the search space, then the search must eventually
find the global optimum, and thus performs a global search.</p>
<p>This is the case for many stochastic local search algorithm in continuous
domain which use e.g. normal distribution. But if you set the variance too
high, you will get very slow convergence to that global optimum which is in
practice not desirable. If you set variance too low, you will quickly find
local optimum, but you will have to wait for the global one virtually
infinitely long - again undesirable. Or, put it in another way, would you call
a "global optimization" technique still "global" if it takes zilions of years
to find that global solution?</p>
<p>In practice, I think, for continuous spaces we have to resort to algorithms
that exhibit local behavior since we always have some hard constraints on the
length of the optimization run. In my eyes, this perfectly justifies the name
"stochastic local search".</p>
</blockquote>
<p>In fact, as far as I comprehend them, both Dick Thierens and Thomas Stützle
shares your point of view. For them, GA are a kind of stochastic local
search.</p>
<p>I find the classification in "descent" algorithm and "population" ones
<a href="http://metah.nojhan.net/post/2007/10/12/Classification-of-metaheuristics">quite
artificial</a>. For example, simulated annealing is implemented as a descent
algorithm, but <a href="http://metah.nojhan.net/post/2008/09/11/What-is-the-ultimate-metaheuristic">does actually perform a
sampling of the objective function</a>, which is commonly seen as a population
algorithm characteristic.</p>
<p>More rigourously, I think that every <em>stochastic</em> metaheuristic does
try to avoid local optima. Stochastic processes are always here to do
so<sup>[<a href="http://metah.nojhan.net/post/2008/11/14/#pnote-298520-1" id="rev-pnote-298520-1" name="rev-pnote-298520-1">1</a>]</sup>.</p>
<p>Maybe the problem is the definition of <em>local</em> search. In my humble
opinion, a local search is a method that search for a <em>local</em> optimum.
This can be opposed to <em>global</em> search, where one want to find a
<em>global</em> optimum.</p>
<p>You are right when you point out that this is related to ergodicity, as only
an ergodic<sup>[<a href="http://metah.nojhan.net/post/2008/11/14/#pnote-298520-2" id="rev-pnote-298520-2" name="rev-pnote-298520-2">2</a>]</sup> algorithm may converge<sup>[<a href="http://metah.nojhan.net/post/2008/11/14/#pnote-298520-3" id="rev-pnote-298520-3" name="rev-pnote-298520-3">3</a>]</sup>, and thus be able to reliably find a global
optimum. Thus, yes, I will say that a true and rigorous optimization method is
global if, and only if, it is at least quasi-ergodic<sup>[<a href="http://metah.nojhan.net/post/2008/11/14/#pnote-298520-4" id="rev-pnote-298520-4" name="rev-pnote-298520-4">4</a>]</sup>. A pure random search is the basic global
optimization method, that a good metaheuristic should at least outperforms.</p>
<p>Here, it is the stochastic operators that manipulates the solutions that
permits the global behaviour. This is not related to the encoding of the
solutions/the neighbourhood structure, even if it is a really <em>crucial</em>
part of the algorithm.</p>
<p>Thus, a "stochastic local search" may be defined as a local search seeking a
global optimum, which is a paradoxical definition. I'd rather prefer that we
keep the implementation and the mathematical bases separated, and thus talk of
"stochastic search", or "stochastic metaheuristic".</p>
<p>Or else, one may want to use a paradoxical definition, as a matter of fun,
which is also a good reason to do so :-)</p>
<div class="footnotes">
<h4>Notes</h4>
<p>[<a href="http://metah.nojhan.net/post/2008/11/14/#rev-pnote-298520-1" id="pnote-298520-1" name="pnote-298520-1">1</a>] There may be probabilistic choices that are not related
to such tasks, but they are not linked to the iterative aspects of the search
algorithms, thus not being <em>stochastics</em></p>
<p>[<a href="http://metah.nojhan.net/post/2008/11/14/#rev-pnote-298520-2" id="pnote-298520-2" name="pnote-298520-2">2</a>] i.e. that can evaluate any solution</p>
<p>[<a href="http://metah.nojhan.net/post/2008/11/14/#rev-pnote-298520-3" id="pnote-298520-3" name="pnote-298520-3">3</a>] i.e. that have a non-null probability of finding the
global optimum in a finite time, or to say it differently, that can find the
global optimum after a time that may tends towards infinity (for continuous
problems, for discrete ones it is bounded by the size of the instance)</p>
<p>[<a href="http://metah.nojhan.net/post/2008/11/14/#rev-pnote-298520-4" id="pnote-298520-4" name="pnote-298520-4">4</a>] i.e. that can reach any solution in a <em>finite</em>
number of iterations</p>
</div>"Metaheuristic" or "Stochastic Local Search"?urn:md5:fa05f907c5ed0dfb9c71b2ae3e7664312008-11-07T10:38:00+01:00nojhanAnecdotiqueconferencesdefinitionmetaheuristicstochastic local search <p>During <a href="http://metah.nojhan.net/post/2008/11/06/2nd-International-Conference-on-Metaheuristics-and-Nature-Inspired-Computing">
their excellent tutorials at META 2008</a>, both Thomas and Dick talked about
"stochastic local search" and seems to be rather uncomfortable with the
"metaheuristic" term. They seems to reserve it for very high level well known
algorithms.</p>
<p>I'm not sure that using the term "stochastic" along with "local" is a good
idea. In all the algorithms, the use of probabilistic processes aims at
avoiding local optima. Thus, stochastic algorithms are not "local search"
anymore, but "global search". While I agree that it is a very good approach to
start with local search techniques, I would say that when you introduce
stochastic processes, then you enter the field of metaheuristics. On the other
hand, the paradoxal use of "stochastic" along with "local" may be interesting
from a marketing point of vue... but I like paradoxes.</p>
<p>Anyway, despite the fact that there would be a lot more to say about the
problem of nomenclature in our field (who says "everything is evolutionary"?),
this is not very important, I tink I will continue using "metaheuristics",
until a common term establish itself in the litterature.</p>What are metaheuristics ?urn:md5:0c3c19f8d320d8b16e3a3f4486afdf5c2006-08-23T00:00:00+02:00nojhanDiversdefinitionevolutionary computationhybridizationlocal searchmemetic algorithmmetaheuristictabu search <p>Despite the title of this blog, the term <em>metaheuristic</em> is not
really well defined.</p>
<p>One of the first occurence of the term can (of course) be found in a paper
by Fred Glover<sup>[<a href="http://metah.nojhan.net/post/2006/08/23/#pnote-188116-1" id="rev-pnote-188116-1" name="rev-pnote-188116-1">1</a>]</sup>: <em>Future Paths for Integer Programming and
Links to Artificial Intelligence</em><sup>[<a href="http://metah.nojhan.net/post/2006/08/23/#pnote-188116-2" id="rev-pnote-188116-2" name="rev-pnote-188116-2">2</a>]</sup>. In the section
concerning <em>tabu search</em>, he talks about <em>meta-heuristic</em>:</p>
<blockquote>
<p>Tabu search may be viewed as a "meta-heuristic" superimposed on another
heuristic. The approach undertakes to transcend local optimality by a strategy
of forbidding (or, more broadly, penalizing) certain moves.</p>
</blockquote>
<p>In the AI field, a <em>heuristic</em> is a specific method that help solving
a problem (from the greek for <em>to find</em>), but how must we understand the
<em>meta</em> word ? Well, in greek, it means "after", "beyond" (like in
<em>metaphysic</em>) or "about" (like in <em>metadata</em>). Reading Glover,
<em>metaheuristics</em> seems to be <em>heuristics beyond heuristics</em>,
which seems to be a good old definition, but what is the definition nowadays ?
The litterature is really prolific on this subject, and the definitions are
numerous.</p>
<p>There is at least three tendencies :</p>
<ol>
<li>one that consider that the most important part of <em>metaheuristcs</em> is
the gathering of several heuristics,</li>
<li>one other that promotes the fact that <em>meta</em>heuristics are designed
as generalistic methods, that can tackle several problems without major changes
in their design,</li>
<li>the last one that use the term only for evolutionnary algorithms when they
are hybridicized with local searches (methods that are called <em>memetic
algorithms</em> in the other points of vue).</li>
</ol>
<p>The last one is quite minor in the generalistic litterature, it can mainly
be found in the field of evolutionnary computation, separate out the two other
tendencies is more difficult.</p>
<p>Here are some definitions gathered in more or less generalistic papers:</p>
<blockquote>
<p>"iterative generation process which guides a subordinate heuristic by
combining intelligently different concepts for exploring and exploiting the
search space" (Osman and Laporte, 1996<sup>[<a href="http://metah.nojhan.net/post/2006/08/23/#pnote-188116-3" id="rev-pnote-188116-3" name="rev-pnote-188116-3">3</a>]</sup>)</p>
</blockquote>
<blockquote>
<p>"(metaheuristics) combine basic heuristic methods in higher level frameworks
aimed at efficiently and effectively exploring a search space" (Blum and Roli,
2003<sup>[<a href="http://metah.nojhan.net/post/2006/08/23/#pnote-188116-4" id="rev-pnote-188116-4" name="rev-pnote-188116-4">4</a>]</sup>)</p>
</blockquote>
<blockquote>
<p>"a metaheuristic can be seen as a general-purpose heuristic method designed
to guide an underlying problem-specific heuristic (...) A metaheuristic is
therefore a general algorithmic framework which can be applied to different
optimization problems with relative few modifications to make them adapted to a
specific problem." (Dorigo and Stützle, 2004<sup>[<a href="http://metah.nojhan.net/post/2006/08/23/#pnote-188116-5" id="rev-pnote-188116-5" name="rev-pnote-188116-5">5</a>]</sup>)</p>
</blockquote>
<blockquote>
<p>"(metaheuristics) apply to all kinds of problems (...) are, at least to some
extent, <em>stochastic</em> (...) direct, i.e. they do not resort to the
calculation of the gradients of the objective function (...) inspired by
<em>analogies</em>: with physics, biology or ethology" (Dréo, Siarry, Petrowski
and Taillard, 2006<sup>[<a href="http://metah.nojhan.net/post/2006/08/23/#pnote-188116-6" id="rev-pnote-188116-6" name="rev-pnote-188116-6">6</a>]</sup>)</p>
</blockquote>
<p>One can summarize by enumerating the expected characteristics:</p>
<ul>
<li>optimization algorithms,</li>
<li>with an iterative design,</li>
<li>combining low level heuristics,</li>
<li>aiming to tackle a large scale of "hard" problems.</li>
</ul>
<p>As it is pointed out by the last reference, a large majority of
metaheuristics (well, not to say <em>all</em>) use at least one stochastic
(probabilistic) process and does not use more information than the solution and
the associated value(s) of the objective function.</p>
<p>Talking about <em>combining</em> heuristics seems to be appropriate for
<em>Ant Colony Optimization</em>, that specifically needs one (following
Dorigo's point of vue), it can be less obvious for <em>Evolutionnary
Algorithms</em>. One can consider that <em>mutation</em>, or even the method's
strategy itself, is a heuristic, but isn't it too generalistic to be called a
<em>heuristic</em> ?</p>
<p>If we forget the difficulty to demarcate what can be called a
<em>heuristic</em> and what is the scope of the term <em>meta</em>, one can
simply look at the use of the term among specialists. Despite the fact that the
definition can be used in several fields (data mining, machine learning, etc.),
the term is used for optimization algorithms. This is perhaps the best reason
among others: the term permits to separate a research field from others, thus
adding a little bit of marketing...</p>
<p>I would thus use this definition:</p>
<blockquote>
<p>Metaheuristics are algorithms designed to tackle "hard" optimization
problems, with the help of iterative stochastic processes. These methods are
manipulating direct samples of the objective function, and can be applied to
several problems without major changes in their design.</p>
</blockquote>
<div class="footnotes">
<h4>Notes</h4>
<p>[<a href="http://metah.nojhan.net/post/2006/08/23/#rev-pnote-188116-1" id="pnote-188116-1" name="pnote-188116-1">1</a>] A recurrent joke says that whatever is your new idea,
it has already be written down by Glover</p>
<p>[<a href="http://metah.nojhan.net/post/2006/08/23/#rev-pnote-188116-2" id="pnote-188116-2" name="pnote-188116-2">2</a>] Comput. & Ops. Res.Vol. 13, No.5, pp. 533-549,
1986</p>
<p>[<a href="http://metah.nojhan.net/post/2006/08/23/#rev-pnote-188116-3" id="pnote-188116-3" name="pnote-188116-3">3</a>] <em>Metaheuristic: A bibliography</em>, Annals of
Operations Research, vol. 63, pp. 513-623, 1996</p>
<p>[<a href="http://metah.nojhan.net/post/2006/08/23/#rev-pnote-188116-4" id="pnote-188116-4" name="pnote-188116-4">4</a>] <em>Metaheuristics in combinatorial optimization:
Overview and conceptual comparison</em>, ACM Computing Surveys, vol. 35, issue
3, 2003</p>
<p>[<a href="http://metah.nojhan.net/post/2006/08/23/#rev-pnote-188116-5" id="pnote-188116-5" name="pnote-188116-5">5</a>] <em>Ant Colony Optimization</em>, MIT Press, 2004</p>
<p>[<a href="http://metah.nojhan.net/post/2006/08/23/#rev-pnote-188116-6" id="pnote-188116-6" name="pnote-188116-6">6</a>] <em>Metaheuristics for Hard Optimization</em>,
Springer, 2006</p>
</div>