Efficient Algorithms to Rank and Unrank Permutations In

Total Page:16

File Type:pdf, Size:1020Kb

Efficient Algorithms to Rank and Unrank Permutations In Efficient Algorithms to Rank and Unrank Permutations in Lexicographic Order Blai Bonet Departamento de Computaci´on Universidad Sim´on Bol´ıvar Caracas, Venezuela [email protected] Abstract The main contribution of this paper is the development of novel uniform algorithms for ranking and unranking of We present uniform and non-uniform algorithms to rank and permutations in lexicographic order that perform O(n log n) unrank permutations in lexicographic order. The uniform arithmetic operations and utilize O(n) space. The algo- O n n algorithms run in ( log ) time and outperform Knuth’s rithms are very simple and easy to implement. We also per- ranking algorithm in all the experiments, and also the linear- time non-lexicographic algorithm of Myrvold-Ruskey for form an empirical comparison against the linear-time algo- permutations up to size 128. The non-uniform algorithms rithm of Myrvold and Ruskey, and the algorithm of Knuth in generalize Korf-Schultze’s linear time algorithm yet require order to account for the hidden constant factors. As it will much less space. be seen, the new algorithms dominate Knuth’s algorithm, are faster than Myrvold and Ruskey’s for small n, and fall a bit short of the latter for n up to size 1,024. Introduction We also present a generalization of Korf-Schultze’s non- In an increasing number of different applications, most of uniform linear-time ranking algorithm that permits to reduce them related to heuristic search and combinatorial optimiza- the size of the advice. tion (Korf & Schultze 2005; Ruskey, Jiang, & Weston 1995; The paper is organized as follows. The next two sections Critani, Dall’Aglio, & Biase 1997), there is the need to are devoted to the uniform and non-uniform algorithms. rank a given permutation over n elements into an integer Then, we present some empirical results, and conclude. between 0 and n! 1, and also to unrank such integer into a permutation.− In others cases, one is interested in Uniform Algorithms a particular subset of elements, and given a permutation Permutations of size n are assumed to be over inte- over n elements, rank/unrank the positions of these ele- gers 0, . , n 1 , and denoted by π = π0 . πn 1. ments (Culberson & Schaeffer 1998; Korf & Felner 2002; For example,{ π− =} 25714603 denotes the permutation− Felner, Korf, & Hanan 2004). A ranking function is called 0 1 2 3 4 5 6 7 in which 0 is mapped into lexicographic if it maps a permutation and its lexicographi- 2 5 7 1 4 6 0 3 cally next permutation into consecutive integers. 2, 1 is mapped into 5, and so on. The lexicographic ranking There are well-known algorithms for these tasks that per- of π is defined as form O(n) arithmetic operations but not in lexicographic r(π) = d0 (n 1)!+d1 (n 2)!+ +dn 2 1!+dn 1 0! order (Myrvold & Ruskey 2001). For lexicographic rank- · − · − ··· − · − · ing/unranking, there are O(n log n) algorithms that rely on (1) modular arithmetic based on inversion tables (Knuth 1973, where di is the relative position of element i with respect to Ex. 6, p. 19), and also unrank algorithms based on binary the elements j < i. For π = 25714603, d0 = 2 since 0 search. Myrvold and Ruskey (Myrvold & Ruskey 2001) is goes into position 2, d1 = 4 since 1 goes into position mention that using a data structure of Dietz (1989), the num- 4 once 0 is fixed at position 2, and so on. In general, di equals minus the number of elements that are to the ber of operations can be reduce to O(n log n/ log log n) but πi j > i left of element i. Each d ranges over 0, . , n 1 i the algorithm is rather complicated and difficult to imple- i { − − } independently of the others. The vector (d0, . , dn 1) is ment. All these algorithms are uniform in the sense that they − work for permutations of any size without the need to pre- known as the factorial representation of r(π) as they are the process or store additional information (advice). digits in a factorial-base system and also as the inversion table for (Knuth 1973). Non-uniform linear-time algorithms for ranking and un- π Another equivalent expression for is ranking in lexicographic order were presented in (Korf & r(π) Schultze 2005), but these need to pre-calculate and store an r(π) = ( (d0 (n 1)+d1) (n 2)+ +dn 2) 1+dn 1 . advice of exponential size. Applications that need to per- ··· · − · − ··· − · −(2) form a large number of rank/unrank operations of small size, Both expressions, (1) and (2), are closely related to the way e.g. n = 16, can amortize the time to calculate the advice. tuples over Cartesian products are ranked into unique inte- 18 1 2 3 4 1 0 1 1 1 2 2 2 0 1 0 0 0 1 1 0 0 1 1 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 1 0 1 1 0 0 1 0 1 0 1 2 3 4 5 6 7 0 1 3 4 5 6 7 0 1 3 4 6 7 0 1 3 4 6 (a) π0 = 2, d0 = 2 (b) π1 = 5, d1 = 4 (c) π2 = 7, d2 = 5 (d) π3 = 1, d3 = 1 5 6 7 8 2 3 2 4 3 4 4 4 1 1 2 1 1 1 2 2 2 1 2 2 2 2 2 2 0 1 1 0 1 1 0 1 0 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 3 4 6 0 3 6 0 3 3 (e) π4 = 4, d4 = 2 (f) π5 = 6, d5 = 2 (g) π6 = 0, d6 = 0 (h) π7 = 3, d7 = 0 Figure 1: the ranking algorithm applied to permutation π = 25714603. Panels (a)–(h) show the paths transversed, the final configuration of the tree after transversing each path, and the calculated value for each di. n gers. The pair (x, y) X Y is ranked into x Y + y as Input: permutation π and array T of size 21+⌈log ⌉ − 1 for each x there are Y∈ possibilities× for y. For| the| triplet Output: rank of π (x, y, z) X Y |Z,| we can either think of it as the pair begin (x, (y, z))∈and× rank× it into x Y Z + (y Z + z), or think of =k : ⌈log n⌉ it as the pair ((x, y), z) and| rank|| it| into|(x|Y + y) Z + z. rank := 0 | | | | for i to 1+k do T i Both expression are equivalent. As each factorial digit di = 1 2 − 1 [ ] := 0 ranges over n i possible values, the vector of factorial dig- for i = 1 to n do − =ctr : π[i] its is ranked into (1) (or equivalently (2)). Once the vector k of factorial digits is known, the rank of the permutation is node := 2 + π[i] j k obtained in linear time. Therefore, the difficult task is to for = 1 to do if node is odd then ctr := ctr−T [(node ≫ 1) ≪ 1] compute the digits efficiently. T [node] := T [node] + 1 node := node ≫ 1 Ranking T [node] := T [node] + 1 The naive approach to compute the factorial digits is to scan rank := rank · (n + 1 − i) + ctr the permutation from left to right counting the number of return rank elements to the left of i that are less than i, and then setting end di to πi minus such count. This method requires linear time per digit which results in an O(n2) algorithm. Figure 2: O(n log n) uniform lexicographic ranking. However, if at the time of computing di, πi > n/2 and the number of elements less than i in positions 0⌈ to ⌉n/2 is stored in a counter, then only positions between n/⌈2 +⌉ value stored at the left child of the parent, and 2) increase ⌈ ⌉ the value stored at the current node. At the end of the jour- 1 and πi 1 must be scanned. If we apply this principle recursively,− dividing by half successively the interval [0, n ney, the value of the counter is the value of di. − 1], the time to compute di is reduced to O(log n). This is the For example, for π = 25714603, the path transversed for underlying principle in the algorithm that is explained next. d0 starts at the leaf associated with π0 = 2 (the third leaf Let us assume for the moment that n = 2k isapowerof2. from the left). Since all initial stored values equal zero then In order to store the required counts, we make use of a com- d0 = 2. The resulting tree and the path transversed for d0 plete binary tree of height k whose nodes store the counts, are shown in Fig. 1(a). For d1, the counter is initialized to and where the n leaves are associated with the elements of π1 = 5 and the path starts at the leaf associated to 5. This the permutation. Initially, all stored values equal zero. leaf is a right child but its left sibling has a stored value of To calculate di, the algorithm transverses the tree in a 0 so the counter does not change. The next node is a left bottom-up manner. Starting at the leaf associated with πi child and so the counter is not decremented.
Recommended publications
  • MA/CSSE 473 Day 15 Return Exam
    MA/CSSE 473 Day 15 Return Exam Student questions Towers of Hanoi Subsets Ordered Permutations MA/CSSE 473 Day 13 • Student Questions on exam or anything else •Towers of Hanoi • Subset generation –Gray code • Permutations and order 1 Towers of Hanoi •Move all disks from peg A to peg B •One at a time • Never place larger disk on top of a smaller disk •Demo •Code • Recurrence and solution Towers of Hanoi code Recurrence for number of moves, and its solution? 2 Permutations and order number permutation number permutation •Given a permutation 0 0123 12 2013 of 0, 1, …, n‐1, can 1 0132 13 2031 2 0213 14 2103 we directly find the 3 0231 15 2130 next permutation in 4 0312 16 2301 the lexicographic 5 0321 17 2310 sequence? 6 1023 18 3012 7 1032 19 3021 •Given a permutation 8 1203 20 3102 of 0..n‐1, can we 9 1230 21 3120 determine its 10 1302 22 3201 11 1320 23 3210 permutation sequence number? •Given n and i, can we directly generate the ith permutation of 0, …, n‐1? Subset generation • Goal: generate all subsets of {0, 1, 2, …, N‐1} • Bottom‐up (decrease‐by‐one) approach •First generate Sn‐1, the collection of all subsets of {0, …, N‐2} •Then Sn = Sn‐1 { Sn‐1 {n‐1} : sSn‐1} 3 Subset generation • Numeric approach: Each subset of {0, …, N‐1} corresponds to an bit string of length N where the ith bit is 1 iff i is in the subset. •So each subset can be represented by N bits.
    [Show full text]
  • 1 (15 Points) Lexicosort
    CS161 Homework 2 Due: 22 April 2016, 12 noon Submit on Gradescope Handed out: 15 April 2016 Instructions: Please answer the following questions to the best of your ability. If you are asked to show your work, please include relevant calculations for deriving your answer. If you are asked to explain your answer, give a short (∼ 1 sentence) intuitive description of your answer. If you are asked to prove a result, please write a complete proof at the level of detail and rigor expected in prior CS Theory classes (i.e. 103). When writing proofs, please strive for clarity and brevity (in that order). Cite any sources you reference. 1 (15 points) LexicoSort In class, we learned how to use CountingSort to efficiently sort sequences of values drawn from a set of constant size. In this problem, we will explore how this method lends itself to lexicographic sorting. Let S = `s1s2:::sa' and T = `t1t2:::tb' be strings of length a and b, respectively (we call si the ith letter of S). We say that S is lexicographically less than T , denoting S <lex T , if either • a < b and si = ti for all i = 1; 2; :::; a, or • There exists an index i ≤ min fa; bg such that sj = tj for all j = 1; 2; :::; i − 1 and si < ti. Lexicographic sorting algorithm aims to sort a given set of n strings into lexicographically ascending order (in case of ties due to identical strings, then in non-descending order). For each of the following, describe your algorithm clearly, and analyze its running time and prove cor- rectness.
    [Show full text]
  • Total Ordering on Subgroups and Cosets
    Total Ordering on Subgroups and Cosets ∗ Alexander Hulpke Steve Linton Department of Mathematics Centre for Interdisciplinary Research in Colorado State University Computational Algebra 1874 Campus Delivery University of St Andrews Fort Collins, CO 80523-1874 The North Haugh [email protected] St Andrews, Fife KY16 9SS, U.K. [email protected] ABSTRACT permutation is thus the identity element ( ).) In the sym- We show how to compute efficiently a lexicographic order- metric group Sn this comparison of elements takes at most ing for subgroups and cosets of permutation groups and, n point comparisons. In a similar way a total order on a field F induces a to- more generally, of finite groups with a faithful permutation n representation. tal lexicographic order on the n-dimensional row space F which in turn induces a total (again lexicographic) order on the set F n×n of n×n matrices with entries in F . A compar- Categories and Subject Descriptors ison of two matrices takes at most n2 comparisons of field F[2]: 2; G [2]: 1; I [1]: 2 elements. As a third case we consider the automorphism group G of a (finite) group A. A total order on the elements of A again General Terms induces a total order on the elements of G by lexicographic Algorithms comparison of the images of a generating list L of A. (It can be convenient to take L to be sorted as well. The most Keywords “generic” choice is probably L = A.) Comparison of two automorphisms will take at most |L| comparisons of images.
    [Show full text]
  • Implementing Language-Dependent Lexicographic Orders in Scheme
    Implementing Language-Dependent Lexicographic Orders in Scheme Jean-Michel HUFFLEN LIFC (EA CNRS 4157) — University of Franche-Comté 16, route de Gray — 25030 BESANÇON CEDEX — FRANCE Abstract algorithm related to Unicode, an industry standard designed to al- The lexicographical order relations used within dictionaries are low text and symbols from all of the writing systems of the world to language-dependent, and we explain how we implemented such be consistently represented [2006]. Our method can be generalised orders in Scheme. We show how our sorting orders are derived to other alphabets. In addition, let us mention that if a document from the Unicode collation algorithm. Since the result of a Scheme cites some works written using the Latin alphabet and some writ- function can be itself a function, we use generators of sorting ten using another alphabet (Arabic, Cyrillic, . ), they are usually orders. Specifying a sorting order for a new natural language has itemised in two separate bibliography sections. So this limitation is been made as easy as possible and can be done by a programmer not too restrictive within MlBIBTEX’s purpose. who just has basic knowledge of Scheme. We also show how The next section of this article is devoted to some examples Scheme data structures allow our functions to be programmed in order to give some idea of this task’s complexity. We briefly efficiently. recall the principles of the Unicode collation algorithm [2006a] in Section 3 and explain how we adapted it in Scheme in Section 4. Keywords Lexicographical order relations, collation algorithm, Section 5 discusses some points, gives some limitations of our Unicode, MlBIBTEX, Scheme.
    [Show full text]
  • A Versatile Algorithm to Generate Various Combinatorial Structures
    A Versatile Algorithm to Generate Various Combinatorial Structures Pramod Ganapathi,∗ Rama B† August 23, 2018 Abstract Algorithms to generate various combinatorial structures find tremen- dous importance in computer science. In this paper, we begin by reviewing an algorithm proposed by Rohl [24] that generates all unique permutations of a list of elements which possibly contains repetitions, taking some or all of the elements at a time, in any imposed order. The algorithm uses an auxiliary array that maintains the number of occurrences of each unique element in the input list. We provide a proof of correctness of the algo- rithm. We then show how one can efficiently generate other combinatorial structures like combinations, subsets, n-Parenthesizations, derangements and integer partitions & compositions with minor changes to the same algorithm. 1 Introduction Algorithms which generate combinatorial structures like permutations, combi- nations, etc. come under the broad category of combinatorial algorithms [16]. These algorithms find importance in areas like Cryptography, Molecular Bi- ology, Optimization, Graph Theory, etc. Combinatorial algorithms have had a long and distinguished history. Surveys by Akl [1], Sedgewick [27], Ord Smith [21, 22], Lehmer [18], and of course Knuth’s thorough treatment [12, 13], arXiv:1009.4214v2 [cs.DS] 30 Sep 2010 successfully capture the most important developments over the years. The lit- erature is clearly too large for us to do complete justice. We shall instead focus on those which have directly impacted our work. The well known algorithms which solve the problem of generating all n! per- mutations of a list of n unique elements are Heap Permute [9], Ives [11] and Johnson-Trotter [29].
    [Show full text]
  • A New Method for Generating Permutations in Lexicographic Order
    科學與工程技術期刊 第五卷 第四期 民國九十八年 21 Journal of Science and Engineering Technology, Vol. 5, No. 4, pp. 21-29 (2009) A New Method for Generating Permutations in Lexicographic Order TING KUO Department of International Trade, Takming University of Science and Technology No. 56, Sec.1, HuanShan Rd., Neihu, Taipei, Taiwan 11451, R.O.C. ABSTRACT First, an ordinal representation scheme for permutations is defined. Next, an “unranking” algorithm that can generate a permutation of n items according to its ordinal representation is designed. By using this algorithm, all permutations can be systematically generated in lexicographic order. Finally, a “ranking” algorithm that can convert a permutation to its ordinal representation is designed. By using these “ranking” and “unranking” algorithms, any permutation that is positioned in lexicographic order, away from a given permutation by any specific distance, can be generated. This significant benefit is the main difference between the proposed method and previously published alternatives. Three other advantages are as follows: First, not being restricted to sequentially numbering the n items from one to n, this method can even handle items with non-numeral marks without the aid of mapping. Second, this approach is well suited to a wide variety of permutation generations such as alternating permutations and derangements. Third, the proposed method can also be extended to a multiset. Key Words: lexicographic order, ordinal representation, permutation, ranking, unranking 一個依字母大小序產生排列的新方法 郭定 德明財經科技大學國際貿易系 11451 臺北市內湖區環山路一段 56 號 摘 要 首先,我們為排列問題定義一個順序表示法。第二,我們設計一個定序演算法,它可以根 據一個 n 項目的順序表示產生其對應的排列。藉由此演算法,我們可以依字母大小序地系統化 產生所有的 n 項目排列。第三,我們設計一個解序演算法,它可以根據一個 n 項目的排列產生 其對應的順序表示。藉由此兩個演算法,我們可以產生離一個 n 項目的排列任意距離,依字母 大小序而言,的另一個排列;此特點是我們的方法與其它研究最不同的地方。我們的方法還有 另三項優點如下:第一,它不限制於必須是 1 至 n 的連續數目,甚至於可以無需藉由轉換而直 接處理非數字的排列。第二,它也很適合用在其它的排列問題上,例如產生交替排列與錯位排 列。第三,它也可擴展至針對含有重複元素的集合之排列問題上。 22 Journal of Science and Engineering Technology, Vol.
    [Show full text]
  • Implementing Language-Dependent Lexicographic Orders in Scheme Jean-Michel Hufflen
    Implementing Language-Dependent Lexicographic Orders in Scheme Jean-Michel Hufflen To cite this version: Jean-Michel Hufflen. Implementing Language-Dependent Lexicographic Orders in Scheme. Proc.of the 8th Workshop on and , 2007, Germany. pp.139–144. hal-00661897 HAL Id: hal-00661897 https://hal.archives-ouvertes.fr/hal-00661897 Submitted on 20 Jan 2012 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Implementing Language-Dependent Lexicographic Orders in Scheme Jean-Michel HUFFLEN LIFC (EA CNRS 4157) — University of Franche-Comté 16, route de Gray — 25030 BESANÇON CEDEX — FRANCE huffl[email protected] Abstract algorithm related to Unicode, an industry standard designed to al- The lexicographical order relations used within dictionaries are low text and symbols from all of the writing systems of the world language-dependent, and we explain how we implemented such to be consistently represented [2006]. Our method can be gener- orders in Scheme. We show how our sorting orders are derived alised to other alphabets than the Latin one. In addition, let us men- from the Unicode collation algorithm. Since the result of a Scheme tion that if a document cites some works written using the Latin function can be itself a function, we use generators of sorting alphabet and some written using another alphabet (Arabic, Cyril- orders.
    [Show full text]
  • CSI 2101 / Partial Orderings (§8.6)
    CSI 2101 / Partial Orderings (§8.6) Introduction Lexicographic Order Maximal/minimal, greatest/least elements Lattices Topological Sorting 1 Partial Orderings - Introduction There is a total ordering for numbers: we can compare any two numbers and decide which is “larger or equal than”. What about comparing strings? Or sets? Or formulas? We can come up with a scheme to compare all strings • lexicographic ordering, will talk about it shortly However, quite often what we have is that some objects are genuinely incomparable, while for others we can say that a is less or equal then b. •In an organization: A being the boss of B •For sets: A being the subset of B Captured in the notion of partial ordering 2 Partial Ordering – Definition & Examples Definition: Let S be a set and R be a binary relation on S. If R is reflexive, antisymmetric and transitive, then we say that R is a partial ordering of S. The set S together with the partial ordering R is called a poset (partially ordered set) and denoted by (S,R). Members of S are called elements of the poset. We will often use infix notation a R b to denote R(a,b) = T Example 1: S is a set of sets, and the partial order is a set inclusion ⊆ Example 2: S is a set of integers, and R is ‘divides’: aRb ≡ a|b Example 3: S is a set of formulae, aRb iff a is a sub-formula of b Example 4: S is the set of tasks to be scheduled, aRb means “a must finish before b can run” 3 Partial Ordering - Comparability We can have the same set S with different relation R: Example 5: S is a set of strings, aRb iff a is a prefix of b Example 6: S is a set of strings, aRb iff a is a substring of b Example 7: S is a set of formulae, aRb iff (b → a) Example 8: S is a set of integers, R is the normal ≤ The last one is different then previous ones.
    [Show full text]
  • Lexicographic Order These Notes Are About an Example That Isn't Directly
    Lexicographic order These notes are about an example that isn't directly relevant to the material in Rudin, but which seems to me to shed some light on the \least upper bound" prop- erty of the real numbers. You might read it as a \lite" version of the construction of the real numbers in the appendix to chapter 1. A side benefit is that some of the ideas are well-known to you but difficult to state formally; so you'll get some practice in interpreting formally complicated statements. Definition 1. A word is a non-empty string of letters (like supercalifragilistic- expialidocious or mpqskhdg or r). A little more formally, a word is a symbol X = x1x2 · · · xr; where r is a positive integer and each xi is an element of the set fa; b; c; : : : ; x; y; zg. The integer r is called the length of the word X. The world of words is a fascinating one, but we're going to look only at one small part of it. Definition 2. The lexicographic order on words is the relation defined by X < Y if X comes (strictly) before Y in the dictionary. Here's a more formal definition. First we order the alphabet in the obvious way: a < b < c < d < · · · < w < x < y < z: Now suppose that X = x1 · · · xr; Y = y1 · · · ys are two words. Then X < Y if and only if there is a non-negative integer t with the following properties: i) t ≤ r and t ≤ s; ii) for every positive integer i ≤ t, xi = yi; and iii) either xt+1 < yt+1, or t = r and t < s.
    [Show full text]
  • Chapter 8 Ordered Sets
    Chapter VIII Ordered Sets, Ordinals and Transfinite Methods 1. Introduction In this chapter, we will look at certain kinds of ordered sets. If a set \ is ordered in a reasonable way, then there is a natural way to define an “order topology” on \. Most interesting (for our purposes) will be ordered sets that satisfy a very strong ordering condition: that every nonempty subset contains a smallest element. Such sets are called well-ordered. The most familiar example of a well-ordered set is and it is the well-ordering property that lets us do mathematical induction in In this chapter we will see “longer” well ordered sets and these will give us a new proof method called “transfinite induction.” But we begin with something simpler. 2. Partially Ordered Sets Recall that a relation V\ on a set is a subset of \‚\ (see Definition I.5.2 ). If ÐBßCÑ−V, we write BVCÞ An “order” on a set \ is refers to a relation on \ that satisfies some additional conditions. Order relations are usually denoted by symbols such asŸ¡ß£ , , or . Definition 2.1 A relation V\ on is called: transitive ifÀ a +ß ,ß - − \ Ð+V, and ,V-Ñ Ê +V-Þ reflexive ifÀa+−\+V+ antisymmetric ifÀ a +ß , − \ Ð+V, and ,V+ Ñ Ê Ð+ œ ,Ñ symmetric ifÀ a +ß , − \ +V, Í ,V+ (that is, the set V is “symmetric” with respect to thediagonal ? œÖÐBßBÑÀB−\ש\‚\). Example 2.2 1) The relation “œ\ ” on a set is transitive, reflexive, symmetric, and antisymmetric. Viewed as a subset of \‚\, the relation “ œ ” is the diagonal set ? œÖÐBßBÑÀB−\×Þ 2) In ‘, the usual order relation is transitive and antisymmetric, but not reflexive or symmetric.
    [Show full text]
  • Partial Order Relations
    Partial Order Relations We defined three properties of relations: reflexivity, symmetry and transitivity. A fourth property of relations is anti-symmetry. Definition of Antisymmetry:: Let R be a relation on a set A, R is antisymmetric if , and only if, for all a and b in A, if a R b and b R a then a=b. Testing for Antisymmetry of finite Relations: Let R1 and R2 be the relations on {0, 1, 2} defined as follows: a- R1= { (0,2 ), (1, 2), (2, 0)} b- R2 = { (0,0), (0, 1), (0, 2), (1, 1), (1, 2)} Draw a directed graph for R1 and R2 and indicate which relation is antisymmetric? a- R1 is not antisymmetric b- R2 is antisymmetric Testing for Antisymmetry of “Divides” relations. Let R1 be the “divides” relation on the set of all positive integers, and let R2 be the “divides” relation on the set of all integers. + For all a, b ∈ Z , a R1 b ⇔ a | b For all a, b ∈ Z, a R2 b ⇔ a | b a- Is R1 antisymmetric ? Prove or give a counterexample b- Is R2 antisymmetric ? Prove or give a counter example. Solution: -R1 is antisymmetric -R2 is not antisymmetric Partial Order Relations: Let R be a binary relation defined on a set A. R is a partial order relation if, and only if, R is reflexive, antisymmetric and transitive. Two fundamental partial order relations are the “less than or equal to” relation on a set of real numbers and the “subset” relation on a set of sets. The “Subset” Relation: Let A be any collection of sets and define the subset relation ⊆ on A as follows: For all U, V ∈ A U ⊆ V ⇔ for all x, if x ∈ U then x ∈ V.
    [Show full text]
  • A Study on Collation of Languages from Developing Asia
    A Study on Collation of Languages from Developing Asia Sarmad Hussain Nadir Durrani Center for Research in Urdu Language Processing National University of Computer and Emerging Sciences www.nu.edu.pk www.idrc.ca Published by Center for Research in Urdu Language Processing National University of Computer and Emerging Sciences Lahore, Pakistan Copyrights © International Development Research Center, Canada Printed by Walayatsons, Pakistan ISBN: 978-969-8961-03-9 This work was carried out with the aid of a grant from the International Development Research Centre (IDRC), Ottawa, Canada, administered through the Centre for Research in Urdu Language Processing (CRULP), National University of Computer and Emerging Sciences (NUCES), Pakistan. ii Preface Defining collation, or what is normally termed as alphabetical order or less frequently as lexicographic order, is one of the first few requirements for enabling computing in any language, second only to encoding, keyboard and fonts. It is because of this critical dependence of computing on collation that its definition is included within the locale of a language. Collation of all written languages are defined in their dictionaries, developed over centuries, and are thus very representative of cultural tradition. However, though it is well understood in these cultures, it is not always thoroughly documented or well understood in the context of existing character encodings, especially the Unicode. Collation is a complex phenomenon, dependent on three factors: script, language and encoding. These factors interact in a complicated fashion to uniquely define the collation sequence for each language. This volume aims to address the complex algorithms needed for sorting out the words in sequence for a subset of the languages.
    [Show full text]