instructions for use - huscap · 2019-10-09 · niques, and enjoy the advantage of using random...

12
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-1429 https://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

Upload: others

Post on 06-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Instructions for use - HUSCAP · 2019-10-09 · niques, and enjoy the advantage of using random access memory. Recent commodity PCs are equipped with giga-bytes of main memory,

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

Page 2: Instructions for use - HUSCAP · 2019-10-09 · niques, and enjoy the advantage of using random access memory. Recent commodity PCs are equipped with giga-bytes of main memory,

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

Page 3: Instructions for use - HUSCAP · 2019-10-09 · niques, and enjoy the advantage of using random access memory. Recent commodity PCs are equipped with giga-bytes of main memory,

1420

F(a,b,c) F(a,b,c) )

T

¥

、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.

Page 4: Instructions for use - HUSCAP · 2019-10-09 · niques, and enjoy the advantage of using random access memory. Recent commodity PCs are equipped with giga-bytes of main memory,

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.

Page 5: Instructions for use - HUSCAP · 2019-10-09 · niques, and enjoy the advantage of using random access memory. Recent commodity PCs are equipped with giga-bytes of main memory,

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-

ーヲ圃

Page 6: Instructions for use - HUSCAP · 2019-10-09 · niques, and enjoy the advantage of using random access memory. Recent commodity PCs are equipped with giga-bytes of main memory,

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.

Page 7: Instructions for use - HUSCAP · 2019-10-09 · niques, and enjoy the advantage of using random access memory. Recent commodity PCs are equipped with giga-bytes of main memory,

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

『事圃

Page 8: Instructions for use - HUSCAP · 2019-10-09 · niques, and enjoy the advantage of using random access memory. Recent commodity PCs are equipped with giga-bytes of main memory,

す←

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.

Page 9: Instructions for use - HUSCAP · 2019-10-09 · niques, and enjoy the advantage of using random access memory. Recent commodity PCs are equipped with giga-bytes of main memory,

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

Page 10: Instructions for use - HUSCAP · 2019-10-09 · niques, and enjoy the advantage of using random access memory. Recent commodity PCs are equipped with giga-bytes of main memory,

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.

Page 11: Instructions for use - HUSCAP · 2019-10-09 · niques, and enjoy the advantage of using random access memory. Recent commodity PCs are equipped with giga-bytes of main memory,

議理署寄贈控期間泥沼醐開噌 盟堂密閉静格帯捕虜線開開閉館務碕抑揚場 按 静 申 告 時 四 砂 噛 担 割 時 間 拘 即 時 間 説 明 噛 盤 整 臨 幽 幽 孤

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

、田園

Page 12: Instructions for use - HUSCAP · 2019-10-09 · niques, and enjoy the advantage of using random access memory. Recent commodity PCs are equipped with giga-bytes of main memory,

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.