var target:Array = ("actionsnippet").split("");
var leng:int=target.length;
var iterations:int = 0;
var alphabet:Array = ("abcdefghijklmnopqrstuvwxyz").split("");
var search:Array = randomString();
var indices:Array = new Array();
for (var i:int = 0; i<leng; i++) indices.push(i);
addEventListener(Event.ENTER_FRAME, onLoop);
function onLoop(evt:Event):void {
for (var i:int = 0; i<10; i++){
if (indices.length > 0){
var ii:int = int(Math.random()*indices.length);
var index:int = indices[ii];
search[index] = randomChar();
if (search[index] == target[index]){
indices.splice(ii,1);
}
trace(search);
iterations++;
}else{
trace("found after "+iterations+" iterations");
removeEventListener(Event.ENTER_FRAME, onLoop);
break;
}
}
}
function randomChar():String { return alphabet[int(Math.random()*alphabet.length)]; };
function randomString():Array {
var str:Array = new Array();
for (var i:int = 0; i<leng; i++) {
str.push(randomChar());
}
return str;
}
A little random hill climbing…
Here are the last few iterations… lowest number of iterations I noticed was round 250…
....
j,c,t,i,o,n,s,n,i,p,p,e,t
y,c,t,i,o,n,s,n,i,p,p,e,t
s,c,t,i,o,n,s,n,i,p,p,e,t
w,c,t,i,o,n,s,n,i,p,p,e,t
e,c,t,i,o,n,s,n,i,p,p,e,t
j,c,t,i,o,n,s,n,i,p,p,e,t
z,c,t,i,o,n,s,n,i,p,p,e,t
l,c,t,i,o,n,s,n,i,p,p,e,t
f,c,t,i,o,n,s,n,i,p,p,e,t
a,c,t,i,o,n,s,n,i,p,p,e,t
found after 361 iterations

