EdgeModel型
リファレンスの説明と例は英語です。見出しと目次は日本語です。
The clauses a layout comes to, ready to be searched.
インポート
import type { EdgeModel } from "@johnmorrisdotca/tsunagi";
定義
type EdgeModel = {
sat: Sat;
total: number;
eu: number[];
ev: number[];
over: number[];
via: number[];
edgeVar: Int32Array;
around: number[][];
between: (a: number, b: number, via?: number) => number | undefined;
standable: (at: number) => boolean;
colourVar: Int32Array[];
};
メンバー
| 名前 | 型 | 説明 |
|---|---|---|
sat | Sat | |
total | number | |
eu | number[] | Every edge as the two cells it joins (the smaller first), the bridge it crosses (or -1) and the portal it goes through (the index in |
ev | number[] | |
over | number[] | |
via | number[] | |
edgeVar | Int32Array<ArrayBufferLike> | |
around | number[][] | The edges at each cell. |
between | (a: number, b: number, via?: number) => number | undefined | The edge between two neighbouring cells on a plain step, or the one through portal |
standable | (at: number) => boolean | Whether a line can stand on a cell: not blocked, not a bridge, not a portal. |
colourVar | Int32Array<ArrayBufferLike>[] | Each portal cell's two cells' pair variables, for a model that has them (colours, one-hot or binary). |
例
import { TSUNAGI_4 } from "@johnmorrisdotca/tsunagi/levels-4";
import { decodeLayout, edgeModel } from "@johnmorrisdotca/tsunagi";
import type { EdgeModel } from "@johnmorrisdotca/tsunagi";
const givens = TSUNAGI_4[0][0];
const layout = decodeLayout(givens,4)!;
const value: EdgeModel = edgeModel(layout)!;
console.log(value);{
sat: Sat {
vars: 88,
conflicts: 0,
decisions: 0,
value: Int8Array(256) [
0, 0, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1,
-1, 1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1,
1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1,
-1, 1, 1, -1, -1, 1, -1, 1, 1, -1, 1, -1,
1, -1, 1, -1, -1, 1, -1, 1, -1, 1, 1, -1,
-1, 1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1,
-1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, 1,
1, -1, -1, 1, -1, 1, -1, 1, 1, -1, -1, 1,
-1, 1, -1, 1,
... 156 more items
],
level: Int32Array(256) [
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0,
... 156 more items
],
reason: Int32Array(256) [
-1, 8, -1, 19, 192, 39, 27, -1, 50, -1, 64, 217,
91, 76, -1, 102, -1, 116, 242, 143, 171, -1, 152, 162,
183, -1, 1, 2, 3, 184, 185, 186, 187, 196, 197, 198,
199, -1, 32, 33, 34, 41, -1, 44, 45, 208, 209, 210,
211, 220, 221, 222, 223, 82, -1, 85, 86, 94, 96, -1,
98, 232, 233, 234, 235, 244, 245, 246, 247, 135, 137, -1,
139, 147, 149, 150, -1, -1, -1, -1, 153, -1, -1, -1,
164, 178, 180, 181, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1,
... 156 more items
],
activity: Float64Array(256) [
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0,
... 156 more items
],
phase: Int8Array(256) [
0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0,
... 156 more items
],
seen: Uint8Array(256) [
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0,
... 156 more items
],
heapIndex: Int32Array(256) [
-1, 0, 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, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
83, 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1,
... 156 more items
],
heap: [
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, 32, 33, 34, 35, 36,
37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, 86, 87, 88
],
trail: [
50, 53, 55, 57, 74, 77, 79, 81, 84, 83, 87, 89,
108, 107, 111, 113, 118, 115, 117, 121, 142, 139, 141, 145,
152, 147, 149, 151, 176, 171, 173, 175, 5, 2, 58, 61,
63, 65, 15, 10, 66, 69, 71, 73, 19, 16, 91, 92,
95, 97, 9, 6, 13, 29, 24, 99, 100, 103, 105, 33,
44, 30, 123, 125, 126, 129, 23, 20, 27, 43, 48, 38,
131, 133, 134, 137, 155, 157, 159, 37, 160, 46, 34, 41,
163, 165, 167, 168
],
trailLimit: [],
head: 88,
watches: [
[], [], [Array], [Array], [Array], [Array], [Array],
[Array], [Array], [Array], [Array], [Array], [Array], [Array],
[Array], [Array], [Array], [Array], [Array], [Array], [Array],
[Array], [Array], [Array], [Array], [Array], [Array], [Array],
[Array], [Array], [Array], [Array], [Array], [Array], [Array],
[Array], [Array], [Array], [Array], [Array], [Array], [Array],
[Array], [Array], [Array], [Array], [Array], [Array], [Array],
[Array], [Array], [Array], [Array], [Array], [], [Array],
[], [Array], [Array], [Array], [Array], [Array], [],
[Array], [], [Array], [Array], [Array], [Array], [Array],
[], [Array], [], [Array], [Array], [Array], [Array],
[Array], [], [Array], [], [Array], [Array], [Array],
[Array], [Array], [], [Array], [], [Array], [Array],
[Array], [Array], [Array], [], [Array], [], [Array],
[Array], [Array],
... 78 more items
],
clauses: [
[Int32Array], [Int32Array], [Int32Array], [Int32Array], [Int32Array],
[Int32Array], [Int32Array], [Int32Array], [Int32Array], [Int32Array],
[Int32Array], [Int32Array], [Int32Array], [Int32Array], [Int32Array],
[Int32Array], [Int32Array], [Int32Array], [Int32Array], [Int32Array],
[Int32Array], [Int32Array], [Int32Array], [Int32Array], [Int32Array],
[Int32Array], [Int32Array], [Int32Array], [Int32Array], [Int32Array],
[Int32Array], [Int32Array], [Int32Array], [Int32Array], [Int32Array],
[Int32Array], [Int32Array], [Int32Array], [Int32Array], [Int32Array],
[Int32Array], [Int32Array], [Int32Array], [Int32Array], [Int32Array],
[Int32Array], [Int32Array], [Int32Array], [Int32Array], [Int32Array],
[Int32Array], [Int32Array], [Int32Array], [Int32Array], [Int32Array],
[Int32Array], [Int32Array], [Int32Array], [Int32Array], [Int32Array],
[Int32Array], [Int32Array], [Int32Array], [Int32Array], [Int32Array],
[Int32Array], [Int32Array], [Int32Array], [Int32Array], [Int32Array],
[Int32Array], [Int32Array], [Int32Array], [Int32Array], [Int32Array],
[Int32Array], [Int32Array], [Int32Array], [Int32Array], [Int32Array],
[Int32Array], [Int32Array], [Int32Array], [Int32Array], [Int32Array],
[Int32Array], [Int32Array], [Int32Array], [Int32Array], [Int32Array],
[Int32Array], [Int32Array], [Int32Array], [Int32Array], [Int32Array],
[Int32Array], [Int32Array], [Int32Array], [Int32Array], [Int32Array],
... 156 more items
],
learnt: [
false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false,
false, false, false, false,
... 156 more items
],
clauseActivity: [
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0,
... 156 more items
],
lbd: [
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0,
... 156 more items
],
learntCount: 0,
bump: 1,
clauseBump: 1,
ok: true
},
total: 16,
eu: [
0, 0, 1, 1, 2, 2, 3, 4,
4, 5, 5, 6, 6, 7, 8, 8,
9, 9, 10, 10, 11, 12, 13, 14
],
ev: [
1, 4, 2, 5, 3, 6, 7, 5,
8, 6, 9, 7, 10, 11, 9, 12,
10, 13, 11, 14, 15, 13, 14, 15
],
over: [
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1
],
via: [
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1
],
edgeVar: Int32Array(24) [
1, 2, 3, 4, 5, 6, 7, 8,
9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24
],
around: [
[ 0, 1 ], [ 0, 2, 3 ],
[ 2, 4, 5 ], [ 4, 6 ],
[ 1, 7, 8 ], [ 3, 7, 9, 10 ],
[ 5, 9, 11, 12 ], [ 6, 11, 13 ],
[ 8, 14, 15 ], [ 10, 14, 16, 17 ],
[ 12, 16, 18, 19 ], [ 13, 18, 20 ],
[ 15, 21 ], [ 17, 21, 22 ],
[ 19, 22, 23 ], [ 20, 23 ]
],
between: [Function: between],
standable: [Function: standable],
colourVar: [
Int32Array(4) [ 25, 26, 27, 28 ],
Int32Array(4) [ 29, 30, 31, 32 ],
Int32Array(4) [ 33, 34, 35, 36 ],
Int32Array(4) [ 37, 38, 39, 40 ],
Int32Array(4) [ 41, 42, 43, 44 ],
Int32Array(4) [ 45, 46, 47, 48 ],
Int32Array(4) [ 49, 50, 51, 52 ],
Int32Array(4) [ 53, 54, 55, 56 ],
Int32Array(4) [ 57, 58, 59, 60 ],
Int32Array(4) [ 61, 62, 63, 64 ],
Int32Array(4) [ 65, 66, 67, 68 ],
Int32Array(4) [ 69, 70, 71, 72 ],
Int32Array(4) [ 73, 74, 75, 76 ],
Int32Array(4) [ 77, 78, 79, 80 ],
Int32Array(4) [ 81, 82, 83, 84 ],
Int32Array(4) [ 85, 86, 87, 88 ]
]
}出力(このページを作ったときに実行した結果)
この日本語は、まだ日本語を母語とする方の確認を受けていません。訂正を歓迎します。