🧪 Example is still work in progress.
% standard , 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 data(seg7, [0,0,0,0,0,0,0], [0,0,0,0,0,0,0]). data(seg7, [1,1,1,1,1,1,0], [1,1,1,1,1,1,0]). data(seg7, [0,1,1,0,0,0,0], [0,1,1,0,0,0,0]). data(seg7, [1,1,0,1,1,0,1], [1,1,0,1,1,0,1]). data(seg7, [1,1,1,1,0,0,1], [1,1,1,1,0,0,1]). data(seg7, [0,1,1,0,0,1,1], [0,1,1,0,0,1,1]). data(seg7, [1,0,1,1,0,1,1], [1,0,1,1,0,1,1]). data(seg7, [1,0,1,1,1,1,1], [1,0,1,1,1,1,1]). data(seg7, [1,1,1,0,0,0,0], [1,1,1,0,0,0,0]). data(seg7, [1,1,1,1,1,1,1], [1,1,1,1,1,1,1]). data(seg7, [1,1,1,1,0,1,1], [1,1,1,1,0,1,1]). % alternatives 9, 7, 6, 1 data(seg7, [1,1,1,0,0,1,1], [1,1,1,1,0,1,1]). data(seg7, [1,1,1,0,0,1,0], [1,1,1,0,0,0,0]). data(seg7, [0,0,1,1,1,1,1], [1,0,1,1,1,1,1]). data(seg7, [0,0,0,0,1,1,0], [0,1,1,0,0,0,0]). show :- data(seg7, X, _), numitron(X, 2), fail; true. :- show.
plot :- length(H, 4), maplist(=(0), H), noise_train2(H, seg7, 7, 100, _, _). :- plot.
segment :- length(H, 4), maplist(=(0), H), noise_train(H, seg7, 7, 100, _, E), noise_recon(7, E, seg7, _, D), data(seg7, X, _), maplist(tree_current(X, 0), E, Y), maplist(tree_current(Y, 0), D, Z), numitron(Z, 2), fail; true. :- segment.