.permit(
)
For itemsets included in
, select the term that is included in at least 1 itemset contained in
.
More precisely,
is the set of items that make up
where the weight of term
is removed, assuming that
represents the same itemsets in
, if at least one
satisfy
, select term
that corresponds to
from
.
In relation, the conditional expression
is changed to
and become restrict function.
> require 'zdd'
> a=ZDD::itemset("a")
> b=ZDD::itemset("b")
> c=ZDD::itemset("c")
> d=ZDD::itemset("d")
> x=5*a + 3*b + b*c + 2
> y=a + b + d
> z=a*c
> x.show
5 a + b c + 3 b + 2
> y.show
a + b + d
> z.show
a c
# 4 itemsets a,bc,b,Φ (the term for empty itemset has a weight of 2) in x,
# 3 itemsets a,b,d in y are included in itemset
# a and b and Φ (empty itemset is also considered for inclusion as itemset).
# Therefore, select terms a,b,Φ from x.
> x.permit(y).show
5 a + 3 b + 2
# Among 4 itemsets a,bc,b,Φ contains in x,
# itemset z contains ac, which includes itemset a and Φ.
# Therefore, terms a and Φ are selected from x.
> x.permit(z).show
5 a + 2
# Among 4 itemsets a,bc,b,Φ contain in x,
# itemset c includes itemset Φ.
# Therefore, term Φ is selected from x.
> x.permit(c).show
2
restrict : Selection of superset