.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 : アイテム集合のコスト合計