Topic: Expert systems :: a sudoku expert |
|
|---|---|
| Author | Thread |
|
Maniac (V) Inmate From: |
posted 04-20-2006 08:59
Hello world. |
|
Paranoid (IV) Inmate From: Norway |
posted 04-20-2006 09:31
.hta ?! what's the advantage of .hta ? Personally I'd stick to the web standards. |
|
Maniac (V) Inmate From: |
posted 04-20-2006 09:57
How cool! |
|
Paranoid (IV) Inmate From: Maryland, USA |
posted 04-20-2006 20:52
Well, you could use a database instead. Or a file on a server. |
|
Maniac (V) Inmate From: |
posted 04-20-2006 23:07
Yeah, hta means that, unrestricted ActiveX on Windows using html, html windows progs of some sort. |
|
Paranoid (IV) Inmate From: Maryland, USA |
posted 04-21-2006 05:35
Sounds cool, any way you do it. |
|
Maniac (V) Inmate From: |
posted 04-26-2006 23:47
Ack. Big time ack. And yet, this is ***vvvvvveeeeeerrrrrry interesting*** |
|
Paranoid (IV) Inmate From: Norway |
posted 04-27-2006 08:49
quote: Seems like you need A little something to get you started |
|
Maniac (V) Inmate From: |
posted 04-27-2006 09:53
Fascinating stuff. Do you the Montecarlo method? When you generate random values, and can actually solve |
|
Maniac (V) Inmate From: |
posted 04-27-2006 13:13
My.. am I that guy? The guy who says stuff like "stochastic algorithms", "genetic algorithms" and "montecarlo method" |
|
Paranoid (IV) Inmate From: Norway |
posted 04-27-2006 13:55
|
|
Maniac (V) Inmate From: |
posted 04-27-2006 14:06
*slaps p01 with a huge trout*. |
|
Paranoid (IV) Inmate From: Norway |
posted 04-27-2006 14:13
|
|
Bipolar (III) Inmate From: Sweden |
posted 04-27-2006 21:44
GAs are not guaranteed to give you a valid solution to a problem, or even a solution at all. It depends alot on the evaluation method you use to rate each potential solution, and how much mutation is allowed. You might get a solution which is 99% valid but then it ends up in a kind of loop and never (or after millions of iterations) reaches a 100% good solution. |
|
Maniac (V) Inmate From: |
posted 04-27-2006 22:06
I think elitism is all about compensating for that, haven't got around the concept of elitism though. But I know you can set a strict terminal condition. |
|
Bipolar (III) Inmate From: Sweden |
posted 04-28-2006 01:32
If I remember correctly, you need to keep some of the best samples from the population intact, while some are mated. Decent samples are also mated, while the worst samples are left to die. A few are mutated, and not mated but kept for comparison with the next population. |
|
Maniac (V) Inmate From: |
posted 04-28-2006 10:31
Zone rows would be genes (no special encoding required, if you come to think of it, sudoku grids already "are" genomes code: <html>
<head>
<style type="text/css">
body{overflow: hidden; background: #446644; text-align: center; font-family: arial; font-size: 12px; }
.mainFrame{position: relative; text-align: center; background: #ccb888; /*top: 20px; left: 20px;*/ width: 500px; height: 500px; border: 1px solid black;}
.subFrame{position: relative; background: #ffebbb; top: 1px; left: 1px; width: 33.33%; height: 33.33%; border: 1px solid black; float: left;}
.cell{position: relative; background: #ffebbb; top: 1px; left: 1px; width: 33%; height: 33%; border: 1px dashed gray; float: left;}
input{ background: #ddc999; }
</style>
<script type="text/javascript" src="utils.js"></script>
</head>
<body>
<div class="mainFrame">
<div class="subFrame">
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
</div>
<div class="subFrame">
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
</div>
<div class="subFrame">
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
</div>
<div class="subFrame">
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
</div>
<div class="subFrame">
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
</div>
<div class="subFrame">
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
</div>
<div class="subFrame">
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
</div>
<div class="subFrame">
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
</div>
<div class="subFrame">
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
</div>
<form>
Generation: <input type="text" size="2" /> Extremums: <input type="text" size="2" /><input type="text" size="2" /> Time elapsed: <input type="text" size="10" id="hourGlass" /><br/><br/>
<input type="button" value="Start resolution"/><input type="button" value="|> Step"/><input type="button" value="|| Pause"/><input type="button" value="[] Clear"/>
</form>
</div>
</body>
</html>
code: var timeLine = 0;
var baseTime = 0;
var deltaT = 0;
var allLayers = 0;
//************ (Conan the) destruct0r
function unload_gui(){
timeLine = null;
allLayers = null;
}
//************ Grid object
function grid(){
var tmp = new Array();
return tmp;
}
//************ Control timer, for gui functions
function timer(){
}
//************ Cell object?
function cell(value){
this.value = value;
}
//************ Mouse event handlers for cells
function hoover(){
this.style.defaultBackground = this.style.background;
this.style.background = "#ffee00";
}
function unhoover(){
this.style.background = this.style.defaultBackground;
}
function cellclicked(){
this.style.background = "#bbbbbb";
}
//************ Initialisation (constructor, so to speak)
function initialize_gui(){
timeLine = setInterval("timer",1);
var obj = new grid();
//grid[1][1] = "toast";
var i = 0;
allLayers = document.body.getElementsByTagName("div");
var workaround = allLayers.length;
while(++i<allLayers.length){
var tmp = allLayers[i].className;
if(allLayers[i].className == "cell"){
allLayers[i].onmouseover = hoover;
allLayers[i].onmouseout = unhoover;
allLayers[i].onmousedown = cellclicked;
allLayers[i].onmouseup = unhoover;
}
}
}
//************ Constructor / Destructor bindings
window.onload = initialize_gui;
window.onunload = unload_gui; |
|
Bipolar (III) Inmate From: Sweden |
posted 04-28-2006 14:25
Told you I read the article a long time ago lol. All I know about NN, GA and other forms of AI, I've learned myself, but I will study the subject closer in a computer game programming course school after the summer, if I get in... |
|
Maniac (V) Inmate From: |
posted 04-28-2006 14:42
No, you forgive me if I am rude whore, it's simply due to extreme priorities for today, no offense meant in any way, just not enough time to |
|
Bipolar (III) Inmate From: Sweden |
posted 04-29-2006 01:48
I agree on the difference between elitism and fitness. |
|
Maniac (V) Inmate From: |
posted 05-02-2006 18:59
Big time ~sigh. |