Knight Tour. By: Marouf Baghdadi
|
|
- Quentin Whitehead
- 7 years ago
- Views:
Transcription
1 + Knight Tour By: Marouf Baghdadi
2 Introduction Knight Tour is a mathematical puzzle that involves a single knight on a chess board. This knight is allowed to move according to the laws of chess. The knight s objective is to visit every square on the board. One of the first mathematicians to research the problem was Leonhard Euler. A variation of the puzzle is to find a closed tour which brings the knight in its final move to a neighboring square to the one the tour started from. Graph Theory Analogy The graph s nodes are the squares of the board. It is only possible for two nodes to be adjacent if there is a legal knight move between them. Finding a knight tour is equivalent to finding a Hamiltonian path in the graph representation and finding a closed tour is equivalent to finding a Hamiltonian cycle in the graph representation. In theory the problem of determining whether an arbitrary graph has a Hamiltonian path is NPcomplete. However, it is known* for which boards there exists a knight tour and several linear (in the number of squares) algorithms for solving the problem. * Schwenk's Theorem For any m n board with m less than or equal to n, a closed knight's tour is always possible unless one or more of these three conditions are met: 1. m and n are both odd; m and n are not both 1 2. m = 1, 2, or 4; m and n are not both 1 3. m = 3 and n = 4, 6, or 8. The proof for the theorem is not provided here but is accessible in various sources. Uninformed search algorithms Since the search Space in the knight tour problem is finite it makes uninformed search algorithms such as BFS or DFS complete, meaning that if there is a solution both algorithms are guaranteed to find it.
3 From every square on the chess board there are at most 8 possible knight moves, which brings the total number of possible combinations of knight moves (n 2 ) 8, which means that normal graph search algorithms such as BFS or DFS would have the complexity of O((n 2 ) 8 ), meaning that these algorithms are exponential and inefficient. As an example take a 5x5 board and run DFS on it the algorithm would expand nodes in order to come up with a solution (very bad). 25,1,15,6,23 16,5,24,9,14 11,2,7,22,19 4,17,2,13,8 1,12,3,18,21 DFS solution for a 5 x 5 board Informed search algorithms The algorithm of Choice in the case of informed searching would be best first choice for several reasons. The depth of a solution in the search graph is known beforehand ( x 2 ) which makes algorithms such as A* and IDA* having performances that aren t better than best first choice algorithm. Local search algorithms aren t necessary since there is no local maximum in the problem; the algorithm either finds a solution and reports it or continues searching until all possibilities are covered. The heuristics As it has been mentioned above the depth of the solution is known beforehand. That means the used heuristics would not be normal search heuristics, but rather be along the lines of CSP (constraint satisfaction problems) heuristics. Specifically, they would be variations of the most constrained node heuristic.
4 The first heuristic is to prefer squares discovered so far that have the least available next moves to unvisited squares, ties are broken arbitrarily. This heuristic is choosing the most constrained node so as to try to avoid the situation where the square becomes unreachable further in the search process. The heuristic has a slight advantage on the amount of expanded nodes during search. But on the other hand the heuristic is still inefficient for two reasons: the first reason appears when using the heuristic on bigger boards since the number of squares with similar number of available moves increases and the heuristic s arbitrary way of breaking ties is not helping, the second reason of its inefficiency is that even though the most constrained square is chosen the search can still hit dead ends since the heuristic does not guarantee not to hit dead ends but rather try to avoid them. 18 Heuristic performance Heuristic performance x5 6x6 7x7 Results may vary due to arbitrary tie breaking. From the above diagram it is noticeable how inefficient this heuristic is on small boards where it expands over 1,5, nodes for a 7x7 board. However, this is still a better performance than DFS/BFS. An improvement over the previous heuristic would be is to add the ability for the search algorithm to detect boards that lead to dead ends before actually getting there. This can be achieved by scanning the board and checking if there is any unvisited square with no possible knight moves. If this is the case, then the board and its descendants are trimmed from the search tree which would obviously bring improvement in the running time of the search algorithm.
5 18 Heuristic with dead-end trimming Heuristic with dead-end trimming 4 2 5x5 6x6 7x7 8x8 Results may vary due to arbitrary tie breaking. From the above chart we see a serious improvement in the number of expanded nodes over the previous heuristic (without dead-end trimming). For instance, running the search with this heuristic on a 7x7 board expands nodes while the previous one expanded over 1,5, nodes. However, this is still not good enough since we can obviously see that bigger boards have exponential number of expanded nodes. Warnsdorff s rule The rule was presented by the mathematician H.C Warnsdorff in the 19 th century. Like before, the rule s goal is to prevent creating dead ends. However, this time the rule prefers squares with the minimum number of allowed moves which are deepest so far in the search tree and ties are broken arbitrarily, which makes the algorithm behave more like DFS than BFS. This heuristic shows incredible improvement over the previous heuristic since it keeps developing a certain path while avoiding dead ends until a solution is found. For small and some
6 medium boards this gives a linear running time but the heuristic still runs into trouble when running on bigger boards because of its arbitrary ways of breaking ties. 7 Warnsdorff's rule Warnsdorff's rule 2 1 5x5 6x6 7x7 8x8 9x9 1x1 11x11 12x12 13x13 14x14 24x24 Results may vary due to arbitrary tie breaking. The above graph shows the substantial improvement in performance that Warnsdorff s rule introduces. However, the rule fails on 25x25 boards and bigger and the results are again exponential. Furthest from center heuristic The main problem that Warnsdorff s rule runs into is its way of breaking ties since on 25x25 boards and bigger it is easy to split the board into two parts with no possible move from one part to the other. To counter this problem, the following heuristic should be applied to breaking ties that result from Warnsdorff s rule. Given two squares that are equally valued by Warnsdorff s rule, the one which is furthest (Euclidean) from the center is preferred. This way the algorithm will try to visit outer squares first then move on to the inner squares which prevents the creation of disjoint areas in the board.
7 Warnsdorff's rule with furthest from center heuristic Warnsdorff's rule with furthest from center heuristic 1 5 5x5 1x1 15x15 2x2 25x25 4x4 5x5 6x6 The above graph shows how on big graphs the heuristic has a linear amount of expanded nodes which leads to a linear running time. Closed knight tour The closed knight tour is computationally harder than the open tour since it has a stricter condition on the finishing state which is a small subset of possible finishing states in the open tour. The used heuristic here is the furthest from center. It should be noted that for an odd board dimension there doesn t exist a closed knight tour**. **
8 3 Closed tour with heuristic Closed tour with heuristic 1 5 6x6 8x8 1x1 12x12 14x14 18x18 2x2 4x4 5x5 Results may vary based on the starting location; closer to the center a fewer number of nodes are expanded. In this graph the starting position was at the center of the board. A variant of the heuristic (better in some cases) is to change the preference of moves; meaning that instead of only preferring moves farthest from center, The heuristic will first prefer moves that are have fewest possible neighbors which are the farthest from the starting point, and break ties by choosing the move which puts the knight furthest from the center. This way the searching can try to keep the squares closest to the starting position unvisited for as long as possible while avoiding to split the board into disconnected unvisited parts. The heuristic isn t perfect, seeing that on big boards if the starting position is too far from the center the algorithm fails to give reasonable performance. While the previous heuristic showed bad performance for squares that aren t at the center of the board, this heuristic gives good performance that are a little further from the center, and still on bigger boards if the starting point is too far from the center the search would require exponential running time/memory.
9 Warnsdorff with farthest from start then farthest from center 6x6 8x8 1x1 12x12 14x14 16x16 18x18 2x2 4x4 Warnsdorff with farthest from start then farthest from center The graph shows results are from staring points that have Euclidean distance of 1-3 from the center of the board. In conclusion, while generally the problem of finding a Hamiltonian path/cycle is NP-complete, it is possible to find an efficient searching algorithm for a specific subset of the problem similar to the one shown here, it might even be possible to use the heuristics shown in this project in the general case of a Hamiltonian path search. A second thing worth mentioning is that it should be noticed that the bigger the dimension of the board gets the more tie breaking becomes an issue and better heuristics should be devised for breaking ties. The program The program has two agents, one of them is the automated search agent while the other is an agent that actively receives input from the user to solve the board. To compile the program, either run the attached Makefile with the command make all or run the following command: javac *.java Running the program: the command for running the program java Main <parameters go here>
10 The first parameter should be an integer which determines the size of the board. The second and third parameters should be integers that tell the starting location on the board. The fourth parameter is a string that indicates which agent to use: h for human age or -a for the automated agent. In case of human agent, after the program has started running and asking for input, the user must format his input in the form x,y where x and y are integers that define the square the knight should move to. The fifth parameter is a string that indicates the desired search algorithm the automated algorithm should use. -bfs or -dfs makes the algorithm use BFS or DFS respectively. -bfc makes the use of best first choice algorithm, with no additional parameters, the used heuristic is the first introduced heuristic (the one that prefers minimum next squares so far). Optional additional parameters: -o / -c : Should indicate whether the desired tour is open or closed. The default is open. -t : Indicates that the algorithm should employ dead end trimming. -w : Indicates that Warnsdorff s rule should be applied. -r/-g : Should only be used if the -w is used. -r flag indicates that the furthest from center heuristic should be used. g flag indicates that furthest from start heuristic should be used.
Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits
Outline NP-completeness Examples of Easy vs. Hard problems Euler circuit vs. Hamiltonian circuit Shortest Path vs. Longest Path 2-pairs sum vs. general Subset Sum Reducing one problem to another Clique
More informationComputer Algorithms. NP-Complete Problems. CISC 4080 Yanjun Li
Computer Algorithms NP-Complete Problems NP-completeness The quest for efficient algorithms is about finding clever ways to bypass the process of exhaustive search, using clues from the input in order
More informationRandom Map Generator v1.0 User s Guide
Random Map Generator v1.0 User s Guide Jonathan Teutenberg 2003 1 Map Generation Overview...4 1.1 Command Line...4 1.2 Operation Flow...4 2 Map Initialisation...5 2.1 Initialisation Parameters...5 -w xxxxxxx...5
More informationSmall Maximal Independent Sets and Faster Exact Graph Coloring
Small Maximal Independent Sets and Faster Exact Graph Coloring David Eppstein Univ. of California, Irvine Dept. of Information and Computer Science The Exact Graph Coloring Problem: Given an undirected
More informationComplexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar
Complexity Theory IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar Outline Goals Computation of Problems Concepts and Definitions Complexity Classes and Problems Polynomial Time Reductions Examples
More information5.1 Bipartite Matching
CS787: Advanced Algorithms Lecture 5: Applications of Network Flow In the last lecture, we looked at the problem of finding the maximum flow in a graph, and how it can be efficiently solved using the Ford-Fulkerson
More informationOA4-13 Rounding on a Number Line Pages 80 81
OA4-13 Rounding on a Number Line Pages 80 81 STANDARDS 3.NBT.A.1, 4.NBT.A.3 Goals Students will round to the closest ten, except when the number is exactly halfway between a multiple of ten. PRIOR KNOWLEDGE
More informationNear Optimal Solutions
Near Optimal Solutions Many important optimization problems are lacking efficient solutions. NP-Complete problems unlikely to have polynomial time solutions. Good heuristics important for such problems.
More informationV. Adamchik 1. Graph Theory. Victor Adamchik. Fall of 2005
V. Adamchik 1 Graph Theory Victor Adamchik Fall of 2005 Plan 1. Basic Vocabulary 2. Regular graph 3. Connectivity 4. Representing Graphs Introduction A.Aho and J.Ulman acknowledge that Fundamentally, computer
More informationWRITING PROOFS. Christopher Heil Georgia Institute of Technology
WRITING PROOFS Christopher Heil Georgia Institute of Technology A theorem is just a statement of fact A proof of the theorem is a logical explanation of why the theorem is true Many theorems have this
More informationThe Taxman Game. Robert K. Moniot September 5, 2003
The Taxman Game Robert K. Moniot September 5, 2003 1 Introduction Want to know how to beat the taxman? Legally, that is? Read on, and we will explore this cute little mathematical game. The taxman game
More informationHomework until Test #2
MATH31: Number Theory Homework until Test # Philipp BRAUN Section 3.1 page 43, 1. It has been conjectured that there are infinitely many primes of the form n. Exhibit five such primes. Solution. Five such
More informationDiscrete Mathematics & Mathematical Reasoning Chapter 10: Graphs
Discrete Mathematics & Mathematical Reasoning Chapter 10: Graphs Kousha Etessami U. of Edinburgh, UK Kousha Etessami (U. of Edinburgh, UK) Discrete Mathematics (Chapter 6) 1 / 13 Overview Graphs and Graph
More informationAn Introduction to Number Theory Prime Numbers and Their Applications.
East Tennessee State University Digital Commons @ East Tennessee State University Electronic Theses and Dissertations 8-2006 An Introduction to Number Theory Prime Numbers and Their Applications. Crystal
More informationIntroduction. Appendix D Mathematical Induction D1
Appendix D Mathematical Induction D D Mathematical Induction Use mathematical induction to prove a formula. Find a sum of powers of integers. Find a formula for a finite sum. Use finite differences to
More informationApproximation Algorithms
Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms
More informationIntroduction to Algorithms. Part 3: P, NP Hard Problems
Introduction to Algorithms Part 3: P, NP Hard Problems 1) Polynomial Time: P and NP 2) NP-Completeness 3) Dealing with Hard Problems 4) Lower Bounds 5) Books c Wayne Goddard, Clemson University, 2004 Chapter
More informationIntroduction Solvability Rules Computer Solution Implementation. Connect Four. March 9, 2010. Connect Four
March 9, 2010 is a tic-tac-toe like game in which two players drop discs into a 7x6 board. The first player to get four in a row (either vertically, horizontally, or diagonally) wins. The game was first
More informationGenetic Algorithms and Sudoku
Genetic Algorithms and Sudoku Dr. John M. Weiss Department of Mathematics and Computer Science South Dakota School of Mines and Technology (SDSM&T) Rapid City, SD 57701-3995 john.weiss@sdsmt.edu MICS 2009
More informationChapter 6: Graph Theory
Chapter 6: Graph Theory Graph theory deals with routing and network problems and if it is possible to find a best route, whether that means the least expensive, least amount of time or the least distance.
More informationCMPSCI611: Approximating MAX-CUT Lecture 20
CMPSCI611: Approximating MAX-CUT Lecture 20 For the next two lectures we ll be seeing examples of approximation algorithms for interesting NP-hard problems. Today we consider MAX-CUT, which we proved to
More informationNP-complete? NP-hard? Some Foundations of Complexity. Prof. Sven Hartmann Clausthal University of Technology Department of Informatics
NP-complete? NP-hard? Some Foundations of Complexity Prof. Sven Hartmann Clausthal University of Technology Department of Informatics Tractability of Problems Some problems are undecidable: no computer
More informationMathematics on the Soccer Field
Mathematics on the Soccer Field Katie Purdy Abstract: This paper takes the everyday activity of soccer and uncovers the mathematics that can be used to help optimize goal scoring. The four situations that
More informationChapter 11. 11.1 Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling
Approximation Algorithms Chapter Approximation Algorithms Q. Suppose I need to solve an NP-hard problem. What should I do? A. Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one
More informationSession 6 Number Theory
Key Terms in This Session Session 6 Number Theory Previously Introduced counting numbers factor factor tree prime number New in This Session composite number greatest common factor least common multiple
More informationGraph Theory Problems and Solutions
raph Theory Problems and Solutions Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles November, 005 Problems. Prove that the sum of the degrees of the vertices of any finite graph is
More informationAI: A Modern Approach, Chpts. 3-4 Russell and Norvig
AI: A Modern Approach, Chpts. 3-4 Russell and Norvig Sequential Decision Making in Robotics CS 599 Geoffrey Hollinger and Gaurav Sukhatme (Some slide content from Stuart Russell and HweeTou Ng) Spring,
More informationGuessing Game: NP-Complete?
Guessing Game: NP-Complete? 1. LONGEST-PATH: Given a graph G = (V, E), does there exists a simple path of length at least k edges? YES 2. SHORTEST-PATH: Given a graph G = (V, E), does there exists a simple
More informationThis puzzle is based on the following anecdote concerning a Hungarian sociologist and his observations of circles of friends among children.
0.1 Friend Trends This puzzle is based on the following anecdote concerning a Hungarian sociologist and his observations of circles of friends among children. In the 1950s, a Hungarian sociologist S. Szalai
More informationeach college c i C has a capacity q i - the maximum number of students it will admit
n colleges in a set C, m applicants in a set A, where m is much larger than n. each college c i C has a capacity q i - the maximum number of students it will admit each college c i has a strict order i
More informationTutorial 8. NP-Complete Problems
Tutorial 8 NP-Complete Problems Decision Problem Statement of a decision problem Part 1: instance description defining the input Part 2: question stating the actual yesor-no question A decision problem
More informationARTIFICIAL INTELLIGENCE (CSCU9YE) LECTURE 6: MACHINE LEARNING 2: UNSUPERVISED LEARNING (CLUSTERING)
ARTIFICIAL INTELLIGENCE (CSCU9YE) LECTURE 6: MACHINE LEARNING 2: UNSUPERVISED LEARNING (CLUSTERING) Gabriela Ochoa http://www.cs.stir.ac.uk/~goc/ OUTLINE Preliminaries Classification and Clustering Applications
More informationSession 7 Bivariate Data and Analysis
Session 7 Bivariate Data and Analysis Key Terms for This Session Previously Introduced mean standard deviation New in This Session association bivariate analysis contingency table co-variation least squares
More information! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.
Approximation Algorithms 11 Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of three
More informationAn Introduction to The A* Algorithm
An Introduction to The A* Algorithm Introduction The A* (A-Star) algorithm depicts one of the most popular AI methods used to identify the shortest path between 2 locations in a mapped area. The A* algorithm
More informationCAD Algorithms. P and NP
CAD Algorithms The Classes P and NP Mohammad Tehranipoor ECE Department 6 September 2010 1 P and NP P and NP are two families of problems. P is a class which contains all of the problems we solve using
More information1.2. Successive Differences
1. An Application of Inductive Reasoning: Number Patterns In the previous section we introduced inductive reasoning, and we showed how it can be applied in predicting what comes next in a list of numbers
More informationRadicals - Multiply and Divide Radicals
8. Radicals - Multiply and Divide Radicals Objective: Multiply and divide radicals using the product and quotient rules of radicals. Multiplying radicals is very simple if the index on all the radicals
More informationSmart Graphics: Methoden 3 Suche, Constraints
Smart Graphics: Methoden 3 Suche, Constraints Vorlesung Smart Graphics LMU München Medieninformatik Butz/Boring Smart Graphics SS2007 Methoden: Suche 2 Folie 1 Themen heute Suchverfahren Hillclimbing Simulated
More informationKenken For Teachers. Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles June 27, 2010. Abstract
Kenken For Teachers Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles June 7, 00 Abstract Kenken is a puzzle whose solution requires a combination of logic and simple arithmetic skills.
More informationPythagorean Theorem: Proof and Applications
Pythagorean Theorem: Proof and Applications Kamel Al-Khaled & Ameen Alawneh Department of Mathematics and Statistics, Jordan University of Science and Technology IRBID 22110, JORDAN E-mail: kamel@just.edu.jo,
More informationIE 680 Special Topics in Production Systems: Networks, Routing and Logistics*
IE 680 Special Topics in Production Systems: Networks, Routing and Logistics* Rakesh Nagi Department of Industrial Engineering University at Buffalo (SUNY) *Lecture notes from Network Flows by Ahuja, Magnanti
More information! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.
Approximation Algorithms Chapter Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of
More informationCycle transversals in bounded degree graphs
Electronic Notes in Discrete Mathematics 35 (2009) 189 195 www.elsevier.com/locate/endm Cycle transversals in bounded degree graphs M. Groshaus a,2,3 P. Hell b,3 S. Klein c,1,3 L. T. Nogueira d,1,3 F.
More informationNP-Completeness I. Lecture 19. 19.1 Overview. 19.2 Introduction: Reduction and Expressiveness
Lecture 19 NP-Completeness I 19.1 Overview In the past few lectures we have looked at increasingly more expressive problems that we were able to solve using efficient algorithms. In this lecture we introduce
More informationRevised Version of Chapter 23. We learned long ago how to solve linear congruences. ax c (mod m)
Chapter 23 Squares Modulo p Revised Version of Chapter 23 We learned long ago how to solve linear congruences ax c (mod m) (see Chapter 8). It s now time to take the plunge and move on to quadratic equations.
More informationIntroduction to Data Structures
Introduction to Data Structures Albert Gural October 28, 2011 1 Introduction When trying to convert from an algorithm to the actual code, one important aspect to consider is how to store and manipulate
More informationB490 Mining the Big Data. 2 Clustering
B490 Mining the Big Data 2 Clustering Qin Zhang 1-1 Motivations Group together similar documents/webpages/images/people/proteins/products One of the most important problems in machine learning, pattern
More informationJUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004
Scientiae Mathematicae Japonicae Online, Vol. 10, (2004), 431 437 431 JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS Ondřej Čepeka and Shao Chin Sung b Received December May 12, 2003; revised February
More information6.099, Spring Semester, 2006 Assignment for Week 13 1
6.099, Spring Semester, 2006 Assignment for Week 13 1 MASSACHVSETTS INSTITVTE OF TECHNOLOGY Department of Electrical Engineering and Computer Science 6.099 Introduction to EECS I Spring Semester, 2006
More informationPOLYNOMIAL FUNCTIONS
POLYNOMIAL FUNCTIONS Polynomial Division.. 314 The Rational Zero Test.....317 Descarte s Rule of Signs... 319 The Remainder Theorem.....31 Finding all Zeros of a Polynomial Function.......33 Writing a
More informationGraph Theory Origin and Seven Bridges of Königsberg -Rhishikesh
Graph Theory Origin and Seven Bridges of Königsberg -Rhishikesh Graph Theory: Graph theory can be defined as the study of graphs; Graphs are mathematical structures used to model pair-wise relations between
More informationComputational complexity theory
Computational complexity theory Goal: A general theory of the resources needed to solve computational problems What types of resources? Time What types of computational problems? decision problem Decision
More informationCoNP and Function Problems
CoNP and Function Problems conp By definition, conp is the class of problems whose complement is in NP. NP is the class of problems that have succinct certificates. conp is therefore the class of problems
More informationData Structures in Java. Session 15 Instructor: Bert Huang http://www1.cs.columbia.edu/~bert/courses/3134
Data Structures in Java Session 15 Instructor: Bert Huang http://www1.cs.columbia.edu/~bert/courses/3134 Announcements Homework 4 on website No class on Tuesday Midterm grades almost done Review Indexing
More information1 if 1 x 0 1 if 0 x 1
Chapter 3 Continuity In this chapter we begin by defining the fundamental notion of continuity for real valued functions of a single real variable. When trying to decide whether a given function is or
More informationSome Minesweeper Configurations
Some Minesweeper Configurations Richard Kaye School of Mathematics The University of Birmingham Birmingham B15 2TT RWKaye@bhamacuk http://webmatbhamacuk/rwkaye/ 31st May 2007 Contents 1 Introduction 2
More informationUnion-Find Algorithms. network connectivity quick find quick union improvements applications
Union-Find Algorithms network connectivity quick find quick union improvements applications 1 Subtext of today s lecture (and this course) Steps to developing a usable algorithm. Define the problem. Find
More informationPigeonhole Principle Solutions
Pigeonhole Principle Solutions 1. Show that if we take n + 1 numbers from the set {1, 2,..., 2n}, then some pair of numbers will have no factors in common. Solution: Note that consecutive numbers (such
More informationAlgorithms and optimization for search engine marketing
Algorithms and optimization for search engine marketing Using portfolio optimization to achieve optimal performance of a search campaign and better forecast ROI Contents 1: The portfolio approach 3: Why
More informationFast Sequential Summation Algorithms Using Augmented Data Structures
Fast Sequential Summation Algorithms Using Augmented Data Structures Vadim Stadnik vadim.stadnik@gmail.com Abstract This paper provides an introduction to the design of augmented data structures that offer
More informationSECTION 10-2 Mathematical Induction
73 0 Sequences and Series 6. Approximate e 0. using the first five terms of the series. Compare this approximation with your calculator evaluation of e 0.. 6. Approximate e 0.5 using the first five terms
More informationReading 13 : Finite State Automata and Regular Expressions
CS/Math 24: Introduction to Discrete Mathematics Fall 25 Reading 3 : Finite State Automata and Regular Expressions Instructors: Beck Hasti, Gautam Prakriya In this reading we study a mathematical model
More informationMATH 13150: Freshman Seminar Unit 10
MATH 13150: Freshman Seminar Unit 10 1. Relatively prime numbers and Euler s function In this chapter, we are going to discuss when two numbers are relatively prime, and learn how to count the numbers
More informationFactorizations: Searching for Factor Strings
" 1 Factorizations: Searching for Factor Strings Some numbers can be written as the product of several different pairs of factors. For example, can be written as 1, 0,, 0, and. It is also possible to write
More informationCSE 4351/5351 Notes 7: Task Scheduling & Load Balancing
CSE / Notes : Task Scheduling & Load Balancing Task Scheduling A task is a (sequential) activity that uses a set of inputs to produce a set of outputs. A task (precedence) graph is an acyclic, directed
More informationPrimes in Sequences. Lee 1. By: Jae Young Lee. Project for MA 341 (Number Theory) Boston University Summer Term I 2009 Instructor: Kalin Kostadinov
Lee 1 Primes in Sequences By: Jae Young Lee Project for MA 341 (Number Theory) Boston University Summer Term I 2009 Instructor: Kalin Kostadinov Lee 2 Jae Young Lee MA341 Number Theory PRIMES IN SEQUENCES
More informationConstraint Programming for Random Testing of a Trading System
Constraint Programming for Random Testing of a Trading System Roberto Castañeda Lozano Master s thesis. Stockholm, January 28, 2010. School of Information and Communication Technology KTH Royal Institute
More informationLecture 7: NP-Complete Problems
IAS/PCMI Summer Session 2000 Clay Mathematics Undergraduate Program Basic Course on Computational Complexity Lecture 7: NP-Complete Problems David Mix Barrington and Alexis Maciel July 25, 2000 1. Circuit
More information8.1 Min Degree Spanning Tree
CS880: Approximations Algorithms Scribe: Siddharth Barman Lecturer: Shuchi Chawla Topic: Min Degree Spanning Tree Date: 02/15/07 In this lecture we give a local search based algorithm for the Min Degree
More informationUniversality in the theory of algorithms and computer science
Universality in the theory of algorithms and computer science Alexander Shen Computational models The notion of computable function was introduced in 1930ies. Simplifying (a rather interesting and puzzling)
More informationCPSC 211 Data Structures & Implementations (c) Texas A&M University [ 313]
CPSC 211 Data Structures & Implementations (c) Texas A&M University [ 313] File Structures A file is a collection of data stored on mass storage (e.g., disk or tape) Why on mass storage? too big to fit
More informationFixed Point Theorems
Fixed Point Theorems Definition: Let X be a set and let T : X X be a function that maps X into itself. (Such a function is often called an operator, a transformation, or a transform on X, and the notation
More information1. The RSA algorithm In this chapter, we ll learn how the RSA algorithm works.
MATH 13150: Freshman Seminar Unit 18 1. The RSA algorithm In this chapter, we ll learn how the RSA algorithm works. 1.1. Bob and Alice. Suppose that Alice wants to send a message to Bob over the internet
More information5.1 Radical Notation and Rational Exponents
Section 5.1 Radical Notation and Rational Exponents 1 5.1 Radical Notation and Rational Exponents We now review how exponents can be used to describe not only powers (such as 5 2 and 2 3 ), but also roots
More informationApplied Algorithm Design Lecture 5
Applied Algorithm Design Lecture 5 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 5 1 / 86 Approximation Algorithms Pietro Michiardi (Eurecom) Applied Algorithm Design
More informationThe Classes P and NP
The Classes P and NP We now shift gears slightly and restrict our attention to the examination of two families of problems which are very important to computer scientists. These families constitute the
More informationA Non-Linear Schema Theorem for Genetic Algorithms
A Non-Linear Schema Theorem for Genetic Algorithms William A Greene Computer Science Department University of New Orleans New Orleans, LA 70148 bill@csunoedu 504-280-6755 Abstract We generalize Holland
More informationASSIGNMENT 4 PREDICTIVE MODELING AND GAINS CHARTS
DATABASE MARKETING Fall 2015, max 24 credits Dead line 15.10. ASSIGNMENT 4 PREDICTIVE MODELING AND GAINS CHARTS PART A Gains chart with excel Prepare a gains chart from the data in \\work\courses\e\27\e20100\ass4b.xls.
More informationConstrained curve and surface fitting
Constrained curve and surface fitting Simon Flöry FSP-Meeting Strobl (June 20, 2006), floery@geoemtrie.tuwien.ac.at, Vienna University of Technology Overview Introduction Motivation, Overview, Problem
More informationDetermine If An Equation Represents a Function
Question : What is a linear function? The term linear function consists of two parts: linear and function. To understand what these terms mean together, we must first understand what a function is. The
More informationCOMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH. 1. Introduction
COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH ZACHARY ABEL 1. Introduction In this survey we discuss properties of the Higman-Sims graph, which has 100 vertices, 1100 edges, and is 22 regular. In fact
More informationOne last point: we started off this book by introducing another famously hard search problem:
S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani 261 Factoring One last point: we started off this book by introducing another famously hard search problem: FACTORING, the task of finding all prime factors
More information2) Write in detail the issues in the design of code generator.
COMPUTER SCIENCE AND ENGINEERING VI SEM CSE Principles of Compiler Design Unit-IV Question and answers UNIT IV CODE GENERATION 9 Issues in the design of code generator The target machine Runtime Storage
More informationComplexity Theory. Jörg Kreiker. Summer term 2010. Chair for Theoretical Computer Science Prof. Esparza TU München
Complexity Theory Jörg Kreiker Chair for Theoretical Computer Science Prof. Esparza TU München Summer term 2010 Lecture 8 PSPACE 3 Intro Agenda Wrap-up Ladner proof and time vs. space succinctness QBF
More informationIB Math Research Problem
Vincent Chu Block F IB Math Research Problem The product of all factors of 2000 can be found using several methods. One of the methods I employed in the beginning is a primitive one I wrote a computer
More informationCHAPTER 3. Methods of Proofs. 1. Logical Arguments and Formal Proofs
CHAPTER 3 Methods of Proofs 1. Logical Arguments and Formal Proofs 1.1. Basic Terminology. An axiom is a statement that is given to be true. A rule of inference is a logical rule that is used to deduce
More informationG C.3 Construct the inscribed and circumscribed circles of a triangle, and prove properties of angles for a quadrilateral inscribed in a circle.
Performance Assessment Task Circle and Squares Grade 10 This task challenges a student to analyze characteristics of 2 dimensional shapes to develop mathematical arguments about geometric relationships.
More informationUSING BACKTRACKING TO SOLVE THE SCRAMBLE SQUARES PUZZLE
USING BACKTRACKING TO SOLVE THE SCRAMBLE SQUARES PUZZLE Keith Brandt, Kevin R. Burger, Jason Downing, Stuart Kilzer Mathematics, Computer Science, and Physics Rockhurst University, 1100 Rockhurst Road,
More informationAUTOMATED TEST GENERATION FOR SOFTWARE COMPONENTS
TKK Reports in Information and Computer Science Espoo 2009 TKK-ICS-R26 AUTOMATED TEST GENERATION FOR SOFTWARE COMPONENTS Kari Kähkönen ABTEKNILLINEN KORKEAKOULU TEKNISKA HÖGSKOLAN HELSINKI UNIVERSITY OF
More informationInteger Factorization using the Quadratic Sieve
Integer Factorization using the Quadratic Sieve Chad Seibert* Division of Science and Mathematics University of Minnesota, Morris Morris, MN 56567 seib0060@morris.umn.edu March 16, 2011 Abstract We give
More informationFrom Last Time: Remove (Delete) Operation
CSE 32 Lecture : More on Search Trees Today s Topics: Lazy Operations Run Time Analysis of Binary Search Tree Operations Balanced Search Trees AVL Trees and Rotations Covered in Chapter of the text From
More informationTuring Machines: An Introduction
CIT 596 Theory of Computation 1 We have seen several abstract models of computing devices: Deterministic Finite Automata, Nondeterministic Finite Automata, Nondeterministic Finite Automata with ɛ-transitions,
More informationFormal Languages and Automata Theory - Regular Expressions and Finite Automata -
Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Samarjit Chakraborty Computer Engineering and Networks Laboratory Swiss Federal Institute of Technology (ETH) Zürich March
More information4.2 Euclid s Classification of Pythagorean Triples
178 4. Number Theory: Fermat s Last Theorem Exercise 4.7: A primitive Pythagorean triple is one in which any two of the three numbers are relatively prime. Show that every multiple of a Pythagorean triple
More informationRepresenting Vector Fields Using Field Line Diagrams
Minds On Physics Activity FFá2 5 Representing Vector Fields Using Field Line Diagrams Purpose and Expected Outcome One way of representing vector fields is using arrows to indicate the strength and direction
More informationLVQ Plug-In Algorithm for SQL Server
LVQ Plug-In Algorithm for SQL Server Licínia Pedro Monteiro Instituto Superior Técnico licinia.monteiro@tagus.ist.utl.pt I. Executive Summary In this Resume we describe a new functionality implemented
More information6.080/6.089 GITCS Feb 12, 2008. Lecture 3
6.8/6.89 GITCS Feb 2, 28 Lecturer: Scott Aaronson Lecture 3 Scribe: Adam Rogal Administrivia. Scribe notes The purpose of scribe notes is to transcribe our lectures. Although I have formal notes of my
More informationA Strategy for Teaching Finite Element Analysis to Undergraduate Students
A Strategy for Teaching Finite Element Analysis to Undergraduate Students Gordon Smyrell, School of Computing and Mathematics, University of Teesside The analytical power and design flexibility offered
More informationResearch Paper Business Analytics. Applications for the Vehicle Routing Problem. Jelmer Blok
Research Paper Business Analytics Applications for the Vehicle Routing Problem Jelmer Blok Applications for the Vehicle Routing Problem Jelmer Blok Research Paper Vrije Universiteit Amsterdam Faculteit
More information