Difference between revisions of "Sudoku"

From BP Wiki
Jump to: navigation, search
(Created page with "= Sudoku = In this example one can see two properties of behavioral programming * How different heuristics and pieces of knowledge about the problem domain can be used separ...")
 
Line 1: Line 1:
= Sudoku =  
+
= Sudoku =
In this example one can see two properties of behavioral programming  
+
In this example one can see two properties of behavioral programming
* How different heuristics and pieces of knowledge about the problem domain can be used separately to program an application
+
* How different heuristics and pieces of knowledge about the problem domain can be used separately to program an application
 
* How model-checking can be used to help find a desired scenario.
 
* How model-checking can be used to help find a desired scenario.
  
= Requirements =  
+
= Requirements =
In the cells of a 9X9 grid which is also divided into 9 3X3 boxes, place the digits 1-9 such that in each row, column and box, each digit appears exactly once.  
+
In the cells of a 9X9 grid which is also divided into 9 3X3 boxes, place the digits 1-9 such that in each row, column and box, each digit appears exactly once.
  
 
= Events =
 
= Events =
  
 
* Move: A single event class with 9X9X9 = 721 instances. The class has 5 data fields:
 
* Move: A single event class with 9X9X9 = 721 instances. The class has 5 data fields:
** number: the number written in the cell  (1-9)  
+
** number: the number written in the cell  (1-9)
** row: The row  of the cell (1-9)  
+
** row: The row  of the cell (1-9)
 
** col: the column of the cell  (1-9)
 
** col: the column of the cell  (1-9)
** boxrow: The row of the 3X3 box in which this cell resides (1-3)  
+
** boxrow: The row of the 3X3 box in which this cell resides (1-3)
** boxcol: the column of the 3X3 box in which this cell resides (1-3)  
+
** boxcol: the column of the 3X3 box in which this cell resides (1-3)
 +
The triggering of the event symbolizes the writing of the digit in the associated cell.
  
The triggering of the event symbolizes the writing of the digit in the associated cell.
 
  
 
+
== b-threads ==
== b-threads ==  
+
 
* DefaultMove: Each of the 81 instances of this b-thread class, is associated with a cell, and requests all possible 9 digits
 
* DefaultMove: Each of the 81 instances of this b-thread class, is associated with a cell, and requests all possible 9 digits

Revision as of 11:18, 15 April 2014

Sudoku

In this example one can see two properties of behavioral programming

  • How different heuristics and pieces of knowledge about the problem domain can be used separately to program an application
  • How model-checking can be used to help find a desired scenario.

Requirements

In the cells of a 9X9 grid which is also divided into 9 3X3 boxes, place the digits 1-9 such that in each row, column and box, each digit appears exactly once.

Events

  • Move: A single event class with 9X9X9 = 721 instances. The class has 5 data fields:
    • number: the number written in the cell (1-9)
    • row: The row of the cell (1-9)
    • col: the column of the cell (1-9)
    • boxrow: The row of the 3X3 box in which this cell resides (1-3)
    • boxcol: the column of the 3X3 box in which this cell resides (1-3)

The triggering of the event symbolizes the writing of the digit in the associated cell.


b-threads

  • DefaultMove: Each of the 81 instances of this b-thread class, is associated with a cell, and requests all possible 9 digits