instructions for use - huscap · 2019-10-09 · niques, and enjoy the advantage of using random...
TRANSCRIPT
Instructions for use
Title Techniques of BDD/ZDD : Brief History and Recent Activity
Author(s) Minato, Shin-ichi
Citation IEICE Transactions on Information and Systems, E96D(7), 1419-1429https://doi.org/10.1587/transinf.E96.D.1419
Issue Date 2013-07
Doc URL http://hdl.handle.net/2115/53121
Rights Copyright © 2013 The Institute of Electronics, Information and Communication Engineers
Type article
File Information 201309111118.pdf
Hokkaido University Collection of Scholarly and Academic Papers : HUSCAP
IErCETRANS凶F.& SYST., VOL.E96ーD,NO.7n見.y2013 1419
|INVITED SURVEY PAPER
Techniques of BDDjZDD: Brief History and Recent Activity
SUMMARY Discrete structu1'es ar巴foundationalmaterial fo1' computer scienc巴andmath巴matics,which創 e1'elat巴dto set theo1'Y, symbolic logic,
inductive proof, g1'aph theory, combinatodcs, probability theory,巴tc.Many problems solv巴dby comput巴1'scan b巳decomposedinto disc1'ete structures using simple primitive algebraic operations. It is ve1'y impo1'tant to repre S巴ntdiscret巴structur巴scompactly and to execute efficiently tasks such as equivalency /validity ch巴cking,analysis of models, and optimization. Re cently, BDDs (Binary Decisio日 Diag1'ams)and ZDDs (Z巴1'o-suppress巴dBDDs) have attracted a great deal of attention, becaus巴th巴yefficiently 1'epres巴ntand manipulat巴la1'ge-scalecombinationallogic data, which a1'巴the basic discret巴struc制1'esin various自巳ldsof application. Although a quarte1' of a c巴nturyhas passed since Bryant's first id巴a,there紅巳 stilla lot of int巴restingand exciting resea1'ch topics related to BDD and ZDD目
BDD/ZDD is based on in自memo1'ydata processing t巴chniques,and it巴日
joys the advantage of using random acc巳ssmemory. R巴centcommodity PCs are equipped with gigabytes of main memory, and w巴cannow solve large“scale probl巴mswhich us巴dto be impossible due to memory short-age. Thus,巴speciallysinc巴2000,the scope of BDD/ZDD methods has increas巴d.This surv巴ypaper d巴scribesthe history of, and r巳centr官S巴archactivity pertaining to, t巴chniqu巴SI巴lat巴dto BDD and ZDD. key wo仰I'ds釘" BDD, ZDD, decis句凶凶siわ;011di σg♂1'(// dαfσ sfμ1円lIcf白1I1陀E
1. Introduction
Discrete structures are foundational material for computer
scienc巴 andmathematics, which are related to set theory,
symbolic 10gic, inductiv巳 proof, graph theory, combina-
torics, probability theory, etc. Many prob1ems solved by
computers can be decomposed into discrete structures 山田
ing simp1e ptimitive a1gebraic op巴rations.It is very impor-
tant to represent discrete structures compact1y and to exe-
cute e節cientlytasks such as equiva1encyjvalidity checldng,
ana1ysis of mode1s, and optimization. Those techniques are
commonly used in many application areas in computer sci-
ence, for example, h但・dw紅 ejsoftware system design, fau1t
analysis oflarge】 sca1esystems, constraint satisfaction prob-
lems, data mining, knowledge discovery, machine 1earn-
ingjclassification, bioinformatics, and web data ana1ysis.
They have considerable tipple effects on today's society.
A Binary Decision Diagram (BDD) [1] is a representa-
tion of a Boo1ean function, one of the most basic models of
Manuscript receiv巴dNovember 28,2012. Manuscript revisedおlarch21, 2013.
↑The author is with the Graduat巴 Schoolof Inforτnation Sci-ence and Technology, Hokkaido University, Sappol'・o-shi,060 0814 Japan.
キTheauthor is also with JST ERATO MINATO Discr右teStruc-tm巴ManipulationSyst巴mProject.
a) E-mail: minato@isLhokudai目ac.jpDOI: 1O.1587jtransinf.E96.D.1419
Shin-ichi民lINATot*a),Sellior Member
discr巴testructures. Systematic methods for Boo1ean func-
tion manipulation were first studied by Shannon in 1938, who applied Boo1ean alg巴brato 10gic n巴tworkdesign. The
AND-OR two-1eve1 structure (call巴dDNF or CNF) has qeen
us巴dfor a long time as th巴datas凶 ctureof Boo1ean func-
tions. However, after the epoch-ma1dng paper by R.E. Bryant in 1986, BDD-based m巴thodshave become a hot
topic and have been rapid1y developed.
BDD was origina11y invented for th巴巴伍cientBoo1ean
function manipulation required in VLSI logic design, but Boolean functions are a1so used for modeling many ldnds of combinatoria1 prob1ems. Zero】 suppressedBDD (ZDD) [2]
is a variant of BDD, customized for manipulating “sets of combinations." ZDDs have been succ巴ssfullyapp1ied not
on1y for VLSI design but a1so for solving various combi-
natoria1 problems, such as constraint satisfaction, frequent pattern mining, and graph enumeration. R巴C巴nt1y,ZDD has
become more widely known, since D.E. Knuth intensively discuss巴dZDD-based a1gorithms in the latest vo1ume of his
famous series of books [3].
Although a quarter of a century has passed since Bryant
first put forth his idea, there are still many interesting and exciting research topics related to BDD and ZDD. For巴x-
ample, Knuth presented a surprisingly fast a1gorithm “Sim-
path" [3] to construct a ZDD which represents all the paths
connecting two points in a given graph structure. This work
is important b巴causemany kinds of practical prob1ems are
c血cientlysolved by some variations of this a1gorithm. An-
other examp1e of recent activity is to extend BDDs to repre-
sent oth巴rkinds of discrete structures, such as s巴quencesand
permutations. In this context, new variants of BDDs called
sequenc巴BDD[4] and 7fDD [5] have recent1y been proposed
and the scope of BDD-bas巴dtechniques is now increasing.
This survey paper describes th巴historyof, and recent
research activity into, the techniques re1at巴dto BDD and
ZDD. Web巴ginningby巴xp1ainingthe basic techniques for
BDDjZDD manipulation in Sect. 2. Next we give a brief
history ofBDDjZDD-re1ated workin Sect. 3, and then some recent activity is discussed in Sect. 4. Section 5 concludes
this article.
2. sasic Techniques for sDDjZDD Manipulation
In this section, we describe the basic data structures and a1-
gorithms for manipu1ating BDDs and ZDDs.
Copyright @ 2013 The Institute of E1ectronics, Information and Comrnunication Engin巴ers
1420
F(a,b,c) F(a,b,c) )
T
¥
対
fμ
、Jい」
}
ふ+へαJ
いk
¥
D
的貝読了11W川」
Z
Fig.l Binary Decision Tree, BDDs and ZDDs.
九企
(a) redundant node deletion
Fig.2 BDD reduction rules
ー司.圃
IEICE TRANS.問F.& SYST., VOL.E9ιD,NO.7 JU工;y2013
F八
jBDD\'、~ FAND~ヘ
G八ノ'--../ /BDD ¥
/ ¥ (compressed data)
I BDD ¥
Fig.3 Fram巴workof BDD logic operat・
Table 1 Primitiv巴BDDop巳ratlOns.。 Returns the constant“o function. (O-terminal node) 1 Retnrns the constant-l function. (l-terminal nod巴)
F.top Returns th巴variabl巴ーIDat the root node of F. F(x~O) R巴tnr百sa subfunction of F when variable x = O. F(x~l) R巴turnsa subfunction of F when variable x = 1 F Logical NOT operation F八G Logical AND operation. FvG Logical OR op巴ratlOnFfJlG Exc1usive-OR operation. F.count Returns th巴numberof input assignments that satisfy F = 1.
2.1 BDDs 1 a f D 1 c 11 l' →S
A Binary Decision Diagram (BDD) is a graphical represen-
tation of a Boolean function, which was originally devel】
oped for VLSI design. As illustrated in Fig. 1, it is derか巴d
by reducing a binary decision tree, which represents a deci-
sion making process that d巴pendson some input variabl巴s.
In this graph, we may find the following two types of deci-
sion nodes:
(a) Redundant node: A d巴cisionnod巴 whosetwo child
nodes are identica1. (b) Equivalent nodes: Two or more decision nodes having
the sam巴variableand the same pair of child nodes.
If we find such types of nodes, we can reduce th巴
graph without changing the s巴mantics(in other words,
we can compress the graph) based on the mles shown in
Fig. 2 (a)(b). If we fix the order of input variabl巴sand apply
the two 1・eductionmles as much as possible, then we ob-
tain a canonical form for・agiven Boolean function [6]. Such
a data stmcture is called an Ordered BDD (OBDD), but in this articl巴wewi11 just call it a BDD.
The compr巴ssionratio of a BDD depends on the prop-
erties of Boolean function to b巴represented,but it can be 10
to 100 times more compact in some practica1 cases. In addi-
tion, we can systematically constmct a BDD that is the result
of a binary logic operation (i.e., AND or OR) for a given pair
of BDDs, as shown in Fig. 3. This algorithm, proposed by
Bryant [1], is based on a r巴curslv巴 proc巴durewith hash ta-
ble techniques, and it is much more efficient than generating binary decision trees when the BDDs have a good compres同
sion ratio. The computation time is bound巴dby the product
of the BDD sizes of the two operands, and in many practical
As a Bool日anlunction目
→b F = abc vabc
As a set 01 combinations冒
→ac S = [ac, b}
Fig.4 Correspondence of Boolean functiohs and sets of combinations.
cases, it is linear1y bounded by th巴 sumof input and output
BDD sizes t. Table 1 summarizes the list of primitive BDD
operatlOns.
BDDs are based on irトmemorydata processing tech-
niques, and enjoy the advantage of using random access memory. Recent commodity PCs are equipped with giga-
bytes of main memory, and we can now solve larg巴-scale
problems which used to be impossible due to memory short-
age. Thus, especially since 2000, the scope of BDD has
increased.
2.2 ZDDs
BDDswer芯 originallyinvented for Boolean function manip-
ulation. But we can a1so map a set of combinations into the
Boolean spa回 ofn variables, where n is the cardinality of the set of combinatorial items, as shown in Fig.4. So, one could a1so use a BDD to repres巴nta set of combinations.
Wh巴na set consists of many similar combinations, the BDD
tR巴cently,th巴counterexampleshave been giv巴nf,ωsom巴sp巴』
cial instanc巴s[7], b旧tin many practical cas巴s,computation time is lin巴arlybounded by input and output BDD sizes.
M凶ATO:TECHNIQUES OF BDDjZDD: BRIEF HISTORY AND RECENT ACTlVITY
provides a significant data compression and the manipula-tion becomes faster. In this way, BDDs can be appli巴dnot
only to VLSI logic design but also to various combinatorial
problems, such as cons位aintsatisfaction problems and fault analysis of large systems.
Zero-suppressed BDDs (ZDDs, 01' ZBDDs) a1'e a vari-ant of BDDs, custorniz巴dto manipulate sets of combina-
tions. An example is shown in Fig. 1. This data structure
was fi1'st introduced in 1993 by Minato [2]. ZDDs are based
on special 1'eduction rules that diffe1' from the ordina1'Y ones. As shown in Fig. 5, we delete all nodes whose 1-edge di】
rect1y points to the O-t巴1'rninalnode, but do not de1ete the
nodes which would be deleted in an o1'dinary BDD. This
new reduction rule is ext1'emely eff,巴ctiveif we are handling
a set of sparse combinations. If the average appearance 1'a-
tio of each item is 1 %, ZDDs are possibly up to 100 times
more compact than o1'dina1'Y BDDs. Such situations often
appea1' in 1'eal-life p1'Oblems, for example, in a supe1'ma1'ket,
the numbe1' of items in a custome1"s basket is usually much
less than the numbe1' of all the items displayed.
A ZDD 1'ep1'esentation has anothe1' good p1'ope1'ty: each
path f1'om the 1'Oot node to the l-ter‘minal node co1'1'esponds
to one item combination in the set. Nam巴ly,the numbe1' of
such paths in th巴ZDDequals the numbe1' of combinations in
the set. This att1'active p1'ope1'ty indicates that,巴venif the1'e
a1'e no equivalent nod巴sto be sha1'ed, the ZDD structu1'e ex-plicitly stores all the it巴msof each combination at least as
compactly as an explicit linea1' linked list data structure. In othe1' wo1'ds, (the o1'de1' of) the size of the ZDD neve1' ex-
ceeds that of the explicit 1'ep1'esentation. If mo1'e nodes紅 C
ギ十八凸BDD ZDD
Fig.5 ZDD reduction rule
1421
sha1'ed, the ZDD is more compact than the co1'1'esponding linear list.
Table 2 summa1'izes most of the prirnitiv巴op巴1'ationsof the ZDDs. In thes巴ope1'ations,o, {λ}, and P.top can be ob-tained in constant time. Her・巴 λ means a null combination.
p.({酔et(v),P.onset(v), and P.change(v) ope1'ations 1'equ出 a
constant tim巴ifv is the top va1'iable of P, othe1'wis巴they1'e-quire a tim巴linearin th巴numbe1'of ZDD nod回 locatedat
a highe1' position than v. Th巴union,inte1'section, and di仔e1'-
ence ope1'ations can be peliormed in a time that is linear in
the size of the ZDDs in many p1'actical cases.
The last three ope1'ations in the table constitute an in【
teresting algeb1'a fo1' sets of combinations with multiplica-
tion and division. Knuth has been inspi1'ed by this idea and has developed more va1'ious alg巴braicope1'ations, such as
P n Q, P U Q, P田 Q,P /' Q, P"、Q,pt, and P↓. He called these ZDD-based ope1'ations a“Family Algeb1'a" in the 1'ecent fascicle of his book se1'ies [3].
The original BDD was invented and d巴velopedfo1'
VLSI logic design, but ZDD is now 1'ecognized as the most impo1'tant variant of BDD, and is widely used in various
ldnds of p1'Oblems in compute1' sci巴nce[9]-[12].
3. Brief History of BDDjZDD Research
Figure 6 gives an ove1'view of 1'esea1'ch 1'elated to BDDs and
ZDDs. In this chart, each topic is 1'efe1'1'ed to by autho1' name and yea1'. Of course, it is impossible to cove1' all the 1'es巴a1'ch
activities in one chart, so th巴1'emay be many othe1' inte1'est-
ing topics which are not shown here.
3.1 Ove1'view ofBDD/ZDD Related Wo1'k
In 1986, B1'yant p1'oposed the algo1'ithm called “'Apply"
[B1'yant86][1]. It was the origin of much work on th巴 use
of BDDs as modern data structu1'es and algor姐lmsfo1' ef-
ficient Boolean function manipulation. Just afte1' B1'yant's
pap巴1', implementation techniqu巴sfor the BDD manipula-
tion, such as hash-table ope1'ations and memo1'y manage【
ment techniques,巴me1'ged[B1'ace90][13], [Minat090][14].
A BDD is a unique 1'ep1'esentation of a given Boolean func-tion. Howeve1', if the o1'd巴l'of input variables is chang巴d,a
Table 2 Primitive ZDD operations.
日 Returns empty s巴t.(0-terminal且od巴){λ} Returns th巴B巴tof only null-combinations. (l-termina1 node) P.top Returns th巴lt巳m-IDat the root node of P. P.offset(v) Subset of combinations not inclllding item v. P.onset(v) Gets P ¥ P.offset(v) and then d巴letesv from each combination. P.change(v) Inverts tb巴e氾 stenc巴ofv(addj delete) on each combination PUQ Retlirns th巴llnionset pnQ Re七日rnsthe intersection s巴t.P¥Q Returns仕1巴differ巴nceset. (in P but not in Q.) P.count Counts nllmber of combinations
Extended operations for ZDDs [8] cartesian prodllct of P and Q. Quotient of P divided by Q. Remainder of P divid巴dbyQ.
IEICE TRANS. INF. & SYST., VOL.E9ιーD,NO.7 JULY 2013 1422
1985 1990 1995 2000 2005 2010
.: BDD-based risk ana1ysis BDD-based BDD/ZDD I .:' [C叩 d田i,Madr説 J BDD同basedsp即位a1matrix E臥Mι也-a1g伊伊;ori他tI白hmm 1
Re附 a帥 C印h削aI ,/ p戸r凶巾h泊m蹴n回es出 BDD-b凶a副 T四u抗悦E句P叩 om削mial C-- S仇加b伽e位叩削n此lte蹴脚削t匂悩刷刷E瑚m刷n凶凶伽1t吋tia1DD. ..' g
.... ' [Coudert匁] [Se~~:!,t?;!噌~9J..............…H ・H ・..…................・H・........・H・-…・H・M・...........…山1.2Jf:N.i.Ç加4・'l{.... ' BEM-II[M回初93J ("正面占:Lased ZDD目based
/ira副 E四叫ai941〉間以 1123弘司 d
....... [Madre91J ADD仰TBDD)....... ,...' Frontier-based ..,:-::"_~, .....Je日間同町 ZD山市ermit" ~ g仰ra瑚a叩ph叩削um.
〆BDD-ba副 /"三一D 0叩peぽ削凶a抗ati白io∞n[Oknn叫1eq叩ul町v-check
,/ [F~j凶8J[Malik88J¥ [M!?~~?~~~ ~:DD-based /"BDD/ZDD / BDD-based ¥ FDIν町 DD 10gic s明戸凶t批he出討白s “W引in凶t伽泡:er0ぱfBDD" ! in Knu ....... 10g伊1叩c叩伽i凶za捌a剖tぬ削n "'"可e帥叫d出sl三2説:詰1よ口口:z;11;い〕mmu山 L T胆貯空竺ut男竺開仰1里刊m!吹勿!り! /[MaM酬 91¥[MM0951Lm却 D .......... .
./ BD加Di川I町m町賀m叩l甲ple目阻mel
/.. BDDA勾附附Pμ拘Iy ;広2:t:3お:E;ら」hf但ma回 ωω酬州"州0] …蜘泊均g 匹糊炉Eω酬酬θ併削6伺J [凹Mina耐帆ω,Un恥 O町 ¥ algorithm ~;~Il~;~::~~~lJ.,.uLla~u7uJ [Rude1193] P田iitioned''SDD・h・・ ・ ZDD-based mining
¥TEyant栃1IF11:叫叶 哲也m田口;Ldttiii::子、 は:Z6] ZDD伽¥........... circuit verification [Tani93J [Somenzi97J [Drechsl酬 J ............... ZDD-based 官22Jrr
[Coudert90J Breadfu-first BDD BF/DF BDD S仕GamingBDD¥¥.data mmmg ........ BDD-based 貯'chi93J …......Jy.~.':.~:~ryanθ7][MinM000]\\IUEUω,Bail刑6].i m凹 od必制eIcぬhec耐kin昭E 屯.......… .. 山.日.... ………… .. ………冒"…….. …...………….日…….. …….日….. … .. 山…..
..' [伽Bu附 -Cl品C口仙larlω0例] BDD-ba 副 ¥ . .~.句...........川......川川.、".句" ...........川.... [山Loe耐Idω肌岬,亦Ba剖州i日I附 9](加m吋哨e1c士hftFLE M U U M u u -IMFMi H a n 93 l c l o s u m e t h H ・H ・.., ・… ・ ........ ............... ........... πDD
[Matsunaga93J SA下based ...... ......... . [Minaω11] model checking ...... ........... ....... ..
'"・.[Biere99] 、......GRASP Cαha国a自節'1zCα:ha阻af首f........…… .. 山..… .....旬........... 川..........
[仏M匂ar叫que田:s-必必s鋭剖il卸、va丸,S臼akallahω1汐96吋][Mos北ke町V1印cs凶01リ] .............. ................ . 〔白?坐主I冒E叫olv明q目叫1)立札!.. ……… .. ……… .. ……… .. … .. …..……..............................・H ・-…H ・H ・-…...............・H ・...............・H ・…...・H ・H ・......・H ・.......・H ・".・ .......札 ....... .
一丸 一札
¥. (SAT-based methods) ....... ..... . .... ",
Fig, 6 Chart of BDDjZDD r巴latedwork.
different BDD is obtained for what is巴ssentiallyth巴 sameBoolean function. Since the size of BDDs greatly depends on the order of input variables, variable ordering methods were intensively developed in th巴earlydays [Fujita91][15], [Rude1l93] [16], [Tani93] [17], [Drechsler98][18]. Those practical techniques were implemented in a software libra1'Y called “BDD package." Cunently, sev巴ralacadeIIUc groups p1'ovide such packag巴sas open software. ([Som巴nzi97][19], fo1' example.)
At fi1'st, BDDs were applied to巴quivalencecheck同
ing of logic circuits [Fujita88] [20], [Malik88] [21], [Coud【
ert90] [22] and logic optiIIUzation [Matsunaga89][23] in VLSI logic design. Next, BDD-based symbolic maniplトlation techniques we1'e combined with the already known theory of model checldng. It was really a breakthro昭hthat formal verification becomes possible fo1' som巴 p1'ac-tical sizes of sequential machines [Burch,Clarke90] [24], [McMillan93][25]. After that, many resea1'che1's b巴cameinvolved with fo1'mal hardware v巴rificationusing BDDs, and Cla1'ke received the Turing Award in 2008 fo1' this wo1'k. In addition, the BDD七asedsymbolic model check-ing method led to the idea of bounded model check-ing using SAT solvers [M紅ques-Silva,Sak:allah96][26], [Bi巴re99][27], [Moskewicz01][28]. These 1'esearch pro-duced many practical applications of SAT solve1's that ar巴
wid巴lyutilized today. ZDDs [Minat093][2] deal with sets of combinations,
representing a model that is diff,巴rentfrom Boolean func-tions. Howev巴r,the or泡inalmotivation of developing ZDDs was also for VLSI logic design. ZDDs were first used for manipulating very large-scale logic expressions with an AND-OR two-level structure (also called DNF or CNF), namely, representing a set including very 1紅 genumber of combinations of input variabl巴s.Sets of combinations of-ten appear not only in VLSI logic design area but also in V紅白usareas of computer sci巴nce.It is known that ZDDs are巴ffectivefor handling many kinds of constraint satis-faction problems in graph theory and combinatorics [Coud-ert97][9], [Okun098][29].
3.2 “明Tinterof BDD" and After
In this BDDjZDD research chart, one can observ巴 agap be-twe巴n1999 and 2005. Of course there are some publica-tions related to BDDs or ZDDs, but the research activity in this p巴riodis obviously less than in pr巴viousor later years. We may call this gap the “Winter of BDDs." By that time, most basic implementation techniques had been matured, and BDD applications to VLSI design tools seemed to be almost exhausted. So, many researchers moved from BDD-
ーヲ圃
rー一
MINATO: TECHNIQUES OF BDD(ZDD: BRIEF mSTORY AND RECENT ACTIVITY
re1ated work to other research areas, such as actual VLSI chip design issu巴sor SAT-based prob1em solving.
How巴ver,after about 2005, ma叩nypeop1e unde白1"Sはto∞odt白ha幻tBDDsν:jZDD呂a征r巴usefulnot only for VLSI 10gic design but a1so i血nva但r匂usot白h巴白r但'eas,and then BDD-re1ated re 間関 archactivity was revived. For example, we can see some applications to data mining [Loe1dto,Ba江ey06][10],[Mi回
nato06][30], [Minato,Uno08] [31], Bayesian network and probabilistic inference models [Minato,Sato07][11], [Ishi-hata,SatolO][12], and gam巴 theory[S北urai11][32].More recently, new types of BDD variants, which have not been considered before, have been propos巴d. Sequ巴nceBDDs [Loekito,Bailey09] [4] repr巴sentsets of strings or sequences, and πDDs [Minat011][5] represent sets ofpermutations.
Synchronizing with this new movement, the BDD sec-tion of Knuth's book was published [Knuth09] [3]. As Knuth presented the potentia1 for wide-ranging app1ications of BDDs and ZDDs, these data structur咽巴sand algorithms were recognized as fundamenta1 t巴chniquesfor whole fields of information scienc巴.In particu1ar, his book includes the “Simpath" algorithm which constructs a ZDD representing all the connecting paths between two points in a given graph structure, and a surprisingly fast program is provided for pub1ic use on his web page. Experimenta1 results suggest that this a1gorithm is not just an exercise but is the most c血cientmethod using curr・巴ntt巴chnology. Based on this method, the author's research group is now developing ex-tended and generalized a1gorithms, cal1ed “Frontier -based methods," for e侃cientlyenumerating and indexingt va1ious kinds of discret巴 structures[33]-[35].
As the background of this resurgence and n巴wgen-eration app1ications, we should note the great progress of the computer hardware system,巴speciallythe increase of main memory capacity. Actually, in the early days of using BDDs in 1990's, there was som巴literatur巴onapplications for intelligent information proc巴ssing.Madr巴andCoudert proposed a TMS (Truth Maintenance System) using BDDs for automatic logic inference and reasoning [Madre92] [36]. A method of probabilistic risk ana1ysis、for1arge industria1 p1ants was also considered [Coudert,Madre92] [37]. Coudert a1so propos巴da fast m巴thodof constructing BDDs to repre-sent prime sets (minimal support sets) for satisfying Boo1ean functions [Coudert92] [38], which is a basic operation for 10gic infer・ence.However, at that time, the main memory capacities of higlトspecificationcomputers wer巴 only10 to 100 megabytes, about 10,000 times smaller than those avai1回
able today, and thus, on1y small BDDs cou1d be generated. In th巴 VLSId巴signprocess, the usua1 approach was
that th巴 wholecircuit was divided into a number of small submodu1es, and each submodule was designed individlトally by hand. So, it was natural that the BDD-based de-sign too1s are used for the su伍cientlysmall submodules which could be handled with a 1imited main m巴morycapac-ity. With the progr巴ssof computer hardware p巴rformance,BDD-based methods could gradually be applied to 1arger submodu1e. On the oth巴rhand, in the applications of data mining or 1αlOw1edge processing, the input data were stored
1423
on a very 1arge hard disks. The processor 10aded a smal1 fragment of data from the ha1'd disk into the main memory, and巴xecutedsome m巴aningfuloperations on th巴datain the main memory, then the processed data was saved with the origina1 data on the hard disk. Such procedures were cpm-mon, but it was very difficult to apply BDD-based methods to hard disk data. Aft巴1・2000,computers' main memory capacity grew rapidly, and in many practica1 cases, all the input data can be stored in the main memory. Thus many kinds of in-memory algorithms cou1d be actively studied for data processing applications. The BDD/ZDD algorithm is a typical instance of such in-memory techniques.
In view of the above technica1 background, most re-search on BDDs/ZDDs after the winter period is not just about r百 nakingold techno1ogies. It also compares classi-ca1 and well-known e伍cientm巴thods(such as su鼠xtre巴s,string matching, and frequent pattern mining) with the BDD/ZDD-based methods, in order to propose combined or improv巴dtechniqu巴sto obtain the current best perfor-mance. For巴xample,Darwiche, who is a well-known re-searcher in data structures of probabilistic inference mode1s, is very interested in th巴techniquesof BDDs, and he recent1y proposed a new data structure, the SDD (Sententia1 Deci-sion Diagram) [Darwiche11][39], to combine BDDs with the classica1 data structures of know1edge databases. As shown in this examp1e, we had better collaborate with many research巴rsin various fie1ds of information science to im-port the current best-known techniques into BDD/ZDD re-1ated work, and then we may develop more efficient new data structures and a1gorithms for discrete structure manip同
u1ation.
4. Recent Research Activity
Here we will highlight some remarkab1e work re1ated to BDDs/ZDDs.
4.1 Knuth's Simpath Algorithm
As mention巴dabove, Knuth has present怠dthe surprising1y fast algorithm“Simpath" [3] (Vol. 4, Fascicle 1, p. 121, or p. 254 of Vol. 4A) to construct a ZDD which repre-sents all出巴 pa出sconnecting two points s and t in a given graph (not necessarily the shortest ones but ones not passing through the same point twic巴).This work is important be-cause many kinds of practica1 prob1ems can be efficiently solved by some variations of this a1gorithm. Knuth pro-vides his own C source codes on his web page for public access, and the program is 問中rising1yfast. For examp1e, in a 15 x 15 grid graph (420巴dgesin tota1), the number of self-avoiding paths between opposit怠 cornersis as great as 227449714676812739631826459327989863387613323440 (田 2.27X 1047) ways. By app1ying the Simpath algorithm, the set of paths can be compressed into a ZDD with on1y
十“lnd巴xing"m巴ansnot only generating but also storing th巴datawith a good structure for quick acc巴ss.
IEICE TRANS. lNF. & SYST., VOL.E96ーD,NO.7 JULY 2013
1424
一争
given graph first step second step
Fig.7 Tree expansion in白eSimpath algorithm.
t
e:::.::
e:2F?fr ? Fig.8 Equivalent stat巴sand frontier百inth巴 Simpathalgorithm.
144759636 nodes, and the computation time is on1y a few
mmutes. Figure 7 illustrat巴sthe basic mechanism of the Simpath
a1gorithm. In the beginning, we assign a fixed ordering for
all the edges, E = {e" e2, • • • , el1} for the given graph G = (v, E). Then, we construct a binm'y decision tree from the
top to the bottom in a breadth戸 firstmanner. In the first step,
we consider two decisions 1 and 0, representing wheth巴r
the edge el is used in the s-t path or not. W巴 thenmake
two 1eaf nodes, each of which ho1ds the current status of the
path se1ection. In the second step, we visit each of the two
1eaf nodes and巴xpanda new branch from the 1eaf, to decide
whether the edge e2 is us巴din the sィpathor not. Then each
of the new 1eaves has the current status of el and e2・Inthis
way, at the k-th 1eve1, we sequentially visit all the leaf nodes
and app巴nda (k + 1)ーth1evel decision node for・eachcas巴,
but we may prune the branch when we find a contradiction
in the current status such that the edges forming an s-t path
cannot avoid generating a disjoint component or a branch.
In such cases, we assign the value 0 to the leaf node and
we put no more branch巴sthere. By repeating this process
until the n-th 1evel, we can construct a tota1 decision tree
including al1 the s-t paths. We assign the va1ue 1 to巴ach
fina1 1eaf node which repres巴ntsa solution. After that, we
app1y the ZDD reduction rules to each node of the decision
紅白fromthe bottom to the top to obtain a compr巴ssedZDD.
In th巴 aboveproc巴dure, w巴 canavoid unnecessarγ
expansion by assig凶nga 0-termina1 nod巴sto the contra-
dicted state, but this is not enough for really fast compu-
tation. The Simpath a1gorithm a1so emp10ys another idea
of reduction to check equiva1ent states in the k-th 1ev巴1,
and those equiva1巴ntnodes are merged into one node in
the next expansion step. Here“equiva1ent states" m巴ans
that the two int巴rmediatestates have comp1ete1y the same
requirements for the remaining undecid巴dedges to com-
plet巴 thecorrect sィpaths.An example on a grid graph is
shown in Fig. 8. Suppose that it has already be巴ndecided
whether e, to e12 are used, and 1巴tus compare the two cas巴S
where (e2,eS,e7,eS,elO,ell,e12) are chosen (left one) and
(el,e4,e7,eS,elQ,ell,e12) are chosen (right one). In both
cases, we should connect the vertices Vs and VlO, and con-
nect th巴vertic目的 andt by using remaining edges. Thus,
the requir・em巴ntsof the two cas巴sm・ecomplete1y the same.
In the corresponding ZDD, th巴twosub-graphs 10wer than
e13 must b巴identical,so we do not have to expand such sub-
graphs twic巴ifwe can find such equivalent states. In many
cases ofth巴 s-tpath prob1em, a number of equivalent states
appear, and th巴effecton th巴computationtime is very 1arge.
For checking the equiva1ence of two leaf nodes, we
need only the status on a set of the vertices, specified by
the dotted circle in th巴figure,wh巴reeach vertex connects at
1巴astone decided edge and at least one und巴cidededge. It is
巴noughto know which vertex is at the end point and which
one is the opposite end. The Simpath a1gorithm prepares
an array structure called "mate" to store that information at
each leaf nod巴,叩dr巴gist巴rsall the mate data into a hash
table for fast equival巴ncechecking. Knuth called that set
of vertices the “fronti巴r."The frontier 紅白 movesfrom the
start vertex to the goa1 vertex during computation.
Th巴Simpatha1gorithm be10ngs to the m巴thodof dy
『事圃
す←
M到ATO:TECHNIQUES OF BDD(ZDD: BRIEF HISTORY AND RECENT ACTIVITY
S
(a) conventional ZDD construction
dynamic
programmmg
一一一一砂t
(b) Frontier四basedm巴thod
1425
Fig.9 Conventional and Frontier-based ZDD constmctIon.
namic programming, bas巴don the mate information on the frontier. If th巴frontiergrows larger in the computation pro-C巴SS,more intermediate states appear and more computa-tion time is required. Thus, we had better keep the frontier small. The maximum size of the frontier depends on the given graph structures and the order of the edges. Empiri-cally, plana1' 01' narrow g1'aphs a1'e favo1'able.
Recently, Iwashita et al. [35] 1'epo1'ted that they suc-ceeded in counting th巴 totalnumber of s巴lf-avoidings-t
paths for the 21x21 grid g1'aph. This is the current world 1'eco1'd and is 0血cially1'egiste1'ed in th巴On-LineEncyclope-dia of Intege1' Sequences [40].
4.2 F1'ontie1'-Bas巴dMethods fo1' Various G1'aph P1'oblems
Knuth desclibed in his boolc [3] that the Simpath algo1'ithm can easily be modified to generate not only s-t paths but also Hamilton paths, direct巴dpaths, som巴 kindsof cycles,
and many other problems by slightly changing the mate data structure. We generically call such ZDD construction method“Frontier-based methods."
As illustrated in Fig. 9 (a)(b), a Frontier-based method is differ官 ltf1'om the conventional ZDD construction, which 1'epeats p1'imitive set ope1'ations between two ZDDs. In gerトe1'al, th巴primitiveset operations a1'e巴侃cientlyimplem巴ntedbased on B1'yant's Apply algorithm, but do not di1'ectly use th巴p1'ope1'tiesof the specific problem. F1'ontie1'】basedmeth-ods are sometimes much more efficient b巴causethey are a dynamic prog1'amming method based on the frontier, a kind of structural property of the given g1'aph.
Frontier-based methods are related to mathematical
work in the lite1'ature of g1'aph theo1'Y. The Tutte polyno-mial is known as a basic invariant of a g1'aph structu1'e. For a given g1'aph G = (11, E), the Tutt巴polynomialis defined as [41]:
T叩(いx川,Ac早二E
whereρ(A) is given by subt1'acting the number of connecting components in a set of edges A (C E) from the total numbe1' of vertices IVI. If we could calculate the coefficients of all te1'ms in th巴 Tuttepolynomial, it would b巴 verypowerful since various properties concerning g1'aph connectivity can
easily be evaluated. However, except fo1' small g1'aphs, it is too time-consuming to exactly calculate the above fo1'mula
fo1' the whole subset A. In 1995, Sekine, Imai, et al. [42] p1'opo間 da method for
g巴ne1'atingBDDs to calculate Tutte polynomials e侃ciently.This method is very similar to the Simpath algorithm t. The differences ar巴 onlythat they generates BDDs instead of ZDDs, and that the “mate data" represents a set of partitions of connected components, not a pa註ofend points of paths. The other parts of the algorithm a1'e simila1'. They also pre-sented extensive mathematical discussions and a theo1'etical analysis of the complexity of th巴 algorithmfo1' som巴spe-cial classes of graph, such as planar and grid gr百phs[43]. Thei1' the⑪r巴tical1'esults can also be us巴dfor the Simpath alg01ithm in an almost identical manner.
Unfo1'tunately, at that tirne, the p巴rfo1'man∞ofcom-putβr hardware was much poo1'er than today, and BDD-related tecm判ueswere thought to be matured, so th巴註 re-sults were mainly focused on the theoretical and mathemat-ical viewpoints and did not conside1' the real computation time. Recently, Knuth proposed an巴鼠cientimpl巴mentationof Simpath, so people have recogni日 dthat F1'ontie1'-based methods a1'e int怠1'estingnot only theo1'etically but also as state-of】 the-arttechniques for solving many p1'actical prob-lems.
He1'巴 welist graph probl巴mswhich can be enumerated and indexed by a ZDD using a Frontier-based method.
• Simpath type: (Equivalent statβs a1'e identified by巴ndpoints of paths.)
-all s-t paths, -s-t paths with length k, -k-pairs of s-t paths, -all cycles,
-cycles with length k, -Hamilton paths / cycl巴s,-Euler paths / cycles, -directed paths / cycles.
・Tuttepolynon吐altype: (Equivalent stat巴sare identified by graph partitions.)
tUnfortunat巴ly,Knuth did not know th巴irwork when writing the Simpath algorithm for his book.
1426
-al1 connected components, -spanning trees I forests,
-Stein巴rtrees,
-all cut sets, -k-partitioning, -calculating probability of conn巴ctivity
• Others:
-all cliqu巴s,-all independent sets,
-graph colorings, -tilings, -perfect I imperf,巴ctmatching.
These problems are strongly related to many ldnds of
real-life problems. For example, path enumeration is of
course important in geographic information systems, and is also us巳dfor d巴pendencyanalysis of a process ftow chart, fault analysis of industrial syst巴ms,巴tc. Recently, Inoue
巴tal. [34] discuss巴dthe design of electric power distribu悶
tion systems. Such civil engin田 ringsystems are usual1y
near to planar graphs, so the Frontier-based method is very
e狂ectlv巴 inmany cases. They succeed巴din generating a
ZDD to enumerate all the possible switching patterns in a realistic benchmark of an electric power distribution system
with 468 switch巴s.The obtained ZDD represents as many
as 1060 of valid switching patterns but the actual ZDD size
is 1巴ss100MByte, and computation time is around 30 min-utes. After generating the ZDD, al1 valid switch patterns are compact1y represented, and we can e血Cl巴nt1ydiscov巴rthe
switching patterns with maximum, minimum, and average cost. We can also efficient1y app1y additional constraints to
the current solutions. In this way, Frontier-based methods can be utilized for many ldnds of real-1ife problems.
4.3 お1anipu1ationof Sets of Sequences
A set of sequences (or s巴tof strings) is a very popular
model for representing various data, such as text docu-ments, gene sequences, and sequential巴vents.This mode1
is also called a language in traditional computation theory.
(aaa, aba, bbc, bc} is an examp1e of set of sequences ob-
tained from the set of symbols L = {a, b, cトHerewe con-
sider only finite sets of sequences. Since ordinary ZDDs represent sets of combinations,
the order of symbols (e.g. {ab, ba}) and duplicated symbols (e.g. {aa, aαa, ab, aabb}) cannot be distinguished. In 2009, Loekito, Bailey, and Pei [4] proposed Sequence BDD (Se-
qBDD), which is a new ZDD-based data structure for rep-
resenting sets of sequences. Figure 10 shows an example of a SeqBDD. This is almost same as a ZDD but di釘'ersin
the variable ordering rule. SeqBDDs are based on the “1ex】
icographical variab1e ord巴ringrul巴,"such that the variable
order constraint is applied only to the O-edge, while the 1-
edge side has no ordering constraint. As shown in Fig. 11, this half-relaxed rule allows the duplication of letters in one
sequence. In the SeqBDD semantics, each path in a Se-qBDD corresponds to a s巴quence.More specifically, the top
IErCE TRANS. INF. & SYST., VOL.E96ーD,NO.7 JULY 2013
{αaa,aba,bbc,bc}
Fig.l0 A SeqBDD.
~CfJl品?(Ordered) ZDD Sequ巴nceBDD
Fig.ll L巴xicographicalvariable ordering rule.
Table 3 Primitive SeqBDD operations.
o Returns巴mptyset. (O-t巴rrninalnod巴){λ) R巴turnsthe set of a null-sequenc巴.(1-terminal node) P.top Returns th巴item-IDat th巴rootnode of P. P.ol1set(x) Sel巴ctsth巴subsetof sequenc巴sstarting with 1巴tterx,
and then remov巴sx from the head of each sequ巴nce.P.ojj'set(x) S巴l巴ctsthe subset of s巴quencesnot starting with letter x. P.push(x) App巴ndsx to th巴headof巴verys巴quenc巴inP.PUQ Returns the union set.
PパQ R巴tm百sth巴int巴rsectlOns巴t.P¥Q Returns the differ巴nc巴S巴t.(in P but not in Q.) P.count Counts number of combinations. P*Q Cart巴sianproduct of P and Q.
(Concatenations of all pairs of s巴quencesin P and in Q)
node corresponds to the h巴ad1巴tterof the sequence, and th巴
succ巴ssivenode of the 1】 edgecorresponds to the subs巴qu巴nt
letters. Table 3 summarizes the primitive algebraic op巴rations
of SeqBDDs. W巴cansee that this is very close to the ZDD
algebra. The onset, ~酔et, and push op巴rationsare slight1y different from those of ordinary ZDDs. In principle, the Se-qBDDs give a special meaning to the first position of a se-
quenc巴. Each d巴cisionnode ch巴cksthe head letter of al1 sequences, and then divides th巴minto two sub-sequences.
Other binary operations, such as union, intersection, and dif-
fer巴nce,are almost identical. Another interesting point is
that the zero四 suppress巴dreduction rule is n巴cessaryfor Se-
qBDDr巴duction.The ordinary (symmetric) BDD reduction
rule confticts with the asymmetric variable ordering rule in
SeqBDDs. A SeqBDD directly represents a set of s巴quences,and
we do not hav巴 toknow the maximum length of the se-
quenc巴sat the beginning. S巴qBDDsare巴fficientespecially
for representing sets of sequences containing both very long
MINATO: TECHNIQUES OF BDD;ZDD: BRIEF HISTORY AND RECENT ACTIVITY
and short sequences. Denzumi et al. [44] present巴dthe theo-retica1 re1ationship between SeqBDDs and acyclic automata in terms of computation time and space. They a1so presented a technique "Suffix-DD" [45], which is a su血x-treemanip-ulation based on SeqBDDs. This method efficiently con-structs an index of al1 substrings for a given long text string. The techniques of automata and suffix-tr巴esare commonly used in string data applications, so we hope that many of those applications will be accelerated by using SeqBDDs.
4.4 Manipulation of Sets of Permutations
Now we focus on manipulating permutations, as one of the most impo1'tant disc1'et巴structu1'emodels. Pennutations and combinations are two basic concepts in elementa1'Y combi-natorics and disc1'ete mathematics [46]. Pe1'mutations ap-
Fig. 12 Example of a sh紅巳d7rDD.
Table 4 Primitiv巴 7lDDoperations.
o Returns巴mptys巴t.(O-t巴rminalnode) {πe} Returns th巴日巴tof an identity permutation
(l-tenninal nod巴)P.top Returns lDs (x, y) at the root node of P. PUQ Returns (π|πE PorπE Q). pnQ Returns (π|π EP,πE Q)
P¥Q Returns (π|π EP,π'i'Q). P.T(X,y) Returns P . T(x,1J)・
P*Q Returns (o:s 1 0: E P,βEQJ
P.cofact(x, y) R巴turns(πT(柑 )1π EP,X7r=yトP.count Counts th巴numberofp巴rmutations
{πe,(1ム3,5,4),(1ム3ん5,4),(1,2,3,5,6,4),(1,2,3,4,6,5),(1,2,3,6,4,5) }
l ~ー戸『、
6,4
む
1427
pear凶 variousp1'oblems such as so1'ting, o1'dering, match-ing, coding and many othe1' real-life situations. Recent1y, the author has dev巴lopeda n巴wtype of decision diagram,
named "7fDD" [5], fo1' the compact and canonical 1'epres巴任tation of a s巴tof pe1'mutations. Figur・e12 shows an examp1e of a multi-rooted 7fDD corresponding to severa1 sets of per-mutations. The 7fDD method is th巴fi1'stp1'actical idea for the efficient manipulation of sets of pe1'mutations on the ba-sis of decision diag1'ams. This data structure can compress a 1a1'ge number of permutations into a compact and canonica1 representatlOn.
Simila1' to o1'dina1'Y BDDs and ZDDs,πDDs have effi-cient algebraic set ope1'ations, such as union, inte1's巴ction,and diffe1'ence. Tab1e 4 summarizes the primitive opera-tions used in 7fDDs for manipu1ating sets of pennutations. There is a1so a special Cartesian product operation which generates all possible composite pe1'mutations (cascades of two pe1'mutations) fo1' two given s巴tsof permutations. This ope1'ation is beautiful and is a powe1'ful method fo1' solving va1'ious p1'obl巴msin p巴1'mutationspace. For巴xample,we can rep1'es巴ntthe primitive moves of RubilどsCube with a smallπDD, and by simply multip1ying this 7fDD by itself k
times, we can generate a sing1e canonical 7fDD represent-ing all possible positions reachab1e within k moves. The computation time depends on the size of th巴πDD,which is sometimes much smaller than the number・ofpositions. Figur・e13 shows an example of a p1'oduct op巴1'ationfo1' two 7fDDs whose items are disjoint. In this case,巴venthoughth巴numb巴l'of pe1'mutations inc1'eases multiplicative1y, the size ofthe πDD increases only additive1y. Since the computation time also dep巴ndson the size of the 7fDD, in such cases the 巴ffectivenessof the 7fDD-based method inc1'eases exponen-tially when compa1'ed with using an explicit data structure. Once we have gene1'ated 7fDDs fo1' a p1'oblem, we can easily apply various analysis 01' testing techniques, such as count-ing the exact number of pe1'mutations,巴xp101'ingsatisfiabl巴pe1'mutations fo1' a giv巴nconstraint and calculating the min-imal 01' ave1'ag巴costof all p巴rmutations.
R巴cently,Kawahara et al. [47] applied πDDs and their algeb1'aic ope1'ations to the ana1ysis of primitive sorting net-works of width n. They succeeded in calculating that the
{π日 (1ム3ふ4),(1,2ム6ム4),(1ム3ム6バ),(1ム3,4,6,5),(1ム3ム4,5)(2,1,3),(2,1ム5,4),(2,1ム6,5,4),(2,1ム5ム4),(2,1ム4ん5),(2,1ム6,4,5)(3,2,1),(3ム1,5,4),(3,2,1ム5,4),(3,2,1,5ム4),(3ムl人6,5),(3ム1ム4,5)(2ム1),(2ム1ム4),(2ムlん5,4),(2ムlム6,4),(2ムl人6,5),(2ムlム4,5)(1ム2),(1ム2ム4),(1ム2ム5バ),(1ム2ム6,4),(1ム2人6,5),(1ム2ム4,5)(3,1,2),(3,1,2ム4),(3,1ム6ム4),(3,1ム5,6,4),(3,1,2人6,5),(3,1,2,6,4,5)}
Fig. 13 Example of th巴Cartesianproduct operation for 7rDDs.
議理署寄贈控期間泥沼醐開噌 盟堂密閉静格帯捕虜線開開閉館務碕抑揚場 按 静 申 告 時 四 砂 噛 担 割 時 間 拘 即 時 間 説 明 噛 盤 整 臨 幽 幽 孤
1428
number of ways to construct minimum primitive sorting net-
works for 11 = 13 is 2752596959306389652, which was not
pr巴viouslyknown. This r巴sultis officially registered in the
On-Line Encyclopedia of Integer Sequenc巴s[40].
Soeken et al. [48] reported thatπDDs are also useful
forr巴versiblelogic design. A reversible Boolean function is
a special type ofBoolean function whichhas the same num-
bers of inputs and outputs with a bijective relation between
them. Since a 同ectioncorresponds to a permutation, a set
of r巴versiblefunctions can be represented by aπDD. R巴b-
ver討blelogic is strongly related to loss-less encoding and
quantωum computation [門49到], so there wi11 be some interesting
future work.
5. Concluding Remarl{s
We have given a bri巴fhistory and described recent r巴search
on the techniques of BDDs and ZDDs. As shown in the
above s巴ctions,there are v巴rymany inter巴stingand use-
ful ideas about decision diagrams and discret巴 structure
manipulation. The author has proposed a new research
project which focuses on these techniqu巴5・ Theproposal
was accepted in 2009 as an ERATO proj巴ct,a nation-wide
project supported by the J apanese scientific research agency, and it is now ongoing [50]. In this pr吋ect,we consider
BDDs/ZDDs not just as data structures, but regard them as
integrat巴dmanipulation syst巴msfor many types of discr巴te
structur巴s.Discrete structur巴 manipulationis a fundamen-
tal task in various applications of computer・s.Therefore, its
acceleration will have a great effect on society.
Acknowledgemenis
The author would like to express his gratitude to all the
members and collaborative research巳rsof the JST ERATO
Minato Discrete Structur・eManipulation System Project for
their fruitful discussions. The author also would like to
thank the chair and the co訂unitteemembers of the TI巴chnical
Group on Computation (COMP) of IEICE, for providing the
opportu凶tyto write this survey paper.
References
[1] R.E. Bryant, ,‘Graph-based algorithms for Boolean function manip
ulation," IEEE Trans. Comput., vol.C-35, no.8, pp.677-691, 1986. [2] S. Minato,“Z巴ro-suppress巴dBDDs for s巴tmanipulation in combi-
natorial problems," Proc. 30th ACM,月EEEDesign Automation Con-
ferenc巴(DAC'93),pp.272-277, 1993. [3] D.E. Knuth, The Art of Computer Programming: Bitwis巴Tricks&
Techniqu巴s;Binary Decision Diagrams, Addison-Wesley, 2009. [4] E. Lo巴kito,J. Bailey, and J. Pei,“A binarγd巴cisiondiagram based
approach for mining fr巴qu巴ntsubsequ巴nces,"Knowl巴dgeand Infor-
mation Systems, vo1.24, no.2, pp.235-268, 2010. [5] S. Minato,“πDD: A n巴wdecision diagram for e血C1巴ntprobl巴m
solving in permutation space," in Theory and Applications of Satis fiability Testing -SAT 2011, ed. K. Sakallah and L. Simon, Lecture
Notes in Computer Science, vo1.6695, pp.90-104, Springer Berlin
Heidelberg,2011. [6] S.B. Ak,巴TS,“Binarydecision diagrams," IEEE Trans. Comput.,
vo1.C-27, no目6,pp.509-516, 1978
IErCE TRANS.問F.& SYST., VOL.E9ι0, NO.7 JULY 20日
[7] R. Yoshinaka, J. Kawahara, S. Denzumi, H. Arimura, and S. Mi nato,“Counter巴,xampl巴sto th巴10時 standj時 co勾巴ctureon th巴com-
pl巴xityofbdd binary operations," Inf. Pnlcess. Lett., vo1.112, no.16,
pp.636-640,2012. [8] S目 Minato,“Zero-suppressedBDDs and their applications," Int巴rna-
tional J. Softwar巴ToolsforT,巴chnologyTransf,巴1',vo1.3, pp.156-170,
2001. [9] O. Coudert,“Solving graph optimization prob1ems with ZBDDs,"
Proc. ACM.月EEEEuropean Design and T,巴stConferenc巴(ED&TC
'97),pp目224-228,1997. [10] E. Lo巴kitand J. Bailey,“Fast mining of high dimensional expressive
contrast patterns using z巴ro-suppress巴dbinarγdecision diagrams," Proc. 12th ACM SIGKDD International Confer巳nc巴onKnowledge
Discovery and Data Mining (KDD2006), pp.307-316, 2006. [11] S. Minato, K. Satoh, and T. Sato,“Compiling bayesian n巴tworksby
symbolic probability caJculation bas巴don zero-suppr巴ssedBDDs," Proc. 20th International Joint Conf,巴renceof Artificial Intelligenc巴
(IJCAI-2007), pp.2550-2555, 2007 [12] M. Ishihata, Y. Karneya, T. Sato, and S.l¥伯nato,“Propositionalizing
the E乱1{a1gorithm by BDDs," Proc. 18th International Confer巴nce
on Inductiv巴LogicProgramming (ILP 2008), S巴pt.2008. [13] K.S. Brac巴, R.L. Rud巴ll,and R.E. Bryant,“Efficient implementa
tion of a BDD package," Proc. 27th ACM(IEEE D巴signAutomation
Conference, DAC '90, pp.40-45, N巴wYork, NY, USA, 1990. [14] S. Minato, N. Ishiura, and S. Yajima,“Shared binarγdecision di-
agrm with attributed edges for efficient Boolean function manip-
ulation," Proc. 27th ACM,月EEEDesign Automation Conferenc巴,
pp.52-57, 1990. 日5]M. Fujita, Y. Matsunaga, and T. Kakuda, ,‘On variable ordering of
binary decision diagrams for the application of multi-I巴vellogicsyn-
thesis," Proc. Conferenc巴onEuropean D巴signAutomation, EURO-DAC '91, Los Alamitos, CA, USA, pp.50-54, 1991
[16] R. Rudell, ,‘Dynamic variable ordering for ord巴r巴dbinary decision diagrams," Proc目 1993IEEE Int巴rnationalConf,巴renceon Comput巴ト
Aid巴dDesign, ICCAD '93, pp.42-47, Los Alamitos, CA, USA,
1993 [ド17η]S. Tan川1廿i,K. Ham日mguch副1I, and S. Y:句1ma払,
optimal va剖n凶abl巴01'吋d巴αringproble巴日msof sha紅I巴dbinarザyd巴氏ciぬsiぬondia-
gra担msピ,"i泊nAlgorithms and Compu凶I此ta瓜ti泊on仏1,巴d.K王ι.Ng, P. Raghavan, N Balasubramanian, and F. Chin, Lect. Notes Comput. Sci., vo1.762,
pp.389-398, 1993. [18] R目 Drechsler,N. Drechsler, and W. Gunth巴r“Fastexact minimiza-
tion of BDDs," Proc. 35th D巴signAutomation Conferenc巴, DAC
'98, pp.200-205, N巴wYork, NY, USA, 1998.
[ド19勾]F. Som巴nZl,httゆp:刀((v叶Is剖1し.c∞010ωrado巴du(f:白'ab悩io(CUDD(
[20] M. Fujita, H. Fujisawa, and N. Kawato,“Evaluation and implem巴nー
tation of boolean comparison method based on binary d巴cisiondia-grams," Proc. IEEE Int巴rnationalConf. on Comput巴r-Aid巴dD巴slgn
(ICCAD-88), pp.2-5, 1988. [21] S. Malik, A. Wang, R.K. Brayton, andA. S.-Vincentelli,“Logic ver-
ification using binary decision diagrams in a logic syn白esisenviron-ment," Proc. IEEE International Conf. on Comput巴r-Aid巴dD巴sign
(ICCAD-88), pp.6-9, 1988. [22] O. Coud巴rtand J.C. Madre,“A unified企am巴workfor th巴formal
V巴rificationof s巴quentialcircuits," Proc. IEEE International Conf.
on Computer-Aided Design (ICCAD-90), pp.l26-129, 1990. [23] Y. Matsunaga and M. F吋ita,“Multi-l巴V巴1logic optimization us-
ing binary decision diagrams," Proc. IEEE International Conf. on
Computer-Aided D巴sign(ICCAD-89), pp.556-559, 1989. [24] J.R. Burch, E.M. Clarke, K.L. McMi1lan, and D目L.Di1l,“Sequen-
tial circuit verification using symbolic model ch巴cking,"Proc. 27th ACM/IEEE Design Automation Conference, DAC '90, New York,
NY, USA, pp.46-51, ACM, 1990 [25] K.L. McMi1lan, Symbolic Model Checking, K1uw巳TAcademic Pub-
lish巴rs,1993 [26] J.P.M. Silva and K.A. Sakallah,“Grasp-a n巴wse但'chalgorithm for
、田園
MINATO・TECHNIQUESOF BDDjZDD: BRIEF HISTORY AND RECENT ACTIVITY
satisfiability," Proc. IEEEjACM International Conf. on Comput巴r-
Aided Design (ICCAD-96), pp.220-227, 1996. [27] A. Biere, A. Cimatti, E.M. Clarke, M. F吋ita,and Y. Zhu,“Symbolic
model checking using sat proc巴dur巴sinstead of BDDs," Proc. 36th
ACM尺EEED巴signAutomation Conference, DAC '99, pp.317-320,
N巴wYork, NY, USA, 1999.
[28J M.W. Moskewicz, C.F. Madigan, Y. Zhao, L. Zhang, and S乱1a-
l辻ik,Design Autωoma瓜tiぬonConf,お巴renc巴久, DAC '01, pp.530-535, New Yo凹rk王,
NY, USA, 2001. [29] H.O七日no,S. Minato, and H. Isozaki,“On the properti巴sof combi】
nation set op巴rations,"Inf. Procss目 Lett., vo1.66, pp.195-199, 1998.
[30] S. Minato,“VSOP (valued-sumωof-products) calculator for knowl-
edge processing bas巴don z巴ro-suppress巴dBDDs," in Federation
over th巴Web,ed. K. Jantk,巴, A. Lunzer, N. Spyratos, and Y. Tanaka,
L巴ct目 Not巴sComput. Sci., vo1.3847, pp目40-58,2006.
[31J S. Minato, T. Uno, and H. Ar台nura,“LCMover ZBDDs: Fast gen-
eration of very large-scale frequent it巴ms巴tsusing a compact graph-
based l'官presentation,"in Advances in ]<むlOwledgeDiscovery and
Data Mining,巴d.T. Washio, E. Suzuki, K. Ting, and A. Inokuchi,
Lect. Notes Comput. Sci., vo1.5012, pp.234-246, 2008.
[32] Y. Sakurai, S. Ueda, A. Iwasaki, S. Minato, and M. Yokoo,“'Acom-
pact representation scheme of coalitional games based on multi
terminal zero-suppressed binary decision diagrams," in Agents in
Principle, Agents in Practic巴, ed. D. Kinny, J.1. Hsu, G. Governatori,
and A. Ghose, L巴ct.Notes Comput. Sci., vo1.7047, pp.4-18, 2011.
[33] R. Yoshinaka, T. Saitoh, J. Kawahara, K. Tsuruma, H. Iwashita, and
S. Minato,“Finding all solutions and instances of numberlink and
slitherlink by ZDDs," AIgorithms, vol.5, no.2, pp.176-213, 2012
[34J T. Inoue, K. Takano, T. Watanabe, J. Kawahara, R. Yoshinaka,
A. Kishimoto, K目 Tsuda,S. Minato, and Y. Hayashi,“Loss min
imization of power distribution n巴tworkswith guaranteed巴1'1'or,"
Hokkaido University, Division of Comput巴rScience, TCS T,巳chni-
cal Reports, voI.TCS-TR-A-lO目59,2012.[35] H. Iwashita, J. Kawahara, and S. Minato,“ZDD-bas巴dcomputation
of the number of paths in a graph," Hokkaido University, Division of Comput巴rScienc巴, TCS Technical Reports, voI.TCS-TR-A】 10】
60,2012. [36] J.C. Madre and O. Coud巴rt,“'Alogically complete reasoning mainte】
nance system bas巴don a logical constraint solver," Proc. 12th inter-
national joint conf,巴a-enc巴onArti自cialintelligenc巴ー vol.l,San Fran-
cisco, CA, USA, pp.294-299, Morgan Kaufmann Publishers Inc.,
1991.
[37J O. Coudert and J.C. Madr巴,‘'Towardsan int巴.ractiv巴faulttr巴巴 anal-
yser," Proc. IASTED International Conference on Reliability, Qual-ity Control and Risk Assessm巴nt,1992.
[38] O. Coudert and J.C. Madre,“Implicit and incremental computation
of primes and巴ssentialprimes of boolean functions," Proc. 29th
ACM斥EEEDesign Automation Confer巴nce,DAC '92, pp.36-39,
Los Alarnitos, CA, USA, 1992.
[39] A. Darwich巴,“SDD:A n巴wcanonical representation of proposi-
tional knowl巴dgebases," Proc. 22nd International J oint Confer巴nce
of Artificial Intelligence (IJCAI-2011), pp.819-826, 2011. [40J“The on-line encyclopedia of int巴gersequences," 2011.
https:jjoeis.oαrgダj
[件41リ]D.1.A 羽We刷巴elsh九1,don Math巴ma抗ti民calSoci巴tyLect印ur閃巴 Not巴S巴白:n巴s,vo1.186, pp.372
390, 1993目
[μ42勾JK正.S 巴k組ine久, H. 1m凶凶a泊i,and S. Tani,
of a graph of mod巴ぽra瓜tes剖lZ巴," in AIgorithms and Computations, ed. J. Staples, P. Ead巴s,N. Katoh, and A. Moffat, Lect. Notes Comput.
Sci., vol目1004,pp.224-233, 1995.
[43J H. 1mai, S. Iwata, K. Sekin巴, and K. Yoshida,“Combinatorial
and geomet:ric approaches to counting problems on line紅 matr・oids,graphic arrangements, and partial orders," Computing and Combina-
torics, ed. J.Y. Cai and C. Wong, L巴ct.Notes Comput. Sci., vol.l090,
pp.68-80, 1996.
1429
[44J S. Denzumi, R. Yoshinaka, H. Arimura, and S. Minato,“Notes
on sequenc巳 binarydecision diagrams: Relationship to acyclic au
tomata and complexities of binary s巴toperations," Proc. Prague
Stringology Conference 2011, ed. J. Holub and J.主恒r巴k,Czech Technical University in Prague, Czech Republic, pp.l47-161, 2011.
[45] S. Denzumi, H. Arimura, and S. Minato,“Substring indices based
on s巴quenc巴bdds,"Hokkaido University, Division of Comput巴rSci-
enc巴, TCS Technical Reports, voI.TCS-TR-A-10-42, 2010.
[46J D.E. Knuth,“Combinatorial prop巴rtiesof permutations," The Art of
Computer Programming, ch. 5.1, pp.lI-72, Addison-Wesl巴y,1998
[47] J. Kawahara, T. Saitoh, R目 Yoshinaka,and S目 Minato,,‘Counting
primitiv巳sortingn巴tworksby pidds," Hokkaido University, Division of Computer Science, TCS T,巴chnicalR巴ports,voI.TCS-TR-A-ll-
54,2011. [48] M. Soek.巴n,R. Wille, S. Minato, and R. Drechsl巴f,'‘U sing 7fdds in
出巴 designof reversible circuits," Pr巴liminaryProc. 4白川Torkshop
on Reversibl巴Computation(RC-2012), pp.205-211, 2012 [49] S. Yamashita, S. Minato, and D.M. Miller,“DDMF: An efficient de-
cision diagram struc旬r巴fordesign verification of quan加mcircuits
under a practical restriction," IEICE Trans. Fundamentals, vo1.E91-
A, no.l2, pp.3793-3802, D巴c.2008.
[50] S. Minato,“Ov巴rvi巴wofERATO Minato project: Th巴artof discret巴
structure manipulation between scienc巴andengine巴ring,"New Gen-
eration Computing, vo1.29, no.2, pp.223-228, 2011
Shin-ichi Minato is a Prof,巴ssorat th巴Grad-
uate School of Information Sci巴nceand Tech-
nology, Hokkaido University目 Healso s巴rves
as the Res巴archDirector of the ERATO MI-
NATO Discrete Structur巴 ManipulationSyst巴m
Project, executed by JST. H巴receivedthe B.E., M.E., and D.E目 degreesin Information Sci巴nc巴
from Kyoto University in 1988, 1990, and 1995,
respectively. He worked for NTT Laboratories
from 1990 unti12004. He was a Visiting Scholar
at th巴ComputerSci巴nc巴Departm巴ntof Stan
fo1'd Univ巴1'sityin 1997. H巴join巴dHokkaido Univ巴1'sityas an Associate
Prof,巴ssorin 2004, and has been a ProfessOl・ sinceOctober 2010. H巴has
published “Binary D巴cisionDiagran1s and Applications fo1' VLSI CAD"
(Kluw巴1', 1995).H巴isam巴mberofIEEE, IPSJ, and JSAI.