better identation of the knowledge base.
This commit is contained in:
54
README.md
54
README.md
@@ -214,36 +214,36 @@ Then a `pkg` directory will be created, containing everything you need for a web
|
|||||||
|
|
||||||
// Knowledge base: Sudoku rules and problem definition
|
// Knowledge base: Sudoku rules and problem definition
|
||||||
const kb = `
|
const kb = `
|
||||||
:- use_module(library(format)).
|
:- use_module(library(format)).
|
||||||
:- use_module(library(clpz)).
|
:- use_module(library(clpz)).
|
||||||
:- use_module(library(lists)).
|
:- use_module(library(lists)).
|
||||||
|
|
||||||
sudoku(Rows) :-
|
sudoku(Rows) :-
|
||||||
length(Rows, 9), maplist(same_length(Rows), Rows),
|
length(Rows, 9), maplist(same_length(Rows), Rows),
|
||||||
append(Rows, Vs), Vs ins 1..9,
|
append(Rows, Vs), Vs ins 1..9,
|
||||||
maplist(all_distinct, Rows),
|
maplist(all_distinct, Rows),
|
||||||
transpose(Rows, Columns),
|
transpose(Rows, Columns),
|
||||||
maplist(all_distinct, Columns),
|
maplist(all_distinct, Columns),
|
||||||
Rows = [A,B,C,D,E,F,G,H,I],
|
Rows = [A,B,C,D,E,F,G,H,I],
|
||||||
blocks(A, B, C),
|
blocks(A, B, C),
|
||||||
blocks(D, E, F),
|
blocks(D, E, F),
|
||||||
blocks(G, H, I).
|
blocks(G, H, I).
|
||||||
|
|
||||||
blocks([], [], []).
|
blocks([], [], []).
|
||||||
blocks([A,B,C|T1], [D,E,F|T2], [G,H,I|T3]) :-
|
blocks([A,B,C|T1], [D,E,F|T2], [G,H,I|T3]) :-
|
||||||
all_distinct([A,B,C,D,E,F,G,H,I]),
|
all_distinct([A,B,C,D,E,F,G,H,I]),
|
||||||
blocks(T1, T2, T3).
|
blocks(T1, T2, T3).
|
||||||
|
|
||||||
problem(1, [[_,_,_,_,_,_,_,_,_],
|
problem(1, [[_,_,_,_,_,_,_,_,_],
|
||||||
[_,_,_,_,_,3,_,8,5],
|
[_,_,_,_,_,3,_,8,5],
|
||||||
[_,_,1,_,2,_,_,_,_],
|
[_,_,1,_,2,_,_,_,_],
|
||||||
[_,_,_,5,_,7,_,_,_],
|
[_,_,_,5,_,7,_,_,_],
|
||||||
[_,_,4,_,_,_,1,_,_],
|
[_,_,4,_,_,_,1,_,_],
|
||||||
[_,9,_,_,_,_,_,_,_],
|
[_,9,_,_,_,_,_,_,_],
|
||||||
[5,_,_,_,_,_,_,7,3],
|
[5,_,_,_,_,_,_,7,3],
|
||||||
[_,_,2,_,1,_,_,_,_],
|
[_,_,2,_,1,_,_,_,_],
|
||||||
[_,_,_,_,4,_,_,_,9]]).
|
[_,_,_,_,4,_,_,_,9]]).
|
||||||
`;
|
`;
|
||||||
|
|
||||||
machine.consultModuleString("user", kb);
|
machine.consultModuleString("user", kb);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user