41 <p><B>Description:</b> |
41 <p><B>Description:</b> |
42 SAT-solver search for satisfying assignments of boolean formulas. Although this |
42 SAT-solver search for satisfying assignments of boolean formulas. Although this |
43 is a computationally hard problem (<A HREF="http://en.wikipedia.org/wiki/NP-complete">NP-complete</A>), |
43 is a computationally hard problem (<A HREF="http://en.wikipedia.org/wiki/NP-complete">NP-complete</A>), |
44 modern SAT-solvers routinely solve boolean formulas with 100,000 and more variables. |
44 modern SAT-solvers routinely solve boolean formulas with 100,000 and more variables. |
45 Application areas of SAT-solver are manifold: they range from hardware verification to |
45 Application areas of SAT-solver are manifold: they range from hardware verification to |
46 Sudoku solvers (see <a href="http://anytime.cs.umass.edu/aimath06/proceedings/P34.pdf">here</a>) |
46 Sudoku solvers (see <a href="http://anytime.cs.umass.edu/aimath06/proceedings/P34.pdf">here</a>). |
47 Every 2 years there is a competition of the best SAT-solvers in the world.</p> |
47 Every 2 years there is a competition of the best SAT-solvers in the world.</p> |
48 |
48 |
49 <p> |
49 <p> |
50 Most SAT-solvers are written in C. The aim of this project is to design and implement |
50 Most SAT-solvers are written in C. The aim of this project is to design and implement |
51 a SAT-solver in a functional programming language (preferably |
51 a SAT-solver in a functional programming language (preferably |
280 <B>Literature:</b> |
280 <B>Literature:</b> |
281 There is a web-page with various pointers to computer players |
281 There is a web-page with various pointers to computer players |
282 <A HREF="http://webdocs.cs.ualberta.ca/~games/">here</A>. There are |
282 <A HREF="http://webdocs.cs.ualberta.ca/~games/">here</A>. There are |
283 also some good books about computer players, for example: |
283 also some good books about computer players, for example: |
284 <table> |
284 <table> |
|
285 <tr><td><i>Artificial Intelligence: A Modern Approach</i> by S. Russel and P. Norvig, Prentice Hall, 2003. |
|
286 (standard textbook about search strategies). |
|
287 </td></tr> |
|
288 <tr><td><i>Principles of Artificial Intelligence</i> by N. J. Nilsson, Springer Verlag, 1980. |
|
289 (standard textbook about search strategies). |
|
290 </td></tr> |
|
291 |
285 <tr><td><i>Computer Game-Playing: Theory and Practice</i> by M. Bramer, Ellis Horwood Ltd, 1983. |
292 <tr><td><i>Computer Game-Playing: Theory and Practice</i> by M. Bramer, Ellis Horwood Ltd, 1983. |
286 (Considers techniques used for programming a variety of games: Chess, Go, Scrabble, Billiards, |
293 (Considers techniques used for programming a variety of games: Chess, Go, Scrabble, Billiards, |
287 Othello, etc; includes theoretical issues such as game searching) |
294 Othello, etc; includes theoretical issues such as game searching) |
288 </td></tr> |
295 </td></tr> |
289 <tr><td><i>Chips Challenging Champions: Games, Computers and Artificial Intelligence</i> by |
296 <tr><td><i>Chips Challenging Champions: Games, Computers and Artificial Intelligence</i> by |