UE4のブループリントと構文木の図はよく似ている
「今日は遺伝的プログラミングについて調べてたんだけど、なんかすぐにブループリントで実装できるサンプルが見つからなかったので小休止」
妹「こないだ動画を見たやつ?」
「あれは遺伝的アルゴリズムで、遺伝的プログラミングというのはその強化版みたいなやつ。数字とかフラグだけじゃなく、ブループリントのノード自体を遺伝子として扱って、組み替えていこうという。そうすると原理的にブループリント出来ることはなんでも出来るはずだし、何回もやってれば勝手に最強になるのではないかと」
妹「それはすごい!」
「でも完全にランダムにブループリントのノードつなぐと、まともに動くプログラムが出来るわけもなく、ある程度作るノードを制限したり、色々調整しないといけないみたい」
妹「そんなにすごくなかったみたい……」
「まあそんなことを調べていてふと気付いたのが、遺伝的プログラミングでもよく使われる構文木というのが、ブループリントのグラフにとても良く似ている」
Wikipediaの遺伝的プログラミングのページにある、構文木の例
同じ計算式をブループリントで表現した物
「ピンが向いてる方向の関係で右に90度傾けたけど、同じ計算式を同じように表現してる。最初に何のノードがあって、次にそこにつながるピンを書く。そのピンにパラメータが必要なら、さらに別のノードをつないでいく」
妹「構文木というのがまずわからないんだけど」
「(プログラミング)言語を文法によって解析したデータ……なんだけど、普通はなかなか説明するのが難しい。でもブループリント図を紙に書いたやつ、といえば簡単に説明出来るんじゃないかと」
妹「そういう図だと言われれば、そういう図には見えるけど。ピンと線のつながってる方向がわかりにくいかも」
「それは基本的に下から上にデータが流れていく感じの図面になってる。ピンが増えると線もたくさんになるけど、真横に線を伸ばしたりはしない。どっちが上か下か関係がわかるようになってる。ブループリントみたいに線がグネグネしたりは出来ないから、その点はちょっと違うかも」