.itemset(
)
: string
で指定されたアイテム集合のZDDオブジェクト
を生成する。 複数のアイテムは半角スペースで区切る。 重みを指定することはできない。 空文字("")が指定された場合は空のアイテム集合と扱われ、積和表現の定数項1として設定される(zdd.constant(1)と同様)。
symbolメソッドで宣言されていないアイテムは、アイテムオーダ表の最後に追加される。 またアイテムに設定されるコストはデフォルトの0.5となる。 コストについての詳細はsymbolを参照のこと。
> require 'zdd' > a=ZDD::itemset("a b") > a.show a b > b=ZDD::itemset("b") > b.show b > c=ZDD::itemset("") > c.show 1 # 数字をアイテム名として利用することも可能 > x0=ZDD::itemset("2") > x0.show 2 # ただし、表示上重みと区別がつかなくなるので注意が必要。 > (2*x0).show 2 2 # こんな記号ばかりのアイテム名もOK。 > x1=ZDD::itemset("!#%&'()=~|@[;:]") > x1.show !#%&'()=~|@[;:] # ただし、rubyで特殊な意味を持つ記号はエスケープする必要がある。 # 以下では、\,$,"の3つの文字をエスケープしている例である。 > x2=ZDD::itemset("\\\$\"") > x2.show \$" # もちろん日本語も利用可。 > x3=ZDD::itemset("りんご ばなな") > x3.show りんご ばなな
symbol : アイテムの宣言
constant : ZDD定数オブジェクトの生成
cost : アイテム集合のコスト合計