ブールツリー+アルゴリズムを数式として表現する方法

プログラミングでは、次のようなブール値のツリーがあります:

a(
  b(c(), d(), 
    e(h(), i(j(), k(l()))), 
    f(m(), n(p(), q()), o()),
    g()
  ),
  r(),
  s(t(), u(), v(w(), x(y(z()))))
)

それぞれの関数は異なっており、任意の数の引数を受け入れることができ、$ rightarrow {1,0 }
$をブール値として返します。

次に、すべての葉ノードを取得するアルゴリズムがあるので、数学的には次のように言うことができます:

$$ l = N rightarrow L ‘ $$

$ l $はすべてのノード$ N $をノード$ L subset N $の部分集合に写像する “リーフ”関数です。

最後に、リーフノードで始まり、上に行くまで「ツリーの最終ブール値を計算する」関数があります。

私が思っているのは、最後の部分を数学的に定義する方法です。

  1. 各ノードで任意の数の子を持つ任意のツリー構造を考慮に入れることができるツリーを定義する方法。
  2. これは、葉ノードから親ノードへ、次に親ノードへ、それが上に戻るまで繰り返されます。

これは私が得た限りではあるが、それが正しいとは思わない。

$$ t = n +(t_0、 dotsc、t_i)? $$

ここで、$ t $は木であり、$ n
$はノードであり、$?$はオプションです。その再帰的な性質を捕捉しようとしています。

手順:

$$ leaf nodes l:N rightarrow Lで開始する $$ $$ {0,1 }の
value v を計算する $$ $$    all the children を sum
their value Vに収集する $$ $$ the next parentに対してを繰り返します。 $$
$$ at topの時点でを終了します。 $$

私はアルゴリズムが新しく、数学的に書くので、これはおそらく初心者の質問です。

ベストアンサー
申し訳ありませんが、適切な答えはありません

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です