テーブル全体を作成せずに、真理値表の行を生成することを考えている人は誰でもいます。たとえば、ユーザーが行番号を入力すると、その真理値表の行が生成されます。また、これは、その行番号に到達するまでテーブルを作成せずに行う必要があります。基本的に、入力として真理値表の行のみに基づいて真理値行の値を計算する効率的な方法があるかどうかを知りたいです。
例: 3 つの変数 printTruthTableRow(3) が 010 を生成すると仮定します。
実際、input-1 をバイナリ値に変換して、その真理値表の行を取得できますか?
編集:もう少し背景を教えてください。Java で基本的な DPLL SAT ソルバーを作成しました。私の目標は、多数のスレッドでソルバーを実行して n-Queen 問題を解決することです。現在、私のアルゴリズムは、一度に 1 つずつ真理値表の行を生成し、それを解決するためにスレッドにフィードします。問題は、私の真理値表の生成がスレッドによって同時に実行できないことです。スレッドが真理値表の行を取得する場合、メソッドをロックし、行を生成してから、ロックを解除する必要があります。真理値表の行を生成するときの作業が減れば、速度を向上させることができます。アトミックカウント値をバイナリに変換して、スレッドでテストするだけです。回答ありがとうございます。