relacionada con el concepto de desarrollo
1. Referentes de fundamentación y ejes curriculares
1.8. Escuela y tecnologías de información y comunicación:
1.8.3. El hipertexto, la lectura crítica en internet
In 1983 Kirkpatrick et al. [64] proposed a new search technique based on the cooling processes of molten metals. The technique was simulated annealing. It has proved to be an extraordinarily simple, yet powerful, heuristic search tech- nique. It merges hill-climbing with the probabilistic acceptance of non-improving moves. The basic algorithm is shown in Figure 2.1.
The search starts at some initial state
. There is a control parameter
known as the temperature. This starts ‘high’ at
and is gradually lowered. At each temperature, a number
Repeat for(int ; ; ) Select if ( ) then else Generate if ( ) then
Until stopping criterion is met
Figure 2.1: Basic Simulated Annealing for Minimisation Problems
are attempted. A candidate state is randomly selected from the neighborhood
of the current state. The change in value,
, of is calculated. If it improves the value of (i.e. if the
for a minimisation problem) then a move to that state is taken ( ); if not, then it is taken with some probability. The worse a move is, the less likely it is to be accepted. The lower the temperature , the less likely is a worsening move to be accepted. Probabilistic acceptance is determined by generating a random value in the range (0..1) and performing the indicated comparison. Initially the temperature is high and virtually any move is accepted. As the temperature is lowered it becomes ever more difficult to accept worsening moves. Eventually, only improving moves are allowed and the process becomes ‘frozen’. The algorithm terminates when the stopping criterion is met. Common stopping criteria, and the ones used for the work in this thesis, are to stop the search after a fixed number
of inner loops have been executed, or else
when some maximum number
of consecutive unproductive inner loops have been executed (an inner loop is termed unproductive if no move is accepted within it). Generally the best state achieved so far will also be recorded (since the search may actually move out of it and subsequently be unable to find a state of similar quality). At the end of each inner loop the temperature is lowered. The simplest way of lowering the temperature is shown. This is known as geometric cooling. The basic simulated annealing algorithm has proven remarkably effective over a range of problems. This technique will be used (with hill-climbing) in all
the technical chapters of this thesis.
There are many nuances. For example other forms of cooling have been pro- posed, perhaps the most significant of these is logarithmic cooling. It is also possi- ble to ‘reheat’ the process to allow escape from suspected local optima and sophis- ticated parallelisable variants have been proposed. Theoretical results based on Markov chains are available to show that under appropriate conditions the search is guaranteed to converge on the global optimum. Unfortunately, this may require more function evaluations than enumerative search and so is of little practical use. Problem specific trade-offs are made that allow excellent solutions to be obtained under regimes that are practically computable. For examples of the practical use of annealing variants and the various issues involved in using annealing the reader is referred to [102, 100].
An interesting diversion from the ‘vanilla’ annealing (and one of particular relevance in this thesis) is provided by Chardaire et al.’s thermo-statistical persis- tency [16]. This deals with problems whose solutions are vectors of binary values (i.e. 0/1 problems). Some interesting patterns emerge if one profiles the values taken by specific elements
in the current solution vector
during the search. Initially, an element
may repeatedly switch values during the search without any obvious preference. However, as the search progresses and the temperature cools, the
may assume one value, say 1, more than the other. When such biases become significant, e.g. when an element spends 95 per cent of recent time at a particular value, it is highly likely that in the final solution the element will have that value too. Thermo-statistical persistency acknowledges this and actually fixes such values. Only moves involving non-fixed values are subsequently allowed with significant gains in efficiency. If one simply profiles the normal annealing search it is clear that some solution bits get ‘stuck’ at some value earlier in the search than others. Why? The order in which elements get stuck is clearly telling us something about the structure of the problem instance. But what? Can this form the basis of a ‘timing attack’ when applied to cryptological problems? For the time being it is noted that analysis techniques (here annealing-based search) have temporal characteristics that might be exploitable. Thermo-statistical ideas have seen application elsewhere (e.g. [101]) but do not seem widely used.