まず以下に簡単に、FSM,FMM,SMの定義を示す。
定義1. FSMは の6文字組 みで定義される。ここで Q は状態の有限集合; は入力記号 の有限集合; は出力記号の有限集合; は遷移関数; は出力関数; は初期状態である。
ここでは、入出力記号は である。
最も少ない状態数で求める入出力の動作を行うことのできるとき、そのFSMは最 小であるという。ここでのFSMはすべて最小のものである。各々のFSMを 特徴付ける有効な尺度はdepthである。FSMの初期状態からすべての状態 に達することのできる最小の数 d があるとき、これをdepthという。
一般に、FMMに実装された論理関数が単純で、最小のorderと小さいdepthを持っているなら、それを学習させることはやさしい。FMMを学習するという問題は、状態の割り当ての問題が無いため、一般的なFSMの学習より単純である。学習すべき唯一の問題は実装された論理関数である。ゆえに、論理関数が複雑になればなるほど、学習は難しくなるといえる。また、トレーニングセットを小さくするためには、depthも小さく抑えねばならない。さらに、orderはdepthと論理関数の複雑さの両方と関係しており、同様に小さく抑えねばならない。 その結果、上記を考慮して、学習の対象とするFMMは、状態数と論理回路を表す論理関数、入出力のorder、およびdepthの異なる2種類を選んだ。以下で、それらについて具体的に示す。
最初の1つは、512状態と次式で表される比較的単純な論理関数を持っている。
ここで、 は x の否定をあらわす。また、 u(k),y(k) はそ れぞれ時間ステップ k における入力、出力である。また入力のorderは5、出力のorderは4、depthは9である。
もう1つのものは、256状態を持ち、次のようなより複雑な論理関数を持つ。
入力のorder、出力のorderはともに4、depthは9である。