12.07.2015 Views

Full Theoretical Runtime Analysis of Alternating ... - IEEE Xplore

Full Theoretical Runtime Analysis of Alternating ... - IEEE Xplore

Full Theoretical Runtime Analysis of Alternating ... - IEEE Xplore

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

4 <strong>Alternating</strong> Variable MethodAVM is similar to a Hill Climbing, and was employedin the early work <strong>of</strong> Korel [10]. The algorithm starts on arandom search point I, and then it considers modifications<strong>of</strong> the input variables, one at a time. The algorithm appliesan exploratory search to the chosen variable, in which thevariable is slightly modified (in our case, by ±1). If one<strong>of</strong> the neighbours has a better fitness, then the exploratorysearch is considered successful. Similarly to a Hill Climbing,the better neighbour will be selected as the new currentsolution. Moreover, a pattern search will take place. Onthe other hand, if none <strong>of</strong> the neighbours has better fitness,then AVM continues to do exploratory searches on the othervariables, until either a better neighbour has been found orall the variables have been unsuccessfully explored. In thelatter case, a restart from a new random point is done if aglobal optimum was not found.A pattern search consists <strong>of</strong> applying increasingly largerchanges to the chosen variable as long as a better solutionis found. The type <strong>of</strong> change depends on the exploratorysearch, which gives a direction <strong>of</strong> growth. For example, if abetter solution is found by decreasing the input variable by1, then the following pattern search will focus on decreasingthe value <strong>of</strong> that input variable.A pattern search ends when it does not find a better solution.In this case, AVM will start a new exploratory searchon the same input variable. In fact, the algorithm movesto consider one other variable only in the case that an exploratorysearch is unsuccessful.To simplify the writing <strong>of</strong> the AVM implementation, andfor making it more readable, it is not presented in its generalform. Instead, it is specialised in working on vectorsolutions <strong>of</strong> length three. The general version, that considersthis length as a problem parameter, would have the samecomputational behaviour in terms <strong>of</strong> evaluated solutions.Definition 2 (<strong>Alternating</strong> Variable Method (AVM)).while termination criterion not metChoose I uniformly in S.while I improved in last 3 loopsi := current loop index.Choose T i ∈{(1, 0, 0), (0, 1, 0), (0, 0, 1)} such thatT i ≠ T i−1 ∧ T i ≠ T i−2 .found := true.while foundfor d := 1 and d := −1found := exploratory search(T i ,d,I).if found, thenpattern search(T i ,d,I)Definition 3 (exploratory search(T i ,d,I)).I ′ := I + dT i .if f(I ′ ) ≥ f(I), thenreturn false.elseI := I ′ .return true.Definition 4 (pattern search(T i ,d,I)).k := 2.I ′ := I + kdT i .while f(I ′ ) 0, then AVM needs at most aconstant number Θ(1) <strong>of</strong> restarts to find a global optimum.Pro<strong>of</strong>. If we consider only the starting point, the AVM behavesas a random search, in which the probability <strong>of</strong> findinga global optimum is bigger than k. That can be describedas a Bernoulli process (see our theorems on randomsearch in [1]), with expected number <strong>of</strong> restarts that is loweror equal than 1/k.Theorem 1. The expected time for AVM to find an optimalsolution to the coverage <strong>of</strong> branches ID 0 and ID 1 isO(log n).117

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!