変数のブール関数とは写像 のこととする。 に対して とし、 に対して とする。
変数のブール関数 が自己双対であるとは、すべての について
が成り立つことをいう。自己双対な 変数のブール関数の個数を求めよ。
変数のブール関数が 個あることから出発し、すべての変数に本質的に依存する関数の個数を包除原理で、巡回不変性・自己双対性などの対称性の条件を満たす関数の個数を の軌道(巡回と補元の作用)を数えて求められる
読み込み中…
右端(太枠)がこの技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
変数のブール関数とは、写像 のことです。この技能では、まず全体の個数 を出発点にして、「すべての変数に本当に依存する」「変数を巡回させても値が変わらない」「自己双対である」といった条件を満たす関数の個数を求めます。依存性の条件には包除原理を、対称性の条件には入力の集合 を軌道に分ける考え方(バーンサイドの補題)を使います。論理回路の分類や、対称な関数の数え上げの基本となる計算です。
全体の個数: は 個の入力からなり、各入力に対して出力 を独立に選べるので、積の法則で 個です。以後の数え上げはすべて「どの入力の値を自由に選べ、どの入力の値が他から決まってしまうか」を見ることに帰着します。
本質的な依存: が に本質的に依存するとは、 だけが異なる 2 つの入力 で となるものがあることです。 を「 に依存しない関数」の集合とすると、添字の集合 ()について は「 の変数をどう変えても値が変わらない関数」、すなわち残りの 変数だけの関数全体です( の変数を 1 つずつ順に変えていけば、値が変わらないことがわかります)。よってその個数は で、 だけで決まります。包除原理から、すべての変数に依存する関数の個数は です。
対称性: 置換や補元のような入力の変換の群 が に作用しているとき、「 のどの元で入力を変換しても値が変わらない」関数は、各軌道の上で一定な関数と同じことです。軌道ごとに値を 1 つ選べばよいので、個数は で、軌道の数はバーンサイドの補題で数えられます。例えば巡回シフト では、 で固定される入力は 個です。また が自己双対(、 は各成分を反転した入力)であるとき、補元をとる操作は固定点をもたず を 組の対 に分けます。各対では一方の値を選べば他方が決まるので、自己双対な関数は 個です。巡回不変かつ自己双対なら、巡回の軌道 の補元 もまた軌道であり、 上の値を選べば 上の値が決まります。 となる軌道が 1 つでもあれば矛盾するので 0 個、そうでなければ 個です。
数える対象を写像 として捉え、全体が 個であることを確認する
条件の種類を見分ける。「すべての変数に依存する」のような否定の条件なら包除原理へ(手順 3)、「入力を変換しても値が変わらない」のような対称性の条件なら軌道の数え上げへ(手順 4)
包除原理: を「 に依存しない関数」の集合とし、 個の の共通部分が 個であることから を計算する
軌道の数え上げ: 入力に作用する群の各元で固定される入力の個数を求め、バーンサイドの補題で軌道の数 を出し、不変な関数の個数を とする
自己双対性が加わるときは、軌道を補元で対にする。自分自身と対になる軌道があれば 0 個、なければ 個( は軌道の数)
3 変数のブール関数 のうち、3 つの変数 のすべてに本質的に依存するもの(各 について、 だけが異なる 2 つの入力で値が異なるものがある関数)の個数を求めよ。
(手順 1)3 変数のブール関数は全部で 個ある。
(手順 2)「すべての変数に依存する」は「どの にも属さない」という否定の条件なので、包除原理を使う。
(手順 3) を に依存しない関数の集合とする。 個の の共通部分は残り 変数の関数全体で、 個ある。
- :
- : 通り、各 個
- : 通り、各 個
- : 通り、 個(定数関数 )
よって求める個数は
答え:
変数に依存しない関数の個数を や のように指数の中で引いてしまう誤り。正しくは残り 変数の関数全体なので ( なら )
包除原理の最後の項(定数関数)を落としてしまう誤り。 では ではなく、正しくは
巡回不変な関数の個数を「軌道の大きさの平均」や で求めてしまう誤り。軌道の大きさはそろわないので、正しくは軌道の数 をバーンサイドの補題で数えて とする( では軌道は の 4 個で、 個)
自己双対な関数を 個と数えてしまう誤り。補元の対 が 組あり各対で値を 1 つ選ぶので、正しくは 個( なら 個で、)
この説明は AI が書き、別の AI が例題を独立に解いて答えを確かめ、説明を一歩ずつ査読しました。
を正の整数とし、 変数のブール関数とは写像 のこととする。 が第 変数に本質的に依存するとは、ある が存在して
となることをいう。
3 変数のブール関数 のうち、3 つの変数 のすべてに本質的に依存するものの個数を求めよ。
変数のブール関数とは写像 のこととする。 変数のブール関数 で、次の 2 つの条件をともに満たすものの個数を求めよ。
(巡回不変性)すべての に対して
(自己双対性)すべての に対して
変数のブール関数とは写像 のこととし、 を 2 元体 と同一視する。各 変数のブール関数 は、 上の多項式として
の形にただ 1 通りに表される(代数的標準形。 のときの積は とする)。 となる の要素の個数 の最大値を の次数とよぶ(恒等的に の関数の次数は とする)。
次数がちょうど である 変数のブール関数の個数を求めよ。
入力変数を とするブール回路を考える。ゲートとしては 2 入力のブール関数 をすべて(16 個。定数関数や片方の入力だけによる関数も含む)使ってよく、各ゲートの 2 つの入力には入力変数 またはそれより前のゲートの出力を(同じものを 2 回使うことも含めて)つなぐ。定数は入力として与えられない。回路の出力は、入力変数またはゲートのどれか 1 つの値とし、回路の大きさはゲートの個数とする。
ブール関数 のうち、大きさ 以下の回路で計算できるものの個数を求めよ。
変数 を用いる論理式を、次の規則で帰納的に定める。
定数記号 は用いない。論理式に を代入すると、写像 が定まる。現れない変数には依存しない関数とみなす。
各変数 の出現回数がどれも高々 回である論理式を、リードワンス論理式とよぶ。写像 のうち、あるリードワンス論理式で表されるものの個数を求めよ。
命題変数 だけを用いた命題論理の論理式を考える(結合子は とし、定数 は用いない)。2 つの論理式は、 へのすべての真理値割り当てで同じ真理値をとるとき同値であるという。
論理式 に対し、 の中の をすべて ()に同時に置き換えた論理式を とする。次の 2 条件をともに満たす論理式 を考える。
は、結合子 と命題変数 だけを用いた( を用いない)ある論理式と同値である。
と は同値である。
このような論理式 の同値類は何個あるか。