← ブログに戻るリレーでコンピュータを作る · 3/18

並列スイッチ:ORに隠れた論理

2つのスイッチを並列に配線し、第一原理からORを発見しましょう。並列回路、リレー論理、そして名前を知る前のORゲートの仕組みを解き明かします。

Matthias KellerMatthias Keller
読了まで約10分
Chalkboard feature illustration for “並列スイッチ:ORに隠れた論理”

前回の記事では、2つのナイフスイッチを直列、つまり1本の線上で前後に並べて配線しました。そして、両方のスイッチが閉じたときだけランプが点くことを発見しました。電流が回路を通る経路は1つだけで、その経路には2つの関門があります。何かが通り抜けるには、両方が開かなければなりません。まだその名を口にしてはいませんでしたが、あなたは銅とばね鋼でANDゲートを作っていたのです。

では同じ2つのスイッチを、同じ2本の配線を共有するように横に並べてつなぎ直してみましょう。左の経路にスイッチA、右の経路にスイッチBを置き、2つの経路が再び合流する下側にランプをつなぎます。すると、静かに目を見張ることが起こります。Aが閉じたとき、またはBが閉じたとき、または両方が閉じたときに、ランプが点くのです。どちらのスイッチも電流の行き場を与えないときだけ、ランプは消えたままです。

2つの配線方法、2つの規則。直列は両方を求めます。並列はどちらかでよいと言います。そして、その「どちらか」という言葉の中に、ORの論理のすべてが埋め込まれています。

2つの経路の物語

これをORと名付ける前に、まず物理的に感じてみましょう。直列回路には電流の経路が1つあり、それを2つの関門が守っています。並列回路には2つの経路があり、ランプを消すには両方を同時に遮断しなければなりません。片方の経路を残せば、電流はもう一方を通るだけです。

丘を迂回して分かれる道路のようなものだと考えてください。両方の道が通れれば、車はどちらからでも進めます。倒木が片側をふさいでも、運転者はもう一方を使います。両方の経路がふさがれたときだけ、すべてが止まります。

この2経路のイメージには、一見した以上の構造があります。物理学者は、電流が最小抵抗の経路をたどる様子を見ます。より正確には、利用可能なすべての経路を同時に流れます。エンジニアは、単一障害点のない冗長な設計を見ます。論理学者は、まもなくORの真理値表として出会う、正確に4行からなる規則を見ます。しかし1840年代を振り返る歴史家には、さらに印象的なものが見えます。誰も論理ゲートを思い描くより何年も前から、まさにこの設計思想が大陸をまたぐ通信を流れ続けさせていたのです。

電信が教えた並列経路

1840年代後半から1850年代にかけて長距離電信網が世界中に広がると、それを運営する技術者たちは厳しい教訓をすぐに学びました。電線は切れるのです。氷嵐は線を切断し、洪水は電柱を流し、鉄道の作業員が誤って切断することもあります。2つの都市を結ぶ回線が1本だけでは脆弱です。通信事業は、それを許容できるほど重要でないものではありませんでした。

解決策はほとんどすぐに導入されました。**2本目の回線を並列に敷設する。**主経路が故障すれば、通信士は予備経路へ振り替えられます。ボストンからニューヨークへ向かうメッセージは、予測不能な田園地帯を100マイルにわたって横切る1本の銅線に、もはや依存しません。代替経路を持つことになり、システムはレジリエントになりました。

同じ考え方は、その後に続いた電話網へ広がり、以来あらゆる通信インフラの層へと受け継がれてきました。海底ケーブルは海底を二重、三重に横断し、光ファイバーのバックボーンは大陸を縦横に走り、最終的にはインターネットそのものに至ります。初期インターネットの設計者たちは明言していました。ネットワークは損傷を迂回する経路を見つけるべきだ、と。これはパケット交換ですが、その根にある論理は、いま見ているものと同じです。信号に通り抜ける道を複数与えれば、1つの道を失ってもメッセージは止まりません。

技術者たちが行っていたことには名前があります。物理的なインフラにOR論理を適用していたのです。どこかの障害がネットワーク全体を止めるのは、すべての経路が失敗したときだけです。これは故障にAND論理を適用したものです。いずれかの経路が生き残る限り、メッセージは届きます。こちらは成功にOR論理を適用したものです。これは単なるゲートの振る舞いではありません。Shannonが数学的な名前を与えるはるか前から、技術者たちが身につけていた思考の型なのです。

2つのスイッチ、1つのランプ、4つの可能性

規則を正確に述べましょう。左のスイッチをA、右のスイッチをBと呼びます。各スイッチは閉じている(1)か開いている(0)かのどちらかです。ランプも点灯(1)か消灯(0)かのどちらかです。

すべての組み合わせを書き出すと、次のようになります。

ABランプ(A OR B)
000
011
101
111

4通りのうち3通りでランプが点きます。消えたままなのは最初の行だけです。両方のスイッチが開いており、両方の経路が遮断され、電流にどこへも行く道がありません。

これを、前回の記事のAND表と比べてみてください。そこでは4通りのうちランプが点くのは1通りだけ、つまり両方のスイッチが閉じている行だけでした。並列ORと直列ANDは、きわめて厳密な意味で鏡像の関係です。ANDは厳格で、すべてを要求します。ORは寛容で、何か1つあれば十分です。

両方のスイッチが閉じている最後の行に注目してください。予想どおりランプは点きます。少なくとも1つの経路がつながっているからです。電流は経路が2つあることで混乱しません。両方を流れます。論理的な結果、すなわち点灯か消灯かは、他方の経路がどうなっているかにかかわらず、少なくとも1つの経路が開いているかどうかだけで決まります。

この4行の表がORの真理値表です。「OR」や「ゲート」という言葉を知らなくても、物理的な配線から完全に導けます。論理はすでに配線の中にあり、見つけられるのを待っています。

実際に試してみよう

真理値表を読むことは役立ちます。しかし実際にスイッチを操作すると、忘れられないものになります。下には、1つのランプを共有する2つのナイフスイッチによる並列回路のライブシミュレーションがあります。このページ内で実際の直流回路シミュレーションが動いています。音をオンにしてください。

2つの並列スイッチ。どちらか一方を閉じるとランプが点きます。これがORです。。
Open in the Relay Lab

回路を目の前にして、試してほしい実験が3つあります。

  1. **どちらか一方のスイッチだけを閉じる。ランプはどちらかを気にするでしょうか?**まずAを試し、開いてからBを閉じてみましょう。ランプの反応は同じです。電流はどちらの経路も好みません。開いているほうを通るだけです。その無差別さこそがORの意味です。1の出どころは重要ではなく、少なくとも1つ存在することだけが重要です。
  2. **両方のスイッチを閉じてから、片方だけを開く。**ランプは点いたままです。頭の中で回路をたどってみてください。残った経路にはまだ電流が流れています。これは目に見える冗長性です。どちらか一方のリンクが失われても、信号は生き残ります。両方を同時に失ったときだけ失敗します。これが電信技術者の洞察であり、ライブで操作できる形になったものです。
  3. **ANDと対比する。**前回の記事の直列回路を別のタブで開いているなら、行き来して比べてください。直列では、片方だけを閉じてもランプは消えたままです。開いたスイッチが拒否権を持つのです。並列では、片方だけを閉じれば十分です。閉じたスイッチが1票を投じます。ANDには全会一致が必要で、ORには1票だけで足ります。

ORはレジリエンスの論理

次へ進む前に、もう少し深い観察について考えてみましょう。

AND論理は要件の論理です。何かが起こる前に、すべての条件が満たされなければなりません。どこか1つでの失敗が致命的なときに使います。たとえば、正しい鍵が差し込まれかつ正しいコードが入力されたときだけ開くロックです。厳格で、安全で、融通が利きません。

OR論理は代替案の論理です。どれか1つの条件で十分です。一部の経路を失うことは許容できても、すべてを失うことは許容できないときに使います。たとえば、玄関または裏口が開いたときに鳴る警報、プライマリまたはバックアップが健全ならリクエストを処理する冗長サーバなどです。包摂的で、柔軟で、個々の故障に強い論理です。

これも単なるゲートの振る舞いではありません。世界に織り込まれた思考の型です。並列ケーブルを敷設した電信技術者たちは、それをそう呼ばずにOR論理をインフラへ適用していました。目覚めることを確実にするために目覚まし時計を2つセットする人も、OR論理を使っています。複数の分子シグネチャのいずれかが存在すれば病原体を認識する免疫系は、生物学的な規模でOR論理を実行しています。

Shannonは、1937年の画期的な修士論文で、ANDとOR、そしてリレーの仕組みを扱う最初の記事で出会った反転(NOT)を組み合わせれば、計算可能なあらゆるものを計算できることを示しました。算術、記憶、比較、判断。そのすべてが、たった3つの基本パターンから導かれます。この完全な姿には、じきにたどり着きます。ただしまず、それらのパターンには名前と数学が必要です。それが次の記事の物語です。

今回学んだことと、次に向かう場所

この記事で扱った土台をまとめます。

  • 並列につないだ2つのスイッチは、電流に2本の独立した経路を与えます。どちらか一方を閉じるだけでランプが点きます。
  • そこから導かれる規則はORです。Aがオン、またはBがオン、または両方がオンならランプは点き、どちらもオンでないときだけ消えます。
  • 真理値表には点灯する行が3つ、消灯する行が1つあります。点灯する行が1つ、消灯する行が3つのANDとは鏡像の関係です。
  • 並列経路は代替案とレジリエンスを物理的に表したものです。これは約2世紀前、技術者が電信線を複製するようになった設計原理と同じです。
  • AND(直列)、OR(並列)、NOT(通常閉のリレー接点)を組み合わせると、論理計算のための完全な道具立てになります。

第4回では、もう一段上へ進みます。1854年に真と偽の代数を発表したGeorge Booleに出会い、AND、OR、NOTが恣意的な工学上の選択ではなく、論理的思考そのものの深い骨格である理由を探ります。Shannonが論理を発明したのではありません。スイッチがずっとそれを行っていたと見抜いたのです。Booleの記法を身につければ、1つのスイッチに触れる前に紙の上で任意の論理回路を設計できるようになります。

それまで、このシリーズのすべての回路、今回のOR回路と前回のAND回路を含め、**DigiSim Relay Lab**で公開しています。つなぎ合わせ、さらにスイッチを加え、パターンを組み合わせ始めてください。クリック音が待っています。

アイデアを実際に動く回路にしましょう。