「コンパイラ・スクリプトエンジン」相談室 3
at TECH
325:321
04/01/20 03:52
>>324
> > 述語はむしろ枝のほうに定義されていると考えるのが自然。
> > つーか、普通はそう定義されている。
> なのは同意する。
> ただし述語はルート以外の節にも入るので、
ちょっと待って・・・枝ってのはarcのつもりで書いたのだがなあ。
述語が節ではなく各枝に定義されている以上、
> ただし述語はルート以外の節にも入るので、
の意味が全然わからない。節に入るのではなく、枝(arc)に入るんだから。
まあいいや、もっと簡単な例を出してみようか。二分決定木の特殊例。
ある固定長の入力ビット列X={x0, x1, x2, ..., xn}について、
根および各節において、Xから先頭要素を破壊的に取り出して、
そのビットを判定する操作をしたとする。
この二分決定木は、根と節がn段で、その先にTrue/Falseの枝がある。
これで全ての入力に対してTrue/Falseを返すことができる。
普通はここで二分決定木を簡約しにかかるわけだが、ここではそのまま使う。
さあ、この二分決定木、実はLISPのリストで構成することができる。
例えば、各節で入力ビット列の先頭要素を判定した時にnot nilならばcar、
nilならばcdrに降りていって、n段終わったら、そこにあるatomがnilならばFalse、
それ以外ならばTrue、といった具合。
ね、LISPのリストは木構造でしょ?
ドットを使ってnil無しのcons作るのにも意味あるでしょ?
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4969日前に更新/226 KB
担当:undef