countSolutionsOfLevel関数
リファレンスの説明と例は英語です。見出しと目次は日本語です。
How a level is proved and measured: countSolutions for a board the search
of this file has always counted (4×4 to 15×15, no portals), and for a bigger
one, or one with portals, the SAT search started from the level's own answer
(countSolutionsSat, binary pairs). The answer is found at once and every
other answer is looked for from there, so what the count costs is what
proving there is none costs, which is how a big level was made to be cheap
(reduce.ts) and what its difficulty measures. Still a proof: the count is
of every answer, and a level whose stored answer is not the one found fails.
インポート
import { countSolutionsOfLevel } from "@johnmorrisdotca/tsunagi";
定義
function countSolutionsOfLevel(layout: LinkLayout, answer: string, limit?: number, budget?: number): SolveCount
引数
| 名前 | 型 | 説明 |
|---|---|---|
layout | LinkLayout | The decoded native board and its rule settings. |
answer | string | The native complete answer string or solved lines specified by the signature. |
limit (省略可) | number | Stop after finding this many solutions. |
budget (省略可) | number | The maximum search-work budget; exhaustion must be treated as inconclusive. |
戻り値
SolveCount
How a level is proved and measured: countSolutions for a board the search of this file has always counted (4×4 to 15×15, no portals), and for a bigger one, or one with portals, the SAT search started from the level's own answer (countSolutionsSat, binary pairs). The answer is found at once and every other answer is looked for from there, so what the count costs is what proving there is none costs, which is how a big level was made to be cheap (reduce.ts) and what its difficulty measures. Still a proof: the count is of every answer, and a level whose stored answer is not the one found fails.
例
import { TSUNAGI_4 } from "@johnmorrisdotca/tsunagi/levels-4";
import { countSolutionsOfLevel, decodeLayout } from "@johnmorrisdotca/tsunagi";
const givens = TSUNAGI_4[0][0];
const answer = TSUNAGI_4[0][1];
const layout = decodeLayout(givens,4)!;
console.log(countSolutionsOfLevel(layout,answer,2,20000).count);1出力(このページを作ったときに実行した結果)
この日本語は、まだ日本語を母語とする方の確認を受けていません。訂正を歓迎します。