-
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

