Forward and backward DAWG matching. Slobodan Petrović

Size: px
Start display at page:

Download "Forward and backward DAWG matching. Slobodan Petrović"

Transcription

1 Forward and backward DAWG matching Slobodan Petrović

2 Contents Introduction Forward DAWG matching (FDM) Backward DAWG matching (BDM) 2/29

3 Introduction A DAWG (Directed Acyclic Word Graph) representation of a string is very convenient for application in search algorithms A DAWG is the most efficient representation of a string in the sense that it is the minimal DFA (Deterministic Finite Automaton) that recognizes all the suffixes of the given string 3/29

4 Introduction Example - the DAWG of the string w=aabbab 4/29

5 Introduction In all applications of DAWG, the search algorithms try to find the longest common substring of two given strings - the search string S and the search pattern w Obviously, if the longest common substring of these two strings is the search pattern itself then the search pattern is contained in the search string and a match is found 5/29

6 Forward DAWG matching (FDM) Finds the longest common substring of two given strings by scanning the search string from left to right Forward matching The search string S is processed on-line, i.e. one symbol at a time The search pattern w is represented by means of its DAWG 6/29

7 Forward DAWG matching (FDM) The FDM algorithm finds the longest substring of the search pattern w ending at each position in the search string S The longest suffix of the current prefix of the search string, which is a substring of the search pattern at the same time 7/29

8 Forward DAWG matching (FDM) Let S be the search string and let w be the search pattern Let DAWG(w) be the DAWG of the search pattern, known in advance Suppose that the FDM algorithm has reached the position i in S and that it has processed the prefix p of S (whose length is i) 8/29

9 Forward DAWG matching (FDM) 9/29

10 Forward DAWG matching (FDM) Since FDM finds the longest suffix of the search string, which is a substring of the search pattern At the position i of the string S it knows the longest suffix s of the prefix p of S, which is at the same time a substring of the search pattern w 10/29

11 Forward DAWG matching (FDM) Let the next symbol of S be t The FDM algorithm now has to find the longest suffix s of p+t, which is at the same time a substring of w Here, the + sign denotes concatenation 11/29

12 Forward DAWG matching (FDM) The FDM algorithm at this step checks whether an edge (x,y) labeled with the symbol t exists in DAWG(w) The vertex x is determined by the previously executed iterations of the algorithm (initially root) If such an edge (x,y) is found then x y and the algorithm starts the next iteration It processes the next symbol t 12/29

13 Forward DAWG matching (FDM) The failure case - an edge (x,y) is not found The property of a DAWG Let u be the concatenation of the labels of edges on any path from the root of DAWG(w) to the vertex x Let v be the concatenation of the labels of edges on the longest path from the root of DAWG(w) to the vertex y u and v are substrings of w If suf(x)=y then v is a suffix of u 13/29

14 Forward DAWG matching (FDM) Example (1) The DAWG of the string w=aabbabb Let x=v 7 and y=v 2 There is a suffix link leading from v 7 to v 2 suf(v 7 )=v 2 Let u=bba (one of the paths to x) and v=a (the longest path to y) Then v is a suffix of u 14/29

15 Forward DAWG matching (FDM) Example (2) 15/29

16 Forward DAWG matching (FDM) By using the property of the DAWG, the FDM algorithm follows the chain of suffix links, starting from the failure point, until it finds an edge (x,y) in the DAWG(w) labeled with the symbol t If such an edge is not found after following the whole suffix link chain to the root then the search is reset, i.e. x is set to the root vertex 16/29

17 Forward DAWG matching (FDM) 17/29

18 Forward DAWG matching (FDM) In the FDM algorithm, the function length(x) returns the length of the longest path from root to the vertex x This value can be stored for each vertex of DAWG(w) during its construction 18/29

19 Backward DAWG matching (BDM) Searches for the longest substring u of a pattern w at the current position of the search string S Very fast on average The average time complexity of the BDM algorithm is O(nlog m/m) The worst-case time complexity is O(nm), where n is the length of the search string S and m is the length of the search pattern w 19/29

20 Backward DAWG matching (BDM) The BDM algorithm uses a window of length m, which moves from left to right The movement of the window is not continuous - in some situations, the window can skip some symbols of the search string, which makes the algorithm faster on average The window is scanned from right to left (backward matching) 20/29

21 Backward DAWG matching (BDM) Instead of the search pattern w, in the BDM search algorithm the reverse pattern w R is used The current longest substring u of w found in S is identified with the vertex in DAWG(w R ) corresponding to u R 21/29

22 Backward DAWG matching (BDM) At the current symbol t from S, the BDM algorithm tries to match the substring t+u with a substring of w The same as finding an edge in DAWG(w R ) labeled with t, which starts from the current DAWG vertex If such an edge is not found, a shift occurs, i.e. some symbols are skipped 22/29

23 Backward DAWG matching (BDM) 23/29

24 Backward DAWG matching (BDM) To facilitate the BDM search, we add to each vertex of the DAWG(w R ) information about whether it lies on the suffix chain starting from the sink vertex of the DAWG Such vertices are called terminal vertices All terminal vertices of the DAWG correspond to suffixes of w R 24/29

25 Backward DAWG matching (BDM) Example (1) 25/29

26 Backward DAWG matching (BDM) Example (2) The terminal vertices in the DAWG(aabbabb) are v 10, v 11, v 6, and v 1, since they lie on the suffix chain starting from the sink vertex v 10 of the DAWG 26/29

27 Backward DAWG matching (BDM) The backward search through the current window ends in two ways Either the whole search pattern w is found or The failure to match t+u has occurred In that case, the algorithm shifts the window to the right by last, where last is the position of the ending symbol of the longest substring u of w found in the current window 27/29

28 Backward DAWG matching (BDM) 28/29

29 Backward DAWG matching (BDM) The variable i points at the symbol just before the window, j is the auxiliary variable used to traverse the window backwards, and last records the position of the recognized substring of w in S 29/29

Conversion Masters in IT (MIT) AI as Representation and Search. (Representation and Search Strategies) Lecture 002. Sandro Spina

Conversion Masters in IT (MIT) AI as Representation and Search. (Representation and Search Strategies) Lecture 002. Sandro Spina Conversion Masters in IT (MIT) AI as Representation and Search (Representation and Search Strategies) Lecture 002 Sandro Spina Physical Symbol System Hypothesis Intelligent Activity is achieved through

More information

Universal Cycles for Permutations Theory and Applications

Universal Cycles for Permutations Theory and Applications Universal Cycles for Permutations Theory and Applications Alexander Holroyd Microsoft Research Brett Stevens Carleton University Aaron Williams Carleton University Frank Ruskey University of Victoria Combinatorial

More information

Fall 2018 #8 DFS-Strong-Comps. A. Cut 'em all! 1 second, 256 megabytes

Fall 2018 #8 DFS-Strong-Comps. A. Cut 'em all! 1 second, 256 megabytes You're given a tree with n vertices. 15-295 Fall 2018 #8 DFS-Strong-Comps A. Cut 'em all! 1 second, 256 megabytes Your task is to determine the maximum possible number of edges that can be removed in such

More information

Developing an Artificial Intelligence to Play the Board Game Scrabble

Developing an Artificial Intelligence to Play the Board Game Scrabble UNIVERSITY COLLEGE DUBLIN TRINITY COLLEGE DISSERTATION MAI IN ELECTRONIC & COMPUTER ENGINEERING Developing an Artificial Intelligence to Play the Board Game Scrabble Author: Carl O CONNOR Supervisor: Dr.

More information

Assigning altitude levels to flyovers. - Tejaswani Narla

Assigning altitude levels to flyovers. - Tejaswani Narla Assigning altitude levels to flyovers - Tejaswani Narla Plan for the talk Real World Problem Description Constructing a graph from the problem Graph Problem Description Introduction to Permutation Graphs

More information

A Memory Efficient Anti-Collision Protocol to Identify Memoryless RFID Tags

A Memory Efficient Anti-Collision Protocol to Identify Memoryless RFID Tags J Inf Process Syst, Vol., No., pp.95~3, March 25 http://dx.doi.org/.3745/jips.3. ISSN 976-93X (Print) ISSN 292-85X (Electronic) A Memory Efficient Anti-Collision Protocol to Identify Memoryless RFID Tags

More information

Discussion 8 Solution Thursday, February 10th. Consider the function f(x, y) := y 2 x 2.

Discussion 8 Solution Thursday, February 10th. Consider the function f(x, y) := y 2 x 2. Discussion 8 Solution Thursday, February 10th. 1. Consider the function f(x, y) := y 2 x 2. (a) This function is a mapping from R n to R m. Determine the values of n and m. The value of n is 2 corresponding

More information

Outline. In One Slide. LR Parsing. LR Parsing. No Stopping The Parsing! Bottom-Up Parsing. LR(1) Parsing Tables #2

Outline. In One Slide. LR Parsing. LR Parsing. No Stopping The Parsing! Bottom-Up Parsing. LR(1) Parsing Tables #2 LR Parsing Bottom-Up Parsing #1 Outline No Stopping The Parsing! Bottom-Up Parsing LR Parsing Shift and Reduce LR(1) Parsing Algorithm LR(1) Parsing Tables #2 In One Slide An LR(1) parser reads tokens

More information

From Shared Memory to Message Passing

From Shared Memory to Message Passing From Shared Memory to Message Passing Stefan Schmid T-Labs / TU Berlin Some parts of the lecture, parts of the Skript and exercises will be based on the lectures of Prof. Roger Wattenhofer at ETH Zurich

More information

MATH Exam 2 Solutions November 16, 2015

MATH Exam 2 Solutions November 16, 2015 MATH 1.54 Exam Solutions November 16, 15 1. Suppose f(x, y) is a differentiable function such that it and its derivatives take on the following values: (x, y) f(x, y) f x (x, y) f y (x, y) f xx (x, y)

More information

SCRABBLE ARTIFICIAL INTELLIGENCE GAME. CS 297 Report. Presented to. Dr. Chris Pollett. Department of Computer Science. San Jose State University

SCRABBLE ARTIFICIAL INTELLIGENCE GAME. CS 297 Report. Presented to. Dr. Chris Pollett. Department of Computer Science. San Jose State University SCRABBLE AI GAME 1 SCRABBLE ARTIFICIAL INTELLIGENCE GAME CS 297 Report Presented to Dr. Chris Pollett Department of Computer Science San Jose State University In Partial Fulfillment Of the Requirements

More information

Midterm for Name: Good luck! Midterm page 1 of 9

Midterm for Name: Good luck! Midterm page 1 of 9 Midterm for 6.864 Name: 40 30 30 30 Good luck! 6.864 Midterm page 1 of 9 Part #1 10% We define a PCFG where the non-terminals are {S, NP, V P, V t, NN, P P, IN}, the terminal symbols are {Mary,ran,home,with,John},

More information

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI Department of Computer Science and Engineering CS6503 THEORY OF COMPUTATION 2 Mark Questions & Answers Year / Semester: III / V Regulation: 2013 Academic year:

More information

Shuffling with ordered cards

Shuffling with ordered cards Shuffling with ordered cards Steve Butler (joint work with Ron Graham) Department of Mathematics University of California Los Angeles www.math.ucla.edu/~butler Combinatorics, Groups, Algorithms and Complexity

More information

: Principles of Automated Reasoning and Decision Making Midterm

: Principles of Automated Reasoning and Decision Making Midterm 16.410-13: Principles of Automated Reasoning and Decision Making Midterm October 20 th, 2003 Name E-mail Note: Budget your time wisely. Some parts of this quiz could take you much longer than others. Move

More information

Search then involves moving from state-to-state in the problem space to find a goal (or to terminate without finding a goal).

Search then involves moving from state-to-state in the problem space to find a goal (or to terminate without finding a goal). Search Can often solve a problem using search. Two requirements to use search: Goal Formulation. Need goals to limit search and allow termination. Problem formulation. Compact representation of problem

More information

Module 3 Greedy Strategy

Module 3 Greedy Strategy Module 3 Greedy Strategy Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS 39217 E-mail: natarajan.meghanathan@jsums.edu Introduction to Greedy Technique Main

More information

17. Symmetries. Thus, the example above corresponds to the matrix: We shall now look at how permutations relate to trees.

17. Symmetries. Thus, the example above corresponds to the matrix: We shall now look at how permutations relate to trees. 7 Symmetries 7 Permutations A permutation of a set is a reordering of its elements Another way to look at it is as a function Φ that takes as its argument a set of natural numbers of the form {, 2,, n}

More information

CARD GAMES AND CRYSTALS

CARD GAMES AND CRYSTALS CARD GAMES AND CRYSTALS This is the extended version of a talk I gave at KIDDIE (graduate student colloquium) in April 2011. I wish I could give this version, but there wasn t enough time, so I left out

More information

COSE312: Compilers. Lecture 5 Lexical Analysis (4)

COSE312: Compilers. Lecture 5 Lexical Analysis (4) COSE312: Compilers Lecture 5 Lexical Analysis (4) Hakjoo Oh 2017 Spring Hakjoo Oh COSE312 2017 Spring, Lecture 5 March 20, 2017 1 / 20 Part 3: Automation Transform the lexical specification into an executable

More information

Efficient path-based computations on pedigree graphs with compact encodings

Efficient path-based computations on pedigree graphs with compact encodings PROCEEDINGS Open Access Efficient path-based computations on pedigree graphs with compact encodings Lei Yang *, En Cheng, Z Meral Özsoyoğlu From ACM Conference on Bioinformatics, Computational Biology

More information

One-Dimensional Peg Solitaire, and Duotaire

One-Dimensional Peg Solitaire, and Duotaire More Games of No Chance MSRI Publications Volume 42, 2002 One-Dimensional Peg Solitaire, and Duotaire CRISTOPHER MOORE AND DAVID EPPSTEIN Abstract. We solve the problem of one-dimensional Peg Solitaire.

More information

An O(1) Time Algorithm for Generating Multiset Permutations

An O(1) Time Algorithm for Generating Multiset Permutations An O(1) Time Algorithm for Generating Multiset Permutations Tadao Takaoka Department of Computer Science, University of Canterbury Christchurch, New Zealand tad@cosc.canterbury.ac.nz Abstract. We design

More information

1 This work was partially supported by NSF Grant No. CCR , and by the URI International Engineering Program.

1 This work was partially supported by NSF Grant No. CCR , and by the URI International Engineering Program. Combined Error Correcting and Compressing Codes Extended Summary Thomas Wenisch Peter F. Swaszek Augustus K. Uht 1 University of Rhode Island, Kingston RI Submitted to International Symposium on Information

More information

Lecture 2. 1 Nondeterministic Communication Complexity

Lecture 2. 1 Nondeterministic Communication Complexity Communication Complexity 16:198:671 1/26/10 Lecture 2 Lecturer: Troy Lee Scribe: Luke Friedman 1 Nondeterministic Communication Complexity 1.1 Review D(f): The minimum over all deterministic protocols

More information

Design of Parallel Algorithms. Communication Algorithms

Design of Parallel Algorithms. Communication Algorithms + Design of Parallel Algorithms Communication Algorithms + Topic Overview n One-to-All Broadcast and All-to-One Reduction n All-to-All Broadcast and Reduction n All-Reduce and Prefix-Sum Operations n Scatter

More information

Algorithmique appliquée Projet UNO

Algorithmique appliquée Projet UNO Algorithmique appliquée Projet UNO Paul Dorbec, Cyril Gavoille The aim of this project is to encode a program as efficient as possible to find the best sequence of cards that can be played by a single

More information

arxiv: v1 [math.co] 7 Aug 2012

arxiv: v1 [math.co] 7 Aug 2012 arxiv:1208.1532v1 [math.co] 7 Aug 2012 Methods of computing deque sortable permutations given complete and incomplete information Dan Denton Version 1.04 dated 3 June 2012 (with additional figures dated

More information

Stanford University CS261: Optimization Handout 9 Luca Trevisan February 1, 2011

Stanford University CS261: Optimization Handout 9 Luca Trevisan February 1, 2011 Stanford University CS261: Optimization Handout 9 Luca Trevisan February 1, 2011 Lecture 9 In which we introduce the maximum flow problem. 1 Flows in Networks Today we start talking about the Maximum Flow

More information

VLSI Design Verification and Test Delay Faults II CMPE 646

VLSI Design Verification and Test Delay Faults II CMPE 646 Path Counting The number of paths can be an exponential function of the # of gates. Parallel multipliers are notorious for having huge numbers of paths. It is possible to efficiently count paths in spite

More information

Question Score Max Cover Total 149

Question Score Max Cover Total 149 CS170 Final Examination 16 May 20 NAME (1 pt): TA (1 pt): Name of Neighbor to your left (1 pt): Name of Neighbor to your right (1 pt): This is a closed book, closed calculator, closed computer, closed

More information

CSE 573 Problem Set 1. Answers on 10/17/08

CSE 573 Problem Set 1. Answers on 10/17/08 CSE 573 Problem Set. Answers on 0/7/08 Please work on this problem set individually. (Subsequent problem sets may allow group discussion. If any problem doesn t contain enough information for you to answer

More information

Permutation Groups. Every permutation can be written as a product of disjoint cycles. This factorization is unique up to the order of the factors.

Permutation Groups. Every permutation can be written as a product of disjoint cycles. This factorization is unique up to the order of the factors. Permutation Groups 5-9-2013 A permutation of a set X is a bijective function σ : X X The set of permutations S X of a set X forms a group under function composition The group of permutations of {1,2,,n}

More information

Backtracking. Chapter Introduction

Backtracking. Chapter Introduction Chapter 3 Backtracking 3.1 Introduction Backtracking is a very general technique that can be used to solve a wide variety of problems in combinatorial enumeration. Many of the algorithms to be found in

More information

Anavilhanas Natural Reserve (about 4000 Km 2 )

Anavilhanas Natural Reserve (about 4000 Km 2 ) Anavilhanas Natural Reserve (about 4000 Km 2 ) A control room receives this alarm signal: what to do? adversarial patrolling with spatially uncertain alarm signals Nicola Basilico, Giuseppe De Nittis,

More information

Foundations of Math II Unit 3: Similarity and Congruence

Foundations of Math II Unit 3: Similarity and Congruence Foundations of Math II Unit 3: Similarity and Congruence Academics High School Mathematics 3.1 Warm Up 1. Jill and Bill are doing some exercises. Jayne Funda, their instructor, gently implores Touch your

More information

CSE101: Design and Analysis of Algorithms. Ragesh Jaiswal, CSE, UCSD

CSE101: Design and Analysis of Algorithms. Ragesh Jaiswal, CSE, UCSD Course Overview Graph Algorithms Algorithm Design Techniques: Greedy Algorithms Divide and Conquer Dynamic Programming Network Flows Computational Intractability Main Ideas Main idea: Break the given

More information

Lectures: Feb 27 + Mar 1 + Mar 3, 2017

Lectures: Feb 27 + Mar 1 + Mar 3, 2017 CS420+500: Advanced Algorithm Design and Analysis Lectures: Feb 27 + Mar 1 + Mar 3, 2017 Prof. Will Evans Scribe: Adrian She In this lecture we: Summarized how linear programs can be used to model zero-sum

More information

You Should Be Scared of German Ghost

You Should Be Scared of German Ghost [DOI: 10.2197/ipsjjip.23.293] Regular Paper You Should Be Scared of German Ghost Erik D. Demaine 1,a) Fermi Ma 1,b) Matthew Susskind 1,c) Erik Waingarten 1,d) Received: August 1, 2014, Accepted: January

More information

CSE 21 Practice Final Exam Winter 2016

CSE 21 Practice Final Exam Winter 2016 CSE 21 Practice Final Exam Winter 2016 1. Sorting and Searching. Give the number of comparisons that will be performed by each sorting algorithm if the input list of length n happens to be of the form

More information

Bounds for Cut-and-Paste Sorting of Permutations

Bounds for Cut-and-Paste Sorting of Permutations Bounds for Cut-and-Paste Sorting of Permutations Daniel Cranston Hal Sudborough Douglas B. West March 3, 2005 Abstract We consider the problem of determining the maximum number of moves required to sort

More information

Chapter 5 Backtracking. The Backtracking Technique The n-queens Problem The Sum-of-Subsets Problem Graph Coloring The 0-1 Knapsack Problem

Chapter 5 Backtracking. The Backtracking Technique The n-queens Problem The Sum-of-Subsets Problem Graph Coloring The 0-1 Knapsack Problem Chapter 5 Backtracking The Backtracking Technique The n-queens Problem The Sum-of-Subsets Problem Graph Coloring The 0-1 Knapsack Problem Backtracking maze puzzle following every path in maze until a dead

More information

NANYANG TECHNOLOGICAL UNIVERSITY SEMESTER II EXAMINATION MH1301 DISCRETE MATHEMATICS. Time Allowed: 2 hours

NANYANG TECHNOLOGICAL UNIVERSITY SEMESTER II EXAMINATION MH1301 DISCRETE MATHEMATICS. Time Allowed: 2 hours NANYANG TECHNOLOGICAL UNIVERSITY SEMESTER II EXAMINATION 206-207 DISCRETE MATHEMATICS May 207 Time Allowed: 2 hours INSTRUCTIONS TO CANDIDATES. This examination paper contains FOUR (4) questions and comprises

More information

arxiv:math/ v1 [math.co] 22 Aug 2000

arxiv:math/ v1 [math.co] 22 Aug 2000 One-Dimensional Peg Solitaire, and Duotaire arxiv:math/0008172v1 [math.co] 22 Aug 2000 Cristopher Moore 1,2 and David Eppstein 3 1 Computer Science Department, University of New Mexico, Albuquerque NM

More information

CS188: Artificial Intelligence, Fall 2011 Written 2: Games and MDP s

CS188: Artificial Intelligence, Fall 2011 Written 2: Games and MDP s CS88: Artificial Intelligence, Fall 20 Written 2: Games and MDP s Due: 0/5 submitted electronically by :59pm (no slip days) Policy: Can be solved in groups (acknowledge collaborators) but must be written

More information

Math 152: Applicable Mathematics and Computing

Math 152: Applicable Mathematics and Computing Math 152: Applicable Mathematics and Computing May 8, 2017 May 8, 2017 1 / 15 Extensive Form: Overview We have been studying the strategic form of a game: we considered only a player s overall strategy,

More information

Large-scale Music Identification Algorithms and Applications

Large-scale Music Identification Algorithms and Applications Large-scale Music Identification Algorithms and Applications Eugene Weinstein, PhD Candidate New York University, Courant Institute Department of Computer Science Depth Qualifying Exam June 20th, 2007

More information

A Learning System for a Computational Science Related Topic

A Learning System for a Computational Science Related Topic Available online at www.sciencedirect.com Procedia Computer Science 9 (2012 ) 1763 1772 International Conference on Computational Science, ICCS 2012 A Learning System for a Computational Science Related

More information

Tutorial 1. (ii) There are finite many possible positions. (iii) The players take turns to make moves.

Tutorial 1. (ii) There are finite many possible positions. (iii) The players take turns to make moves. 1 Tutorial 1 1. Combinatorial games. Recall that a game is called a combinatorial game if it satisfies the following axioms. (i) There are 2 players. (ii) There are finite many possible positions. (iii)

More information

Module 3 Greedy Strategy

Module 3 Greedy Strategy Module 3 Greedy Strategy Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS 39217 E-mail: natarajan.meghanathan@jsums.edu Introduction to Greedy Technique Main

More information

6.006 Introduction to Algorithms. Lecture 20: Dynamic Programming III Prof. Erik Demaine

6.006 Introduction to Algorithms. Lecture 20: Dynamic Programming III Prof. Erik Demaine 6.006 Introduction to Algorithms Lecture 20: Dynamic Programming III Prof. Erik Demaine Today Dynamic programming review Guessing Within a subproblem Using additional subproblems Parenthesization Knapsack

More information

Technical framework of Operating System using Turing Machines

Technical framework of Operating System using Turing Machines Reviewed Paper Technical framework of Operating System using Turing Machines Paper ID IJIFR/ V2/ E2/ 028 Page No 465-470 Subject Area Computer Science Key Words Turing, Undesirability, Complexity, Snapshot

More information

Hausdorff dimension in groups acting on trees

Hausdorff dimension in groups acting on trees of spinal groups in groups acting on trees University of the Basque Country, Bilbao Group St Andrews, Bath, August 4th 2009 in groups acting on trees of spinal groups Contents 1 2 3 of spinal groups in

More information

CSCI 2570 Introduction to Nanocomputing

CSCI 2570 Introduction to Nanocomputing CSCI 2570 Introduction to Nanocomputing DNA Tiling John E Savage Computing with DNA Prepare oligonucleotides ( program them ) Prepare solution with multiple strings. Only complementary substrings q and

More information

Calculus II Fall 2014

Calculus II Fall 2014 Calculus II Fall 2014 Lecture 3 Partial Derivatives Eitan Angel University of Colorado Monday, December 1, 2014 E. Angel (CU) Calculus II 1 Dec 1 / 13 Introduction Much of the calculus of several variables

More information

Lecture 12: Divide and Conquer Algorithms. Divide and Conquer Algorithms

Lecture 12: Divide and Conquer Algorithms. Divide and Conquer Algorithms Lecture 12: Divide and Conquer Algorithms Study Chapter 7.1 7.4 1 Divide and Conquer Algorithms Divide problem into sub-problems Conquer by solving sub-problems recursively. If the sub-problems are small

More information

Problem A: Ordering supermarket queues

Problem A: Ordering supermarket queues Problem A: Ordering supermarket queues UCL Algorithm Contest Round 2-2014 A big supermarket chain has received several complaints from their customers saying that the waiting time in queues is too long.

More information

Lecture 20: Combinatorial Search (1997) Steven Skiena. skiena

Lecture 20: Combinatorial Search (1997) Steven Skiena.   skiena Lecture 20: Combinatorial Search (1997) Steven Skiena Department of Computer Science State University of New York Stony Brook, NY 11794 4400 http://www.cs.sunysb.edu/ skiena Give an O(n lg k)-time algorithm

More information

SOLITAIRE CLOBBER AS AN OPTIMIZATION PROBLEM ON WORDS

SOLITAIRE CLOBBER AS AN OPTIMIZATION PROBLEM ON WORDS INTEGERS: ELECTRONIC JOURNAL OF COMBINATORIAL NUMBER THEORY 8 (2008), #G04 SOLITAIRE CLOBBER AS AN OPTIMIZATION PROBLEM ON WORDS Vincent D. Blondel Department of Mathematical Engineering, Université catholique

More information

Game Theory and Randomized Algorithms

Game Theory and Randomized Algorithms Game Theory and Randomized Algorithms Guy Aridor Game theory is a set of tools that allow us to understand how decisionmakers interact with each other. It has practical applications in economics, international

More information

Decision Mathematics practice paper

Decision Mathematics practice paper Decision Mathematics practice paper 1. based on old-syllabus January 2013. 50 minutes, 50 marks. Write answers in answers book. Figure 1 Hero s algorithm for finding a square root is described by the flow

More information

Lecture 17 z-transforms 2

Lecture 17 z-transforms 2 Lecture 17 z-transforms 2 Fundamentals of Digital Signal Processing Spring, 2012 Wei-Ta Chu 2012/5/3 1 Factoring z-polynomials We can also factor z-transform polynomials to break down a large system into

More information

An Algorithm for Longest Common Subsequence (LCS) Problem in Multiple Sequences

An Algorithm for Longest Common Subsequence (LCS) Problem in Multiple Sequences An Algorithm for Longest Common Subsequence (LCS) Problem in Multiple Sequences Bioinformatician & Software Engineer ormer Head & Asst. Professor, Deptt. of Bioinformatics, Singhania University, Pacheri

More information

OVSF-CDMA Code Assignment in Wireless Ad Hoc Networks

OVSF-CDMA Code Assignment in Wireless Ad Hoc Networks Algorithmica (2007) 49: 264 285 DOI 10.1007/s00453-007-9094-6 OVSF-CDMA Code Assignment in Wireless Ad Hoc Networks Peng-Jun Wan Xiang-Yang Li Ophir Frieder Received: 1 November 2004 / Accepted: 23 August

More information

In the game of Chess a queen can move any number of spaces in any linear direction: horizontally, vertically, or along a diagonal.

In the game of Chess a queen can move any number of spaces in any linear direction: horizontally, vertically, or along a diagonal. CMPS 12A Introduction to Programming Winter 2013 Programming Assignment 5 In this assignment you will write a java program finds all solutions to the n-queens problem, for 1 n 13. Begin by reading the

More information

Median Filter and Its

Median Filter and Its An Implementation of the Median Filter and Its Effectiveness on Different Kinds of Images Kevin Liu Thomas Jefferson High School for Science and Technology Computer Systems Lab 2006-2007 June 13, 2007

More information

Section 7.2 Logarithmic Functions

Section 7.2 Logarithmic Functions Math 150 c Lynch 1 of 6 Section 7.2 Logarithmic Functions Definition. Let a be any positive number not equal to 1. The logarithm of x to the base a is y if and only if a y = x. The number y is denoted

More information

MATHCOUNTS g 42 nd Mock Mathcounts g

MATHCOUNTS g 42 nd Mock Mathcounts g MATHCOUNTS 2008-09 g 42 nd Mock Mathcounts g Sprint Round Problems 1-30 Name State DO NOT BEGIN UNTIL YOU ARE INSTRUCTED TO DO SO This section of the competition consists of 30 problems. You will have

More information

Lower Bounds for the Number of Bends in Three-Dimensional Orthogonal Graph Drawings

Lower Bounds for the Number of Bends in Three-Dimensional Orthogonal Graph Drawings ÂÓÙÖÒÐ Ó ÖÔ ÐÓÖØÑ Ò ÔÔÐØÓÒ ØØÔ»»ÛÛÛº ºÖÓÛÒºÙ»ÔÙÐØÓÒ»» vol.?, no.?, pp. 1 44 (????) Lower Bounds for the Number of Bends in Three-Dimensional Orthogonal Graph Drawings David R. Wood School of Computer Science

More information

UMBC 671 Midterm Exam 19 October 2009

UMBC 671 Midterm Exam 19 October 2009 Name: 0 1 2 3 4 5 6 total 0 20 25 30 30 25 20 150 UMBC 671 Midterm Exam 19 October 2009 Write all of your answers on this exam, which is closed book and consists of six problems, summing to 160 points.

More information

CSE 473 Midterm Exam Feb 8, 2018

CSE 473 Midterm Exam Feb 8, 2018 CSE 473 Midterm Exam Feb 8, 2018 Name: This exam is take home and is due on Wed Feb 14 at 1:30 pm. You can submit it online (see the message board for instructions) or hand it in at the beginning of class.

More information

Implementation of Recursively Enumerable Languages in Universal Turing Machine

Implementation of Recursively Enumerable Languages in Universal Turing Machine Implementation of Recursively Enumerable Languages in Universal Turing Machine Sumitha C.H, Member, ICMLC and Krupa Ophelia Geddam Abstract This paper presents the design and working of a Universal Turing

More information

10/5/2015. Constraint Satisfaction Problems. Example: Cryptarithmetic. Example: Map-coloring. Example: Map-coloring. Constraint Satisfaction Problems

10/5/2015. Constraint Satisfaction Problems. Example: Cryptarithmetic. Example: Map-coloring. Example: Map-coloring. Constraint Satisfaction Problems 0/5/05 Constraint Satisfaction Problems Constraint Satisfaction Problems AIMA: Chapter 6 A CSP consists of: Finite set of X, X,, X n Nonempty domain of possible values for each variable D, D, D n where

More information

Algorithms for Genetics: Basics of Wright Fisher Model and Coalescent Theory

Algorithms for Genetics: Basics of Wright Fisher Model and Coalescent Theory Algorithms for Genetics: Basics of Wright Fisher Model and Coalescent Theory Vineet Bafna Harish Nagarajan and Nitin Udpa 1 Disclaimer Please note that a lot of the text and figures here are copied from

More information

Bead Sort: A Natural Sorting Algorithm

Bead Sort: A Natural Sorting Algorithm In The Bulletin of the European Association for Theoretical Computer Science 76 (), 5-6 Bead Sort: A Natural Sorting Algorithm Joshua J Arulanandham, Cristian S Calude, Michael J Dinneen Department of

More information

Location Problems in Wireless Sensor Network for Improving Its Reliability and Performance

Location Problems in Wireless Sensor Network for Improving Its Reliability and Performance Location Problems in Wireless Sensor Network for Improving Its Reliability and Performance DENIS MIGOV Institute of Computational Mathematics and Mathematical Geophysics of SB RAS Laboratory of Dynamical

More information

Dummy Fill as a Reduction to Chip-Firing

Dummy Fill as a Reduction to Chip-Firing Dummy Fill as a Reduction to Chip-Firing Robert Ellis CSE 291: Heuristics and VLSI Design (Andrew Kahng) Preliminary Project Report November 27, 2001 1 Introduction 1.1 Chip-firing games Chip-firing games

More information

Regular Expressions and Regular Languages. BBM Automata Theory and Formal Languages 1

Regular Expressions and Regular Languages. BBM Automata Theory and Formal Languages 1 Regular Expressions and Regular Languages BBM 401 - Automata Theory and Formal Languages 1 Operations on Languages Remember: A language is a set of strings Union: Concatenation: Powers: Kleene Closure:

More information

Common Mistakes. Quick sort. Only choosing one pivot per iteration. At each iteration, one pivot per sublist should be chosen.

Common Mistakes. Quick sort. Only choosing one pivot per iteration. At each iteration, one pivot per sublist should be chosen. Common Mistakes Examples of typical mistakes Correct version Quick sort Only choosing one pivot per iteration. At each iteration, one pivot per sublist should be chosen. e.g. Use a quick sort to sort the

More information

1 Graphs of Sine and Cosine

1 Graphs of Sine and Cosine 1 Graphs of Sine and Cosine Exercise 1 Sketch a graph of y = cos(t). Label the multiples of π 2 and π 4 on your plot, as well as the amplitude and the period of the function. (Feel free to sketch the unit

More information

On uniquely k-determined permutations

On uniquely k-determined permutations On uniquely k-determined permutations Sergey Avgustinovich and Sergey Kitaev 16th March 2007 Abstract Motivated by a new point of view to study occurrences of consecutive patterns in permutations, we introduce

More information

Some forbidden rectangular chessboards with an (a, b)-knight s move

Some forbidden rectangular chessboards with an (a, b)-knight s move The 22 nd Annual Meeting in Mathematics (AMM 2017) Department of Mathematics, Faculty of Science Chiang Mai University, Chiang Mai, Thailand Some forbidden rectangular chessboards with an (a, b)-knight

More information

Successor Rules for Flipping Pancakes and Burnt Pancakes

Successor Rules for Flipping Pancakes and Burnt Pancakes Successor Rules for Flipping Pancakes and Burnt Pancakes J. Sawada a, A. Williams b a School of Computer Science, University of Guelph, Canada. Research supported by NSERC. E-mail: jsawada@uoguelph.ca

More information

Olympiad Combinatorics. Pranav A. Sriram

Olympiad Combinatorics. Pranav A. Sriram Olympiad Combinatorics Pranav A. Sriram August 2014 Chapter 2: Algorithms - Part II 1 Copyright notices All USAMO and USA Team Selection Test problems in this chapter are copyrighted by the Mathematical

More information

Odd king tours on even chessboards

Odd king tours on even chessboards Odd king tours on even chessboards D. Joyner and M. Fourte, Department of Mathematics, U. S. Naval Academy, Annapolis, MD 21402 12-4-97 In this paper we show that there is no complete odd king tour on

More information

Computability. What can be computed?

Computability. What can be computed? Computability What can be computed? Computability What can be computed? read/write tape 0 1 1 0 control Computability What can be computed? read/write tape 0 1 1 0 control Computability What can be computed?

More information

LINEAR EQUATIONS IN TWO VARIABLES

LINEAR EQUATIONS IN TWO VARIABLES LINEAR EQUATIONS IN TWO VARIABLES What You Should Learn Use slope to graph linear equations in two " variables. Find the slope of a line given two points on the line. Write linear equations in two variables.

More information

MAS336 Computational Problem Solving. Problem 3: Eight Queens

MAS336 Computational Problem Solving. Problem 3: Eight Queens MAS336 Computational Problem Solving Problem 3: Eight Queens Introduction Francis J. Wright, 2007 Topics: arrays, recursion, plotting, symmetry The problem is to find all the distinct ways of choosing

More information

Graphs and Network Flows IE411. Lecture 14. Dr. Ted Ralphs

Graphs and Network Flows IE411. Lecture 14. Dr. Ted Ralphs Graphs and Network Flows IE411 Lecture 14 Dr. Ted Ralphs IE411 Lecture 14 1 Review: Labeling Algorithm Pros Guaranteed to solve any max flow problem with integral arc capacities Provides constructive tool

More information

CMPS 12A Introduction to Programming Programming Assignment 5 In this assignment you will write a Java program that finds all solutions to the n-queens problem, for. Begin by reading the Wikipedia article

More information

Robust Reed Solomon Coded MPSK Modulation

Robust Reed Solomon Coded MPSK Modulation ITB J. ICT, Vol. 4, No. 2, 2, 95-4 95 Robust Reed Solomon Coded MPSK Modulation Emir M. Husni School of Electrical Engineering & Informatics, Institut Teknologi Bandung, Jl. Ganesha, Bandung 432, Email:

More information

Edge-disjoint tree representation of three tree degree sequences

Edge-disjoint tree representation of three tree degree sequences Edge-disjoint tree representation of three tree degree sequences Ian Min Gyu Seong Carleton College seongi@carleton.edu October 2, 208 Ian Min Gyu Seong (Carleton College) Trees October 2, 208 / 65 Trees

More information

CSE 370 Winter Homework 5 Solutions

CSE 370 Winter Homework 5 Solutions CSE 370 Winter 2008 Homework 5 Solutions 1) Carry Look-Ahead Adder (CLA) a) add1 b) add4 c) cla4 d) cla16 e) Gate Count: 118 gates add1 : 3 gates add4 : 4*Add1 = 12 gates cla4 : 14 gates cla16: (4*Add4)

More information

Informatics 2D: Tutorial 1 (Solutions)

Informatics 2D: Tutorial 1 (Solutions) Informatics 2D: Tutorial 1 (Solutions) Agents, Environment, Search Week 2 1 Agents and Environments Consider the following agents: A robot vacuum cleaner which follows a pre-set route around a house and

More information

CSE101: Algorithm Design and Analysis. Ragesh Jaiswal, CSE, UCSD

CSE101: Algorithm Design and Analysis. Ragesh Jaiswal, CSE, UCSD Longest increasing subsequence Problem Longest increasing subsequence: You are given a sequence of integers A[1], A[2],..., A[n] and you are asked to find a longest increasing subsequence of integers.

More information

Simple Search Algorithms

Simple Search Algorithms Lecture 3 of Artificial Intelligence Simple Search Algorithms AI Lec03/1 Topics of this lecture Random search Search with closed list Search with open list Depth-first and breadth-first search again Uniform-cost

More information

A New Method for the Visualization Binary Trees using L-Systems

A New Method for the Visualization Binary Trees using L-Systems A New Method for the Visualization Binary Trees using L-Systems A.M.Ponraj Abstract A drawing of a binary tree T maps each node of T to a distinct point in the plane and each edge (u v) of T to a chain

More information

UW-Madison's 2009 ACM-ICPC Individual Placement Test October 9th, 1:00-6:00pm, CS1350

UW-Madison's 2009 ACM-ICPC Individual Placement Test October 9th, 1:00-6:00pm, CS1350 UW-Madison's 2009 ACM-ICPC Individual Placement Test October 9th, 1:00-6:00pm, CS1350 Overview: This test consists of seven problems, which will be referred to by the following names (respective of order):

More information

Multiplayer Pushdown Games. Anil Seth IIT Kanpur

Multiplayer Pushdown Games. Anil Seth IIT Kanpur Multiplayer Pushdown Games Anil Seth IIT Kanpur Multiplayer Games we Consider These games are played on graphs (finite or infinite) Generalize two player infinite games. Any number of players are allowed.

More information

arxiv:cs/ v1 [cs.gt] 12 Mar 2007

arxiv:cs/ v1 [cs.gt] 12 Mar 2007 Linear time algorithms for Clobber Vincent D. Blondel, Julien M. Hendrickx and Raphaël M. Jungers arxiv:cs/0703054v1 [cs.gt] 12 Mar 2007 Department of Mathematical Engineering, Université catholique de

More information