Another NP-complete problem is to decide the satis ability of formulas of propositional logic. in Software Maker Code 3 of 9 in Software Another NP-complete problem is to decide the satis ability of formulas of propositional logic.

How to generate, print barcode using .NET, Java sdk library control with example project source code free download:
Another NP-complete problem is to decide the satis ability of formulas of propositional logic. using software toconnect barcode 39 with web,windows application databar 6 Binary decision diagrams most once on a path; but some non-terminal nodes may be labelled with , the exclusive-or operation. The meaning is that the function represented by that node is the exclusive-or of the boolean functions determined by its children. Parity OBDDs have similar algorithms for apply, restrict, etc.

with the same performance, but they do not have a canonical form. Checking for equivalence cannot be done in constant time. There is, however, a cubic algorithm for determining equivalence; and there are also e cient probabilistic tests.

Another variation of OBDDs allows complementation nodes, with the obvious meaning. Again, the main disadvantage is the lack of canonical form. One can also allow non-terminal nodes to be unlabelled and to branch to more than two children.

This can then be understood either as nondeterministic branching, or as probabilistic branching: throw a pair of dice to determine where to continue the path. Such methods may compute wrong results; one then aims at repeating the test to keep the (probabilistic) error as small as desired. This method of repeating probabilistic tests is called probabilistic ampli cation.

Unfortunately, the satis ability problem for probabilistic branching OBDDs is NP-complete. On a good note, probabilistic branching OBDDs can verify integer multiplication. The development of extensions or variations of OBDDS which are customised to certain classes of boolean functions is an important area of ongoing research.

. 6.3 Symbolic model checking The use of BDDs in model checking resulted in a signi cant breakthrough in veri cation in the early 1990s, because they have allowed systems with much larger state spaces to be veri ed. In this section, we describe in detail how the model-checking algorithm presented in 3 can be implemented using OBDDs as the basic data structure. The pseudo-code presented in Figure 3.

28 on page 227 takes as input a CTL formula and returns the set of states of the given model which satisfy . Inspection of the code shows that the algorithm consists of manipulating intermediate sets of states. We show in this section how the model and the intermediate sets of states can be stored as OBDDs; and how the operations required in that pseudo-code can be implemented in terms of the operations on OBDDs which we have seen in this chapter.

We start by showing how sets of states are represented with OBDDs, together with some of the operations required. Then, we extend that to the representation of the transition system; and nally, we show how the remainder of the required operations is implemented..

6.3 Symbolic model checking Model checking using OBDDs is called symbolic model checking. The term emphasises that individual states are not represented; rather, sets of states are represented symbolically, namely, those which satisfy the formula being checked..

6.3.1 Represent Software barcode 39 ing subsets of the set of states Let S be a nite set (we forget for the moment that it is a set of states).

The task is to represent the various subsets of S as OBDDs. Since OBDDs encode boolean functions, we need somehow to code the elements of S as boolean values. The way to do this in general is to assign to each element s S a unique vector of boolean values (v1 , v2 , .

. . , vn ), each vi {0, 1}.

Then, we represent a subset T by the boolean function fT which maps (v1 , v2 , . . .

, vn ) onto 1 if s T and maps it onto 0 otherwise. There are 2n boolean vectors (v1 , v2 , . .

. , vn ) of length n. Therefore, n should be chosen such that 2n 1 < .

S. 2n , where S. is the number of elements in S. If S. is not an exac Software barcode 3/9 t power of 2, there will be some vectors which do not correspond to any element of S; they are just ignored. The function fT : {0, 1}n {0, 1} which tells us, for each s, represented by (v1 , v2 , . .

. , vn ), whether it is in the set T or not, is called the characteristic function of T . In the case that S is the set of states of a transition system M = (S, , L) (see De nition 3.

4), there is a natural way of choosing the representation of S as boolean vectors. The labelling function L : S P(Atoms) (where P(Atoms) is the set of subsets of Atoms) gives us the encoding. We assume a xed ordering on the set Atoms, say x1 , x2 , .

. . , xn , and then represent s S by the vector (v1 , v2 , .

. . , vn ), where, for each i, vi equals 1 if xi L(s) and vi is 0 otherwise.

In order to guarantee that each s has a unique representation as a boolean vector, we require that, for all s1 , s2 S, L(s1 ) = L(s2 ) implies s1 = s2 . If this is not the case, perhaps because 2. Atoms < . S. , we can add ex Code39 for None tra atomic propositions in order to make enough distinctions (Cf. introduction of the turn variable for mutual exclusion in Section 3.3.

4.) From now on, we refer to a state s S by its representing boolean vector (v1 , v2 , . .

. , vn ), where vi is 1 if xi L(s) and 0 otherwise. As an OBDD, this state is represented by the OBDD of the boolean function l1 l2 ln , where li is xi if xi L(s) and xi otherwise.

The set of states {s1 , s2 , . . .

, sm } is represented by the OBDD of the boolean function. (l11 l12 l1n ) + (l21 l22 l2n ) + + (lm1 lm2 lmn ) where li1 li2 lin represents state si ..
Copyright © . All rights reserved.