グリッドベースのデジタルロジック(デュオディアディックタイル)
Duodyadicタイルは、2つの入力(1つは上面から、もう1つは左側から)、2つの出力(1つは右側に、もう1つは下面)を備えた正方形の機能ブロックです。それぞれの出力は、両方の入力の個別の関数です。 たとえば、#一般的なタイルを表し、右の出力がR機能でf入力のTとL、下の出力はB別の関数であるgのTとL: T L#R R = f(T, L) B B = g(T, L) (2つの関数があるため、タイルは「duo」と呼ばれ、両方の関数には2つの引数があるため「dyadic」と呼ばれます。) タイルは、グリッド上で一緒に構成することができ、1つのタイルの出力は、隣接するタイルの入力に直接入ります。ここで、例えば、左の右の出力は右#の左の入力に入ります#: AB D = f(f(A, C), B) C##D E = g(A, C) EF F = g(f(A, C), B) それぞれが特定の機能を備えたデュオディアックタイルのセットがあれば、複雑な(潜在的に有用な)コンポジションを作成できると想像できます。 この課題では、すべての入力と出力が1ビットのバイナリ数(ゼロまたは1)である、10個のロジックベースのデュオディアディックタイルの従来のセットのみを考慮します。タイルの各タイプを示すために、個別のASCII文字を使用します。 タイル文字とそれらの入出力関係は次のとおりです (T上入力L用、左入力R用、右出力B用、下出力用)。 ゼロ:0または(スペース)→ R = 0、B = 0 1つ:1→ R = 1、B = 1 クロス:+→ R …