A Gray Code for Combinations of a Multiset
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Useful Relations in Permutations and Combination 1. Useful Relations
Useful Relations in Permutations and Combination 1. Useful Relations - Factorial n! = n.(n-1)! 2. n퐶푟= n푃푟/r! n n-1 3. Pr = n( Pr-1) 4. Useful Relations - Combinations n n 1. Cr = C(n - r) Example 8 8 C6 = C2 = 8×72×1 = 28 n 2. Cn = 1 n 3. C0 = 1 n n n n n 4. C0 + C1 + C2 + ... + Cn = 2 Example 4 4 4 4 4 4 C0 + C1 + C2 + C3+ C4 = (1 + 4 + 6 + 4 + 1) = 16 = 2 n n (n+1) Cr-1 + Cr = Cr (Pascal's Law) n퐶푟 =n/퐶푟−1=n-r+1/r n n If Cx = Cy then either x = y or (n-x) = y. 5. Selection from identical objects: Some Basic Facts The number of selections of r objects out of n identical objects is 1. Total number of selections of zero or more objects from n identical objects is n+1. 6. Permutations of Objects when All Objects are Not Distinct The number of ways in which n things can be arranged taking them all at a time, when st nd 푃1 of the things are exactly alike of 1 type, 푃2 of them are exactly alike of a 2 type, and th 푃푟of them are exactly alike of r type and the rest of all are distinct is n!/ 푃1! 푃2! ... 푃푟! 1 Example: how many ways can you arrange the letters in the word THESE? 5!/2!=120/2=60 Example: how many ways can you arrange the letters in the word REFERENCE? 9!/2!.4!=362880/2*24=7560 7.Circular Permutations: Case 1: when clockwise and anticlockwise arrangements are different Number of circular permutations (arrangements) of n different things is (n-1)! 1. -
Combinatorics
Combinatorics Problem: How to count without counting. I How do you figure out how many things there are with a certain property without actually enumerating all of them. Sometimes this requires a lot of cleverness and deep mathematical insights. But there are some standard techniques. I That's what we'll be studying. We sometimes use the bijection rule without even realizing it: I count how many people voted are in favor of something by counting the number of hands raised: I I'm hoping that there's a bijection between the people in favor and the hands raised! Bijection Rule The Bijection Rule: If f : A ! B is a bijection, then jAj = jBj. I We used this rule in defining cardinality for infinite sets. I Now we'll focus on finite sets. Bijection Rule The Bijection Rule: If f : A ! B is a bijection, then jAj = jBj. I We used this rule in defining cardinality for infinite sets. I Now we'll focus on finite sets. We sometimes use the bijection rule without even realizing it: I count how many people voted are in favor of something by counting the number of hands raised: I I'm hoping that there's a bijection between the people in favor and the hands raised! Answer: 26 choices for the first letter, 26 for the second, 10 choices for the first number, the second number, and the third number: 262 × 103 = 676; 000 Example 2: A traveling salesman wants to do a tour of all 50 state capitals. How many ways can he do this? Answer: 50 choices for the first place to visit, 49 for the second, . -
Inclusion‒Exclusion Principle
Inclusionexclusion principle 1 Inclusion–exclusion principle In combinatorics, the inclusion–exclusion principle (also known as the sieve principle) is an equation relating the sizes of two sets and their union. It states that if A and B are two (finite) sets, then The meaning of the statement is that the number of elements in the union of the two sets is the sum of the elements in each set, respectively, minus the number of elements that are in both. Similarly, for three sets A, B and C, This can be seen by counting how many times each region in the figure to the right is included in the right hand side. More generally, for finite sets A , ..., A , one has the identity 1 n This can be compactly written as The name comes from the idea that the principle is based on over-generous inclusion, followed by compensating exclusion. When n > 2 the exclusion of the pairwise intersections is (possibly) too severe, and the correct formula is as shown with alternating signs. This formula is attributed to Abraham de Moivre; it is sometimes also named for Daniel da Silva, Joseph Sylvester or Henri Poincaré. Inclusion–exclusion illustrated for three sets For the case of three sets A, B, C the inclusion–exclusion principle is illustrated in the graphic on the right. Proof Let A denote the union of the sets A , ..., A . To prove the 1 n Each term of the inclusion-exclusion formula inclusion–exclusion principle in general, we first have to verify the gradually corrects the count until finally each identity portion of the Venn Diagram is counted exactly once. -
Final-Del-Lab-Manual-2018-19
LAB MANUAL DIGITAL ELECTRONICS LABORATORY Subject Code: 210246 2018 - 19 INDEX Batch : - Page Date of Date of Signature of Sr.No Title No Conduction Submission Staff GROUP - A Realize Full Adder and Subtractor using 1 a) Basic Gates and b) Universal Gates Design and implement Code converters-Binary to Gray and BCD to 2 Excess-3 Design of n-bit Carry Save Adder (CSA) and Carry Propagation Adder (CPA). Design and Realization of BCD 3 Adder using 4-bit Binary Adder (IC 7483). Realization of Boolean Expression for suitable combination logic using MUX 4 74151 / DMUX 74154 Verify the truth table of one bit and two bit comparators using logic gates and 5 comparator IC Design & Implement Parity Generator 6 using EX-OR. GROUP - B Flip Flop Conversion: Design and 7 Realization Design of Ripple Counter using suitable 8 Flip Flops a. Realization of 3 bit Up/Down Counter using MS JK Flip Flop / D-FF 9 b. Realization of Mod -N counter using ( 7490 and 74193 ) Design and Realization of Ring Counter 10 and Johnson Ring counter Design and implement Sequence 11 generator using JK flip-flop INDEX Batch : - Design and implement pseudo random 12 sequence generator. Design and implement Sequence 13 detector using JK flip-flop Design of ASM chart using MUX 14 controller Method. GROUP - C Design and Implementation of 15 Combinational Logic using PLAs. Design and simulation of - Full adder , 16 Flip flop, MUX using VHDL (Any 2) Use different modeling styles. Design & simulate asynchronous 3- bit 17 counter using VHDL. Design and Implementation of 18 Combinational Logic using PALs GROUP - D Study of Shift Registers ( SISO,SIPO, 19 PISO,PIPO ) Study of TTL Logic Family: Feature, 20 Characteristics and Comparison with CMOS Family Study of Microcontroller 8051 : 21 Features, Architecture and Programming Model ` Digital Electronics Lab (Pattern 2015) GROUP - A Digital Electronics Lab (Pattern 2015) Assignment: 1 Title: Adder and Subtractor Objective: 1. -
A New Approach to the Snake-In-The-Box Problem
462 ECAI 2012 Luc De Raedt et al. (Eds.) © 2012 The Author(s). This article is published online with Open Access by IOS Press and distributed under the terms of the Creative Commons Attribution Non-Commercial License. doi:10.3233/978-1-61499-098-7-462 A New Approach to the Snake-In-The-Box Problem David Kinny1 Abstract. The “Snake-In-The-Box” problem, first described more Research on the SIB problem initially focused on applications in than 50 years ago, is a hard combinatorial search problem whose coding [14]. Coils are spread-k circuit codes for k =2, in which solutions have many practical applications. Until recently, techniques n-words k or more positions apart in the code differ in at least k based on Evolutionary Computation have been considered the state- bit positions [12]. (The well-known Gray codes are spread-1 circuit of-the-art for solving this deterministic maximization problem, and codes.) Longest snakes and coils provide the maximum number of held most significant records. This paper reviews the problem and code words for a given word size (i.e., hypercube dimension). prior solution techniques, then presents a new technique, based on A related application is in encoding schemes for analogue-to- Monte-Carlo Tree Search, which finds significantly better solutions digital converters including shaft (rotation) encoders. Longest SIB than prior techniques, is considerably faster, and requires no tuning. codes provide greatest resolution, and single bit errors are either recognised as such or map to an adjacent codeword causing an off- 1 INTRODUCTION by-one error. -
NOTE on GRAY CODES for PERMUTATION LISTS Seymour
PUBLICATIONS DE L’INSTITUT MATHEMATIQUE´ Nouvelle s´erie,tome 78(92) (2005), 87–92 NOTE ON GRAY CODES FOR PERMUTATION LISTS Seymour Lipschutz, Jie Gao, and Dianjun Wang Communicated by Slobodan Simi´c Abstract. Robert Sedgewick [5] lists various Gray codes for the permutations in Sn including the classical algorithm by Johnson and Trotter. Here we give an algorithm which constructs many families of Gray codes for Sn, which closely follows the construction of the Binary Reflexive Gray Code for the n-cube Qn. 1. Introduction There are (n!)! ways to list the n! permutations in Sn. Some such permutation lists have been generated by a computer, and some such permutation lists are Gray codes (where successive permutations differ by a transposition). One such famous Gray code for Sn is by Johnson [4] and Trotter [6]. In fact, each new permutation in the Johnson–Trotter (JT ) list for Sn is obtained from the preceding permutation by an adjacent transposition. Sedgewick [5] gave a survey of various Gray codes for Sn in 1977. Subsequently, Conway, Sloane and Wilks [1] gave a new Gray code CSW for Sn in 1989 while proving the existence of Gray codes for the reflection groups. Recently, Gao and Wang [2] gave simple algorithms, each with an efficient implementation, for two new permutation lists GW1 and GW2 for Sn, where the second such list is a Gray code for Sn. The four lists, JT , CSW , GW1 and GW2, for n = 4, are pictured in Figure 1. This paper gives an algorithm for constructing many families of Gray codes for Sn which uses an idea from the construction of the Binary Reflected Gray Code (BRGC) of the n-cube Qn. -
STRUCTURE ENUMERATION and SAMPLING Chemical Structure Enumeration and Sampling Have Been Studied by Mathematicians, Computer
STRUCTURE ENUMERATION AND SAMPLING MARKUS MERINGER To appear in Handbook of Chemoinformatics Algorithms Chemical structure enumeration and sampling have been studied by 5 mathematicians, computer scientists and chemists for quite a long time. Given a molecular formula plus, optionally, a list of structural con- straints, the typical questions are: (1) How many isomers exist? (2) Which are they? And, especially if (2) cannot be answered completely: (3) How to get a sample? 10 In this chapter we describe algorithms for solving these problems. The techniques are based on the representation of chemical compounds as molecular graphs (see Chapter 2), i.e. they are mainly applied to constitutional isomers. The major problem is that in silico molecular graphs have to be represented as labeled structures, while in chemical 15 compounds, the atoms are not labeled. The mathematical concept for approaching this problem is to consider orbits of labeled molecular graphs under the operation of the symmetric group. We have to solve the so–called isomorphism problem. According to our introductory questions, we distinguish several dis- 20 ciplines: counting, enumerating and sampling isomers. While counting only delivers the number of isomers, the remaining disciplines refer to constructive methods. Enumeration typically encompasses exhaustive and non–redundant methods, while sampling typically lacks these char- acteristics. However, sampling methods are sometimes better suited to 25 solve real–world problems. There is a wide range of applications where counting, enumeration and sampling techniques are helpful or even essential. Some of these applications are closely linked to other chapters of this book. Counting techniques deliver pure chemical information, they can help to estimate 30 or even determine sizes of chemical databases or compound libraries obtained from combinatorial chemistry. -
Other Binary Codes (3A)
Other Binary Codes (3A) Young Won Lim 1/3/14 Copyright (c) 2011-2013 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". Please send corrections (or suggestions) to [email protected]. This document was produced by using OpenOffice and Octave. Young Won Lim 1/3/14 Coding A code is a rule for converting a piece of information (for example, a letter, word, phrase, or gesture) into another form or representation (one sign into another sign), not necessarily of the same type. In communications and information processing, encoding is the process by which information from a source is converted into symbols to be communicated. Decoding is the reverse process, converting these code symbols back into information understandable by a receiver. Young Won Lim Other Binary Codes (4A) 3 1/3/14 Character Coding ASCII code BCD (Binary Coded Decimal) definitions for 128 characters: Number characters (0-9) 33 non-printing control characters (many now obsolete) 95 printable charactersi Young Won Lim Other Binary Codes (4A) 4 1/3/14 Representation of Numbers Fixed Point Number representation ● 2's complement +1234 ● 1's complement 0 -582978 coding ● sign-magnitude Floating Point Number representation +23.84380 ● IEEE 754 -1.388E+08 -
Loopless Gray Code Enumeration and the Tower of Bucharest
Loopless Gray Code Enumeration and the Tower of Bucharest Felix Herter1 and Günter Rote1 1 Institut für Informatik, Freie Universität Berlin Takustr. 9, 14195 Berlin, Germany [email protected], [email protected] Abstract We give new algorithms for generating all n-tuples over an alphabet of m letters, changing only one letter at a time (Gray codes). These algorithms are based on the connection with variations of the Towers of Hanoi game. Our algorithms are loopless, in the sense that the next change can be determined in a constant number of steps, and they can be implemented in hardware. We also give another family of loopless algorithms that is based on the idea of working ahead and saving the work in a buffer. 1998 ACM Subject Classification F.2.2 Nonnumerical Algorithms and Problems Keywords and phrases Tower of Hanoi, Gray code, enumeration, loopless generation Contents 1 Introduction: the binary reflected Gray code and the Towers of Hanoi 2 1.1 The Gray code . .2 1.2 Loopless algorithms . .2 1.3 The Tower of Hanoi . .3 1.4 Connections between the Towers of Hanoi and Gray codes . .4 1.5 Loopless Tower of Hanoi and binary Gray code . .4 1.6 Overview . .4 2 Ternary Gray codes and the Towers of Bucharest 5 3 Gray codes with general radixes 7 4 Generating the m-ary Gray code with odd m 7 5 Generating the m-ary Gray code with even m 9 arXiv:1604.06707v1 [cs.DM] 22 Apr 2016 6 The Towers of Bucharest++ 9 7 Simulation 11 8 Working ahead 11 8.1 An alternative STEP procedure . -
Counting: Permutations, Combinations
CS 441 Discrete Mathematics for CS Lecture 17 Counting Milos Hauskrecht [email protected] 5329 Sennott Square CS 441 Discrete mathematics for CS M. Hauskrecht Counting • Assume we have a set of objects with certain properties • Counting is used to determine the number of these objects Examples: • Number of available phone numbers with 7 digits in the local calling area • Number of possible match starters (football, basketball) given the number of team members and their positions CS 441 Discrete mathematics for CS M. Hauskrecht 1 Basic counting rules • Counting problems may be hard, and easy solutions are not obvious • Approach: – simplify the solution by decomposing the problem • Two basic decomposition rules: – Product rule • A count decomposes into a sequence of dependent counts (“each element in the first count is associated with all elements of the second count”) – Sum rule • A count decomposes into a set of independent counts (“elements of counts are alternatives”) CS 441 Discrete mathematics for CS M. Hauskrecht Inclusion-Exclusion principle Used in counts where the decomposition yields two count tasks with overlapping elements • If we used the sum rule some elements would be counted twice Inclusion-exclusion principle: uses a sum rule and then corrects for the overlapping elements. We used the principle for the cardinality of the set union. •|A B| = |A| + |B| - |A B| U B A CS 441 Discrete mathematics for CS M. Hauskrecht 2 Inclusion-exclusion principle Example: How many bitstrings of length 8 start either with a bit 1 or end with 00? • Count strings that start with 1: • How many are there? 27 • Count the strings that end with 00. -
Algorithms for Generating Binary Reflected Gray Code Sequence: Time Efficient Approaches
2009 International Conference on Future Computer and Communication Algorithms for Generating Binary Reflected Gray Code Sequence: Time Efficient Approaches Md. Mohsin Ali, Muhammad Nazrul Islam, and A. B. M. Foysal Dept. of Computer Science and Engineering Khulna University of Engineering & Technology Khulna – 9203, Bangladesh e-mail: [email protected], [email protected], and [email protected] Abstract—In this paper, we propose two algorithms for Coxeter groups [4], capanology (the study of bell-ringing) generating a complete n-bit binary reflected Gray code [5], continuous space-filling curves [6], classification of sequence. The first one is called Backtracking. It generates a Venn diagrams [7]. Today, Gray codes are widely used to complete n-bit binary reflected Gray code sequence by facilitate error correction in digital communications such as generating only a sub-tree instead of the complete tree. In this digital terrestrial television and some cable TV systems. approach, both the sequence and its reflection for n-bit is In this paper, we present the derivation and generated by concatenating a “0” and a “1” to the most implementation of two algorithms for generating the significant bit position of the n-1 bit result generated at each complete binary reflected Gray code sequence leaf node of the sub-tree. The second one is called MOptimal. It () ≤ ≤ n − is the modification of a Space and time optimal approach [8] G i ,0 i 2 1 , for a given number of bits n. We by considering the minimization of the total number of outer evaluate the performance of these algorithms and other and inner loop execution for this purpose. -
GRAPHS INDUCED by GRAY CODES 1. Introduction an N-Bit
GRAPHS INDUCED BY GRAY CODES ELIZABETH L. WILMER AND MICHAEL D. ERNST Abstract. We disprove a conjecture of Bultena and Ruskey [1], that all trees which are cyclic graphs of cyclic Gray codes have diameter 2 or 4, by producing codes whose cyclic graphs are trees of arbitrarily large diameter. We answer affirmatively two other questions from [1], showing that strongly Pn Pn- compatible codes exist and that it is possible for a cyclic code to induce× a cyclic digraph with no bidirectional edge. A major tool in these proofs is our introduction of supercomposite Gray codes; these generalize the standard reflected Gray code by allowing shifts. We find supercomposite Gray codes which induce large diameter trees, but also show that many trees are not induced by supercomposite Gray codes. We also find the first infinite family of connected graphs known not to be induced by any Gray code | trees of diameter 3 with no vertices of degree 2. 1. Introduction n An n-bit Gray code B = (b1; b2;:::; bN ), N = 2 , lists all the binary n-tuples (\codewords") so that consecutive n-tuples differ in one bit. In a cyclic code, the first and last n-tuples also differ in one bit. Gray codes can be viewed as Hamiltonian paths on the hypercube graph; cyclic codes correspond to Hamiltonian cycles. Two Gray codes are isomorphic when one is carried to the other by a hypercube isomorphism. The transition sequence τ(B) = (τ1; τ2; : : : ; τN 1) of an n-bit Gray code B lists − the bit positions τi [n] = 1; 2; : : : ; n where bi and bi+1 differ.