前回、NOT回路、OR回路、AND回路を紹介しました。実はほとんどの回路はこれだけで済みます。今回から紹介する回路は、どちらかといえば応用編といえます。

本格的なレッドストーン回路を組むのでなければ、こんなんがあるよ程度に覚えておき、必要に応じて使えればいいでしょう。

ぶっちゃけ筆者もXOR以降の回路の配置パターンは覚えてません。

第3回 NOR回路
NAND回路
XOR回路
XNOR回路
IMP回路(IMPLIES回路)とその仲間
入出力パターン表
3つ以上の入力の場合は?
Tips

NOR回路

NOR(ノア)回路は Not OR の略で、OR回路の出力のオンとオフが逆になります。
すなわち、2つの入力のどちらかがオンの時に出力をオフにし、両方がオフの時のみ出力をオンにします。

定番回路

単純にOR回路の出力部分にNOT回路を付けただけです。




NAND回路

NAND(ナンド)回路は Not AND の略で、AND回路の出力のオンとオフがが逆になります。
すなわち、2つの入力の両方がオンの時に出力をオフにし、どちらかがオフの時に出力をオンにします。

定番回路

NOR回路のように、AND回路の出力部にNOT回路を付けてもいいのですが、実はAND回路自体が、否定されたものを出力されている状態なので、出力部分のレッドストーントーチを引き抜けば、成立します。





参考) パターン1、パターン2 日本語Wiki


XOR回路

XOR回路は、2つの入力の片方がオンで片方がオフの時に出力をオンにし、両方がオンまたはオフの時は出力をオフにします。

XOR(エックスオア) は exclusive or の略で、日本語では「排他的論理和」といいます。


定番回路

パターン1の方が設置は簡単ですが、遅延が1チック分だけ多くなります。
パターン2の方が設置がやや複雑ですが、遅延は少ないです。




参考) パターン1 英語Wiki、 パターン2 日本語Wiki


XNOR回路

XNOR回路(エックスノア)は、XOR回路の否定版です。
すなわち、2つの入力の片方がオンで片方がオフの時に出力をオフにし、両方がオンまたはオフの時は出力をオンにします。

定番回路

おそらく基本回路で一番複雑だと思います。
2行4列目は、灰色のブロックにトーチが刺さり、その下にワイヤーが引かれています。
遅延を気にしない場合は、XOR回路のパターン1の後ろにNOT回路を付ける方が簡単かと思います。



参考) パターン1 日本語Wiki


IMP回路(IMPLIES回路)とその仲間

IMP回路は、入力Aがオンで入力Bがオフの時に出力をオフにし、それ以外は出力をオンにします。

IMP(インプ) は implication の略で、日本語では「(論理)包含」といいます。
IMPLIES回路とも言い、日本語Wikiでもそちらを使っているようです。

このように大層な名前はありますが、実は「入力Aの否定もしくは入力B」と同じで、回路もよく見るとそうなっています。

定番回路

XNOR回路の後だと簡単すぎますね。特にコメントはありません。




参考) パターン1 日本語Wiki

IMP回路の入力AとBの逆版、否定版

IMP回路は他の回路と違い、入力Aと入力Bを入れ替わると結果が変わってしまいます。
つまり、入力Bがオンで、入力Aがオフの時に出力をオフにし、それ以外は出力をオンにする、ような場合は同じ回路ではなく、接続を逆にしないといけません。
これを逆包含(Converse implication)といいますが、別に覚える必要はありません。私の調べたところ、略語が無いので、本解説では CIMP としておきます。

また、AND回路、OR回路、XOR回路には、NANDのようにそれぞれ否定版がありますが、IMP回路は特別に用にされてはいません。一応名前のみあるようで、IMP回路の否定版が非含意(nonimplication)、<本解説では NIMP とします>。逆包含、本解説でいう CIMP の否定版が 逆非含意(Converse nonimplication)、<本解説では CNIMP とします> があります。

特に回路図を載せる必要は無いと思いますが、NIMP回路の回路を一応載せておきます。
CIMP回路はIMP回路の入力Aと入力Bが逆、NCIMP回路は下図のNIMP回路の入力Aと入力Bが逆にしたもので、回路自体は変わらないので省略します。
NIMP回路





入出力全パターン表

ここまで11の論理回路を紹介しました(IMP回路と愉快な仲間達を含む)。そのうち入力が2つの回路はNOT回路以外の10回路になります。
2つの入力から出力される全パターンは、4の二乗なので、16通りあります。但し、全オフ、全オン、入力Aと同じ、入力Bと同じ、入力Aの否定、入力Bの否定は考慮する必要が無いので、実質合計10パターンとなります。つまり、全パターンが習得し終えたことになります。おめでとうございます。

まとめておくと下記のようになります。

※CIMP、NIMP、CNIMP は本解説独自の呼称です。回路は「IMP回路(IMPLIES回路)とその仲間」の「IMP回路の入力AとBの逆版、否定版」を参照下さい。


3つ以上の入力の場合は?

今までの基本回路は、NOT回路以外は、2つからの入力のみでした。では、3つ以上の入力はどうしたらいいのでしょうか。例えば、入力1 かつ 入力2 かつ 入力3 のような感じの場合です。
OR回路、AND回路、NOR回路、NAND回路の場合は一つの回路で表現も可能です。この方法は、後述します。それ以外のXOR回路、XNOR回路、IMP回路などの基本回路を含め全基本回路でも、2つに絞りながら回路を組むことで、簡単に複数の入力に対応可能です。

2つに絞り込みながら組む方法  (全基本回路対応)

競技のトーナメント表のように2つずつに絞ります。例えば 入力1、入力2、入力3 のAND回路を作りたい場合、まず 入力1 と 入力2 のAND回路を作り、その出力と入力3のAND回路を作ります。

特に新しく回路を覚える必要はありませんが、回路が大きくなり、遅延がやや多く発生します。

複数入力可能な回路  (OR回路、AND回路、NOR回路、NAND回路)

OR回路、AND回路、NOR回路、NAND回路に付いては、特に難しい回路になるわけではなく、既存の論理回路の応用といった感じで表現可能です。
下図では3入力ですが、同じように増やすことで、さらに多い入力にも対応出来ます。



Tips

回路を設置する時にはそれが何を意味しているか理解していても、後日見直すとまったくさっぱりな状態なっている、という現象がよく発生します。マインクラフトでは1度設置すると、そのままというケースが多いとは思いますが、後々改造する可能性がある場合は、明確にしておきたいものです。

論理回路や、後々の定番パターンなど、その回路を設置するブロックの範囲を色つきのモフモフで他の回路と区別しておくと後で分かりやすいです。また、ワイヤーの入出力が分かりづらい場合は、看板を設置して、メモを記入しておくといいでしょう。
特集:レッドストーン回路解説
第1回導入:回路の作り方、制限と法則、スイッチ・機械との接続、注意点とバグ など
第2回基本と論理回路:レッドストーントーチ・リピーターの性質、論理回路の基本、NOT回路、OR回路、AND回路、機械との応用的な接続 など
第3回論理回路:NOR回路、NAND回路、XOR回路、IMP回路とその仲間、全入出力パターン、3つ以上の入力 など
第4回回路設計:逆流防止、交差、平行、水平・垂直のスイッチ機械の設置 など
第5回応用回路:パルサー回路、クロック回路、ラッチ回路、Tフリップフロップ など