Spark OS X

A* search

Feels good to be done!

As I tell my students in my Intro to Java class, watching your work come to life is very rewarding!


$ ./build.sh

Warming up the JVM in order to ensure accurate timing, please wait...


Solving problem: Missionaries and Cannibals
With search algorithm: Iterative deepening search

(1) Problem solved in 12797000ns.
(2) Problem solved in 12747000ns.
(3) Problem solved in 13368000ns.
(4) Problem solved in 12775000ns.
(5) Problem solved in 12702000ns.
(6) Problem solved in 13329000ns.
(7) Problem solved in 12785000ns.
(8) Problem solved in 12693000ns.
(9) Problem solved in 13041000ns.
(10) Problem solved in 12731000ns.

Average solution time: 12896800ns.

Initial problem state:
b{[3, 3], [0, 0]}

Move 0 missionaries and 2 cannibals.
Move 0 missionaries and 1 cannibals.
Move 0 missionaries and 2 cannibals.
Move 0 missionaries and 1 cannibals.
Move 2 missionaries and 0 cannibals.
Move 1 missionaries and 1 cannibals.
Move 2 missionaries and 0 cannibals.
Move 0 missionaries and 1 cannibals.
Move 0 missionaries and 2 cannibals.
Move 0 missionaries and 1 cannibals.
Move 0 missionaries and 2 cannibals.

Solved problem state:
{[0, 0], [3, 3]}b



Solving problem: Missionaries and Cannibals
With search algorithm: A* search

(1) Problem solved in 100000ns.
(2) Problem solved in 77000ns.
(3) Problem solved in 75000ns.
(4) Problem solved in 75000ns.
(5) Problem solved in 76000ns.
(6) Problem solved in 55000ns.
(7) Problem solved in 75000ns.
(8) Problem solved in 80000ns.
(9) Problem solved in 75000ns.
(10) Problem solved in 75000ns.

Average solution time: 76300ns.

Initial problem state:
b{[3, 3], [0, 0]}

Move 1 missionaries and 1 cannibals.
Move 1 missionaries and 0 cannibals.
Move 0 missionaries and 2 cannibals.
Move 0 missionaries and 1 cannibals.
Move 2 missionaries and 0 cannibals.
Move 1 missionaries and 1 cannibals.
Move 2 missionaries and 0 cannibals.
Move 0 missionaries and 1 cannibals.
Move 0 missionaries and 2 cannibals.
Move 1 missionaries and 0 cannibals.
Move 1 missionaries and 1 cannibals.

Solved problem state:
{[0, 0], [3, 3]}b



For solving the problem: Missionaries and Cannibals,
    A* search was over 169x faster
    than Iterative deepening search.



Solving problem: Shirokuro (8x8)
With search algorithm: A* search

(1) Problem solved in 15018000ns.
(2) Problem solved in 14635000ns.
(3) Problem solved in 14527000ns.
(4) Problem solved in 14787000ns.
(5) Problem solved in 16693000ns.
(6) Problem solved in 14608000ns.
(7) Problem solved in 14919000ns.
(8) Problem solved in 14499000ns.
(9) Problem solved in 15124000ns.
(10) Problem solved in 14878000ns.

Average solution time: 15045100ns.

Initial problem state:
   *    
    *   
** o**  
oo      
 **o o *
   o  o 
  o    o
 o      


Place a Black circle @ (0, 2)
Place a White circle @ (7, 7)
Place a White circle @ (7, 6)
Place a White circle @ (7, 5)
Place a White circle @ (7, 4)
Place a White circle @ (7, 2)
Place a White circle @ (7, 3)
Place a White circle @ (7, 0)
Place a White circle @ (6, 0)
Place a White circle @ (5, 7)
Place a White circle @ (5, 5)
Place a White circle @ (5, 2)
Place a Black circle @ (5, 1)
Place a Black circle @ (6, 1)
Place a White circle @ (5, 0)
Place a Black circle @ (4, 6)
Place a White circle @ (4, 0)
Place a Black circle @ (3, 7)
Place a White circle @ (3, 5)
Place a White circle @ (3, 6)
Place a Black circle @ (3, 4)
Place a Black circle @ (4, 4)
Place a Black circle @ (5, 4)
Place a Black circle @ (6, 4)
Place a Black circle @ (6, 5)
Place a Black circle @ (6, 6)
Place a Black circle @ (6, 3)
Place a White circle @ (3, 3)
Place a Black circle @ (3, 2)
Place a Black circle @ (2, 7)
Place a White circle @ (2, 6)
Place a Black circle @ (2, 2)
Place a Black circle @ (1, 7)
Place a White circle @ (1, 6)
Place a White circle @ (1, 5)
Place a White circle @ (1, 3)
Place a White circle @ (1, 2)
Place a White circle @ (1, 1)
Place a Black circle @ (1, 0)
Place a Black circle @ (0, 7)
Place a Black circle @ (0, 6)
Place a Black circle @ (0, 4)
Place a Black circle @ (0, 5)
Place a Black circle @ (0, 0)
Place a Black circle @ (0, 1)

Solved problem state:
********
*ooo*oo*
***o**o*
oo*o*oo*
o**o*o**
o*oo*ooo
o*o****o
oooooooo

My Account
Spark
Admin
Other Accounts
Kass
User
Vinesh
User
Lloyd
User
Dev
User
Aaron
User
Calendar
October 2009
Sun Mon Tue Wed Thu Fri Sat
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Search
XHTML 1.1, CSS3.