Orthogonal Block Change & Block Building Using Ordered Lists of Ternary Vectors
|
|
- Victor Jacobs
- 5 years ago
- Views:
Transcription
1 Orthogonal Block Change & Block Building Using Ordered Lists of Ternary Vectors Christina Dorotska, Bernd Steinbach Freiberg University of Mining and Technology, Institute of Computer Science, D Freiberg, Germany, {dorotsk, Abstract. In this paper we investigate the possibility of efficient minimization of number of vectors in lists representing Boolean functions. We use the representation of a function as an ordered list of ternary or Boolean vectors and propose a faster algorithm that is based on ordering of vectors. We sort the vectors in lists using the number of ones and dashes to create classes and subclasses. This model is used to speed up the optimization of orthogonal vector lists, an algorithm known as block change & block building. Unlike the algorithm used in XBOOLE system this algorithm uses additional knowledge from the ordered model and changes only blocks, that lead to new possibilities of block building. Our new algorithm is compared with algorithm, used in XBOOLE system, and finally it is shown by means of experimental results that our algorithm with ordering of vectors requires fewer comparisons to find a new block building possibility. 1. Introduction As representation of Boolean function this paper uses Ternary Vector List (TVL), TVLs are based on the data structure called Binary Vector List (BVL) [1]. A binary vector consists of elements ZERO and OE. The BVL data structure represents a Boolean function including all this vectors in the list, for which the function has the value OE. In the most unfavorable case 2 n vectors may be also necessary to represent a Boolean function with BVL. Using of Ternary Vector Lists make it possible, to reduce this number of vectors, because a TVL may represent all Boolean vectors of a BVL by a smaller number of vectors. It may be achieved thanks to using the third element DASH (in previous papers [2, 3, 6-8] mark as a STROKE) in ternary vectors. The DASH is able to present a OE or a ZERO [2]. The minimization of the number of vectors in the Ternary Vector List is based on building blocks of ternary vector [4]. Every two vectors that differ in one place only are combined into a single ternary vector that contains DASH in the place of difference. If a TVL does not include a pair of vectors that can build a block, the Block Change operation can be used. Its main objective is to find all pairs of ternary vectors that can be converted to other pairs of ternary vectors, that may be later applicable to build a block. Block Change operation can be also extend with Block Building operation. There exists an very simple algorithm to process Block Change & Block Building, which is a part of the system XBOOLE. All pairs of ternary vectors taken from the two special lists have to be compared. In the case that these vectors can be convert to other ternary vectors, the Block Changing is executed. After all pairs of vectors were checked, a Block Building algorithm [2, 3, 7] reduces the number of vectors in the list through combining the matching vectors to vectors with more dashes. The disadvantage of this simple algorithm is the time consuming large number of comparisons between vectors. The aim of this paper is speed up the process of the minimization of the number of vectors in the list. We have created an ordered data structure called Ordered Ternary Vector List (OTVL) to represent a Boolean function. Owing to the ordering of ternary vectors into classes and subclasses the number of necessary comparisons during block building [7] and block change & block building procedures can be reduced. The rest of the paper is organized as follows. Section 2 gives the basic knowledge of block building and block change algorithms. Section 3 introduces improvements of the data structure Ordered List of Ternary vectors (OTVL). In section 4 the block change and the block building algorithms are represented at first separately and after that two as complete orthogonal block change & block building (OBCBB) algorithms. In section 5 we compare the results of employing of this two OBCBBalgorithms. Finally, in section 6, we summarize our paper.
2 2. Preliminaries A TVL may represent all Boolean vectors of a BVL by a smaller number of ternary vectors. One single ternary vector, which contains only dash elements, describes all 2 k Boolean vectors of the Boolean space. The set of Boolean vectors collected in one ternary vector can be reconstructed, if the dashes in the ternary vector are substituted by all possible patterns of zero and one elements. Two different Boolean vectors of the same length are called orthogonal. Two ternary vectors have the property of orthogonality, that means they are disjoint, if there exists no Boolean vector included in both ternary vectors. This property is satisfied, if these ternary vectors have a 0/1 combination in at least one column. The ternary vectors t 1 = 01- and t 2 = 11- for example, have a 0/1 combination in the first column. Vector t 1 includes the binary vectors { 010, 011 } and t 2 includes { 110, 111 }. There is no Boolean vector included in both sets. Therefore, t 1 is orthogonal with respect to t 2. An TVL is orthogonal if each pair of ternary vectors in the TVL is orthogonal (disjoint). Definition 1. If two ternary vectors (two lines) of a orthogonal TVL differ in exactly one column, in which the combination 0/1 is present, both TV s can be combined into one TV. This operation is called orthogonal block building (OBB), because the new ternary vector is orthogonal to other ternary vectors in this TVL. Example 1. Ternary vectors 0-0 and 1-0 have the 0/1 combination in the first column and can be merged into the ternary vector The reader can learn more about Orthogonal Block Building in [7]. To speed up the processing of many Boolean operation and to minimize the necessary memory space to store a TVL the number of vectors in the TVL can be reduced further, even no more block buildings are possible. Definition 2. If two ternary vectors are different in two positions, when the first one is a 0/1 combination, and the second is a 0/- or 1/- pattern, the Boolean vectors, included in this two ternary vectors can be combined to two other ternary vectors. This operation is called orthogonal block changing. Example 2. Two ternary vectors 0-1- and 010- can t build a block, because they are different in two positions. But they can be transformed to two other ternary vectors. If we decompose the first ternary vector relating to the position two, the vectors 001- and 011- will be obtained. ow we combine the second obtained vector 011- with ternary vector 010- and have therefore the following resulting ternary vectors: 001- and They cover the same Boolean vectors and are orthogonal to each other. Example 3. The function in the Figure 1 is represented as the Kmap (see Figure 1, a) ) and as the BVL (see Figure 1, b) ). After orthogonal Block Building (see Figure 2, a) ) the TVL representation of this function consist of four vectors (see Figure 2, b) ). There are no more Block Buildings possible. But the applying of Block Changing to this function is possible: the first and the second ternary vector c d b a c d b a a) b) a) b) Figure 1. The considered in Example 3 function Figure 2. Considered function after OBB a) b) c) d) e) f) Figure 3. Considered function after Block Change ( a) e) ) and Block Building ( f) )
3 from the list are different in two position, when the first one is a -/0 combination, and the second is a 1/0 difference (see Figure 3, a) ). During the Block Changing two new ternary vectors will be created (the first and the second vectors on the Figure 3, c) ). ow a next Block Changing between the second and the third vector on the Figure 3, c) will be performed. The result is shown on the Figure 3, e). For a better understanding of Block Changings it is additionally explained on the Figure 3, b) and d). After two Block Changings one new Block Building can be realized. The resulting TVL is shown on the Figure 3, f) and consists of only three vectors. Each ternary element t ij is encoded by two bits a ij and b ij (see Table 1). Table 1. Encoding of ternary elements Ternary element t ij a ij b ij Each ternary vector t i = { t ij, j=1,, k}, consists also of two parts - A = { a ij, j=1,, k} and B = { b ij, j=1,, k}, where k is the number of variables. Both parts of ternary vector are stored in two machine words and placed in the memory one after another, if k is smaller than or equal to the width of a machine word of the computer (see Figure 4). If the number of Boolean variables is larger than width of the machine word in bits, we need an even number of machine words to store one ternary vector. This number is represented by the variable typ, therefore A and B parts will consist of typ/2 components A m and B m correspondingly, stored as shown in Figure 5. Width of a machine word a i0 a i1... a ij... a ik b i0 b i1 b ij b ik A-part Figure 4. Storage structure of a ternary vector Figure 5. Storage structure of a ternary vector... B-part A 1 B 1 A 2 B 2 A TP/2 B TP/2 MW 0 MW 1 MW 2 MW 3 MW TP-2 MW TP-1 Using this encoding of the ternary elements, the following Lemmas can be formulated: Lemma 1. (ecessary and sufficient condition for Block Building) Two ternary vectors can be merged into one block if their B-parts are equal and their A-parts are different only in one place. Proof. We consider two ternary vectors that are different in exactly one column, in which the combination 0/1 is present. Using the definition of block building, only such vectors can create a block. Assume their B-parts are not equal. It means that a combination 0/- or 1/- (see Table 1) must occur at least in one column. If A-parts are different in more than one place, then both vectors would have more than one difference. < Lemma 2. (ecessary condition for Block Change) The blocks may be changed only for such two ternary vectors, whose B-parts are different only in one place X. These ternary vectors are called block changing supposed (BCS) with position X. Proof. We consider two ternary vectors that have the difference on two places, where the first one is 0/1 combination, and the second one a -/0 or a -/1 combination. Using the definition of block changing, only such vectors can be transformed to other ternary vectors. Assume their B-parts are equal. That means, that only 0/1 combinations are permissible (see Table 1). If B-parts are different more than in one place there are more than one -/0 or -/1 differences between two ternary vectors. < Lemma 3. (Sufficient condition for Block Change) Assume two ternary vectors are BCS vectors with position X. The block changing will be possible only if their A-parts are different in the place, X, and may be different in the X-position too. Proof. Two ternary vectors are BCS vectors with position X, if they have only one difference on the X place in their B-parts. Thus, the vectors have a -/0 or -/1 combination in the position X. In the first
4 case A-parts don t have a difference. In the second case A -parts differ in the position X too. If A -parts are additionally different in a place, X, where the B-parts don t have a difference, that means ternary vectors have in the position a 0/1 combination. Using the definition of a block changing, only this two ternary vectors can be transformed to other ternary vectors. < Most of the operations needed to check whether two ternary vectors are suitable for a block changing can be calculated for n variables in parallel, if n is smaller than or equal to the width of a machine word. If the number of Boolean variables is larger than the length of a machine word, we have to repeat these operations at most typ/2 times (see Figure 5). 3. Ordered Lists of Ternary Vectors 3.1. Distribution of Ternary Vectors into Classes and Subclasses To order ternary vectors we can use their number of ones. All Ternary vectors with the same number of ones belong to the same class. Each class is labeled by the number of ones #o: C #o = { t t = (t 1, t 2,..., t k ) and t j1, t j2,..., t j#o = 1, all other t i {0, } } (1) Each ternary vector represents a set of Boolean vectors. If the ternary vector includes #d dashes, the number of ones #o b in the Boolean vectors of this set is defined by #o #o b (#o + #d). (2) Because the upper bound depends of the number of dashes #d, we can use this number to create (#d+1) subclasses SC #o#d. C #o = { SC #o#d, #d {0, 1, 2,..., k-#o} }, #o {0, 1, 2,..., k} (3) SC #o#d = { t t = ( t 1, t 2,..., t k ) and t j1, t j2,..., t j#o = 1, t m1, t m2,..., t m#d =, all other t i = 0 } (4) We decide on the order in two levels. On the first level we order from lower to higher number of ones #o into classes. On the second level we order the vectors of each class from the higher to the lower number of dashes #d into subclasses. More information on the TV-ordering can be found in [6-8]. As a result, we receive an ordered list of ternary vectors that can be represented as the series of classes and subclasses. The vectors, which belong to the same subclass, are stored as separate TVL's (Sub_TVL). This classification into classes and subclasses may be used to reduce the number of necessary comparisons to find all pairs of vectors that can be used to process a block changing Data Structure number of dashes For the fast access to the classes and subclasses we create a triangular matrix structure outside of the ordered TVL. The number of rows and columns of this matrix is bounded by k+1, where k is the number of ULL ULL ULL 1 ULL variables. The elements of this array are pointers on the Sub_TVL s. The index of a row corresponds to the 3 2 ULL ULL ULL number of ones in Sub_TVL of this row. Thus each ULL ULL row of the matrix corresponds to one class. The column index corresponds to the number of dashes in each Sub_TVL. If some Sub_TVL s does not exist, ULL is stored in the appropriate array item. For example, in Figure 6 is shown the whole matrix, where a TVL is represented as 12 subclasses Similarly, this structure can also represent a BVL ULL 7 10 ULL ULL ULL 9 The matrix for BVL will have pointers to Sub_BVL s only in the first column, because the Boolean vectors Figure 6. Matrix structure contain no dashes. More information about the presented matrix structure can be found in [7] Significant Subclasses for Block Changing As mentioned above, two ternary vectors that can not build a block can be transformed to new vectors if: they are different in exactly two positions; in the first position they consist of a 0/1 combination in the second position exist one of 0/- or 1/- pattern. number of ones 0 ULL ULL 1 ULL 6
5 These new ternary vectors may be useful in some other new block buildings. Suppose SC #o#d is a subclass from an ordered model of classes and subclasses of ternary vectors. #o is the number of ones of all ternary vectors belonging to this subclass, #d is their number of dashes. The following lemma can be formulated: Lemma 4. For a Subclass SC #o#d there exist only four such subclasses SC #o #d, that some vector pairs {tv 1 from SC #o#d, tv 2 from SC #o #d } may be transformed to other pairs of ternary vectors (see Figure 7). The number of ones #o and of dashes #d of these subclasses will be specified as follows: #d = #d + 1, #o-2 #o #o+1 Proof. We consider two different subclasses of ternary vectors: SC #o#d and SC #o #d. Each vector from the first subclass includes #o ones and #d dashes. To make the Block Changing possible each vector from the second subclass should contains one more dash. Only then a 0/- or 1/- umber of dashes #d #d+1 #o #o+1 #o+2 difference between two ternary vectors can be presented. The number of dashes #d of all subclasses, which ternary vectors may participate in the Block Changing is also equal to #d+1. The second necessary condition for a Block Changing is presence of the 0/1 difference. In other positions this ternary vectors should be equal (see Lemma 3). Let the first difference be a 1/- difference. If the second difference is a 1/0 combination, #o = #o-2 (see Figure 8, case 1). In the case of a 0/1 combination the number of ones is equal: #o = #o (see Figure 8, case 3). In the case if the first difference is a 0/- difference, and the second difference a 1/0 combination, #o = #o-1 (see Figure 8, case 2). If the second difference is equal to 0/1, the number of ones #o is equal to #o+1 (see Figure 8, case 4). The Blocks of the vectors from SC #o#d and SC #o #d subclasses can be changed consequently, only if #d = #d + 1, #o-2 #o #o+1. < According to described in chapter 2 block changing rules, if a block changing between vectors from SC #o#d and SC #o #d was possible, following new ternary vectors will be created: #o-2 #o Figure 7. Four Block Changing Significant subclasses SC #o #d for a SC #o#d subclass t 1 t 2 t i-1 1 t i+1 t j-1 1 t j+1 t n-1 t n p 1 p 2 p i-1 0 p i+1 p j-1 - p j+1 p n-1 p n t 1 t 2 t i-1 1 t i+1 t j-1 0 t j+1 t n-1 t n p 1 p 2 p i-1 0 p i+1 p j-1 - p j+1 p n-1 p n t 1 t 2 t i-1 0 t i+1 t j-1 1 t j+1 t n-1 t n p 1 p 2 p i-1 1 p i+1 p j-1 - p j+1 p n-1 p n t 1 t 2 t i-1 - t i+1 t j-1 1 t j+1 t n-1 t n p 1 p 2 p i-1 0 p i+1 p j-1 0 p j+1 p n-1 p n t 1 t 2 t i-1 - t i+1 t j-1 0 t j+1 t n-1 t n p 1 p 2 p i-1 0 p i+1 p j-1 1 p j+1 p n-1 p n t 1 t 2 t i-1 - t i+1 t j-1 1 t j+1 t n-1 t n p 1 p 2 p i-1 1 p i+1 p j-1 0 p j+1 p n-1 p n 4 t 1 t 2 t i-1 0 t i+1 t j-1 0 t j+1 t n-1 t n p 1 p 2 p i-1 1 p i+1 p j-1 - p j+1 p n-1 p n Figure 8. Four Block Changing possibilities. t 1 t 2 t i-1 - t i+1 t j-1 0 t j+1 t n-1 t n p 1 p 2 p i-1 1 p i+1 p j-1 1 p j+1 p n-1 p n Using described data structure of classes and subclasses new ternary vectors will be stored as shown in Figure 9. The dark subclasses are Block Change participated subclasses. The arrows show the subclass, where the new transformed vectors should be stored. umber of ones umber of dashes umber of dashes umber of dashes umber of dashes #d #d+1 #d #d+1 #d #d+1 #d #d+1 #o-2 #o-1 #o #o+1 #o-2 #o-1 #o #o+1 #o-2 #o-1 #o+2 #o+2 #o+2 #o Figure 9. Storing of ternary vectors received after block changing #o #o+1 #o-2 #o-1 #o #o+1
6 4. Algorithms 4.1. Orthogonal Block Changing (OBC) Algorithm We consider here two ternary vectors tv 1 and tv 2 to check if a block changing is possible. The first ternary vector tv 1 should be the vector with less dashes compared with tv 2. ote, that TD (tv 1, tv 2, part, machine word, position) i = 0; machine word = -1; part = = A the numbers of dashes is known from the column index of the subclasses. k = 0 k = 1 According to lemma 2 we should check at first condition = tv1[i + k] + tv2[i + k] if this vectors are amenable of a block condition!= 0 changing, that means their B-parts are different machine word!= -1 i = i + 2 only in one place. The difference testing function (TD) can be used for this purpose (see return FALSE machine word = i; i = i + 2 Figure 10). while ( i < number of mashine words ) The first two parameters of this function are position = FIRST_BIT the considered ternary vectors. The parameter condition = tv1[machine word +k] + tv2[machine word +k] part marks, which parts of ternary vectors while ( position AD condition = = 0 ) should be checked up for a difference: A or B. position = position >> 1 As results, the TD-algorithm (see Figure 10) condition + position!= 0 returns: the number of the machine word, that contains the difference, and position of the return FALSE return TRUE difference inside this word. If there are more than one differences between the defined Figure 10. Difference Testing algorithm vector parts - the function returns false. If tv 1 and tv 2 are BCS vectors with position 1, according to lemma 3 it should be next decided if the A- parts of the considered ternary vectors are different beside the found position 1, and the difference 0/1 is in only one position. In order to do this we remove the A-part difference in the position 1. The TD-function will be then used again. If its result is true and position 2 is found, the block changing will be performed and two new ternary vectors will be created: in the position 2 of word 2 of tv 1 a dash is created, and in the position 1 of word 1 of tv 2 an opposite element of tv 1 (word 1, position 1 ) is assign (see Figure 11). OBC(tv 1, tv 2 ) TD(tv1, tv2, B, mashine word1, position1) == TRUE temp_tv = tv1 return temp_tv[mashine word1] = tv1[mashine word1] AD ~position1 FALSE temp_tv[mashine word1+1] = tv1[mashine word1+ 1] AD ~position1 D(temp_tv,tv2,A,mashine word2,position2)==true tv1[mashine word2] = tv1[mashine word2] AD ~position2 return tv1[mashine word2+1] = tv1[mashine word2+1] AD ~position2 FALSE tv2[mashine word1+1] = tv2[mashine word1+1] + position1 ( tv1[mashine word1] AD position1) = = 0 tv2[mashine word1] = tv2[mashine word1] + position1 return TRUE Figure 11. Orthogonal Block Change algorithm 4.2. Orthogonal Block Building (OBB) algorithms To minimize the number of rows in a TVL the orthogonal Block Building is used: if two orthogonal ternary vectors (two lines) of a TVL differ in exactly one column, in which the combination 0/1 is present, both TV s can be combined into one TV. We check whether two ternary vectors tv 1 and tv 2 can build a block using the OBB (tv 1, tv 2 ) algorithm. As mentioned in Lemma 1, we compare at first B-parts of vectors that must be equal. If the B -parts are equal, the A -parts will be compared, and should be different only in one column. If both conditions are
7 fulfilled, the block building between tv 1 and tv 2 is possible and the new_vect will be composed. This vector contains a dash in the column, where tv 1 and tv 2 have the 0/1 combination. Figure 11 shows the block scheme of this algorithm. For a complete block building it is necessary to find all pairs of ternary vectors that can be used for block building. There are different algorithms to process a Block Building. Some of them are presented in detail in [5, 7]. At first we will briefly present an algorithm that is part of the XBOOLE system: It uses two lists of ternary vectors: original tvl and help_tvl, containing vectors that cannot create one more block. Each vector tv 1 from tvl is compared with all the next standing vectors tv 2. It is checked whether tv 1 and tv 2 can create a block using algorithm OBB(tv 1, tv 2 ). If block building was possible, new_vect is saved in the original list tvl. If vector tv 1 cannot be combined with any vectors tv 2 from tvl, it will be compared with all OBB (tv 1, tv 2 ) w1=0; w = -1; test=true ( tv1[w1+1] tv2[w1+1] == 0) var_bb = tv1[w1] tv2[w1] test = false var_bb! = 0 /\ w! = -1 test = false var_bb!= 0 w = w1 w1 = w1+2 w1<typ /\ test == true test == true new_vect = tv1 test = false pos=first_bit var_bb = tv1[w] tv2[w] ( var_bb /\ pos) == 0 pos =pos >> 1 var_bb=var_bb pos var_bb == 0 new_vect[w+1] = tv1[w+1] pos test = false new_vect[w] = tv1[w] /\ new_vect[w+1] new_vect = ULL Figure 12. Test of block building between two vectors tv 1 and tv 2 and building a new_vect algorithm vectors from help_tvl. If again no block building was possible, tv 1 is saved on the end of help_tvl. The algorithm is repeated, until tv 1 is not the last vector in tvl. At the end, help_tvl consist only vectors, which cannot build a block. 4.3 Orthogonal Block Change & Block Building (OBCBB) Algorithm A Block Change & Block Building algorithm consist of two parts: a Block Change part and a Block Building part. To process a Block Changing in a TVL it is necessary to find all pairs of ternary vectors, which have a property for a block changing. After that a Block Building algorithm will be realized. We consider in this paper two different ways to perform a Block Change & Block Building. Method 1. This algorithm was proposed in [2] OBCBB(TVL) and is part of the XBOOLE system. Each vector tv 1 from tvl is compared number = number of vectors in TVL with all next standing vectors tv 2. If tv1 = first vector from TVL for tv 1 and tv 2 a block changing is tv1! = last vector in TVL possible, the algorithm OBC (tv 1, tv 2 ) tv2 = next vector after tv1 transforms the incoming vectors and end = FALSE returns true. Changed vectors are OBC(tv1, tv2) stored on the places of original tv2! = last vector in TVL ternary vectors. Otherwise the algorithm returns false. tv2 =next vector of TVL end = TRUE After all pairs of ternary vectors from OT end tvl were checked for a block changing and all possible block changings were tv1 = next vector of TVL processed, the Orthogonal Block OBB(TVL) Building algorithm (OBB) (described new number = number of vectors in TVL in detail in [5]) is called. It search for new number < number all pairs of ternary vectors, which can build a block and merge each of such Figure 13. OBCBB algorithm used in XBOOLE system pairs to a single vector. If at least one new block was build during this cycle of algorithm, the OBCBB algorithm will be repeated. If no more block buildings after block changing is possible, the algorithm stops (see Figure 13).
8 Method 2. In Figure 15 we show the block schema of our new algorithm, which takes into account the ordered data structure, described in section 3. According to Lemma 3, only ternary vectors from Sub_TVLs belonging to the neighbor column with one more dash than the current Sub_TVL and having the numbers of ones #o, #o-2 #o #o+1 are useful for the block changing procedure. Our block change & block building algorithm starts with Sub_TVL(row, column) where row is the last row in matrix and column is the first column in this row. We check whether this Sub_TVL and the corresponding Sub_TVL(row+ step, column+1), -2 <= step <= 1 from the neighbor column are not equal ULL. If the subclasses are not ULL, the algorithm runs OBC(tv 1, tv 2 ) for each vector tv 1 from Sub_TVL(row, column) and each vector tv 2 from Sub_TVL(row +step, column+1). In case of a possibility for block changing, temporary new_vect 1 and new_vect 2 will be created and contain transformed ternary vectors. This temporary ternary vectors will be used to finding out, if this Block Changing will be successful, that means if it will lead to a new Block Building. We use for it the OBB(tv 1, tv 2 ) function that can find out, if one or both of the temporary vectors can build a block with the vectors from appropriate Sub_TVL. number of ones OBCBB(TVL) number of dashes ULL ULL ULL ULL ULL ULL 1 ULL ULL ULL ULL 2 ULL ULL 3 ULL ULL 4 5 ULL 6 ULL Figure 14. Direction of selection of subclasses by new method of block changing 6 store position_1 = {-1, -1, 0, 0} ; store position_2 = {0, 1, 0, 1} k = number of variables in tvl for (row = k; row >= 0; row = row - 1) for ( column = 0; column <= k - row; column = column + 1 ) Sub_TVL(row, column)!= ULL for ( step = -2; step <= 1; step = step + 1) Sub_TVL(row+step, column+1)!= ULL for all vectors v1 from Sub_TVL (row, column) for all vectors v2 from Sub_TVL (row + step, column+1) temp_v1 = v1; temp_v2 = v2; OBC( temp_v1, temp_v2 ) == true for all vectors tv from Sub_TVL(row+store position_1[step] - 1, column + 1) v2 = next OBB(temp_v1, tv) == TRUE vector from Sub_TVL result1 = TRUE result1 = FALSE (row + step, column+1) break tv = next vector from Sub_TVL (row+store position_1[step] - 1, column+1) for all vectors tv from Sub_TVL(row+step+store position_2[step] - 1, column - 1) OBB(temp_v2, tv) == TRUE result2 = TRUE result2 = FALSE break tv=next vector from Sub_TVL (row+step+store position_2[step] - 1, column-1) result1 result1 AD AD result2 result2 delete result1 v1,v2 break delete v1, v2 result2 result2 save temp_v2 in save temp_v2 in save Sub_TVL(row+step+ delete temp_v1 v1, v2 in v2 = next v2 vector = next from Sub_TVL(row+step + Sub_TVL(row+sto- Sub_TVL store position_2, column - 1) save temp_v1 in vector from store position_2[step], re position_1 [step], (row + step, breakcolumn 1) column Sub_TVL(row+store + 1) column + Sub_TVL 1) position_1, column + 1) (row + step, delete v1, v2 delete v1, v2 delete v1, v2 column+1) break break break break v1 = next vector from Sub_TVL (row, column) Figure 15. Block change - Block building using new algorithm
9 The appropriate Sub_TVL consist of the same number of dashes like transformed vector and of one less 1 than transformed vector (See Figure 14). The variable store position means how different is the storing class of transformed vector from the storing class of original vector (see Figure 9, 15). Using this variable for the Block Building, the appropriate class can de described as row + store position 1. Founded block building is processed immediately, and it s result vector contains one less one or zero and one more dash, compared to transformed temporary ternary vector, and has to be added to corresponding Sub_TVL. If such Sub_TVL does not exist, it will be created. The result vector includes the information from the original ternary vectors too, and thus if both transformed temporary ternary vectors lead to a block building, we must only delete the original ternary vectors. If just one of both transformed temporary ternary vectors can build a block, the second transformed temporary ternary vector must be stored in the corresponding Sub_TVL. If such Sub_TVL does not exist, it will be created. The original ternary vectors must be deleted. In the case if no block building after performed block change is possible, the original ternary vectors does not changed. The algorithm iterates through the internal loop over Sub_TVL(i, j) by increasing the column number j and through the external loop over Sub_TVL by decreasing the row number i (see Figure 14). According to Figures 8, 13, it is easy to see that if 2 step 0 all the new vectors will be considered in the next loop of the OBBC building algorithm. Only when step 1 new vectors will be stored in Sub_TVL that have bean already processed. The algorithm terminates when it reaches the first row and the column before last in matrix (see Figure 14). Example 4. Subclass (5, 0) is compared with subclass (3, 1). If a block changing was possible, the transformed vector, belonged in original to subclass (5, 0) will consist of 4 ones and 1 dash. Another transformed ternary vector that in original belonged to subclass (3, 1) will consist of 3 ones and 0 dashes. Therefore during the block building part of OBCBB algorithm first new vector will be compared with the vectors from subclass (3, 1), second new vector will be compared with vectors from subclass (2,0) to process a block building. In the next iteration of the internal loop, vectors from the subclass (5,0) will be compared with vectors from subclass (4, 1). 5. Results To compare the efficiency of two different versions of block change & block building algorithms, we have run each of them for a TVL of 15 Boolean variables with 8796 ternary vectors and 0.97% of dashes. The vectors from this TVL could not build some blocks more, therefore we have calculated the numbers of necessary comparisons between pairs of vectors to perform block change & block building. The results are shown in Figure umber of comparisons per one founded block during different loops of two OBCBB algorithms OBCBB XBOOLE new OBCBB Loop of algorithm Figure 16. umber of comparisons per one founded block during different loops on two OBCBB algorithms
10 Each method perform block change & block building in more loops of corresponding algorithm. In one loop of the algorithm all vectors from TVL should be checked and all founded blocks should be built. It is easy to see, that with each next loop less new blocks can be built and more comparisons to find a new block are needed. umber of vectors in TVL after different loops of two OBCBB algorithms new OBCBB OBCBB XBOOLE Loop of algorithm Figure 17. umber of vectors in TVL after different loops of two OBCBB algorithms umber of comparisons needed to reach a certain number of vectors in the TVL OBCBB XBOOLE new OBCBB Reached number of vectors Figure 18. umber of necessary comparisons to reach a certain number of vectors in the TVL for two OBCBB algorithms Because during one loop of an algorithm different numbers of blocks may be built, we have calculated at next the number of loops of each algorithm to reduce number of ternary vectors in TVL to rough 1000, and how many comparisons are necessary to find one new block building possibility. This results are summarized in Table 2.
11 Table 2. The performance of two block change & block building algorithms #1 umber of ternary vectors #2 Percentage of dashes 0,97% 0,6% 0,04% #2 umber of OBCBB XBOOLE algorithm loops #3 umber of vectors after OBCBB XBOOLE algorithm #4 umber of comparisons per one founded block with , , ,2 OBCBB XBOOLE algorithm #5 umber of loops of new OBCBB algorithm #6 umber of vectors after new OBCBB algorithm #7 umber of comparisons per one founded block building 23502, , ,1 with new OBCBB algorithm #8 Percentage (#7 / #4) 100% 14,27% 13,05% 9,81% 6. Conclusion and Future Work We have developed a faster algorithm for block change & block building in orthogonal TVLs using ordering of ternary vectors into classes and subclasses. Classes are defined by the numbers of ones in a vector and subclasses by the number of dashes. There are two practical results. First, our experimental results show that the approach that is based on sorting TV s into classes and subclasses needs significantly less comparisons than approaches without sorting. Second, new algorithm reduce performing time, because only block changings leaded to a new block building will be realized. XBOOLE algorithm will be stopped if no blocks was built after last block changing. In reality it can be run endless, because after more block changings exist almost always a possibility to find some new blocks. On the one hand the new OBCBB algorithm guarantee the end of block change & block building process, because only blocks will be changed that lead direct to new block buildings. But on the other hand exactly this restriction is a disadvantage of new algorithm. OBCBB can find more new blocks if some block changes will be permitted, which create such new blocks not immediately usable to built a new block. ote, the example 3 show such a case, where the block building is only possible after the second change of blocks. Therefore, in the future work, we will test following ideas: Improvement of described new algorithm with more tests for transformed vectors Use the method of simulated annealing in the algorithm that permit with a decreasing probability the performing of block changes that don t lead to new block building Besides we will adapt the new approach based on the orthogonal ordered lists of ternary vectors to other Boolean operations. 7. References [1] Bochmann, D.; Posthoff, C.: Binäre dynamische Systeme. Akademie-Verlag, Berlin, 1981 [2] Bochmann, D.; Steinbach, B.: Logikentwurf mit XBOOLE. Verlag Technik Berlin, [3] Posthoff, Ch.; Steinbach, B.: Binäre Gleichungen - Algorithmen und Programme. Wissenschaftliche Schriftenreihe der Technischen Hochschule, 1/1979, Karl-Marx-Stadt, 1979 [4] McCluskey, E. J.: Minimisation of Boolean Functions. Bell System technical Journal, 1956, pp [5] Steinbach, B.: XBOOLE - A Toolbox for Modelling, Simulation, and Analysis of Large Digital Systems. System Analysis and Modelling Simulation, Gordon & Breach Science Publishers, 9(1992), umber 4, pp [6] Steinbach B., Dorotska K. Fast Boolean calculations using ordered lists of ternary vectors // Proceedings of the Third International Conference on Computer-Aided Design of Discrete Devices (CAD DD'99), Volume 1, pp , ovember 1999, Minsk, Belarus [7] Steinbach, B.; Dorotska, Chr.: Orthogonal Blockbuilding Using Ordered Lists of Ternary Vectors. in: Steinbach, B. (Hrsg.): Boolean Problems, Proceedings of the 4th International Workshops on Boolean Problems, September 2000, Freiberg University of Mining and Technology, Freiberg, 2000, pp [8] Steinbach B., Dorotska Ch. Calculation of SET Operations using Ordered Lists of Ternary Vectors // Proceedings of the Fourth International Conference on Computer-Aided Design of Discrete Devices (CAD DD'2001), Volume 1, pp , ovember 14-16, 2001, Minsk, Belarus
Hardware Synthesis of UML-Models
Hardware Synthesis of UML-Models Thomas Beierlein Dominik Fröhlich Bernd Steinbach Hochschule Mittweida TU Bergakademie Freiberg TU Bergakademie Freiberg Labor Embedded Control Inst. of Computer Science
More informationSet-Based SAT-Solving
FACTA UNIVERSITATIS (NIŠ) SER.: ELEC. ENERG. vol. 20, no. 3, December 2007, 395-414 Set-Based SAT-Solving Bernd Steinbach and Christian Posthoff Abstract: The 3-SAT problem is one of the most important
More informationTHE SOLUTION OF COMBINATORIAL PROBLEMS USING BOOLEAN EQUATIONS: NEW CHALLENGES FOR TEACHING
THE SOLUTION OF COMBINATORIAL PROBLEMS USING BOOLEAN EQUATIONS: NEW CHALLENGES FOR TEACHING Bernd Steinbach Freiberg University of Mining and Technology, Germany steinb@informatik.tu-freiberg.de Christian
More informationER to Relational Mapping
ER to Relational Mapping 1 / 19 ER to Relational Mapping Step 1: Strong Entities Step 2: Weak Entities Step 3: Binary 1:1 Relationships Step 4: Binary 1:N Relationships Step 5: Binary M:N Relationships
More informationThe Encoding Complexity of Network Coding
The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network
More informationFOR many years our research is centered on the solution. The Solution of SAT Problems Using Ternary Vectors and Parallel Processing
INTL JOURNAL OF ELECTRONICS AND TELECOMMUNICATIONS, 2011, VOL. 57, NO. 3, PP. 233 249 Manuscript received June 21, 2011; revised September 2011. DOI: 10.2478/v10177-011-0032-9 The Solution of SAT Problems
More informationCS299 Detailed Plan. Shawn Tice. February 5, The high-level steps for classifying web pages in Yioop are as follows:
CS299 Detailed Plan Shawn Tice February 5, 2013 Overview The high-level steps for classifying web pages in Yioop are as follows: 1. Create a new classifier for a unique label. 2. Train it on a labelled
More informationGeneration of test case templates using the. Boolean representation of software model
Generation of test case /5 templates using the Boolean representation of software model Christina Dorotska Freiberg University of Mining and Technology Institute of Computer Science, Freiberg (Sachs.),
More informationOptimum Alphabetic Binary Trees T. C. Hu and J. D. Morgenthaler Department of Computer Science and Engineering, School of Engineering, University of C
Optimum Alphabetic Binary Trees T. C. Hu and J. D. Morgenthaler Department of Computer Science and Engineering, School of Engineering, University of California, San Diego CA 92093{0114, USA Abstract. We
More informationAdvanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras
Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture 18 All-Integer Dual Algorithm We continue the discussion on the all integer
More informationLinear Bilevel Programming With Upper Level Constraints Depending on the Lower Level Solution
Linear Bilevel Programming With Upper Level Constraints Depending on the Lower Level Solution Ayalew Getachew Mersha and Stephan Dempe October 17, 2005 Abstract Focus in the paper is on the definition
More informationOn Merging Straight Skeletons
On Merging Straight Skeletons Franz Aurenhammer 1 and Michael Steinkogler 2 1 Institute for Theoretical Computer Science, University of Technology, Graz, Austria auren@igi.tugraz.at 2 Institute for Theoretical
More informationA Learning Algorithm for Piecewise Linear Regression
A Learning Algorithm for Piecewise Linear Regression Giancarlo Ferrari-Trecate 1, arco uselli 2, Diego Liberati 3, anfred orari 1 1 nstitute für Automatik, ETHZ - ETL CH 8092 Zürich, Switzerland 2 stituto
More informationLATIN SQUARES AND TRANSVERSAL DESIGNS
LATIN SQUARES AND TRANSVERSAL DESIGNS *Shirin Babaei Department of Mathematics, University of Zanjan, Zanjan, Iran *Author for Correspondence ABSTRACT We employ a new construction to show that if and if
More informationLeveraging Set Relations in Exact Set Similarity Join
Leveraging Set Relations in Exact Set Similarity Join Xubo Wang, Lu Qin, Xuemin Lin, Ying Zhang, and Lijun Chang University of New South Wales, Australia University of Technology Sydney, Australia {xwang,lxue,ljchang}@cse.unsw.edu.au,
More informationGenetic algorithms for the synthesis optimization of a set of irredundant diagnostic tests in the intelligent system
Computer Science Journal of Moldova, vol.9, no.3(27), 2001 Genetic algorithms for the synthesis optimization of a set of irredundant diagnostic tests in the intelligent system Anna E. Yankovskaya Alex
More informationLINEAR PROGRAMMING: A GEOMETRIC APPROACH. Copyright Cengage Learning. All rights reserved.
3 LINEAR PROGRAMMING: A GEOMETRIC APPROACH Copyright Cengage Learning. All rights reserved. 3.1 Graphing Systems of Linear Inequalities in Two Variables Copyright Cengage Learning. All rights reserved.
More informationGraphs connected with block ciphers
Graphs connected with block ciphers OTOKAR GROŠEK Slovak University of Technology Department of Applied Informatics Ilkovičova 3 812 19 Bratislava SLOVAKIA PAVOL ZAJAC Slovak University of Technology Department
More informationDistributed minimum spanning tree problem
Distributed minimum spanning tree problem Juho-Kustaa Kangas 24th November 2012 Abstract Given a connected weighted undirected graph, the minimum spanning tree problem asks for a spanning subtree with
More informationENTITIES IN THE OBJECT-ORIENTED DESIGN PROCESS MODEL
INTERNATIONAL DESIGN CONFERENCE - DESIGN 2000 Dubrovnik, May 23-26, 2000. ENTITIES IN THE OBJECT-ORIENTED DESIGN PROCESS MODEL N. Pavković, D. Marjanović Keywords: object oriented methodology, design process
More informationA CONSISTENCY MAINTENANCE OF SHARED BOUNDARY AFTER POLYGON GENERALIZATION
CO-182 A CONSISTENCY MAINTENANCE OF SHARED BOUNDARY AFTER POLYGON GENERALIZATION AI T.(1), ZHANG W.(2) (1) Wuhan University, WUHAN CITY, CHINA ; (2) Zhongnan University of Economics and Law, WUHAN CITY,
More informationarxiv: v1 [cond-mat.dis-nn] 30 Dec 2018
A General Deep Learning Framework for Structure and Dynamics Reconstruction from Time Series Data arxiv:1812.11482v1 [cond-mat.dis-nn] 30 Dec 2018 Zhang Zhang, Jing Liu, Shuo Wang, Ruyue Xin, Jiang Zhang
More information* (4.1) A more exact setting will be specified later. The side lengthsj are determined such that
D D Chapter 4 xtensions of the CUB MTOD e present several generalizations of the CUB MTOD In section 41 we analyze the query algorithm GOINGCUB The difference to the CUB MTOD occurs in the case when the
More informationSome Problems of Fuzzy Modeling of Telecommunications Networks
Some Problems of Fuzzy Modeling of Telecommunications Networks Kirill Garbuzov Novosibirsk State University Department of Mechanics and Mathematics Novosibirsk, Russia, 630090, Email: gartesk@rambler.ru
More information2.3 Algorithms Using Map-Reduce
28 CHAPTER 2. MAP-REDUCE AND THE NEW SOFTWARE STACK one becomes available. The Master must also inform each Reduce task that the location of its input from that Map task has changed. Dealing with a failure
More information3.4 QUINE MCCLUSKEY METHOD 73. f(a, B, C, D, E)¼AC ĒþB CD þ BCDþĀBD.
3.4 QUINE MCCLUSKEY METHOD 73 FIGURE 3.22 f(a, B, C, D, E)¼B CD þ BCD. FIGURE 3.23 f(a, B, C, D, E)¼AC ĒþB CD þ BCDþĀBD. A¼1map are, 1, and 1, respectively, whereas the corresponding entries in the A¼0
More informationLecture 3: Art Gallery Problems and Polygon Triangulation
EECS 396/496: Computational Geometry Fall 2017 Lecture 3: Art Gallery Problems and Polygon Triangulation Lecturer: Huck Bennett In this lecture, we study the problem of guarding an art gallery (specified
More informationLecture 9 - Matrix Multiplication Equivalences and Spectral Graph Theory 1
CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanfordedu) February 6, 2018 Lecture 9 - Matrix Multiplication Equivalences and Spectral Graph Theory 1 In the
More informationCLASSIFICATION WITH RADIAL BASIS AND PROBABILISTIC NEURAL NETWORKS
CLASSIFICATION WITH RADIAL BASIS AND PROBABILISTIC NEURAL NETWORKS CHAPTER 4 CLASSIFICATION WITH RADIAL BASIS AND PROBABILISTIC NEURAL NETWORKS 4.1 Introduction Optical character recognition is one of
More informationKarnaugh Map (K-Map) Karnaugh Map. Karnaugh Map Examples. Ch. 2.4 Ch. 2.5 Simplification using K-map
Karnaugh Map (K-Map) Ch. 2.4 Ch. 2.5 Simplification using K-map A graphical map method to simplify Boolean function up to 6 variables A diagram made up of squares Each square represents one minterm (or
More informationData Structures and Algorithms in Java. Second Year Software Engineering
Data Structures and Algorithms in Java Second Year Software Engineering Introduction Computer: is a programmable machine that can store, retrieve and process data. Data: The representation of information
More informationREGULAR GRAPHS OF GIVEN GIRTH. Contents
REGULAR GRAPHS OF GIVEN GIRTH BROOKE ULLERY Contents 1. Introduction This paper gives an introduction to the area of graph theory dealing with properties of regular graphs of given girth. A large portion
More informationCS473-Algorithms I. Lecture 13-A. Graphs. Cevdet Aykanat - Bilkent University Computer Engineering Department
CS473-Algorithms I Lecture 3-A Graphs Graphs A directed graph (or digraph) G is a pair (V, E), where V is a finite set, and E is a binary relation on V The set V: Vertex set of G The set E: Edge set of
More informationGiovanni De Micheli. Integrated Systems Centre EPF Lausanne
Two-level Logic Synthesis and Optimization Giovanni De Micheli Integrated Systems Centre EPF Lausanne This presentation can be used for non-commercial purposes as long as this note and the copyright footers
More informationOn the Use of Autocorrelation Coefficients in the Identification of Three-Level Decompositions
On the Use of Autocorrelation Coefficients in the Identification of Three-Level Decompositions J. Rice Department of Math & Computer Science University of Lethbridge Lethbridge, Alberta, Canada rice@cs.uleth.ca
More informationEvaluating the Effect of Perturbations in Reconstructing Network Topologies
DSC 2 Working Papers (Draft Versions) http://www.ci.tuwien.ac.at/conferences/dsc-2/ Evaluating the Effect of Perturbations in Reconstructing Network Topologies Florian Markowetz and Rainer Spang Max-Planck-Institute
More informationarxiv: v2 [cs.ds] 25 Jan 2017
d-hop Dominating Set for Directed Graph with in-degree Bounded by One arxiv:1404.6890v2 [cs.ds] 25 Jan 2017 Joydeep Banerjee, Arun Das, and Arunabha Sen School of Computing, Informatics and Decision System
More informationA UML 2 Profile for Variability Models and their Dependency to Business Processes
A UML 2 Profile for Variability Models and their Dependency to Business Processes Birgit Korherr and Beate List Women s Postgraduate College for Internet Technologies Institute of Software Technology and
More informationProgress Report: Collaborative Filtering Using Bregman Co-clustering
Progress Report: Collaborative Filtering Using Bregman Co-clustering Wei Tang, Srivatsan Ramanujam, and Andrew Dreher April 4, 2008 1 Introduction Analytics are becoming increasingly important for business
More informationOn the Balanced Case of the Brualdi-Shen Conjecture on 4-Cycle Decompositions of Eulerian Bipartite Tournaments
Electronic Journal of Graph Theory and Applications 3 (2) (2015), 191 196 On the Balanced Case of the Brualdi-Shen Conjecture on 4-Cycle Decompositions of Eulerian Bipartite Tournaments Rafael Del Valle
More informationApplying the Q n Estimator Online
Applying the Q n Estimator Online Robin Nunkesser 1, Karen Schettlinger 2, and Roland Fried 2 1 Department of Computer Science, Univ. Dortmund, 44221 Dortmund Robin.Nunkesser@udo.edu 2 Department of Statistics,
More informationA Distributed Formation of Orthogonal Convex Polygons in Mesh-Connected Multicomputers
A Distributed Formation of Orthogonal Convex Polygons in Mesh-Connected Multicomputers Jie Wu Department of Computer Science and Engineering Florida Atlantic University Boca Raton, FL 3343 Abstract The
More informationScalable Coding of Image Collections with Embedded Descriptors
Scalable Coding of Image Collections with Embedded Descriptors N. Adami, A. Boschetti, R. Leonardi, P. Migliorati Department of Electronic for Automation, University of Brescia Via Branze, 38, Brescia,
More informationLecture-14 Lookup Functions
Lecture-14 Lookup Functions How do I write a formula to compute tax rates based on income? Given a product ID, how can I look up the product s price? Suppose that a product s price changes over time. I
More informationPreprint Stephan Dempe, Alina Ruziyeva The Karush-Kuhn-Tucker optimality conditions in fuzzy optimization ISSN
Fakultät für Mathematik und Informatik Preprint 2010-06 Stephan Dempe, Alina Ruziyeva The Karush-Kuhn-Tucker optimality conditions in fuzzy optimization ISSN 1433-9307 Stephan Dempe, Alina Ruziyeva The
More informationOn k-dimensional Balanced Binary Trees*
journal of computer and system sciences 52, 328348 (1996) article no. 0025 On k-dimensional Balanced Binary Trees* Vijay K. Vaishnavi Department of Computer Information Systems, Georgia State University,
More informationA Reduction of Conway s Thrackle Conjecture
A Reduction of Conway s Thrackle Conjecture Wei Li, Karen Daniels, and Konstantin Rybnikov Department of Computer Science and Department of Mathematical Sciences University of Massachusetts, Lowell 01854
More informationBipartite Perfect Matching in O(n log n) Randomized Time. Nikhil Bhargava and Elliot Marx
Bipartite Perfect Matching in O(n log n) Randomized Time Nikhil Bhargava and Elliot Marx Background Matching in bipartite graphs is a problem that has many distinct applications. Many problems can be reduced
More informationTowards Rule Learning Approaches to Instance-based Ontology Matching
Towards Rule Learning Approaches to Instance-based Ontology Matching Frederik Janssen 1, Faraz Fallahi 2 Jan Noessner 3, and Heiko Paulheim 1 1 Knowledge Engineering Group, TU Darmstadt, Hochschulstrasse
More information7 Distributed Data Management II Caching
7 Distributed Data Management II Caching In this section we will study the approach of using caching for the management of data in distributed systems. Caching always tries to keep data at the place where
More informationLecture 22 Tuesday, April 10
CIS 160 - Spring 2018 (instructor Val Tannen) Lecture 22 Tuesday, April 10 GRAPH THEORY Directed Graphs Directed graphs (a.k.a. digraphs) are an important mathematical modeling tool in Computer Science,
More informationReverse Polish notation in constructing the algorithm for polygon triangulation
Reverse Polish notation in constructing the algorithm for polygon triangulation Predrag V. Krtolica, Predrag S. Stanimirović and Rade Stanojević Abstract The reverse Polish notation properties are used
More informationA TIGHT BOUND ON THE LENGTH OF ODD CYCLES IN THE INCOMPATIBILITY GRAPH OF A NON-C1P MATRIX
A TIGHT BOUND ON THE LENGTH OF ODD CYCLES IN THE INCOMPATIBILITY GRAPH OF A NON-C1P MATRIX MEHRNOUSH MALEKESMAEILI, CEDRIC CHAUVE, AND TAMON STEPHEN Abstract. A binary matrix has the consecutive ones property
More informationStar Decompositions of the Complete Split Graph
University of Dayton ecommons Honors Theses University Honors Program 4-016 Star Decompositions of the Complete Split Graph Adam C. Volk Follow this and additional works at: https://ecommons.udayton.edu/uhp_theses
More informationCS 125 Section #4 RAMs and TMs 9/27/16
CS 125 Section #4 RAMs and TMs 9/27/16 1 RAM A word-ram consists of: A fixed set of instructions P 1,..., P q. Allowed instructions are: Modular arithmetic and integer division on registers; the standard
More informationA Method for Construction of Orthogonal Arrays 1
Eighth International Workshop on Optimal Codes and Related Topics July 10-14, 2017, Sofia, Bulgaria pp. 49-54 A Method for Construction of Orthogonal Arrays 1 Iliya Bouyukliev iliyab@math.bas.bg Institute
More informationON THE STRONGLY REGULAR GRAPH OF PARAMETERS
ON THE STRONGLY REGULAR GRAPH OF PARAMETERS (99, 14, 1, 2) SUZY LOU AND MAX MURIN Abstract. In an attempt to find a strongly regular graph of parameters (99, 14, 1, 2) or to disprove its existence, we
More informationProject and Production Management Prof. Arun Kanda Department of Mechanical Engineering Indian Institute of Technology, Delhi
Project and Production Management Prof. Arun Kanda Department of Mechanical Engineering Indian Institute of Technology, Delhi Lecture - 8 Consistency and Redundancy in Project networks In today s lecture
More informationGraph Methods for Systems-of-Systems Analysis
Graph Methods for Systems-of-Systems Analysis David J. Marchette Quantitative Methods for Defense and National Security Outline Outline 1 Graph Theory Framework Systems-of-Systems 2 3 4 Outline Graph Theory
More informationLDPC Codes a brief Tutorial
LDPC Codes a brief Tutorial Bernhard M.J. Leiner, Stud.ID.: 53418L bleiner@gmail.com April 8, 2005 1 Introduction Low-density parity-check (LDPC) codes are a class of linear block LDPC codes. The name
More informationA Semi-Supervised Approach for Web Spam Detection using Combinatorial Feature-Fusion
A Semi-Supervised Approach for Web Spam Detection using Combinatorial Feature-Fusion Ye Tian, Gary M. Weiss, Qiang Ma Department of Computer and Information Science Fordham University 441 East Fordham
More informationDartmouth Computer Science Technical Report TR Chain Match: An Algorithm for Finding a Perfect Matching of a Regular Bipartite Multigraph
Dartmouth Computer Science Technical Report TR2014-753 Chain Match: An Algorithm for Finding a Perfect Matching of a Regular Bipartite Multigraph Stefanie Ostrowski May 28, 2014 Abstract We consider the
More informationBounds on the signed domination number of a graph.
Bounds on the signed domination number of a graph. Ruth Haas and Thomas B. Wexler September 7, 00 Abstract Let G = (V, E) be a simple graph on vertex set V and define a function f : V {, }. The function
More information9 Bounds for the Knapsack Problem (March 6)
9 Bounds for the Knapsack Problem (March 6) In this lecture, I ll develop both upper and lower bounds in the linear decision tree model for the following version of the (NP-complete) Knapsack 1 problem:
More informationThe Entity Relationship Model
The Entity Relationship Model CPS352: Database Systems Simon Miner Gordon College Last Revised: 2/4/15 Agenda Check-in Introduction to Course Database Environment (db2) SQL Group Exercises The Entity Relationship
More informationBiconnectivity on Symbolically Represented Graphs: A Linear Solution
Biconnectivity on Symbolically Represented Graphs: A Linear Solution Raffaella Gentilini and Alberto Policriti Università di Udine (DIMI), Via Le Scienze 206, 33100 Udine - Italy. {gentilini policriti}@dimi.uniud.it
More informationSemi-Supervised Clustering with Partial Background Information
Semi-Supervised Clustering with Partial Background Information Jing Gao Pang-Ning Tan Haibin Cheng Abstract Incorporating background knowledge into unsupervised clustering algorithms has been the subject
More informationPart III Chapter 15: Subtyping
Part III Chapter 15: Subtyping Subsumption Subtype relation Properties of subtyping and typing Subtyping and other features Intersection and union types Subtyping Motivation With the usual typing rule
More informationMOST attention in the literature of network codes has
3862 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 56, NO. 8, AUGUST 2010 Efficient Network Code Design for Cyclic Networks Elona Erez, Member, IEEE, and Meir Feder, Fellow, IEEE Abstract This paper introduces
More informationUnlabeled equivalence for matroids representable over finite fields
Unlabeled equivalence for matroids representable over finite fields November 16, 2012 S. R. Kingan Department of Mathematics Brooklyn College, City University of New York 2900 Bedford Avenue Brooklyn,
More informationNP-Hardness. We start by defining types of problem, and then move on to defining the polynomial-time reductions.
CS 787: Advanced Algorithms NP-Hardness Instructor: Dieter van Melkebeek We review the concept of polynomial-time reductions, define various classes of problems including NP-complete, and show that 3-SAT
More informationFormally Self-Dual Codes Related to Type II Codes
Formally Self-Dual Codes Related to Type II Codes Koichi Betsumiya Graduate School of Mathematics Nagoya University Nagoya 464 8602, Japan and Masaaki Harada Department of Mathematical Sciences Yamagata
More informationCoding for Random Projects
Coding for Random Projects CS 584: Big Data Analytics Material adapted from Li s talk at ICML 2014 (http://techtalks.tv/talks/coding-for-random-projections/61085/) Random Projections for High-Dimensional
More informationRevisiting the bijection between planar maps and well labeled trees
Revisiting the bijection between planar maps and well labeled trees Daniel Cosmin Porumbel September 1, 2014 Abstract The bijection between planar graphs and well labeled trees was published by Cori and
More informationTreewidth and graph minors
Treewidth and graph minors Lectures 9 and 10, December 29, 2011, January 5, 2012 We shall touch upon the theory of Graph Minors by Robertson and Seymour. This theory gives a very general condition under
More informationStatistical Modeling of Huffman Tables Coding
Statistical Modeling of Huffman Tables Coding S. Battiato 1, C. Bosco 1, A. Bruna 2, G. Di Blasi 1, and G.Gallo 1 1 D.M.I. University of Catania - Viale A. Doria 6, 95125, Catania, Italy {battiato, bosco,
More informationSpatial Topology of Equitemporal Points on Signatures for Retrieval
Spatial Topology of Equitemporal Points on Signatures for Retrieval D.S. Guru, H.N. Prakash, and T.N. Vikram Dept of Studies in Computer Science,University of Mysore, Mysore - 570 006, India dsg@compsci.uni-mysore.ac.in,
More informationA New Non-Iterative Decoding Algorithm for the Erasure Channel : Comparisons with Enhanced Iterative Methods
SUBMITTED TO ISIT 2005 ON 31 JANUARY 2005 1 arxiv:cs/0503006v1 [cs.it] 2 Mar 2005 A New Non-Iterative Decoding Algorithm for the Erasure Channel : Comparisons with Enhanced Iterative Methods J. Cai, C.
More informationTHE VARIABLE LIST Sort the Variable List Create New Variables Copy Variables Define Value Labels... 4
The Variable List Contents THE VARIABLE LIST... 1 Sort the Variable List... 2 Create New Variables... 3 Copy Variables... 3 Define Value Labels... 4 Define Missing Values... 4 Search and Filter Variables...
More informationPOWR IP PZ1/17
Silesian University of Technology as Centre of Modern Education Based on Research and Innovations POWR.03.05.00-IP.08-00-PZ1/17 Project co-financed by the European Union under the European Social Fund
More informationClustering Using Graph Connectivity
Clustering Using Graph Connectivity Patrick Williams June 3, 010 1 Introduction It is often desirable to group elements of a set into disjoint subsets, based on the similarity between the elements in the
More informationHierarchical Online Mining for Associative Rules
Hierarchical Online Mining for Associative Rules Naresh Jotwani Dhirubhai Ambani Institute of Information & Communication Technology Gandhinagar 382009 INDIA naresh_jotwani@da-iict.org Abstract Mining
More informationOn Multi-Stack Boundary Labeling Problems
On Multi-Stack Boundary Labeling Problems MICHAEL A. BEKOS 1, MICHAEL KAUFMANN 2, KATERINA POTIKA 1, ANTONIOS SYMVONIS 1 1 National Technical University of Athens School of Applied Mathematical & Physical
More informationON WEIGHTED RECTANGLE PACKING WITH LARGE RESOURCES*
ON WEIGHTED RECTANGLE PACKING WITH LARGE RESOURCES* Aleksei V. Fishkin, 1 Olga Gerber, 1 Klaus Jansen 1 1 University of Kiel Olshausenstr. 40, 24118 Kiel, Germany {avf,oge,kj}@informatik.uni-kiel.de Abstract
More informationChain Coding Streamed Images through Crack Run-Length Encoding
Chain Coding Streamed Images through Crack Run-Length Encoding D.G. Bailey School of Engineering and Advanced Technology, Massey University, Palmerston North, New Zealand. Email: D.G.Bailey@massey.ac.nz
More informationEXPERIMENTAL RESULTS ON THE DETERMINATION OF THE TRIFOCAL TENSOR USING NEARLY COPLANAR POINT CORRESPONDENCES
EXPERIMENTAL RESULTS ON THE DETERMINATION OF THE TRIFOCAL TENSOR USING NEARLY COPLANAR POINT CORRESPONDENCES Camillo RESSL Institute of Photogrammetry and Remote Sensing University of Technology, Vienna,
More informationFactorization with Missing and Noisy Data
Factorization with Missing and Noisy Data Carme Julià, Angel Sappa, Felipe Lumbreras, Joan Serrat, and Antonio López Computer Vision Center and Computer Science Department, Universitat Autònoma de Barcelona,
More informationCS435 Introduction to Big Data Spring 2018 Colorado State University. 3/21/2018 Week 10-B Sangmi Lee Pallickara. FAQs. Collaborative filtering
W10.B.0.0 CS435 Introduction to Big Data W10.B.1 FAQs Term project 5:00PM March 29, 2018 PA2 Recitation: Friday PART 1. LARGE SCALE DATA AALYTICS 4. RECOMMEDATIO SYSTEMS 5. EVALUATIO AD VALIDATIO TECHIQUES
More informationMICRO-SPECIALIZATION IN MULTIDIMENSIONAL CONNECTED-COMPONENT LABELING CHRISTOPHER JAMES LAROSE
MICRO-SPECIALIZATION IN MULTIDIMENSIONAL CONNECTED-COMPONENT LABELING By CHRISTOPHER JAMES LAROSE A Thesis Submitted to The Honors College In Partial Fulfillment of the Bachelors degree With Honors in
More informationTIMED PETRI NETS FOR SOFTWARE APPLICATIONS
The International Workshop on Discrete-Event System Design, DESDes 01, June 27 29, 2001; Przytok near Zielona Gora, Poland TIMED PETRI NETS FOR SOFTWARE APPLICATIONS Grzegorz ANDRZEJEWSKI Computer Engineering
More informationOptimization Problems Under One-sided (max, min)-linear Equality Constraints
WDS'12 Proceedings of Contributed Papers, Part I, 13 19, 2012. ISBN 978-80-7378-224-5 MATFYZPRESS Optimization Problems Under One-sided (max, min)-linear Equality Constraints M. Gad Charles University,
More informationarxiv:cs/ v1 [cs.ds] 20 Feb 2003
The Traveling Salesman Problem for Cubic Graphs David Eppstein School of Information & Computer Science University of California, Irvine Irvine, CA 92697-3425, USA eppstein@ics.uci.edu arxiv:cs/0302030v1
More informationCLOCK CONTROL SEQUENCE RECONSTRUCTION IN NOISY GENERATORS WITH IRREGULAR CLOCKING
CLOCK CONTOL SEUENCE ECONSTUCTION IN NOISY GENEATOS ITH IEGULA CLOCKING Slobodan V Petrović Institute of Applied Physics Serrano 144 28006 Madrid, Spain email: slobodan@ieccsices Amparo úster-sabater Institute
More informationNotes on Binary Dumbbell Trees
Notes on Binary Dumbbell Trees Michiel Smid March 23, 2012 Abstract Dumbbell trees were introduced in [1]. A detailed description of non-binary dumbbell trees appears in Chapter 11 of [3]. These notes
More informationDiscrete mathematics , Fall Instructor: prof. János Pach
Discrete mathematics 2016-2017, Fall Instructor: prof. János Pach - covered material - Lecture 1. Counting problems To read: [Lov]: 1.2. Sets, 1.3. Number of subsets, 1.5. Sequences, 1.6. Permutations,
More informationFountain Codes Based on Zigzag Decodable Coding
Fountain Codes Based on Zigzag Decodable Coding Takayuki Nozaki Kanagawa University, JAPAN Email: nozaki@kanagawa-u.ac.jp Abstract Fountain codes based on non-binary low-density parity-check (LDPC) codes
More informationMatching and Planarity
Matching and Planarity Po-Shen Loh June 010 1 Warm-up 1. (Bondy 1.5.9.) There are n points in the plane such that every pair of points has distance 1. Show that there are at most n (unordered) pairs of
More informationChapter 18 out of 37 from Discrete Mathematics for Neophytes: Number Theory, Probability, Algorithms, and Other Stuff by J. M. Cargal.
Chapter 8 out of 7 from Discrete Mathematics for Neophytes: Number Theory, Probability, Algorithms, and Other Stuff by J. M. Cargal 8 Matrices Definitions and Basic Operations Matrix algebra is also known
More informationS. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani 165
S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani 165 5.22. You are given a graph G = (V, E) with positive edge weights, and a minimum spanning tree T = (V, E ) with respect to these weights; you may
More informationTesting Isomorphism of Strongly Regular Graphs
Spectral Graph Theory Lecture 9 Testing Isomorphism of Strongly Regular Graphs Daniel A. Spielman September 26, 2018 9.1 Introduction In the last lecture we saw how to test isomorphism of graphs in which
More information