A Compressed Breadth-First Search for Satisfiability

Size: px
Start display at page:

Download "A Compressed Breadth-First Search for Satisfiability"

Transcription

1 A Compressed Breadth-First Searh for Satisfiaility DoRon B. Motter and Igor L. Markov Department of EECS, University of Mihigan, 1301 Beal Ave, Ann Aror, MI dmotter, Astrat. Leading algorithms for Boolean satisfiaility (SAT) are ased on either a depth-first tree traversal of the searh spae (the DLL proedure [6]) or resolution (the DP proedure [7]). In this work we introdue a variant of Breadth- First Searh (BFS) ased on the aility of Zero-Suppressed Binary Deision Diagrams (ZDDs) to ompatly represent sparse or strutured olletions of susets. While a BFS may require an exponential amount of memory, our new algorithm performs BFS diretly with an impliit representation and ahieves unonventional redutions in the searh spae. We empirially evaluate our implementation on lassial SAT instanes diffiult for DLL/DP solvers. Our main result is the empirial Θ n 4 µ runtime for hole-n instanes, on whih DLL solvers require exponential time. 1 Introdution Effiient methods to solve SAT instanes have widespread appliations in pratie and have een the fous of muh reent researh [16, 17]. Even with the many advanes, a numer of pratial and onstruted instanes remain diffiult to solve. This is primarily due to the size of solution spaes to e searhed. Independently from SAT, [9] explored Lempel-Ziv ompression in exhaustive searh appliations suh as game-playing and ahieved memory redutions y a small onstant fator. Text searhes in properly indexed dataases ompressed using a Burrows- Wheeler sheme were proposed in [8]. However, these works enale only a limited set of operations on ompressed data, and the asymptoti ompression ratios are too small to hange the diffiulty of searh for satisfiaility. A different type of ompression is demonstrated y Redued Ordered Binary Deision Diagrams (ROBDDs) and Zero-Suppressed Binary Deision Diagrams (ZDDs) [13]. In general, Binary Deision Diagrams impliitly represent ominatorial ojets y the set of paths in a direted ayli graph. Complexity of algorithms that operate on BDDs is often polynomial in the size of the BDD. Therefore, y reduing the size of BDDs, one inreases the effiieny of algorithms. There have een several efforts to leverage the power of BDDs and ZDDs as a mehanism for improving the effiieny of SAT solvers. [4] [5] used ZDDs to store a lause dataase and perform DP on impliit representations. [2] used ZDDs to ompress the ontainers used in DLL. Another method is to iteratively onstrut the BDD orresponding to a given CNF formula [19]. In general this method has a different lass of tratale instanes than DP [11]. Creating this BDD is known to require exponential time for several instanes [11], [19]. For random 3-SAT instanes, this method also gives slightly different ehavior than DP/DLL solvers [12].

2 The goal of our work is to use ZDDs in an entirely new ontext, namely to make Breadth-First Searh (BFS) pratial. The primary disadvantage of BFS exponential memory requirement often arises as a onsequene of expliit state representations (queues, priority queues). As demonstrated y our new algorithm Cassatt, integrating BFS with a ompressed data struture signifiantly extends its power. On lassial, hard SAT enhmarks, our implementation ahieves asymptoti speed-ups over pulished DLL solvers. To the est of our knowledge, this is the first work in pulished literature to propose a ompressed BFS as a method for solving the SAT deision prolem. While Cassatt does not return a satisfying solution if it exists, any suh SAT orale an e used to find satisfying solutions with at most Vars alls to this orale. The remaining part of the paper is organized as follows. Setion 2 overs the akground neessary to desrie the Cassatt algorithm. A motivating example for our work is shown in Setion 3. In Setion 4 we disuss the impliit representation used in Cassatt, and the algorithm itself is desried in Setion 5. Setion 6 presents our experimental results. Conlusions and diretions of our ongoing work are desried in Setion 7. 2 Bakground A partial truth assignment to a set of Boolean variales V is a mapping t : V 0 1. For some variale v ¾ V, if t vµ 1 then the literal v is said to e true while the literal v is said to false (and vie versa if t vµ 0). If t vµ, v and v are said not to e assigned values. Let a lause denote a set of literals. A lause is satisfied y a truth assignment t iff at least one of its literals is true under t. A lause is said to e violated y a truth assignment t if all of its literals are false under t. A Boolean formula in onjuntive normal form (CNF) an e represented y a set C of lauses. 2.1 Clause Partitions For a given Boolean formula in CNF, a partial truth assignment t is said to e invalid if it violates any lauses. Otherwise, it is valid. The impliit state representation used in the Cassatt algorithm relies on the partition of lauses implied y a given valid partial truth assignment. Eah lause must fall into exatly one of the three ategories shown in Figure 1. We are going to ompatly represent multiple partial truth assignments that share the same set of assigned variales. Suh partial truth assignments appear in the proess of performing a BFS for satisfiaility to a given depth. Note that simply knowing whih variales have een assigned is enough to determine whih lauses are unassigned or not ativated. The atual truth values assigned differentiate satisfied lauses from open lauses. Therefore, if the assigned variales are known, we will store the set of open lauses rather than the atual partial truth assignment. While the latter may e impossile to reover, we will show in the following setions that the set of open lauses ontains enough information to perform a BFS. Another important oservation is that only lauses whih are ut y the vertial line in Figure 1 have the potential to e open lauses. The numer of suh ut lauses

3 Unassigned Clauses: Clauses whose literals are unassigned. Satisfied Clauses: Clauses whih have at least one literal satisfied. Open Clauses: Clauses whih have at least one, ut not all of their literals assigned, and are not satisfied. a (e +f) (++d) (h + j) (a+) (g + d e f g h i i+j) j Fig. 1. The three lause partitions entailed y a valid partial truth assignment. The vertial line separates assigned variales (a through e) from unassigned variales ( f through j, grayed out). We distinguish (i) lauses to the right of the vertial line, (ii) lauses to the left of the vertial line, and (iii) lauses ut y the vertial line. does not depend on the atual assigned values, ut depends on the order in whih variales are proessed. This oservation leads to the use of MINCE [1] as a heuristi for variale ordering sine it redues utwidth. MINCE was originally proposed as a variale ordering heuristi to omplement nearly any SAT solver or BDD-ased appliation. MINCE treats a given CNF as a (undireted) hypergraph and applies reursive alaned min-ut hypergraph isetion in order to produe an ordering of hypergraph verties. This algorithm is empirially known to ahieve small values of total hyperedge span. Intuitively, this algorithm tries to minimize utwidth in many plaes, and as suh is an ideal omplement to the Cassatt algorithm. Its runtime is estimated to e O V Cµlog 2 Vµ, where V is the numer of variales and C is the numer of lauses in a given CNF. By reduing the utwidth in Cassatt, we otain an exponential redution in the numer of possile sets of open lauses. However, storing eah set expliitly is still often intratale. To effiiently store this olletion of sets, we use ZDDs. 2.2 Zero-Suppressed Binary Deision Diagrams In Cassatt we use ZDDs to attempt to represent a olletion of N ojets often in fewer than N its. In the est ase, N ojets are stored in O p lognµµ spae where p nµ is some polynomial. The ompression in a BDD or ZDD omes from the fat that ojets are represented y paths in a direted ayli graph (DAG), whih may have exponentially more paths than verties or edges. Set operations are performed as graph traversals over the DAG. Zero-Suppressed Binary Deision Diagrams (ZDDs) are a variant of BDDs whih are suited to storing olletions of sets. An exellent tutorial on ZDDs is availale at [14]. A ZDD is defined as a direted ayli graph (DAG) where eah node has a unique lael, an integer index, and two outgoing edges whih onnet to what we will all T- Child and E-hild. Beause of this we an represent eah node X as a 3-tuple X n X T X E where n is the index of the node X, X T is its T-Child, and X E is its E-Child. Eah path in the DAG ends in one of two speial nodes, the 0 node and the 1 node. These nodes have no suessors. In addition, there is a single root node. When we use a ZDD we will in reality keep a referene to the root node. The semantis of a ZDD an e defined reursively y defining the semantis of a given node.

4 a BFS Queue: a BFS Queue: a BFS Queue: a {0, 1} {01, 10, 11} {011, 100, 101} d d d BFS Queue: {0110, 0111, 1000, , 1011} 1 Step 1 Step 2 Step 3 Step 4 Fig. 2. Steps Taken y Breadth-First Searh A ZDD an e used to enode a olletion of sets y enoding its harateristi funtion. We an evaluate a funtion represented y a ZDD y traversing the DAG eginning at the root node. At eah node X, if the variale orresponding to the index of X is true, we selet the T-Child. Otherwise we selet with the E-Child. Eventually we will reah either 0 or 1, indiating the value of the funtion on this input. We augment this with the Zero-Suppression Rule: we may eliminate nodes whose T Child is 0. With these standard rules, 0 represents the empty olletion of sets, while 1 represents the olletion onsisting of only the empty set. ZDDs interpreted this way have a standard set of operations ased on reursive definitions [13], inluding the union and intersetion of two olletions of sets, for example. 3 A Motivating Example a µ ßÞ Ð 1 µ ßÞ Ð 2 d eµ ßÞ Ð 3 ā µ ßÞ Ð 4 d eµ ßÞ Ð Steps Taken y Breadth-First Searh In general, BFS expands nodes in its queue until reahing a violated lause, at whih point the searh spae is pruned. As a result, the numer of nodes grows quikly. The initial pass of the BFS onsiders the first variale a. Both a 0 and a 1 are valid partial truth assignments sine neither violates any lauses. BFS ontinues y enqueueing oth of these partial truth assignments. In Figure 2, the ontents of the BFS Queue are listed as it-strings. At Step 2, the BFS onsiders oth possile values for. Beause of the lause a µ, BFS determines that a 0, 0 is not a valid partial truth assignment. The remaining three partial truth assignments are valid, and BFS enqueues them. At Step 3, eause of the lause ā µ we know that a,, and annot all e true. The searh spae is pruned further eause µ removes all ranhes involving 1 0. At Step 4, the state spae doules.

5 a Front: a Front: a Front: {{1}, {4}} {{2}, {}, {2, 4}} {{}} {1} {4} {2} {} {2, 4} {} 0 1 a Front: a {{}, {5}} {} {5} Step 1 Step 2 Step 2a Step 3 Step3a {} Front: {{}} Fig. 3. Steps Taken y Cassatt 3.2 Steps Taken y Cassatt The Cassatt algorithm performs a similar searh, however partial truth assignments are not stored expliitly. As a result, if two partial truth assignments orrespond to the same set of open lauses then only one of these will e stored. While the algorithm is desried in Setion 5, here we demonstrate possile redutions in the searh spae. We will all Cassatt s olletion of sets of open lauses the front. Variale a appears in two lauses: lause 1, a µ and lause 4, ā µ. If the variale a is assigned a 1, then lause 1 eomes satisfied while making lause 4 open. If a 0, then lause 1 eomes open. Beause we annot yet determine whih of these assignments (if any) will lead to to a satisfying truth assignment, it is neessary to store oth ranhes. The front shown in Figure 3, Step 1, is updated to ontain the two sets of open lauses whih orrespond to the two possile valid partial truth assignments. Variale appears in three lauses: lause 1, a µ, lause 2, µ, and lause 4, ā µ. These lauses are our new set of ativated lauses. For the first set, 1, we onsider oth possile truth assignments, 0 and 1. Assigning 0 satisfies lauses 2 and 4. However, it does not satisfy lause 1. We also see that orresponds to the end literal for lause 1. If we do not hoose the value of whih satisfies this lause, it will never e satisfied. As a result we annot inlude this ranh in the new front. Note that realizing this only depends on notiing that orresponds to the end literal for some open lause. For 1 we see that lause 1 is satisfied, ut lauses 2 and 4 are not yet satisfied. So, 2 4 should e in the front after this step is ompleted. A similar analysis an e performed for the remaining set in the front, 4. In Cassatt it is not neessary to onsider these sets in suession; ZDD algorithms allow us to perform these operations on multiple sets simultaneously. These sets of lauses, listed in the front shown in Step 2, are all the state information Cassatt maintains. It is here that this algorithm egins to differ sustantially from a naive BFS. One of the sets in the front is the empty set. This means that there is some assignment of variales whih ould satisfy every lause in whih any of these variales appear. As a result, there is no need to examine any other truth assignment; the partial truth assignment whih leaves no open lauses is learly and provaly the est hoie. As a result of storing sets of open lauses, Cassatt prunes the searh spae and only onsiders the single node.

6 Whereas the traditional BFS needs to onsider three alternatives at this point, Cassatt, y storing open lauses, dedues immediately that one of these is provaly superior. As a result, only a single node is expanded. As seen in Step 2a, this effetively restrutures the searh spae so that several of the possile truth assignments are susumed into a single ranh. As Cassatt proesses the third variale,, it needs to only onsider its effets on the single, empty suset of open lauses. Sine eah new variale ativates more lauses, this empty suset one again, an potentially grow. Again, one possile variale hoie satisfies all ativated lauses. This is shown in Step 3. As a result, Cassatt an one again susume multiple truth assignments into a single ranh as indiated in Step 3a. 4 Advantages of Storing Open Clauses If two partial truth assignments reate the exat same set of open lauses, then learly spae an e saved y only storing one of these susets. This also uts the searh spae. Moreover, if a stored set of lauses A is a proper suset of another set of lauses B, then the partial truth assignment orresponding to B is su-optimal and an e disarded. This is so eause every lause whih is affeted y any partial truth assignment thus far (every ativated lause) has een onsidered when produing A and B. As a result, there are no onsequenes to hoosing the truth assignment whih produes A over the truth assignment whih produes B. Every satisfying truth assignment ased on the partial truth assignment giving B orresponds to a satisfying truth assignment ased on A. These susumption rules are naturally addressed y the ZDD data struture, whih appears oth appropriate and effetive as a ompat data struture. We use three ZDD operations originally introdued in [4]. The susumed differene X A X B is defined as the olletion of all sets in X A whih are not susumed y some set in X B. Based on the susumed differene operator, it is possile to define an operator NoSu Xµ as the olletion of all sets in X whih are not susumed y some other set in X. Finally, the susumption-free union X A ËS X B is defined as the olletion of sets in X A Ë XB from whih all susumed sets have een removed. For the sake of revity, we will not repeat the full, reursive definitions of these operators here, ut only point out that the operators introdued in [4] were shown for slightly different ZDD semantis to enode olletions of lauses. Here we use the original ZDD semantis proposed y Minato [13] to enode olletions of susets. However, the definitions of operators themselves are unaffeted. These operators provide a mehanism for maintaining a susumption-free olletion of sets. ZDDs are known to often ahieve good ompression when storing sparse olletions. In general a olletion of sets may or may not ompress well when represented y ZDDs. However in Cassatt our representation an e pruned y removing sets whih are susumed y another set. Intuitively, this leads to a sparser representation for two reasons: sets with small numers of elements have a greater hane of susuming larger sets in this olletion, and eah susumption redues the numer of sets whih need to e stored. By using operators whih eliminate susumed sets, then, we hope to improve the hane that our given olletion will ompress well. In Cassatt this orresponds to improved memory utilization and runtime.

7 A natural question to ask is whether the numer of susets to e stored (the front) has an upper ound. An easy ound ased on the utwidth is otained y noting that for lauses, the maximum numer of inomparale susets is exatly the size of the maximal anti-hain of the partially ordered set 2. Theorem 4.1 [10, p. 444] The size of the maximal anti-hain of 2 is given y 2. This simple upper ound does not take into aount the details of Cassatt. Doing this may yield a sustantially tighter ound. It should e lear from the example that simply y storing sets of open lauses, Cassatt potentially searhes a muh smaller spae than a traditional BFS. In general, it annot fully avoid the explosion in spae. Although there are potentially many more ominations of lauses than there are variales, Cassatt annot examine more nodes than a straightforward BFS. At eah stage, Cassatt has the potential to redue the numer of nodes searhed. Even if no redution is ever possile, Cassatt will only examine as many nodes as a traditional BFS. 5 Compressed Breadth-First Searh The Cassatt algorithm implements a readth-first searh ased on keeping trak of sets of open lauses from the given CNF formula. The olletion of these sets represents the state of the algorithm. We refer to this olletion of sets as the front. The algorithm advanes this front just as a normal readth-first algorithm searhes suessively deeper in the searh spae. The ritial issue is how the front an e advaned in a readth-first manner and determine satisfiaility of a CNF formula. To explain this, we will first e preise aout what should happen ased on omining a single set of open lauses with a truth assignment to some variale v. We will then show how this an e done to the olletion of sets y using standard operations on ZDDs. Given a set of open lauses orresponding to a valid partial truth assignment t, and some assignment to a single variale v r, there are two main steps whih must e explained. First, Cassatt determines if the omination of t with v r produes a new valid partial truth assignment. Then, Cassatt must produe the new set of open lauses orresponding to the omination of t with v r. Sine the front orresponds to the olletion of valid partial truth assignments, then if this front is ever empty (equal to 0), then the formula is unsatisfiale. If Cassatt proesses all variales without the front eoming empty then no lauses will e ativated, ut unsatisfied. Thus if the formula is satisfiale, the front will ontain only the empty set (equal to 1) at the end of the searh. 5.1 Deteting Violated Clauses With respet to the variale ordering used, literals within a lause are divided into three ategories: eginning, middle, and end. The eginning literal is proessed first in the variale ordering while the end literal is proessed last. The remaining literals are alled middle literals. A nontrivial lause may have any (nonnegative) numer of middle literals. However, it is useful to guarantee the existene of a eginning and an end literal.

8 If a lause does not have at least 2 literals, then it fores the truth assignment of a variale, and the formula an e simplified. This is done as a preproessing step in Cassatt. Cassatt knows in advane whih literal is the end literal for a lause, and an use this information to detet violated lauses. Reall that a violated lause ours when all the variales whih appear within a lause have een assigned a truth value, yet the lause remains unsatisfied. Thus only the end literal has the potential to reate a violated lause. The value whih does not satisfy this lause produes a onflit or violated lause. This is the ase sine the sets stored in the front ontain only unsatisfied lauses. After proessing the end variale, no assignment to the remaining variales an affet satisfiaility. Determining if the omination of t and v r is a valid partial truth assignment is thus equivalent to onsidering if v orresponds to an end literal for some lause in the set orresponding to t. If the assignment v r auses this literal to e f alse then all literals in are false, and omining t with v r is not valid. 5.2 Determining the New Set of Open Clauses Given a set of lauses S orresponding to some partial truth assignment and an assignment to a single variale v, all lauses in S whih do not ontain any literal orresponding to v s should, y default, propagate to the new set S ¼. This is true, sine any assignment to v does not affet these lauses in any way. Consider a lause not in S ontaining v as its eginning variale. If the truth assignment given to v auses this lause to e satisfied, then it should not e added to S ¼. Only if the truth assignment auses the lause to remain unsatisfied does it eome an open lause and should e added to S ¼. Finally if a lause in S ontains v as one of its middle variales then the literal orresponding to this variale must again e examined. If the truth assignment given to v auses this lause to eome satisfied, then it should not e propagated to S ¼. Otherwise, it should propagate from S to S ¼. Tale 1. New-Suset Rules Beginning Middle End None Satisfied Impossile No Ation No Ation No Ation Open Impossile if(t lµ 0) No Ation S ¼ S Ë ¼ C S ¼ S Ë ¼ C Unassigned if(t lµ 0) Impossile Impossile No Ation S ¼ S Ë ¼ C These rules are summarized in tale 1. For a given lause and an assignment to some variale, the ation to e taken an e determined y where the literal appears in the

9 lause (olumn) and the urrent status of this lause (row). Here, No Ation means that the lause should not e added to S ¼. It should e noted that when an end variale appears in an open lause, no ation is neessary only with regard to S ¼ (it does not propagate into S ¼ ). If the assignment does not satisfy this lause, then the partial truth assignment is invalid. However, given that a partial truth assignment is valid then these lauses must eome satisfied y that assignment. 5.3 Performing Multiple Operations via ZDDs Cassatt s ehavior for a single set was desried in Tale 1. However, the operations desried here an e reformulated as operations on the entire olletion of sets. By simply iterating over eah set of open lauses and performing the operations in Tale 1, one ould ahieve a orret, if ineffiient implementation. However, it is possile to represent the omined effet on all sets in terms of ZDD operations. In order to reate an effiient implementation, we perform these ZDD operations on the entire front rather than iterating over eah set. To illustrate this, onsider how some of the lauses in eah suset an e violated. Reall that if a lause is violated, then the set ontaining annot lead to satisfiaility and must e removed from the front. The same violated lauses will appear in many sets, and eah set in the front ontaining any violated lause must e removed. Instead of iterating over eah set, we interset the olletion of all possile sets without any violated lause with the front; all sets ontaining any violated lause will e removed. Suh a olletion an e formulated using ZDDs. More ompletely, a truth assignment t to a single variale v has the following effets: It violates some lauses. Let U v t e the set of all lauses suh that the end literal of orresponds to v and is false under t. Then U v t is the set of lauses whih are violated y this variale assignment. It satisfies some lauses. Let S v t e the set of all lauses suh that the literal of orresponding to v is true under t. If these lauses were not yet satisfied, then they eome satisfied y this assignment. It opens some lauses. Let A v t e the set of all lauses suh that the eginning literal of orresponds to v and is false under t. Then A v t is the set of lauses whih have just een ativated, ut remain unsatisfied. Note that eah of these sets depends only on the partiular truth assignment to v. With eah of these sets of lauses, an appropriate ation an e taken on the entire front. 5.4 Updating Based on Newly Violated Clauses Given a set of lauses U v t whih have just een violated y a truth assignment, all susets whih have one or more of these lauses must e removed from the front.

10 Eah suset ontaining any of these lauses annot yield satisfiaility. We an uild the olletion of all sets whih do not ontain any of these lauses. This new olletion of sets will have a very ompat representation when using ZDDs. Let Uv t ¼ denote the olletion of all possile sets of lauses whih do not ontain any elements from U v t. That is, S ¾ U ¼ v t S Ì U v t /0. The ZDD orresponding to U ¼ v t is shown in Figure 4. In Figure 4, the dashed arrow represents a node s E- Child while a solid arrow represents a node s T-Child. Beause of the Zero-Suppression rule, any node whih does not appear in the ZDD is understood not to appear in any set in the olletion. As a result, to reate a ZDD without lauses in U v t, no element in U v t should appear as a node in the ZDD for Uv t ¼. Beause we look at a finite set of lauses C, we wish to represent the remaining lauses C ÒU v t as don t are nodes in the ZDD. To form the don t are nodes, we simply reate a ZDD node with oth its T- hild and its E-hild pointing to the same suessor. The resulting ZDD has the form shown in Figure 4a. When we u 1 u 2 u 3 u n 1 a 1 a 2 a 3 a n 0 1 Fig. 4: (a) The U ¼ v t ZDD. () The A ¼ v t ZDD take front front Ì Uv t ¼ we will get all susets whih do not ontain any lauses in U v t. As a result, the front will e pruned of all partial truth whih eome invalid as a result of this assignment. Instead of inluding all lauses in C ÒU v t, we an further redue this operation y inluding only lauses within the ut. Inluding nodes to preserve lauses outside the ut is superfluous. The ZDD representing Uv t ¼ an thus e reated ontaining O utwidthµ nodes in the worst ase. 5.5 Updating Based On Newly Satisfied Clauses Consider a lause whih has just een satisfied and appears somewhere in the front. Sine the front onsists of sets of ativated, unsatisfied lause, then it must have een open (unsatisfied) under some partial truth assignment. However, this ourrene has just een satisfied. As a result, every ourrene of a satisfied lause an simply e removed entirely from the front. for eah ¾ S v t do Temp 0 Suset0(Front, ) Temp 1 Suset1(Front, ) Front Temp 0 Ë Temp1 Fig. 5: Pseudoode for astration Among other operations, the standard operations on ZDDs inlude ofatoring, or Suset0 and Suset1. Suset0(Z, a) reates the olletion of all sets in the ZDD Z without a given element a, while Suset1(Z, a) reates the olletion of all sets in a ZDD Z whih did ontain a given element a. However, the element a is not present in any of the ZDDs returned y either Suset0 or Suset1. As a result, these operations an e used to eliminate a given element from the front. This idea is illustrated in the pseu-

11 doode in Figure 5. The omined effet of these operations on a ZDD is alled existential astration [14] and an e implemented with a single operation on the ZDD [15]. 5.6 Updating Newly Opened Clauses Consider a set of newly opened lauses A v t. Eah set in the front should now also inlude every element in A v t. We use the ZDD produt to form the new front y letting A ¼ v t A v t and finding front A ¼ v t. When we uild the ZDD A ¼ v t, only those lauses in A v t need to appear as nodes in A ¼ v t. This is eause of the Zero-Suppression rule: nodes not appearing in the ZDD A ¼ v t must e 0. The ZDD for A ¼ v t is simple as it only ontains a single set. The form of all suh ZDDs is shown in Figure 4. When the ZDD produt operation is used, front A ¼ v t will form the new front. In many ases, a shortut an e taken. By properly numering lauses with respet to a given variale ordering, at eah step we an ensure that eah lause index is lower than the minimum index of the front. In this ase, all lauses should e plaed aove the urrent front. The front will essentially remain unhanged, however new nodes in the form of Figure 4 will e added parenting the root node of the front. In this ase, the overhead of this operation will e linear in the numer of opened lauses. 5.7 Compressed BFS Pseudoode CASSATT(Vars, Clauses) Front 1 for eah v ¾ Vars do Front Front Form sets U v 0 U v 1 S v 0 S v 1 A v 0 A v 1 Build the ZDDs U ¼ v 0 U ¼ v 1 Front Front Ì U ¼ v 1 Front Front Ì U ¼ v 0 Front Astrat(Front, S v 1 ) Front Astrat(Front, S v 0 ) Build the ZDDs A ¼ v 0 A¼ v 1 Front Front A ¼ v 1 Front Front A ¼ v 0 Front Front Ë S Front if Front == 0 then return Unsatisfiale if Front == 1 then return Satisfiale Fig. 6: Pseudoode for the Cassatt Algorithm Now that we have shown how the front an e modified to inlude the effets of a single variale assignment, the operation of the omplete algorithm should e fairly lear. For eah variale v, we will opy the front at a given step, then modify one opy to reflet assigning v 1. We will modify the other opy to reflet assigning v 0. The new front will e the union with susumption of these two. ZDD nodes are in reality managed via referene ounts. When a ZDD (or some of its nodes) are no longer needed, we derement this referene ount. When we opy a ZDD, we simply inrement the referene ount of the root node. Thus, opying the front in Cassatt takes only onstant overhead. The pseudoode of the Cassatt algorithm is shown in Figure 6.

12 Here, we order the steps of the algorithm aording to the MINCE ordering, applied as a separate step efore Cassatt egins. We initially set the front to the olletion ontaining the empty set. This is onsistent, eause trivially there are no open lauses yet. Reall that after all variales are proessed, either the front will ontain only the empty set (e 1), or will e the empty olletion of sets (e 0). 6 Empirial Validation We implemented Cassatt in C++ using the CUDD pakage [18]. We also used an existential astration routine from the Extra lirary [15]. For these results, we disaled reordering and garage olletion. These tests were performed on an AMD Athlon 1.2GHz mahine, with 1024MB of 200MHz DDR RAM running Deian Linux. We also inlude performane of Chaff [16] and GRASP [17], two leading DLL-ased SAT solvers. We also inlude results of ZRes, a solver whih performs the DP proedure [7] while ompressing lauses with a ZDD. All solvers were used with their default onfigurations, exept ZRes whih requires a speial swith when solving hole-n instanes. All runs were set to time out after 500s. We ran two sets of enhmarks whih are onsidered to e diffiult for traditional SAT solvers [3]. The hole-n family of enhmarks are ome from the pigeonhole priniple. Given n 1 pigeons and n holes, the pigeonhole priniple implies that least 2 pigeons must live in the same hole. The hole-n enhmarks are a CNF enoding of the negation of this priniple, and are unsatisfiale as they plae at most 1 pigeon in eah hole. The numer of lauses in this family of enhmarks grows as Θ n 3 µ while the numer of variales grows as Θ n 2 µ. For hole-50, there are 2550 variales and lauses. The Urquhart enhmarks are a randomly generated family relating to a lass of prolems ased on expander graphs [20]. Both families have een used to prove lower ounds for runtime of lassial DP and DLL algorithms and ontain only unsatisfiale instanes. [3] shows that any DLL or resolution proedure requires Ω 2 n 20 µ time for hole-n instanes. Figure 7 empirially demonstrates that Cassatt requires Θ n 4 µ time for these instanes. This does not inlude time used to generate the MINCE variale ordering or I/O time. The runtimes of the four solvers tested on instanes from hole-n are graphed in Figure 7a. The smallest instane we onsider is hole-5; Cassatt effiiently proves unsatisfiaility of hole-50 in under 14 seonds. Figure 7 plots the runtimes of Cassatt on hole-n vs. n for n 50 on a log-log sale. We also inlude a plot of n 4 with a onstant set to learly show the relationship with the empirial data (on the log-log sale, this effetively translates the plot vertially). The Urquhart-n instanes have some degree of randomness. To help ompensate for this, we tested 10 different randomly generated instanes for eah n, and took the average runtime of those instanes whih ompleted. Memory appears to e the limiting fator for Cassatt, rather than runtime; it annot solve one Urq-8 instane, while quikly solving others. With respet to the DIMACS enhmark suite, Cassatt effiiently solves many families. Most aim enhmarks are solved, as well as pret, and duois instanes. However, DLL solvers outperform Cassatt on many enhmarks in this suite.

13 seonds holes Cassatt Chaff ZRes GRASP seonds holes Cassatt n**4/ Fig. 7. (a) Runtime of four SAT solvers on hole-n. () Cassatt s runtime on holen. Cassatt ahieves asymptoti speedup over three other solvers Tale 2. Benhmark times and ompletion ratios for Urquhart-n. Timeouts were set to 500s Urq-n Average Cassatt Chaff [16] ZRes [5] Grasp [17] # Vars # Clauses % Solved Avg % Solved Avg % Solved Avg % Solved Avg %.07s 50% 139s 100%.20s 0% %.39s 0% - 100%.57s 0% % 1.32s 0% - 100% 1.35s 0% % 4.33s 0% - 100% 2.83s 0% % 43.27s 0% - 100% 5.39s 0% % 43.40s 0% - 100% 9.20s 0% - 7 Conlusions In this paper, we have introdued the Cassatt algorithm, a ompressed BFS whih solves the SAT deision prolem. It leverages the ompression power of ZDDs to ompat state representation. Also, the novel method for enoding the state uses susuming semantis of ZDDs to redue redundanies in the searh. In addition, the runtime of this algorithm is dependent on the size of the ompressed, impliit representation rather than on the size of an expliit representation. This is the first work to attempt using a ompressed BFS as a method for solving the SAT deision prolem. Our empirial results show that Cassatt is ale to outperform DP and DLL ased solvers in some ases. We show this y examining runtimes for Cassatt and omparing this to proven lower ounds for DP and DLL ased proedures. Our ongoing work aims to add Boolean Constraint Propagation to the Cassatt algorithm. With Constraint Propagation, any unsatisfied lause whih has only one remaining unassigned variale fores the assignment of that variale. It is hoped that taking this into aount will give a redution in memory requirements and runtime. Another diretion for future researh is studying the effets of SAT variale and BDD orderings on the performane of the proposed algorithm.

14 Referenes 1. F. A. Aloul, I. L. Markov, and K. A. Sakallah. Faster SAT and Smaller BDDs via Common Funtion Struture. Pro. Intl. Conf. Computer-Aided Design, F. A. Aloul, M. Mneimneh, and K. A. Sakallah. Baktrak Searh Using ZBDDs. Intl. Workshop on Logi and Synthesis, (IWLS), P. Beame and R. Karp. The effiieny of resolution and Davis-Putnam proedures. sumitted for puliation. 4. P. Chatali and L. Simon. Multi-Resolution on Compressed Sets of Clauses. Pro. of 12th International Conferene on Tools with Artifiial Intelligene (ICTAI-2000), Novemer P. Chatali and L. Simon. ZRes: the old DP meets ZBDDs. Pro. of the 17th Conf. of Autom. Dedution (CADE), M. Davis, G. Logemann, and D. Loveland. A Mahine Program for Theorem Proving. Comm. ACM, 5: , M. Davis and H. Putnam. A omputing proedure for quantifiation theory. Jounal of the ACM, 7: , P. Ferragina and G. Manzini. An experimental study of a ompressed index. Pro. 12th ACM-SIAM Symposium on Disrete Algorithms (SODA), R. Gasser. Harnessing Computational Resoures for Effiient Exhaustive Searh. PhD thesis, Swiss Fed Inst Teh, Zurih, R. L. Graham, M. Grötshel, and L. Lovász, editors. Handook of Cominatoris. MIT Press, January J. F. Groote and H. Zantema. Resolution and inary deision diagrams annot simulate eah other polynomially. Tehnial Report UU-CS , Utreht University, A. San Miguel. Random 3-SAT and BDDs: The Plot Thikens Further. CP, S. Minato. Zero-Suppressed BDDs for Set Manipulation in Cominatorial Prolems. 30th ACM/IEEE DAC, A. Mishhenko. An Introdution to Zero-Suppressed Binary Deision Diagrams. alanmi/researh/. 15. A. Mishhenko. EXTRA v. 1.3: Software Lirary Extending CUDD Pakage: Release 2.3.x. alanmi/researh/extra.htm. 16. M. Moskewiz et al. Chaff: Engineering an Effiient SAT Solver. Pro. of IEEE/ACM DAC, pages , J. P. Marques Silva and K. A. Sakallah. GRASP: A new searh algorithm for satisfiaility. ICCAD, F. Somenzi. CUDD: CU Deision Diagram Pakage Release faio/cudd/uddintro.html. 19. T. E. Urie and M. E. Stikel. Ordered inary deision diagrams and the Davis-Putnam proedure. In J. P. Jouannaud, editor, 1st Intl. Conf. on Constraints in Comp. Logis, volume 845 of LNCS, pages Springer, Septemer A. Urquhart. Hard examples for resolution. Journal of the ACM, 34, 1987.

Incremental Mining of Partial Periodic Patterns in Time-series Databases

Incremental Mining of Partial Periodic Patterns in Time-series Databases CERIAS Teh Report 2000-03 Inremental Mining of Partial Periodi Patterns in Time-series Dataases Mohamed G. Elfeky Center for Eduation and Researh in Information Assurane and Seurity Purdue University,

More information

A Support-Based Algorithm for the Bi-Objective Pareto Constraint

A Support-Based Algorithm for the Bi-Objective Pareto Constraint Proeedings of the Twenty-Eighth AAAI Conferene on Artifiial Intelligene A Support-Based Algorithm for the Bi-Ojetive Pareto Constraint Renaud Hartert and Pierre Shaus UCLouvain, ICTEAM, Plae Sainte Bare

More information

A Support-Based Algorithm for the Bi-Objective Pareto Constraint

A Support-Based Algorithm for the Bi-Objective Pareto Constraint A Support-Based Algorithm for the Bi-Ojetive Pareto Constraint Renaud Hartert and Pierre Shaus UCLouvain, ICTEAM, Plae Sainte Bare 2, 1348 Louvain-la-Neuve, Belgium {renaud.hartert, pierre.shaus,}@ulouvain.e

More information

Algorithms for External Memory Lecture 6 Graph Algorithms - Weighted List Ranking

Algorithms for External Memory Lecture 6 Graph Algorithms - Weighted List Ranking Algorithms for External Memory Leture 6 Graph Algorithms - Weighted List Ranking Leturer: Nodari Sithinava Sribe: Andi Hellmund, Simon Ohsenreither 1 Introdution & Motivation After talking about I/O-effiient

More information

On Proof Systems Behind Efficient SAT Solvers. DoRon B. Motter and Igor L. Markov University of Michigan, Ann Arbor

On Proof Systems Behind Efficient SAT Solvers. DoRon B. Motter and Igor L. Markov University of Michigan, Ann Arbor On Proof Systems Behind Efficient SAT Solvers DoRon B. Motter and Igor L. Markov University of Michigan, Ann Arbor Motivation Best complete SAT solvers are based on DLL Runtime (on unsat instances) is

More information

Improved Circuit-to-CNF Transformation for SAT-based ATPG

Improved Circuit-to-CNF Transformation for SAT-based ATPG Improved Ciruit-to-CNF Transformation for SAT-based ATPG Daniel Tille 1 René Krenz-Bååth 2 Juergen Shloeffel 2 Rolf Drehsler 1 1 Institute of Computer Siene, University of Bremen, 28359 Bremen, Germany

More information

Definitions Homework. Quine McCluskey Optimal solutions are possible for some large functions Espresso heuristic. Definitions Homework

Definitions Homework. Quine McCluskey Optimal solutions are possible for some large functions Espresso heuristic. Definitions Homework EECS 33 There be Dragons here http://ziyang.ees.northwestern.edu/ees33/ Teaher: Offie: Email: Phone: L477 Teh dikrp@northwestern.edu 847 467 2298 Today s material might at first appear diffiult Perhaps

More information

Path Sharing and Predicate Evaluation for High-Performance XML Filtering*

Path Sharing and Predicate Evaluation for High-Performance XML Filtering* Path Sharing and Prediate Evaluation for High-Performane XML Filtering Yanlei Diao, Mihael J. Franklin, Hao Zhang, Peter Fisher EECS, University of California, Berkeley {diaoyl, franklin, nhz, fisherp}@s.erkeley.edu

More information

Gray Codes for Reflectable Languages

Gray Codes for Reflectable Languages Gray Codes for Refletable Languages Yue Li Joe Sawada Marh 8, 2008 Abstrat We lassify a type of language alled a refletable language. We then develop a generi algorithm that an be used to list all strings

More information

HEXA: Compact Data Structures for Faster Packet Processing

HEXA: Compact Data Structures for Faster Packet Processing Washington University in St. Louis Washington University Open Sholarship All Computer Siene and Engineering Researh Computer Siene and Engineering Report Number: 27-26 27 HEXA: Compat Data Strutures for

More information

Efficient and scalable trie-based algorithms for computing set containment relations

Efficient and scalable trie-based algorithms for computing set containment relations Effiient and salale trie-ased algorithms for omputing set ontainment relations Yongming Luo #1, George H. L. Flether #2, Jan Hidders 3, Paul De Bra #4 # Eindhoven University of Tehnology, The Netherlands

More information

Learning Convention Propagation in BeerAdvocate Reviews from a etwork Perspective. Abstract

Learning Convention Propagation in BeerAdvocate Reviews from a etwork Perspective. Abstract CS 9 Projet Final Report: Learning Convention Propagation in BeerAdvoate Reviews from a etwork Perspetive Abstrat We look at the way onventions propagate between reviews on the BeerAdvoate dataset, and

More information

International Journal of Advancements in Research & Technology, Volume 3, Issue 3, March-2014 ISSN

International Journal of Advancements in Research & Technology, Volume 3, Issue 3, March-2014 ISSN International Journal of Advanements in Researh & Tehnology, Volume 3, Issue 3, Marh-204 ISSN 2278-773 47 Phrase Based Doument Retrieving y Comining Suffix Tree index data struture and Boyer- Moore faster

More information

1 Disjoint-set data structure.

1 Disjoint-set data structure. CS 124 Setion #4 Union-Fin, Greey Algorithms 2/20/17 1 Disjoint-set ata struture. 1.1 Operations Disjoint-set ata struture enale us to effiiently perform operations suh as plaing elements into sets, querying

More information

Calculation of typical running time of a branch-and-bound algorithm for the vertex-cover problem

Calculation of typical running time of a branch-and-bound algorithm for the vertex-cover problem Calulation of typial running time of a branh-and-bound algorithm for the vertex-over problem Joni Pajarinen, Joni.Pajarinen@iki.fi Otober 21, 2007 1 Introdution The vertex-over problem is one of a olletion

More information

Menu. X + /X=1 and XY+X /Y = X(Y + /Y) = X

Menu. X + /X=1 and XY+X /Y = X(Y + /Y) = X Menu K-Maps and Boolean Algera >Don t ares >5 Variale Look into my... 1 Karnaugh Maps - Boolean Algera We have disovered that simplifiation/minimization is an art. If you see it, GREAT! Else, work at it,

More information

Extracting Partition Statistics from Semistructured Data

Extracting Partition Statistics from Semistructured Data Extrating Partition Statistis from Semistrutured Data John N. Wilson Rihard Gourlay Robert Japp Mathias Neumüller Department of Computer and Information Sienes University of Strathlyde, Glasgow, UK {jnw,rsg,rpj,mathias}@is.strath.a.uk

More information

On - Line Path Delay Fault Testing of Omega MINs M. Bellos 1, E. Kalligeros 1, D. Nikolos 1,2 & H. T. Vergos 1,2

On - Line Path Delay Fault Testing of Omega MINs M. Bellos 1, E. Kalligeros 1, D. Nikolos 1,2 & H. T. Vergos 1,2 On - Line Path Delay Fault Testing of Omega MINs M. Bellos, E. Kalligeros, D. Nikolos,2 & H. T. Vergos,2 Dept. of Computer Engineering and Informatis 2 Computer Tehnology Institute University of Patras,

More information

Mining Edge-Weighted Call Graphs to Localise Software Bugs

Mining Edge-Weighted Call Graphs to Localise Software Bugs Mining Edge-Weighted Call Graphs to Loalise Software Bugs Frank Eihinger, Klemens Böhm, and Matthias Huer Institute for Program Strutures and Data Organisation (IPD), Universität Karlsruhe (TH), Germany

More information

Outline: Software Design

Outline: Software Design Outline: Software Design. Goals History of software design ideas Design priniples Design methods Life belt or leg iron? (Budgen) Copyright Nany Leveson, Sept. 1999 A Little History... At first, struggling

More information

A DYNAMIC ACCESS CONTROL WITH BINARY KEY-PAIR

A DYNAMIC ACCESS CONTROL WITH BINARY KEY-PAIR Malaysian Journal of Computer Siene, Vol 10 No 1, June 1997, pp 36-41 A DYNAMIC ACCESS CONTROL WITH BINARY KEY-PAIR Md Rafiqul Islam, Harihodin Selamat and Mohd Noor Md Sap Faulty of Computer Siene and

More information

Test Case Generation from UML State Machines

Test Case Generation from UML State Machines Test Case Generation from UML State Mahines Dirk Seifert Loria Université Nany 2 Campus Sientifique, BP 239 F-54506 Vandoeuvre lès Nany edex Dirk.Seifert@Loria.fr inria-00268864, version 2-23 Apr 2008

More information

Total 100

Total 100 CS331 SOLUTION Problem # Points 1 10 2 15 3 25 4 20 5 15 6 15 Total 100 1. ssume you are dealing with a ompiler for a Java-like language. For eah of the following errors, irle whih phase would normally

More information

Outline. CS38 Introduction to Algorithms. Administrative Stuff. Administrative Stuff. Motivation/Overview. Administrative Stuff

Outline. CS38 Introduction to Algorithms. Administrative Stuff. Administrative Stuff. Motivation/Overview. Administrative Stuff Outline CS38 Introdution to Algorithms Leture 1 April 1, 2014 administrative stuff motivation and overview of the ourse stale mathings example graphs, representing graphs graph traversals (BFS, DFS) onnetivity,

More information

Figure 1. LBP in the field of texture analysis operators.

Figure 1. LBP in the field of texture analysis operators. L MEHODOLOGY he loal inary pattern (L) texture analysis operator is defined as a gray-sale invariant texture measure, derived from a general definition of texture in a loal neighorhood. he urrent form

More information

Boosted Random Forest

Boosted Random Forest Boosted Random Forest Yohei Mishina, Masamitsu suhiya and Hironobu Fujiyoshi Department of Computer Siene, Chubu University, 1200 Matsumoto-ho, Kasugai, Aihi, Japan {mishi, mtdoll}@vision.s.hubu.a.jp,

More information

Automatic Physical Design Tuning: Workload as a Sequence Sanjay Agrawal Microsoft Research One Microsoft Way Redmond, WA, USA +1-(425)

Automatic Physical Design Tuning: Workload as a Sequence Sanjay Agrawal Microsoft Research One Microsoft Way Redmond, WA, USA +1-(425) Automati Physial Design Tuning: Workload as a Sequene Sanjay Agrawal Mirosoft Researh One Mirosoft Way Redmond, WA, USA +1-(425) 75-357 sagrawal@mirosoft.om Eri Chu * Computer Sienes Department University

More information

CleanUp: Improving Quadrilateral Finite Element Meshes

CleanUp: Improving Quadrilateral Finite Element Meshes CleanUp: Improving Quadrilateral Finite Element Meshes Paul Kinney MD-10 ECC P.O. Box 203 Ford Motor Company Dearborn, MI. 8121 (313) 28-1228 pkinney@ford.om Abstrat: Unless an all quadrilateral (quad)

More information

Pipelined Multipliers for Reconfigurable Hardware

Pipelined Multipliers for Reconfigurable Hardware Pipelined Multipliers for Reonfigurable Hardware Mithell J. Myjak and José G. Delgado-Frias Shool of Eletrial Engineering and Computer Siene, Washington State University Pullman, WA 99164-2752 USA {mmyjak,

More information

NONLINEAR BACK PROJECTION FOR TOMOGRAPHIC IMAGE RECONSTRUCTION. Ken Sauer and Charles A. Bouman

NONLINEAR BACK PROJECTION FOR TOMOGRAPHIC IMAGE RECONSTRUCTION. Ken Sauer and Charles A. Bouman NONLINEAR BACK PROJECTION FOR TOMOGRAPHIC IMAGE RECONSTRUCTION Ken Sauer and Charles A. Bouman Department of Eletrial Engineering, University of Notre Dame Notre Dame, IN 46556, (219) 631-6999 Shool of

More information

the data. Structured Principal Component Analysis (SPCA)

the data. Structured Principal Component Analysis (SPCA) Strutured Prinipal Component Analysis Kristin M. Branson and Sameer Agarwal Department of Computer Siene and Engineering University of California, San Diego La Jolla, CA 9193-114 Abstrat Many tasks involving

More information

A Novel Bit Level Time Series Representation with Implication of Similarity Search and Clustering

A Novel Bit Level Time Series Representation with Implication of Similarity Search and Clustering A Novel Bit Level Time Series Representation with Impliation of Similarity Searh and lustering hotirat Ratanamahatana, Eamonn Keogh, Anthony J. Bagnall 2, and Stefano Lonardi Dept. of omputer Siene & Engineering,

More information

The Minimum Redundancy Maximum Relevance Approach to Building Sparse Support Vector Machines

The Minimum Redundancy Maximum Relevance Approach to Building Sparse Support Vector Machines The Minimum Redundany Maximum Relevane Approah to Building Sparse Support Vetor Mahines Xiaoxing Yang, Ke Tang, and Xin Yao, Nature Inspired Computation and Appliations Laboratory (NICAL), Shool of Computer

More information

Chapter 2: Introduction to Maple V

Chapter 2: Introduction to Maple V Chapter 2: Introdution to Maple V 2-1 Working with Maple Worksheets Try It! (p. 15) Start a Maple session with an empty worksheet. The name of the worksheet should be Untitled (1). Use one of the standard

More information

Space- and Time-Efficient BDD Construction via Working Set Control

Space- and Time-Efficient BDD Construction via Working Set Control Spae- and Time-Effiient BDD Constrution via Working Set Control Bwolen Yang Yirng-An Chen Randal E. Bryant David R. O Hallaron Computer Siene Department Carnegie Mellon University Pittsburgh, PA 15213.

More information

A {k, n}-secret Sharing Scheme for Color Images

A {k, n}-secret Sharing Scheme for Color Images A {k, n}-seret Sharing Sheme for Color Images Rastislav Luka, Konstantinos N. Plataniotis, and Anastasios N. Venetsanopoulos The Edward S. Rogers Sr. Dept. of Eletrial and Computer Engineering, University

More information

Abstract. Key Words: Image Filters, Fuzzy Filters, Order Statistics Filters, Rank Ordered Mean Filters, Channel Noise. 1.

Abstract. Key Words: Image Filters, Fuzzy Filters, Order Statistics Filters, Rank Ordered Mean Filters, Channel Noise. 1. Fuzzy Weighted Rank Ordered Mean (FWROM) Filters for Mixed Noise Suppression from Images S. Meher, G. Panda, B. Majhi 3, M.R. Meher 4,,4 Department of Eletronis and I.E., National Institute of Tehnology,

More information

System-Level Parallelism and Throughput Optimization in Designing Reconfigurable Computing Applications

System-Level Parallelism and Throughput Optimization in Designing Reconfigurable Computing Applications System-Level Parallelism and hroughput Optimization in Designing Reonfigurable Computing Appliations Esam El-Araby 1, Mohamed aher 1, Kris Gaj 2, arek El-Ghazawi 1, David Caliga 3, and Nikitas Alexandridis

More information

Exploring the Commonality in Feature Modeling Notations

Exploring the Commonality in Feature Modeling Notations Exploring the Commonality in Feature Modeling Notations Miloslav ŠÍPKA Slovak University of Tehnology Faulty of Informatis and Information Tehnologies Ilkovičova 3, 842 16 Bratislava, Slovakia miloslav.sipka@gmail.om

More information

This fact makes it difficult to evaluate the cost function to be minimized

This fact makes it difficult to evaluate the cost function to be minimized RSOURC LLOCTION N SSINMNT In the resoure alloation step the amount of resoures required to exeute the different types of proesses is determined. We will refer to the time interval during whih a proess

More information

Analysis of input and output configurations for use in four-valued CCD programmable logic arrays

Analysis of input and output configurations for use in four-valued CCD programmable logic arrays nalysis of input and output onfigurations for use in four-valued D programmable logi arrays J.T. utler H.G. Kerkhoff ndexing terms: Logi, iruit theory and design, harge-oupled devies bstrat: s in binary,

More information

arxiv: v1 [cs.db] 13 Sep 2017

arxiv: v1 [cs.db] 13 Sep 2017 An effiient lustering algorithm from the measure of loal Gaussian distribution Yuan-Yen Tai (Dated: May 27, 2018) In this paper, I will introdue a fast and novel lustering algorithm based on Gaussian distribution

More information

Dynamic Programming. Lecture #8 of Algorithms, Data structures and Complexity. Joost-Pieter Katoen Formal Methods and Tools Group

Dynamic Programming. Lecture #8 of Algorithms, Data structures and Complexity. Joost-Pieter Katoen Formal Methods and Tools Group Dynami Programming Leture #8 of Algorithms, Data strutures and Complexity Joost-Pieter Katoen Formal Methods and Tools Group E-mail: katoen@s.utwente.nl Otober 29, 2002 JPK #8: Dynami Programming ADC (214020)

More information

Circular Pruning for Lazy Diagnosis of Active Systems

Circular Pruning for Lazy Diagnosis of Active Systems Cirular Pruning for Lazy Diagnosis of Ative Systems Andrea Duoli, Gianfrano Lamperti, Emanuele Piantoni, Marina Zanella Dipartimento di Elettronia per l Automazione, Università di Bresia, Italy Astrat:

More information

Sparse Certificates for 2-Connectivity in Directed Graphs

Sparse Certificates for 2-Connectivity in Directed Graphs Sparse Certifiates for 2-Connetivity in Direted Graphs Loukas Georgiadis Giuseppe F. Italiano Aikaterini Karanasiou Charis Papadopoulos Nikos Parotsidis Abstrat Motivated by the emergene of large-sale

More information

Approximate logic synthesis for error tolerant applications

Approximate logic synthesis for error tolerant applications Approximate logi synthesis for error tolerant appliations Doohul Shin and Sandeep K. Gupta Eletrial Engineering Department, University of Southern California, Los Angeles, CA 989 {doohuls, sandeep}@us.edu

More information

Accommodations of QoS DiffServ Over IP and MPLS Networks

Accommodations of QoS DiffServ Over IP and MPLS Networks Aommodations of QoS DiffServ Over IP and MPLS Networks Abdullah AlWehaibi, Anjali Agarwal, Mihael Kadoh and Ahmed ElHakeem Department of Eletrial and Computer Department de Genie Eletrique Engineering

More information

Algorithms, Mechanisms and Procedures for the Computer-aided Project Generation System

Algorithms, Mechanisms and Procedures for the Computer-aided Project Generation System Algorithms, Mehanisms and Proedures for the Computer-aided Projet Generation System Anton O. Butko 1*, Aleksandr P. Briukhovetskii 2, Dmitry E. Grigoriev 2# and Konstantin S. Kalashnikov 3 1 Department

More information

Parametric Abstract Domains for Shape Analysis

Parametric Abstract Domains for Shape Analysis Parametri Abstrat Domains for Shape Analysis Xavier RIVAL (INRIA & Éole Normale Supérieure) Joint work with Bor-Yuh Evan CHANG (University of Maryland U University of Colorado) and George NECULA (University

More information

The Implementation of RRTs for a Remote-Controlled Mobile Robot

The Implementation of RRTs for a Remote-Controlled Mobile Robot ICCAS5 June -5, KINEX, Gyeonggi-Do, Korea he Implementation of RRs for a Remote-Controlled Mobile Robot Chi-Won Roh*, Woo-Sub Lee **, Sung-Chul Kang *** and Kwang-Won Lee **** * Intelligent Robotis Researh

More information

Using Augmented Measurements to Improve the Convergence of ICP

Using Augmented Measurements to Improve the Convergence of ICP Using Augmented Measurements to Improve the onvergene of IP Jaopo Serafin, Giorgio Grisetti Dept. of omputer, ontrol and Management Engineering, Sapienza University of Rome, Via Ariosto 25, I-0085, Rome,

More information

Cluster-Based Cumulative Ensembles

Cluster-Based Cumulative Ensembles Cluster-Based Cumulative Ensembles Hanan G. Ayad and Mohamed S. Kamel Pattern Analysis and Mahine Intelligene Lab, Eletrial and Computer Engineering, University of Waterloo, Waterloo, Ontario N2L 3G1,

More information

Graph-Based vs Depth-Based Data Representation for Multiview Images

Graph-Based vs Depth-Based Data Representation for Multiview Images Graph-Based vs Depth-Based Data Representation for Multiview Images Thomas Maugey, Antonio Ortega, Pasal Frossard Signal Proessing Laboratory (LTS), Eole Polytehnique Fédérale de Lausanne (EPFL) Email:

More information

Volume 3, Issue 9, September 2013 International Journal of Advanced Research in Computer Science and Software Engineering

Volume 3, Issue 9, September 2013 International Journal of Advanced Research in Computer Science and Software Engineering Volume 3, Issue 9, September 2013 ISSN: 2277 128X International Journal of Advaned Researh in Computer Siene and Software Engineering Researh Paper Available online at: www.ijarsse.om A New-Fangled Algorithm

More information

A Partial Sorting Algorithm in Multi-Hop Wireless Sensor Networks

A Partial Sorting Algorithm in Multi-Hop Wireless Sensor Networks A Partial Sorting Algorithm in Multi-Hop Wireless Sensor Networks Abouberine Ould Cheikhna Department of Computer Siene University of Piardie Jules Verne 80039 Amiens Frane Ould.heikhna.abouberine @u-piardie.fr

More information

1 Model checking and equivalence checking

1 Model checking and equivalence checking 978--52-85972- - Practical Design Verification Model checking and equivalence checking Masahiro Fujita. Introduction Owing to the advances in semiconductor technology, a large and complex system that has

More information

On the Generation of Multiplexer Circuits for Pass Transistor Logic

On the Generation of Multiplexer Circuits for Pass Transistor Logic Preprint from Proeedings of DATE 2, Paris, rane, Marh 2 On the Generation of Multiplexer Ciruits for Pass Transistor Logi Christoph Sholl Bernd Beker Institute of Computer Siene Albert Ludwigs University

More information

Exploiting Enriched Contextual Information for Mobile App Classification

Exploiting Enriched Contextual Information for Mobile App Classification Exploiting Enrihed Contextual Information for Mobile App Classifiation Hengshu Zhu 1 Huanhuan Cao 2 Enhong Chen 1 Hui Xiong 3 Jilei Tian 2 1 University of Siene and Tehnology of China 2 Nokia Researh Center

More information

Gradient based progressive probabilistic Hough transform

Gradient based progressive probabilistic Hough transform Gradient based progressive probabilisti Hough transform C.Galambos, J.Kittler and J.Matas Abstrat: The authors look at the benefits of exploiting gradient information to enhane the progressive probabilisti

More information

Query Evaluation Overview. Query Optimization: Chap. 15. Evaluation Example. Cost Estimation. Query Blocks. Query Blocks

Query Evaluation Overview. Query Optimization: Chap. 15. Evaluation Example. Cost Estimation. Query Blocks. Query Blocks Query Evaluation Overview Query Optimization: Chap. 15 CS634 Leture 12 SQL query first translated to relational algebra (RA) Atually, some additional operators needed for SQL Tree of RA operators, with

More information

Divide-and-conquer algorithms 1

Divide-and-conquer algorithms 1 * 1 Multipliation Divide-and-onquer algorithms 1 The mathematiian Gauss one notied that although the produt of two omplex numbers seems to! involve four real-number multipliations it an in fat be done

More information

Automated Test Generation from Vulnerability Signatures

Automated Test Generation from Vulnerability Signatures Automated Test Generation from Vulneraility Signatures Adulaki Aydin, Muath Alkhalaf, and Tevfik Bultan Computer Siene Department University of California, Santa Barara Email: {aki,muath,ultan}@s.us.edu

More information

Constructing Transaction Serialization Order for Incremental. Data Warehouse Refresh. Ming-Ling Lo and Hui-I Hsiao. IBM T. J. Watson Research Center

Constructing Transaction Serialization Order for Incremental. Data Warehouse Refresh. Ming-Ling Lo and Hui-I Hsiao. IBM T. J. Watson Research Center Construting Transation Serialization Order for Inremental Data Warehouse Refresh Ming-Ling Lo and Hui-I Hsiao IBM T. J. Watson Researh Center July 11, 1997 Abstrat In typial pratie of data warehouse, the

More information

Partial Character Decoding for Improved Regular Expression Matching in FPGAs

Partial Character Decoding for Improved Regular Expression Matching in FPGAs Partial Charater Deoding for Improved Regular Expression Mathing in FPGAs Peter Sutton Shool of Information Tehnology and Eletrial Engineering The University of Queensland Brisbane, Queensland, 4072, Australia

More information

Smooth Trajectory Planning Along Bezier Curve for Mobile Robots with Velocity Constraints

Smooth Trajectory Planning Along Bezier Curve for Mobile Robots with Velocity Constraints Smooth Trajetory Planning Along Bezier Curve for Mobile Robots with Veloity Constraints Gil Jin Yang and Byoung Wook Choi Department of Eletrial and Information Engineering Seoul National University of

More information

Dr.Hazeem Al-Khafaji Dept. of Computer Science, Thi-Qar University, College of Science, Iraq

Dr.Hazeem Al-Khafaji Dept. of Computer Science, Thi-Qar University, College of Science, Iraq Volume 4 Issue 6 June 014 ISSN: 77 18X International Journal of Advaned Researh in Computer Siene and Software Engineering Researh Paper Available online at: www.ijarsse.om Medial Image Compression using

More information

Machine Vision. Laboratory Exercise Name: Student ID: S

Machine Vision. Laboratory Exercise Name: Student ID: S Mahine Vision 521466S Laoratory Eerise 2011 Name: Student D: General nformation To pass these laoratory works, you should answer all questions (Q.y) with an understandale handwriting either in English

More information

Unsupervised Stereoscopic Video Object Segmentation Based on Active Contours and Retrainable Neural Networks

Unsupervised Stereoscopic Video Object Segmentation Based on Active Contours and Retrainable Neural Networks Unsupervised Stereosopi Video Objet Segmentation Based on Ative Contours and Retrainable Neural Networks KLIMIS NTALIANIS, ANASTASIOS DOULAMIS, and NIKOLAOS DOULAMIS National Tehnial University of Athens

More information

1 The Knuth-Morris-Pratt Algorithm

1 The Knuth-Morris-Pratt Algorithm 5-45/65: Design & Analysis of Algorithms September 26, 26 Leture #9: String Mathing last hanged: September 26, 27 There s an entire field dediated to solving problems on strings. The book Algorithms on

More information

Sequential Incremental-Value Auctions

Sequential Incremental-Value Auctions Sequential Inremental-Value Autions Xiaoming Zheng and Sven Koenig Department of Computer Siene University of Southern California Los Angeles, CA 90089-0781 {xiaominz,skoenig}@us.edu Abstrat We study the

More information

Tracking Table Tennis Balls in Real Match Scenes for Umpiring Applications

Tracking Table Tennis Balls in Real Match Scenes for Umpiring Applications British Journal of Mathematis & Computer Siene 1(4): 228-241, 2011 SCIENCEDOMAIN international www.sienedomain.org Traking Tale Tennis Balls in Real Math Senes for Umpiring Appliations K. C. P. Wong 1*

More information

Normal Forms for Boolean Expressions

Normal Forms for Boolean Expressions Normal Forms for Boolean Expressions A NORMAL FORM defines a class expressions s.t. a. Satisfy certain structural properties b. Are usually universal: able to express every boolean function 1. Disjunctive

More information

Multi-Level Modeling of Concurrent and Distributed Systems

Multi-Level Modeling of Concurrent and Distributed Systems Multi-Level Modeling of Conurrent and Distriuted Systems Peter Taeling Hasso-Plattner-Institute for Software Systems Engineering P.O. Box 90 04 60, 14440 Potsdam, Germany taeling@hpi.uni-potsdam.de strat

More information

FUZZY WATERSHED FOR IMAGE SEGMENTATION

FUZZY WATERSHED FOR IMAGE SEGMENTATION FUZZY WATERSHED FOR IMAGE SEGMENTATION Ramón Moreno, Manuel Graña Computational Intelligene Group, Universidad del País Vaso, Spain http://www.ehu.es/winto; {ramon.moreno,manuel.grana}@ehu.es Abstrat The

More information

An Experimental Study of Fractional Cooperation in Wireless Mesh Networks

An Experimental Study of Fractional Cooperation in Wireless Mesh Networks An Experimental tudy of Frational Cooperation in Wireless Mesh Networks Anthony Cale, Nariman Farsad, and Andrew W. Ekford Dept. of Computer iene and Engineering, York University 47 Keele treet, Toronto,

More information

2017 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media,

2017 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, 2017 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any urrent or future media, inluding reprinting/republishing this material for advertising

More information

35 th Design Automation Conference Copyright 1998 ACM

35 th Design Automation Conference Copyright 1998 ACM Using Reongurable Computing Tehniques to Aelerate Problems in the CAD Domain: A Case Study with Boolean Satisability Peixin Zhong, Pranav Ashar, Sharad Malik and Margaret Martonosi Prineton University

More information

4.1.1 Design quality. 4.Normalization: Quality of relational designs. Informal guidelines (2) Informal guidelines (1)

4.1.1 Design quality. 4.Normalization: Quality of relational designs. Informal guidelines (2) Informal guidelines (1) .Normalization: Quality of relational designs. Funtional Dependenies.. Design quality.. Update anomalies.. Funtional Dependenies: definition.. Properties of Funtional Dependenies. Normal forms.. Informal

More information

A Dictionary based Efficient Text Compression Technique using Replacement Strategy

A Dictionary based Efficient Text Compression Technique using Replacement Strategy A based Effiient Text Compression Tehnique using Replaement Strategy Debashis Chakraborty Assistant Professor, Department of CSE, St. Thomas College of Engineering and Tehnology, Kolkata, 700023, India

More information

1. The collection of the vowels in the word probability. 2. The collection of real numbers that satisfy the equation x 9 = 0.

1. The collection of the vowels in the word probability. 2. The collection of real numbers that satisfy the equation x 9 = 0. C HPTER 1 SETS I. DEFINITION OF SET We begin our study of probability with the disussion of the basi onept of set. We assume that there is a ommon understanding of what is meant by the notion of a olletion

More information

Interconnection Styles

Interconnection Styles Interonnetion tyles oftware Design Following the Export (erver) tyle 2 M1 M4 M5 4 M3 M6 1 3 oftware Design Following the Export (Client) tyle e 2 e M1 M4 M5 4 M3 M6 1 e 3 oftware Design Following the Export

More information

What are Cycle-Stealing Systems Good For? A Detailed Performance Model Case Study

What are Cycle-Stealing Systems Good For? A Detailed Performance Model Case Study What are Cyle-Stealing Systems Good For? A Detailed Performane Model Case Study Wayne Kelly and Jiro Sumitomo Queensland University of Tehnology, Australia {w.kelly, j.sumitomo}@qut.edu.au Abstrat The

More information

COMP 181. Prelude. Intermediate representations. Today. Types of IRs. High-level IR. Intermediate representations and code generation

COMP 181. Prelude. Intermediate representations. Today. Types of IRs. High-level IR. Intermediate representations and code generation Prelude COMP 181 Intermediate representations and ode generation November, 009 What is this devie? Large Hadron Collider What is a hadron? Subatomi partile made up of quarks bound by the strong fore What

More information

Drawing lines. Naïve line drawing algorithm. drawpixel(x, round(y)); double dy = y1 - y0; double dx = x1 - x0; double m = dy / dx; double y = y0;

Drawing lines. Naïve line drawing algorithm. drawpixel(x, round(y)); double dy = y1 - y0; double dx = x1 - x0; double m = dy / dx; double y = y0; Naïve line drawing algorithm // Connet to grid points(x0,y0) and // (x1,y1) by a line. void drawline(int x0, int y0, int x1, int y1) { int x; double dy = y1 - y0; double dx = x1 - x0; double m = dy / dx;

More information

CS269I: Incentives in Computer Science Lecture #19: Time-Inconsistent Planning

CS269I: Incentives in Computer Science Lecture #19: Time-Inconsistent Planning CS269I: Inentives in Computer Siene Leture #9: Time-Inonsistent Planning Tim Roughgarden Deember 5, 26 Utility Theory and Behavioral Eonomis In almost all of the models that we ve studied in this ourse,

More information

Reading Object Code. A Visible/Z Lesson

Reading Object Code. A Visible/Z Lesson Reading Objet Code A Visible/Z Lesson The Idea: When programming in a high-level language, we rarely have to think about the speifi ode that is generated for eah instrution by a ompiler. But as an assembly

More information

13.1 Numerical Evaluation of Integrals Over One Dimension

13.1 Numerical Evaluation of Integrals Over One Dimension 13.1 Numerial Evaluation of Integrals Over One Dimension A. Purpose This olletion of subprograms estimates the value of the integral b a f(x) dx where the integrand f(x) and the limits a and b are supplied

More information

Acoustic Links. Maximizing Channel Utilization for Underwater

Acoustic Links. Maximizing Channel Utilization for Underwater Maximizing Channel Utilization for Underwater Aousti Links Albert F Hairris III Davide G. B. Meneghetti Adihele Zorzi Department of Information Engineering University of Padova, Italy Email: {harris,davide.meneghetti,zorzi}@dei.unipd.it

More information

Recommendation Subgraphs for Web Discovery

Recommendation Subgraphs for Web Discovery Reommation Subgraphs for Web Disovery Arda Antikaioglu Department of Mathematis Carnegie Mellon University aantika@andrew.mu.edu R. Ravi Tepper Shool of Business Carnegie Mellon University ravi@mu.edu

More information

Layout Compliance for Triple Patterning Lithography: An Iterative Approach

Layout Compliance for Triple Patterning Lithography: An Iterative Approach Layout Compliane for Triple Patterning Lithography: An Iterative Approah Bei Yu, Gilda Garreton, David Z. Pan ECE Dept. University of Texas at Austin, Austin, TX, USA Orale Las, Orale Corporation, Redwood

More information

3-D IMAGE MODELS AND COMPRESSION - SYNTHETIC HYBRID OR NATURAL FIT?

3-D IMAGE MODELS AND COMPRESSION - SYNTHETIC HYBRID OR NATURAL FIT? 3-D IMAGE MODELS AND COMPRESSION - SYNTHETIC HYBRID OR NATURAL FIT? Bernd Girod, Peter Eisert, Marus Magnor, Ekehard Steinbah, Thomas Wiegand Te {girod eommuniations Laboratory, University of Erlangen-Nuremberg

More information

8 : Learning Fully Observed Undirected Graphical Models

8 : Learning Fully Observed Undirected Graphical Models 10-708: Probabilisti Graphial Models 10-708, Spring 2018 8 : Learning Fully Observed Undireted Graphial Models Leturer: Kayhan Batmanghelih Sribes: Chenghui Zhou, Cheng Ran (Harvey) Zhang When learning

More information

A Novel Validity Index for Determination of the Optimal Number of Clusters

A Novel Validity Index for Determination of the Optimal Number of Clusters IEICE TRANS. INF. & SYST., VOL.E84 D, NO.2 FEBRUARY 2001 281 LETTER A Novel Validity Index for Determination of the Optimal Number of Clusters Do-Jong KIM, Yong-Woon PARK, and Dong-Jo PARK, Nonmembers

More information

Reading Object Code. A Visible/Z Lesson

Reading Object Code. A Visible/Z Lesson Reading Objet Code A Visible/Z Lesson The Idea: When programming in a high-level language, we rarely have to think about the speifi ode that is generated for eah instrution by a ompiler. But as an assembly

More information

ON CHARACTERIZING TERRAIN VISIBILITY GRAPHS

ON CHARACTERIZING TERRAIN VISIBILITY GRAPHS ON CHARACTERIZING TERRAIN VISIBILITY GRAPHS William Evans, and Noushin Saeedi Astrat. A terrain is an x-monotone polygonal line in the xy-plane. Two verties of a terrain are mutually visile if and only

More information

Z Combinatorial Filters: Sensor Beams, Obstacles, and Possible Paths

Z Combinatorial Filters: Sensor Beams, Obstacles, and Possible Paths Z Combinatorial Filters: Sensor Beams, Obstales, and Possible Paths BENJAMIN TOVAR, Northwestern University FRED COHEN, University of Rohester LEONARDO BOBADILLA, University of Illinois JUSTIN CZARNOWSKI,

More information

5.2.1 Ant, indispensable Ant

5.2.1 Ant, indispensable Ant 5.2.1 Ant, indispensale Ant Apahe s Ant produt (http://ant.apahe.org/) is a uild tool that lets you easily ompile and test appliations (among other things). It is the de fato standard for uilding Java

More information

A Dual-Hamiltonian-Path-Based Multicasting Strategy for Wormhole-Routed Star Graph Interconnection Networks

A Dual-Hamiltonian-Path-Based Multicasting Strategy for Wormhole-Routed Star Graph Interconnection Networks A Dual-Hamiltonian-Path-Based Multiasting Strategy for Wormhole-Routed Star Graph Interonnetion Networks Nen-Chung Wang Department of Information and Communiation Engineering Chaoyang University of Tehnology,

More information

On Optimal Total Cost and Optimal Order Quantity for Fuzzy Inventory Model without Shortage

On Optimal Total Cost and Optimal Order Quantity for Fuzzy Inventory Model without Shortage International Journal of Fuzzy Mathemat and Systems. ISSN 48-9940 Volume 4, Numer (014, pp. 193-01 Researh India Puliations http://www.ripuliation.om On Optimal Total Cost and Optimal Order Quantity for

More information

A Unified Subdivision Scheme for Polygonal Modeling

A Unified Subdivision Scheme for Polygonal Modeling EUROGRAPHICS 2 / A. Chalmers and T.-M. Rhyne (Guest Editors) Volume 2 (2), Number 3 A Unified Subdivision Sheme for Polygonal Modeling Jérôme Maillot Jos Stam Alias Wavefront Alias Wavefront 2 King St.

More information