2 HI LO ZDD 2 ZDD 2 HI LO 2 ( ) HI (Zero-suppress ) Zero-suppress ZDD ZDD Zero-suppress 1 ZDD abc a HI b c b Zero-suppress b ZDD ZDD 5) ZDD F 1 F = a

Similar documents
1 Fig. 1 Extraction of motion,.,,, 4,,, 3., 1, 2. 2.,. CHLAC,. 2.1,. (256 ).,., CHLAC. CHLAC, HLAC. 2.3 (HLAC ) r,.,. HLAC. N. 2 HLAC Fig. 2

DPA,, ShareLog 3) 4) 2.2 Strino Strino STRain-based user Interface with tacticle of elastic Natural ObjectsStrino 1 Strino ) PC Log-Log (2007 6)

258 5) GPS 1 GPS 6) GPS DP 7) 8) 10) GPS GPS ) GPS Global Positioning System

IPSJ SIG Technical Report Vol.2012-CG-148 No /8/29 3DCG 1,a) On rigid body animation taking into account the 3D computer graphics came

A Feasibility Study of Direct-Mapping-Type Parallel Processing Method to Solve Linear Equations in Load Flow Calculations Hiroaki Inayoshi, Non-member

1 [1, 2, 3, 4, 5, 8, 9, 10, 12, 15] The Boston Public Schools system, BPS (Deferred Acceptance system, DA) (Top Trading Cycles system, TTC) cf. [13] [

,,,,., C Java,,.,,.,., ,,.,, i

2017 (413812)

Input image Initialize variables Loop for period of oscillation Update height map Make shade image Change property of image Output image Change time L

2 ( ) i

Web Web Web Web Web, i

ID 3) 9 4) 5) ID 2 ID 2 ID 2 Bluetooth ID 2 SRCid1 DSTid2 2 id1 id2 ID SRC DST SRC 2 2 ID 2 2 QR 6) 8) 6) QR QR QR QR

Iteration 0 Iteration 1 1 Iteration 2 Iteration 3 N N N! N 1 MOPT(Merge Optimization) 3) MOPT MOP

23 Fig. 2: hwmodulev2 3. Reconfigurable HPC 3.1 hw/sw hw/sw hw/sw FPGA PC FPGA PC FPGA HPC FPGA FPGA hw/sw hw/sw hw- Module FPGA hwmodule hw/sw FPGA h

soturon.dvi

B HNS 7)8) HNS ( ( ) 7)8) (SOA) HNS HNS 4) HNS ( ) ( ) 1 TV power, channel, volume power true( ON) false( OFF) boolean channel volume int

Vol.55 No (Jan. 2014) saccess 6 saccess 7 saccess 2. [3] p.33 * B (A) (B) (C) (D) (E) (F) *1 [3], [4] Web PDF a m

T rank A max{rank Q[R Q, J] t-rank T [R T, C \ J] J C} 2 ([1, p.138, Theorem 4.2.5]) A = ( ) Q rank A = min{ρ(j) γ(j) J J C} C, (5) ρ(j) = rank Q[R Q,

kut-paper-template.dvi

Fig. 3 Flow diagram of image processing. Black rectangle in the photo indicates the processing area (128 x 32 pixels).

58 10

25 II :30 16:00 (1),. Do not open this problem booklet until the start of the examination is announced. (2) 3.. Answer the following 3 proble

1., 1 COOKPAD 2, Web.,,,,,,.,, [1]., 5.,, [2].,,.,.,, 5, [3].,,,.,, [4], 33,.,,.,,.. 2.,, 3.., 4., 5., ,. 1.,,., 2.,. 1,,

Page 1 of 6 B (The World of Mathematics) November 20, 2006 Final Exam 2006 Division: ID#: Name: 1. p, q, r (Let p, q, r are propositions. ) (10pts) (a

第62巻 第1号 平成24年4月/石こうを用いた木材ペレット

& Vol.5 No (Oct. 2015) TV 1,2,a) , Augmented TV TV AR Augmented Reality 3DCG TV Estimation of TV Screen Position and Ro

1 1 tf-idf tf-idf i

[2] OCR [3], [4] [5] [6] [4], [7] [8], [9] 1 [10] Fig. 1 Current arrangement and size of ruby. 2 Fig. 2 Typography combined with printing

1 DHT Fig. 1 Example of DHT 2 Successor Fig. 2 Example of Successor 2.1 Distributed Hash Table key key value O(1) DHT DHT 1 DHT 1 ID key ID IP value D

[2] 2. [3 5] 3D [6 8] Morishima [9] N n 24 24FPS k k = 1, 2,..., N i i = 1, 2,..., n Algorithm 1 N io user-specified number of inbetween omis


1: A/B/C/D Fig. 1 Modeling Based on Difference in Agitation Method artisoc[7] A D 2017 Information Processing

日本感性工学会論文誌

6_27.dvi

Vol. 48 No. 3 Mar PM PM PMBOK PM PM PM PM PM A Proposal and Its Demonstration of Developing System for Project Managers through University-Indus

Tsuken Technical Information 1

1 # include < stdio.h> 2 # include < string.h> 3 4 int main (){ 5 char str [222]; 6 scanf ("%s", str ); 7 int n= strlen ( str ); 8 for ( int i=n -2; i

EQUIVALENT TRANSFORMATION TECHNIQUE FOR ISLANDING DETECTION METHODS OF SYNCHRONOUS GENERATOR -REACTIVE POWER PERTURBATION METHODS USING AVR OR SVC- Ju

(a) 1 (b) 3. Gilbert Pernicka[2] Treibitz Schechner[3] Narasimhan [4] Kim [5] Nayar [6] [7][8][9] 2. X X X [10] [11] L L t L s L = L t + L s

28 Horizontal angle correction using straight line detection in an equirectangular image

Vol. 48 No. 4 Apr LAN TCP/IP LAN TCP/IP 1 PC TCP/IP 1 PC User-mode Linux 12 Development of a System to Visualize Computer Network Behavior for L

2. CABAC CABAC CABAC 1 1 CABAC Figure 1 Overview of CABAC 2 DCT 2 0/ /1 CABAC [3] 3. 2 値化部 コンテキスト計算部 2 値算術符号化部 CABAC CABAC

3_23.dvi

Table 1. Reluctance equalization design. Fig. 2. Voltage vector of LSynRM. Fig. 4. Analytical model. Table 2. Specifications of analytical models. Fig

& Vol.2 No (Mar. 2012) 1,a) , Bluetooth A Health Management Service by Cell Phones and Its Us

xx/xx Vol. Jxx A No. xx 1 Fig. 1 PAL(Panoramic Annular Lens) PAL(Panoramic Annular Lens) PAL (2) PAL PAL 2 PAL 3 2 PAL 1 PAL 3 PAL PAL 2. 1 PAL

Run-Based Trieから構成される 決定木の枝刈り法

Read the following text messages. Study the names carefully. 次のメッセージを読みましょう 名前をしっかり覚えましょう Dear Jenny, Iʼm Kim Garcia. Iʼm your new classmate. These ar

THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS TECHNICAL REPORT OF IEICE.

,,.,.,,.,.,.,.,,.,..,,,, i

, IT.,.,..,.. i

KII, Masanobu Vol.7 No Spring

IPSJ SIG Technical Report Vol.2016-CE-137 No /12/ e β /α α β β / α A judgment method of difficulty of task for a learner using simple

( )

IPSJ SIG Technical Report Vol.2010-GN-74 No /1/ , 3 Disaster Training Supporting System Based on Electronic Triage HIROAKI KOJIMA, 1 KU

...

Transcription:

ZDD 1, 2 1, 2 1, 2 2 2, 1 #P- Knuth ZDD (Zero-suppressed Binary Decision Diagram) 2 ZDD ZDD ZDD Knuth Knuth ZDD ZDD Path Enumeration Algorithms Using ZDD and Their Performance Evaluations Toshiki Saitoh, 1, 2 Jun Kawahara, 1, 2 Ryo Yoshinaka, 1, 2 Hiromu Suzuki 2 and Shin-ichi Minato 2, 1 The listing of all paths in a given graph is a classical problem. Although there are known algorithms for the problem, the number of the solutions tends to be huge and the counting problem is #P-hard. Recently, Knuth has proposed an algorithm for enumerating paths by using the ZDD (zero-suppressed binary decision diagram). The ZDD is a condensed representation of a family of sets. By identifying a path in a graph as a set of edges, the sets of paths can be represented by ZDD. His algorithm outputs a ZDD representing a set of paths. In this paper, we first introduce Knuth s 1. algorithm, and propose an algorithm where ZDD operations implemented polynomial many times by extending Knuth s algorithm. We experiment with these algorithms and a known enumeration algorithm, and discuss the advantage of the algorithms using ZDD from the experimental result. 2 1),7) 6) #P- NP ZDD (Zero-suppressed Binary Decision Diagram) 4) ZDD VLSI Knuth 3) ZDD 2 Knuth Knuth ZDD ZDD 2. Zero-Suppressed Binary Decision Diagram ZDD 4) 2 ZDD ZDD ZDD 1 1 ERATO 2 1 c 2011 Information Processing Society of Japan

2 HI LO ZDD 2 ZDD 2 HI LO 2 ( ) HI (Zero-suppress ) Zero-suppress ZDD ZDD Zero-suppress 1 ZDD abc a HI b c b Zero-suppress b ZDD ZDD 5) ZDD F 1 F = a + ac + b + bc + c + F abc F F + abc F = a + abc + ac + b + bc + c F d F F d c 1 b a c 実線は HI 枝を, 点線は LO 枝を表す {a, b, c, ac, bc} ZDD F = ad + abcd + acd + bcd + bd + cd / F F F/a F = d + bcd + cd % F F F % c F = d 2 F, G ZDD ZDD 3. ZDD G = (V, E) i {1, 2,..., l 1} {v i, v i+1 } E (v 1, v 2,..., v l ) i j v i v j v 1 v l (v 1, v 2,..., v l ) {{v i, v i+1 } i {1,..., l 1}} G = (V, E) 2 s t s t ZDD. ZDD G G e E ZDD s t P ZDD P HI P LO ZDD 1 Knuth 3) Simpath 2 c 2011 Information Processing Society of Japan

2 Simpath ZDD 3.1 Simpath Simpath P P 1 P P P e P e Pnew P Pnew P s t Simpath E E P, P E P E \E P P s t P P s t P P Simpath mate mate V mate P j P i j mate[i] = i i 0 i P mate Simpath ZDD ZDD ZDD ZDD ZDD 3) Simpath ZDD mate LO HI N LO HI LO(N) HI(N) Simpath ZDD (1) 1. P := {N 0}, Pnew := /* N 0 */ 2. For each e E do 3. For each N P do 4. N e N HI 5. N e N LO 6. For X = HI, LO do 7. If N X Pnew N then N X := N 8. Else N X Pnew 9. If N X mate 1 s-t then X(N) := 10. Else If N X mate then X(N) := 11. Else X(N) := N X 12. End For 13. End For 14. P := Pnew, Pnew 15. End For 4. N e = {u, v} N mate mate mate[u] = w mate[v] = x mate[x] = w mate[w] = x v x mate[v] = 0 u w mate[u] = 0 9. mate 1 s-t mate[s] = t mate[t] = s mate[i] mate[i] = 0 or i mate 1 s-t HI 9. 10. 11. X(N) := N N HI LO N 10. mate mate (i), (ii) (i) mate (ii) v (v s v t) v 1 (i) mate[u] = v (mate[v] = u) mate[u] = 0 mate[v] = 0 mate (ii) mate[v] = v mate[v] = 0 mate 3 c 2011 Information Processing Society of Japan

s 処理済の辺 E a c b P P s e d 未処理の辺 処理済の辺 E a c b e d 未処理の辺 2 a e s b, c d 2 P P 7. mate ( E ) ( E \ E ) ( 2) 2 mate mate mate mate ZDD 3.2 Bottom-up Mate-ZDD Bottom-up Mate-ZDD Mate-ZDD Simpath Simpath mate ( )ZDD Mate-ZDD ZDD ZDD Mate-ZDD ZDD F mate mate[i] = j (j 0) Mate- ZDD t i,j t i,j HI i j Mate-ZDD F F = t 1,1... t n,n ( 1,..., n ) mate ZDD E E P P := {P P E } V F F = F P, P P F P = i,j V, mate[i]=j, i j t i,j e k,l P F P 1 P e 1 P t P mate e k,l. {u, v} w, x V F = F + (F/t u,w/t v,x) e u,v t x,w v v 1 w v F = F % t v,w v F = F/t v,v ZDD F t s,t F = F/t s,t ZDD 4. Mate-ZDD Knuth 3) Simpath Read Tarjan Backtrack 6) ( CyPath 8) ) JapanMap ( ) 46 JapanMap 2 JapanMap 1 CPU AMD Quad-Core Opteron 8393 SE 3.09GHz 512GB JapanMap 2 552,990,153,767,713,569,683,921,601,890,579,271,385,088 Simpath Mate-ZDD 17,036,796 ZDD 2 4 c 2011 Information Processing Society of Japan

CyPath Simpath Mate-ZDD ZDD JM > 1000 < 0.01 < 0.01 850 5.1 10 10 JM 2 > 1000 24.01 248.62 1.7 10 7 5.5 10 43 1 JapanMap (JM) JapanMap 2 (JM 2 ) n CyPath Simpath Mate-ZDD ZDD 15 3.33 0.29 2.87 1.5 10 5 3.7 10 6 16 25.20 0.96 14.84 6.2 10 5 2.9 10 7 17 147.62 2.99 64.45 2.2 10 6 1.6 10 8 2 0.5 n CyPath Simpath Mate-ZDD ZDD 8 > 1000 0.03 0.44 31487 7.8 10 11 9 > 1000 0.15 1.92 110215 3.2 10 15 10 > 1000 0.63 6.00 377202 4.1 10 19 11 > 1000 1.88 23.75 1.2 10 6 1.5 10 24 12 > 1000 6.25 148.11 4.2 10 6 1.8 10 29 3 n CyPath Simpath Mate-ZDD ZDD 11 0.58 0.03 0.32 33830 9.9 10 5 12 5.79 0.07 1.34 121455 9.9 10 6 13 64.30 0.42 8.51 435810 1.1 10 8 14 770.09 0.92 25.40 1.6 10 6 1.3 10 9 15 10049.51 2.74 110.07 5.6 10 6 1.7 10 10 4 n p = 0.5 100 n = 15, 16, 17 3 n n n 3, 4 5. Knuth ZDD Simpath Bottom-up Mate-ZDD (CyPath 8) ) ZDD Mate-ZDD Simpath (1) Simpath ZDD Mate-ZDD ZDD (2) Simpath 1 mate t Mate-ZDD 2 ZDD Simpath mate ZDD ZDD ZDD ZDD 1) E.T.Bax. Algorithms to Count Paths and Cycles. Information Processing Letters, 52, pp. 249-252, 1994. 2) M.B.Javanbarg, C.Scawthorn, J.Kiyono, and Y.Ono. Minimal Path Sets Seismic Reliability Evaluation of Lifeline Networks with Link and Node Failures. In Proc. Lifeline Earthquake Engineering in a Multihazard Environment. 3) D.Knuth. The Art of Computer Programming, Volume 4, Fascicle 1. 4) S.Minato. Zero-Suppressed BDDs for Set Manipulation in Combinatorial Problems. In DAC, pp. 272-277, 1993. 5) S.Minato. Fast Factorization Method for Implicit Cube Set Representation. IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems, VOL. 15, No. 4, pp. 377-384, 1996. 6) R.C.Read and R.E.Tarjan. Bounds on Backtrack Algorithms for Listing Cycles, 5 c 2011 Information Processing Society of Japan

Paths, and Spanning Trees. Networks, 5, pp. 237-252, 1975. 7) K.Sekine and H.Imai. Counting the Number of Paths in a Graph via BDDs. IEICE TRANS. FUNDAMENTALS, VOL. E80-A(4), pp. 682-688, 1997. 8) T.Uno. CyPath. http://research.nii.ac.jp/uno/code/cypath.html. 6 c 2011 Information Processing Society of Japan