Constraint Logic Programming, Solution and Optimization: Eternity II

Size: px
Start display at page:

Download "Constraint Logic Programming, Solution and Optimization: Eternity II"

Transcription

1 Constraint Logic Programming, Solution and Optimization: Eternity II António Jorge Ferreira Meireles Alpedrinha Ramos 1, Daniela Filipa Portela Dias 1 1 FEUP-PL, Turma 1MIEIC3, Grupo 03, Faculdade de Engenharia da Universidade do Porto Departamento de Engenharia Informática Roberto Frias Street, Porto, Portugal {ei06033, ei06025}@fe.up.pt Abstract This article focuses on a project proposed to us in the context of Logic Programming subject and describes an optimized method to solve Eternity II puzzles. This game is an edge matching puzzle. In this project the main goal was to create some sub puzzles and solve them efficiently using Constraint Programming and PROLOG as the implementation language and the module of constraints in finite domains, clp(fd). To achieve an optimized solver, that works more efficiently, there was developed more than one solving method and was create a benchmark that exhaustively tests the different implemented methods. Keywords: Prolog, Puzzle Solvers, Constraint Programming, Eternity II, Edge Matching Puzzles. 1 Introduction In the world as we know it today, people are more and more demanding which increases the importance of optimized methods in software, games, etc. This project s main goal consists of developing a program using Constraint Logic Programming that solves a NP-complete problem, like Eternity II. For this, it was used the developing system SICStus Prolog. First it s important to understand the concept of Constraint Programming, which is a programming paradigm in which relationships between variables are defined using constraints. Constraints don t specify steps of execution, but rather the properties of a solution to be found. The host language for this project is PROLOG, so it uses Logic Constraint Programming. The two paradigms share many important features, like logical variables and backtracking. Today most Prolog implementations include one or more libraries for constraint logic programming, like the module of constraints in finite domains, clp(fd) [1]. The constraint programming approach is to search for a state of the world in which all constraints are satisfied at the same time. The constraint program searches for values for all the variables.

2 2 António Ramos, Daniela Dias As it was said before the problem which had to be solved was Eternity II, for 9 to 64 pieces, and there is no higher motivation than to try to solve one of the most famous puzzles in the world. The game Eternity II comes after Eternity I which had thousands of fans, since 8 years ago a simple student won one thousand pounds for solving the puzzle in only 5 months. The Eternity II puzzle, which was created by Christopher Monckton, is an edgematching puzzle which involves placing 256 square puzzle pieces into a 16 by 16 grid. There are 22 colors, not including the gray edges. Opposite to other puzzles which have just one solution, Eternity II may have thousands of ways to be finished; however it is not easy and can take years. The number of possible configurations for the Eternity II puzzle, assuming all the pieces are distinct, and ignoring the fixed pieces with pre-determined positions, is 256! 4 256, approximately If taking into account the fixed piece in the center and the restrictions set on the pieces on the edge the number of configurations can be: 1 4! 56! 195! 4 195, roughly [2]. "Our calculations are that if you used the world s most powerful computer and let it run from now until the projected end of the universe, it might not stumble across one of the solutions." (Christopher Monckton, The Times, in 2005) Our goal was not to solve the real Eternity II puzzle, but rather solve similar and smaller puzzles, modifying the program to work more efficiently and improving the constraints used in search for better ways to select the variables to be processed each time. This article is divided in 9 sections: section 2 describes the problem proposed in the context of Logic Programming subject and the approach used to create the program; section 3 presents all the data files used on this project and section 4 presents the decision variables used; section 5 describes the constraints that were applied to this problem and its implementation; section 6 focuses on the labeling strategy that was developed, with particularly attention to the method which variables are chosen; section 7 shows how the solution is viewed by users on the main screen; section 8 demonstrates the statistics and results obtained and, finally, section 9 is a reflection about the work, what is concluded, the advantages and limitations of this proposition and how the developed work can be improved. 2 Problem Description As it was previously said, this article focuses on a program that solves reduced puzzles of the game Eternity II, using Constraint Logic Programming. It seems impossible to use a computer to solve the real game which has 256 pieces, so this method was created to be used only in smaller puzzles. The puzzle board has N by N pieces organized in a list and the number of colors used depends on the puzzle being solved.

3 Constraint Logic Programming, Solution and Optimization: Eternity II Objective Eternity II s starts with an empty board and an amount of pieces randomly disposed. The main objective for this game is to place all the available pieces in the board, matching all the adjacent edges like it s shown in figure 1. Fig. 1 Simplified Representation of a complete 4 by 4, puzzle board and the original randomly disposed pieces (adapted from [5]) 2.2. Pieces Each puzzle piece has its edges on one side marked with different color combinations, each of which must match precisely with the respectively side of each adjacent piece when the puzzle is complete. Each piece can be used in only 4 orientations. The pieces which contain the color that is defined as border must be in the perimeter of the board. 3 Data Files To do the testing work that supports this article it were used some structured text files, adapted from the boards set available on [3] as follows: <N, NColors> <piece1color1, piece1color2, piece1color3, piece1color4> <piece2color1, piece2color2, piece2color3, piece2color4> <...> <piecenxncolor1, piecenxncolor2, piecenxncolor3, piecenxncolor4> Where: Dim is the dimension of the side of the grid. The board should have a Dim by Dim grid.

4 4 António Ramos, Daniela Dias NColors is the number of colors used in the puzzle. Each line corresponds to one piece and each integer before the comma is the color that identifies the respectively side of the piece. There should be written NxN pieces. 4 Decision Variables Using the right variables and the right domains is a big step for optimizing the problem s solution. So after thinking a lot about the program s structure it was decided that the variables used would be as follows and as it can be seen in figure 2: Rotation: It s a list that represents the rotation used for each piece. It has the size of the square dimension of the board used and its variables have a domain defined in the interval [0, 3]. Piece in Position: A list that contains the piece whose index position indicates its position in the board. The size of this list is the square dimension of the board and the domain of the variables is defined in the interval [0, Number of pieces minus 1]. Values: This list contains the colors of the pieces in their final position. These variables have a domain defined in the interval [0, Number of colors used] and its size is 4 times the square dimension of the board, because each piece is represented by its sequence of colored edges. Fig. 2 Simplified Representation of the Eternity II approach made in this project

5 Constraint Logic Programming, Solution and Optimization: Eternity II 5 5 Constraints To solve a problem in Constraint Logic Programming the most important step is to create the constraints because these steps do not only solve the puzzle but also can help optimizing the whole solution. The constraints used were: Constraint for the borders of the grid: Guaranteeing that the pieces which have the color that represent the border (gray) appear in the perimeter of the grid. Constraining Pieces to be different: Guaranteeing that do not appear any repeated pieces. Force adjacent edges to be equal: separated in to predicates that guarantee that the adjacent edges of the pieces match the exactly same color, horizontally and vertically. Association of values with the rotations of the same piece: this constraint makes sure that when a rotation is made it indicates the actual piece it was meant to refer to by associating the list with the pieces color values and the list of rotations. In this case, there is a list VPecas which has each piece represented in the following way, to make it easier to determine the rotation: [ ]. The first four elements represent the initial piece and to retrieve this piece with a rotation it s just increment the initial position of the color to the number of the rotation. Eliminating symmetries: guarantees that the solver doesn t give the same solution four times, where the only difference is that the puzzle appears each time in a rotated position. 6 Labeling Strategy In the search for optimization and more efficiency in solving the problem we have to strategies for labeling: Labeling Routine from clpfd module library: this strategy searches in the pieces in position list and in the rotations list for variables that respect all the constraints until it finds a solution. mylabel static Routine: this strategy is similar to the previously described but was implemented in a simpler way. mylabel ignores Routine: similar to mylabel static but ignores the variables defined by constraint spreading. mylabel dynamic Routine: this strategy uses a dynamic variables selection method. In variables selection options it is used the set Piece/Rotation so that when a piece is chosen into a variable, its respective rotation is also chosen. To decide the next variable to be defined, different ways were tested as the following:

6 6 António Ramos, Daniela Dias Static variables sorting using piece-rotation pair value attribution heuristics (natural list ordering, by diagonals order, by spiraling in and out of the board); Static variables sorting labeling rotations after all pieces are assigned (not ordered) A dynamic variable sorting (simple first fail and using first fail to select pairs (piece-rotation)). 7 Solution s Visualization To show the result in main screen of SICStus Prolog were the program was executed it was created a predicate desenha() that uses the lists with the colors and the pieces in the right position. The result is shown like below. desenha(+dim,+pecapos,+valores). Runtime: Results To achieve some conclusions about the methods developed there were made 25 tests for each method and each type of puzzle. In the table below we can see the average of times for each puzzle and method and in the graphic in figure 4 we can see the dispersion graphic for each method s average of times.

7 Constraint Logic Programming, Solution and Optimization: Eternity II 7 Fig. 3 Table with the average of time results for the 25 test of each method and puzzle. Fig.4 Graphic that represents the dispersion values for the method average of times

8 8 António Ramos, Daniela Dias We also evaluated methods by the number of backtrack steps so, in the table below we can see the average of backtracks for each puzzle and method and in the graphic in figure 6 we can see the dispersion graphic for each method s average of backtrack. Fig. 5 Table with the average of backtrack results for the 25 test of each method and puzzle.

9 Constraint Logic Programming, Solution and Optimization: Eternity II 9 Fig.6 Graphic that represents the dispersion values for the method average of backtracks Fig. 7 Graphic that represents the best methods for each puzzle and each color by time efficiency

10 10 António Ramos, Daniela Dias The largest bits of the graphic correspond to methods 5, 4 and 8 which proved to be the most efficient. Some tests revealed to be completely ineffective so they were ignored. Method 1: labeling by natural order. Method 2: labeling by spiral in. Method 3: labeling by diagonal. Method 4: labeling with no order. Method 5: mylabel by natural order. Method 6: mylabel by spiral in. Method 7: mylabel by diagonal. Method 8: mylabel dynamic with first fail (Piece-Rotation). Based on the developed tests we can evaluate the board by its size and number of colors, and choose the best method to solve that particular puzzle. 9 Conclusions and Future Work There is an important relationship between the board s dimension and the number of colors used, which can be used to study the problem in a way to achieve knowledge about edge matching puzzles. We were able to realize that some methods work better in some cases and others prove to be more efficient in other cases. Dynamic selection of pieces (first fail heuristics) proves to be better in cases where there is a small amount of colors in larger puzzles, because the constraint spreading is not very effective in such cases, on the other hand the sorting cost is too heavy in cases where constraint spreading is more effective, that is, puzzles with more colors. It was very difficult to prove which labeling strategy is the best, our own label creates to much backtracking, on the other hand, works faster than labeling, the reason we cannot determine, being a predefined method. The basic first fail heuristic is not a good method in solving this kind of puzzles, because in almost all cases the rotations domain is the shortest one, and rotations are the first variables to be defined, and is not effective, although, with a small tweak, first fail strategy showed impressive results when applied to a (piece-rotation) set. The piece-rotation heuristic in static selection, makes the most sense when a person is solving the puzzle, but in this case, it was proved to be wrong, and also made our tests frustrating, because we were using that heuristic in most of the static selection cases, this was proven because the no order case was more effective in puzzles with pieces that have repeated colors, this happens due to the fact that is more likely to find a piece to match an edge, if that is not defined by the rota-

11 Constraint Logic Programming, Solution and Optimization: Eternity II 11 tion, letting a wide field of possibilities, and in most cases, when the next piece is set, the rotation is limited to only one value and does not require any additional backtracking due to wrong rotation values. In this project we focused in the variables selection more than in the values selection because it seems that this process would produce more random results, and not much conclusive, but in the future that is something that can be explored by searching for the best sorting of the values. There s also another relationship that can be studied in the future that is the relationship between the spread cost and the gain in the constraining domains for different constraints and also a study about de dynamic sort cost as a way to achieve a better connection between the sorting cost and the decrease of backtracking steps that the dynamic sort may generate. In the matter of solving the original puzzle there is a possible method that caught our attention, this matter is discussed in a specific message of a discussion group [6], that is to divide eternity in smaller puzzles, to find some subsets of the original puzzle that are not the path to achieve a possible solution in order to narrow the search, it could be studied further, using this paper as a developing base. References 1. Wikipedia, Constraint Programming: 2. Wikipedia, Eternity II Puzzle, 3. Discussion group about solving eternity: 4. Eugénio Oliveira, Luís Paulo Reis, Materiais da Disciplina de Programação em Lógica, available online: 5. Eternity II: 6. Louis Verhaard, in a discussion group about solving eternity:

In: Proceedings of RECPAD 2002-12th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal

In: Proceedings of RECPAD 2002-12th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal Paper Title: Generic Framework for Video Analysis Authors: Luís Filipe Tavares INESC Porto lft@inescporto.pt Luís Teixeira INESC Porto, Universidade Católica Portuguesa lmt@inescporto.pt Luís Corte-Real

More information

A Tool for Generating Partition Schedules of Multiprocessor Systems

A Tool for Generating Partition Schedules of Multiprocessor Systems A Tool for Generating Partition Schedules of Multiprocessor Systems Hans-Joachim Goltz and Norbert Pieth Fraunhofer FIRST, Berlin, Germany {hans-joachim.goltz,nobert.pieth}@first.fraunhofer.de Abstract.

More information

Sudoku puzzles and how to solve them

Sudoku puzzles and how to solve them Sudoku puzzles and how to solve them Andries E. Brouwer 2006-05-31 1 Sudoku Figure 1: Two puzzles the second one is difficult A Sudoku puzzle (of classical type ) consists of a 9-by-9 matrix partitioned

More information

1. I have 4 sides. My opposite sides are equal. I have 4 right angles. Which shape am I?

1. I have 4 sides. My opposite sides are equal. I have 4 right angles. Which shape am I? Which Shape? This problem gives you the chance to: identify and describe shapes use clues to solve riddles Use shapes A, B, or C to solve the riddles. A B C 1. I have 4 sides. My opposite sides are equal.

More information

Analysis of Micromouse Maze Solving Algorithms

Analysis of Micromouse Maze Solving Algorithms 1 Analysis of Micromouse Maze Solving Algorithms David M. Willardson ECE 557: Learning from Data, Spring 2001 Abstract This project involves a simulation of a mouse that is to find its way through a maze.

More information

Many applications consist of one or more classes, each containing one or more methods. If you become part of a development team in industry, you may

Many applications consist of one or more classes, each containing one or more methods. If you become part of a development team in industry, you may Chapter 1 Many applications consist of one or more classes, each containing one or more methods. If you become part of a development team in industry, you may work on applications that contain hundreds,

More information

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University Software Engineering Introduction & Background Department of Computer Science Kent State University Complaints Software production is often done by amateurs Software development is done by tinkering or

More information

International Journal of Advanced Research in Computer Science and Software Engineering

International Journal of Advanced Research in Computer Science and Software Engineering Volume 3, Issue 7, July 23 ISSN: 2277 28X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Greedy Algorithm:

More information

Introduction Solvability Rules Computer Solution Implementation. Connect Four. March 9, 2010. Connect Four

Introduction 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 information

Kenken 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 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 information

Overview. Essential Questions. Precalculus, Quarter 4, Unit 4.5 Build Arithmetic and Geometric Sequences and Series

Overview. Essential Questions. Precalculus, Quarter 4, Unit 4.5 Build Arithmetic and Geometric Sequences and Series Sequences and Series Overview Number of instruction days: 4 6 (1 day = 53 minutes) Content to Be Learned Write arithmetic and geometric sequences both recursively and with an explicit formula, use them

More information

If you know exactly how you want your business forms to look and don t mind

If you know exactly how you want your business forms to look and don t mind appendix e Advanced Form Customization If you know exactly how you want your business forms to look and don t mind detail work, you can configure QuickBooks forms however you want. With QuickBooks Layout

More information

Graph Theory Problems and Solutions

Graph 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 information

Design and Analysis of ACO algorithms for edge matching problems

Design and Analysis of ACO algorithms for edge matching problems Design and Analysis of ACO algorithms for edge matching problems Carl Martin Dissing Söderlind Kgs. Lyngby 2010 DTU Informatics Department of Informatics and Mathematical Modelling Technical University

More information

PARALLELIZED SUDOKU SOLVING ALGORITHM USING OpenMP

PARALLELIZED SUDOKU SOLVING ALGORITHM USING OpenMP PARALLELIZED SUDOKU SOLVING ALGORITHM USING OpenMP Sruthi Sankar CSE 633: Parallel Algorithms Spring 2014 Professor: Dr. Russ Miller Sudoku: the puzzle A standard Sudoku puzzles contains 81 grids :9 rows

More information

Integer Operations. Overview. Grade 7 Mathematics, Quarter 1, Unit 1.1. Number of Instructional Days: 15 (1 day = 45 minutes) Essential Questions

Integer Operations. Overview. Grade 7 Mathematics, Quarter 1, Unit 1.1. Number of Instructional Days: 15 (1 day = 45 minutes) Essential Questions Grade 7 Mathematics, Quarter 1, Unit 1.1 Integer Operations Overview Number of Instructional Days: 15 (1 day = 45 minutes) Content to Be Learned Describe situations in which opposites combine to make zero.

More information

E XPLORING QUADRILATERALS

E XPLORING QUADRILATERALS E XPLORING QUADRILATERALS E 1 Geometry State Goal 9: Use geometric methods to analyze, categorize and draw conclusions about points, lines, planes and space. Statement of Purpose: The activities in this

More information

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

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 information

Ian Stewart on Minesweeper

Ian Stewart on Minesweeper Ian Stewart on Minesweeper It's not often you can win a million dollars by analysing a computer game, but by a curious conjunction of fate, there's a chance that you might. However, you'll only pick up

More information

Mathematics of Sudoku I

Mathematics of Sudoku I Mathematics of Sudoku I Bertram Felgenhauer Frazer Jarvis January, 00 Introduction Sudoku puzzles became extremely popular in Britain from late 00. Sudoku, or Su Doku, is a Japanese word (or phrase) meaning

More information

3. How many winning lines are there in 5x5 Tic-Tac-Toe? 4. How many winning lines are there in n x n Tic-Tac-Toe?

3. How many winning lines are there in 5x5 Tic-Tac-Toe? 4. How many winning lines are there in n x n Tic-Tac-Toe? Winning Lines in Tic-Tac-Toe 1. The standard Tic-Tac-Toe is played on a 3 x 3 board, where there are vertical winning lines, horizontal winning lines, diagonal winning lines. This is a grand total of winning

More information

SAS BI Dashboard 3.1. User s Guide

SAS BI Dashboard 3.1. User s Guide SAS BI Dashboard 3.1 User s Guide The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2007. SAS BI Dashboard 3.1: User s Guide. Cary, NC: SAS Institute Inc. SAS BI Dashboard

More information

DIRECTIONS FOR SOLVING THE 5x5x5 (Professor) CUBE

DIRECTIONS FOR SOLVING THE 5x5x5 (Professor) CUBE DIRECTIONS FOR SOLVING THE 5x5x5 (Professor) CUBE These instructions can be used to solve a 5x5x5 cube, also known as the professor cube due to its difficulty. These directions are a graphical version

More information

New Improvements in Optimal Rectangle Packing

New Improvements in Optimal Rectangle Packing New Improvements in Optimal Rectangle Packing Eric Huang and Richard E. Korf Computer Science Department University of California, Los Angeles Los Angeles, CA 90095 ehuang@cs.ucla.edu, korf@cs.ucla.edu

More information

An Interactive Train Scheduling Tool for Solving and Plotting Running Maps

An Interactive Train Scheduling Tool for Solving and Plotting Running Maps An Interactive Train Scheduling Tool for Solving and Plotting Running Maps F. Barber 1, M.A. Salido 2, L. Ingolotti 1, M. Abril 1, A. Lova 3, P. Tormos 3 1 DSIC, 3 DEIOAC, Universidad Politécnica de Valencia,

More information

This puzzle is based on the following anecdote concerning a Hungarian sociologist and his observations of circles of friends among children.

This 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 information

A Decision Support System for the Assessment of Higher Education Degrees in Portugal

A Decision Support System for the Assessment of Higher Education Degrees in Portugal A Decision Support System for the Assessment of Higher Education Degrees in Portugal José Paulo Santos, José Fernando Oliveira, Maria Antónia Carravilla, Carlos Costa Faculty of Engineering of the University

More information

An Introduction to The A* Algorithm

An 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 information

Efficient representation of integer sets

Efficient representation of integer sets Efficient representation of integer sets Marco Almeida Rogério Reis Technical Report Series: DCC-2006-06 Version 1.0 Departamento de Ciência de Computadores & Laboratório de Inteligência Artificial e Ciência

More information

Problem of the Month: Fair Games

Problem of the Month: Fair Games Problem of the Month: The Problems of the Month (POM) are used in a variety of ways to promote problem solving and to foster the first standard of mathematical practice from the Common Core State Standards:

More information

Enumerating possible Sudoku grids

Enumerating possible Sudoku grids Enumerating possible Sudoku grids Bertram Felgenhauer Department of Computer Science TU Dresden 00 Dresden Germany bf@mail.inf.tu-dresden.de Frazer Jarvis Department of Pure Mathematics University of Sheffield,

More information

Lesson #13 Congruence, Symmetry and Transformations: Translations, Reflections, and Rotations

Lesson #13 Congruence, Symmetry and Transformations: Translations, Reflections, and Rotations Math Buddies -Grade 4 13-1 Lesson #13 Congruence, Symmetry and Transformations: Translations, Reflections, and Rotations Goal: Identify congruent and noncongruent figures Recognize the congruence of plane

More information

Counting, Generating, and Solving Sudoku

Counting, Generating, and Solving Sudoku Counting, Generating, and Solving Sudoku Mathias Weller April 21, 2008 Abstract In this work, we give an overview of the research done so far on the topic of Sudoku grid enumeration, solving, and generating

More information

Lecture Notes in Computer Science: Collaborative Software

Lecture Notes in Computer Science: Collaborative Software Lecture Notes in Computer Science: Collaborative Software André Tiago Magalhães do Carmo 1, César Barbosa Duarte 1, Paulo Alexandre Neves Alves de Sousa 1 and Ricardo Filipe Teixeira Gonçalves 1. 1 Departamento

More information

Genetic Algorithms and Sudoku

Genetic 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 information

APP INVENTOR. Test Review

APP INVENTOR. Test Review APP INVENTOR Test Review Main Concepts App Inventor Lists Creating Random Numbers Variables Searching and Sorting Data Linear Search Binary Search Selection Sort Quick Sort Abstraction Modulus Division

More information

Midterm Practice Problems

Midterm Practice Problems 6.042/8.062J Mathematics for Computer Science October 2, 200 Tom Leighton, Marten van Dijk, and Brooke Cowan Midterm Practice Problems Problem. [0 points] In problem set you showed that the nand operator

More information

Data centre virtualization at UTAD A hybrid consolidation aproach

Data centre virtualization at UTAD A hybrid consolidation aproach Data centre virtualization at UTAD A hybrid consolidation aproach Rio-Costa A. ¹, Reis A. ¹, Borges J.¹., Vasconcelos A. ¹, Santos J ¹, Barroso J.², Bulas-Cruz J³ 1 Centro de Informática - Departamento

More information

Unit 8 Angles, 2D and 3D shapes, perimeter and area

Unit 8 Angles, 2D and 3D shapes, perimeter and area Unit 8 Angles, 2D and 3D shapes, perimeter and area Five daily lessons Year 6 Spring term Recognise and estimate angles. Use a protractor to measure and draw acute and obtuse angles to Page 111 the nearest

More information

Laminar Flow in a Baffled Stirred Mixer

Laminar Flow in a Baffled Stirred Mixer Laminar Flow in a Baffled Stirred Mixer Introduction This exercise exemplifies the use of the rotating machinery feature in the CFD Module. The Rotating Machinery interface allows you to model moving rotating

More information

Using the Grid. Grids: Consistency & Unity tying elements together by Jacci Howard Bear

Using the Grid. Grids: Consistency & Unity tying elements together by Jacci Howard Bear Using the Grid Grids: Consistency & Unity tying elements together by Jacci Howard Bear For the most part, people prefer organized visual information Newsletters, magazines, brochures, annual reports, web

More information

1974 Rubik. Rubik and Rubik's are trademarks of Seven Towns ltd., used under license. All rights reserved. Solution Hints booklet

1974 Rubik. Rubik and Rubik's are trademarks of Seven Towns ltd., used under license. All rights reserved. Solution Hints booklet # # R 1974 Rubik. Rubik and Rubik's are trademarks of Seven Towns ltd., used under license. All rights reserved. Solution Hints booklet The Professor s Cube Solution Hints Booklet The Greatest Challenge

More information

Open S-BPM: Goals and Architecture

Open S-BPM: Goals and Architecture Open S-BPM: Goals and Architecture Albert Fleischmann Werner Schmidt Table of Content 1 Introduction... 2 2 Mission, Vision and Objectives... 2 3 Research and Development Areas... 3 4 Open S-BPM Architecture...

More information

6.3 Conditional Probability and Independence

6.3 Conditional Probability and Independence 222 CHAPTER 6. PROBABILITY 6.3 Conditional Probability and Independence Conditional Probability Two cubical dice each have a triangle painted on one side, a circle painted on two sides and a square painted

More information

Multiplication and Division with Rational Numbers

Multiplication and Division with Rational Numbers Multiplication and Division with Rational Numbers Kitty Hawk, North Carolina, is famous for being the place where the first airplane flight took place. The brothers who flew these first flights grew up

More information

Smart Graphics: Methoden 3 Suche, Constraints

Smart 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 information

If A is divided by B the result is 2/3. If B is divided by C the result is 4/7. What is the result if A is divided by C?

If A is divided by B the result is 2/3. If B is divided by C the result is 4/7. What is the result if A is divided by C? Problem 3 If A is divided by B the result is 2/3. If B is divided by C the result is 4/7. What is the result if A is divided by C? Suggested Questions to ask students about Problem 3 The key to this question

More information

TEACHER S GUIDE TO RUSH HOUR

TEACHER S GUIDE TO RUSH HOUR Using Puzzles to Teach Problem Solving TEACHER S GUIDE TO RUSH HOUR Includes Rush Hour 2, 3, 4, Rush Hour Jr., Railroad Rush Hour and Safari Rush Hour BENEFITS Rush Hour is a sliding piece puzzle that

More information

Infographics in the Classroom: Using Data Visualization to Engage in Scientific Practices

Infographics in the Classroom: Using Data Visualization to Engage in Scientific Practices Infographics in the Classroom: Using Data Visualization to Engage in Scientific Practices Activity 4: Graphing and Interpreting Data In Activity 4, the class will compare different ways to graph the exact

More information

CAD/ CAM Prof. P. V. Madhusudhan Rao Department of Mechanical Engineering Indian Institute of Technology, Delhi Lecture No. # 03 What is CAD/ CAM

CAD/ CAM Prof. P. V. Madhusudhan Rao Department of Mechanical Engineering Indian Institute of Technology, Delhi Lecture No. # 03 What is CAD/ CAM CAD/ CAM Prof. P. V. Madhusudhan Rao Department of Mechanical Engineering Indian Institute of Technology, Delhi Lecture No. # 03 What is CAD/ CAM Now this lecture is in a way we can say an introduction

More information

Gamesman: A Graphical Game Analysis System

Gamesman: A Graphical Game Analysis System Gamesman: A Graphical Game Analysis System Dan Garcia Abstract We present Gamesman, a graphical system for implementing, learning, analyzing and playing small finite two-person

More information

Scope and Sequence KA KB 1A 1B 2A 2B 3A 3B 4A 4B 5A 5B 6A 6B

Scope and Sequence KA KB 1A 1B 2A 2B 3A 3B 4A 4B 5A 5B 6A 6B Scope and Sequence Earlybird Kindergarten, Standards Edition Primary Mathematics, Standards Edition Copyright 2008 [SingaporeMath.com Inc.] The check mark indicates where the topic is first introduced

More information

ALGEBRA. sequence, term, nth term, consecutive, rule, relationship, generate, predict, continue increase, decrease finite, infinite

ALGEBRA. sequence, term, nth term, consecutive, rule, relationship, generate, predict, continue increase, decrease finite, infinite ALGEBRA Pupils should be taught to: Generate and describe sequences As outcomes, Year 7 pupils should, for example: Use, read and write, spelling correctly: sequence, term, nth term, consecutive, rule,

More information

Organizing image files in Lightroom part 2

Organizing image files in Lightroom part 2 Organizing image files in Lightroom part 2 Hopefully, after our last issue, you've spent some time working on your folder structure and now have your images organized to be easy to find. Whether you have

More information

The Boundary Scan Test (BST) technology

The Boundary Scan Test (BST) technology The Boundary Scan Test () technology J. M. Martins Ferreira FEUP / DEEC - Rua Dr. Roberto Frias 42-537 Porto - PORTUGAL Tel. 35 225 8 748 / Fax: 35 225 8 443 (jmf@fe.up.pt / http://www.fe.up.pt/~jmf) Objectives

More information

Duration Oriented Resource Allocation Strategy on Multiple Resources Projects under Stochastic Conditions

Duration Oriented Resource Allocation Strategy on Multiple Resources Projects under Stochastic Conditions International Conference on Industrial Engineering and Systems Management IESM 2009 May 13-15 MONTRÉAL - CANADA Duration Oriented Resource Allocation Strategy on Multiple Resources Projects under Stochastic

More information

0.75 75% ! 3 40% 0.65 65% Percent Cards. This problem gives you the chance to: relate fractions, decimals and percents

0.75 75% ! 3 40% 0.65 65% Percent Cards. This problem gives you the chance to: relate fractions, decimals and percents Percent Cards This problem gives you the chance to: relate fractions, decimals and percents Mrs. Lopez makes sets of cards for her math class. All the cards in a set have the same value. Set A 3 4 0.75

More information

1-04-10 Configuration Management: An Object-Based Method Barbara Dumas

1-04-10 Configuration Management: An Object-Based Method Barbara Dumas 1-04-10 Configuration Management: An Object-Based Method Barbara Dumas Payoff Configuration management (CM) helps an organization maintain an inventory of its software assets. In traditional CM systems,

More information

A Slot Representation of the Resource-Centric Models for Scheduling Problems

A Slot Representation of the Resource-Centric Models for Scheduling Problems A Slot Representation of the Resource-Centric Models for Scheduling Problems Roman Barták * Charles University, Faculty of Mathematics and Physics Department of Theoretical Computer Science Malostranské

More information

Random Fibonacci-type Sequences in Online Gambling

Random Fibonacci-type Sequences in Online Gambling Random Fibonacci-type Sequences in Online Gambling Adam Biello, CJ Cacciatore, Logan Thomas Department of Mathematics CSUMS Advisor: Alfa Heryudono Department of Mathematics University of Massachusetts

More information

PowerPoint: Graphics and SmartArt

PowerPoint: Graphics and SmartArt PowerPoint: Graphics and SmartArt Contents Inserting Objects... 2 Picture from File... 2 Clip Art... 2 Shapes... 3 SmartArt... 3 WordArt... 3 Formatting Objects... 4 Move a picture, shape, text box, or

More information

A Review of Sudoku Solving using Patterns

A Review of Sudoku Solving using Patterns International Journal of Scientific and Research Publications, Volume 3, Issue 5, May 2013 1 A Review of Sudoku Solving using Patterns Rohit Iyer*, Amrish Jhaveri*, Krutika Parab* *B.E (Computers), Vidyalankar

More information

Clock Arithmetic and Modular Systems Clock Arithmetic The introduction to Chapter 4 described a mathematical system

Clock Arithmetic and Modular Systems Clock Arithmetic The introduction to Chapter 4 described a mathematical system CHAPTER Number Theory FIGURE FIGURE FIGURE Plus hours Plus hours Plus hours + = + = + = FIGURE. Clock Arithmetic and Modular Systems Clock Arithmetic The introduction to Chapter described a mathematical

More information

n 2 + 4n + 3. The answer in decimal form (for the Blitz): 0, 75. Solution. (n + 1)(n + 3) = n + 3 2 lim m 2 1

n 2 + 4n + 3. The answer in decimal form (for the Blitz): 0, 75. Solution. (n + 1)(n + 3) = n + 3 2 lim m 2 1 . Calculate the sum of the series Answer: 3 4. n 2 + 4n + 3. The answer in decimal form (for the Blitz):, 75. Solution. n 2 + 4n + 3 = (n + )(n + 3) = (n + 3) (n + ) = 2 (n + )(n + 3) ( 2 n + ) = m ( n

More information

PUZZLES WITH POLYHEDRA AND PERMUTATION GROUPS

PUZZLES WITH POLYHEDRA AND PERMUTATION GROUPS PUZZLES WITH POLYHEDRA AND PERMUTATION GROUPS JORGE REZENDE. Introduction Consider a polyhedron. For example, a platonic, an arquemidean, or a dual of an arquemidean polyhedron. Construct flat polygonal

More information

Opposites are all around us. If you move forward two spaces in a board game

Opposites are all around us. If you move forward two spaces in a board game Two-Color Counters Adding Integers, Part II Learning Goals In this lesson, you will: Key Term additive inverses Model the addition of integers using two-color counters. Develop a rule for adding integers.

More information

EFFICIENT KNOWLEDGE BASE MANAGEMENT IN DCSP

EFFICIENT KNOWLEDGE BASE MANAGEMENT IN DCSP EFFICIENT KNOWLEDGE BASE MANAGEMENT IN DCSP Hong Jiang Mathematics & Computer Science Department, Benedict College, USA jiangh@benedict.edu ABSTRACT DCSP (Distributed Constraint Satisfaction Problem) has

More information

Math Games For Skills and Concepts

Math Games For Skills and Concepts Math Games p.1 Math Games For Skills and Concepts Original material 2001-2006, John Golden, GVSU permission granted for educational use Other material copyright: Investigations in Number, Data and Space,

More information

Random vs. Structure-Based Testing of Answer-Set Programs: An Experimental Comparison

Random vs. Structure-Based Testing of Answer-Set Programs: An Experimental Comparison Random vs. Structure-Based Testing of Answer-Set Programs: An Experimental Comparison Tomi Janhunen 1, Ilkka Niemelä 1, Johannes Oetsch 2, Jörg Pührer 2, and Hans Tompits 2 1 Aalto University, Department

More information

Making tessellations combines the creativity of an art project with the challenge of solving a puzzle.

Making tessellations combines the creativity of an art project with the challenge of solving a puzzle. Activities Grades 6 8 www.exploratorium.edu/geometryplayground/activities EXPLORING TESSELLATIONS Background: What is a tessellation? A tessellation is any pattern made of repeating shapes that covers

More information

The 2010 British Informatics Olympiad

The 2010 British Informatics Olympiad Time allowed: 3 hours The 2010 British Informatics Olympiad Instructions You should write a program for part (a) of each question, and produce written answers to the remaining parts. Programs may be used

More information

Creating, Solving, and Graphing Systems of Linear Equations and Linear Inequalities

Creating, Solving, and Graphing Systems of Linear Equations and Linear Inequalities Algebra 1, Quarter 2, Unit 2.1 Creating, Solving, and Graphing Systems of Linear Equations and Linear Inequalities Overview Number of instructional days: 15 (1 day = 45 60 minutes) Content to be learned

More information

Set Theory: Shading Venn Diagrams

Set Theory: Shading Venn Diagrams Set Theory: Shading Venn Diagrams Venn diagrams are representations of sets that use pictures. We will work with Venn diagrams involving two sets (two-circle diagrams) and three sets (three-circle diagrams).

More information

Integration of Gann, Elliott, and Fibonacci Techniques by Peter Matske

Integration of Gann, Elliott, and Fibonacci Techniques by Peter Matske Integration of Gann, Elliott, and Fibonacci Techniques by Peter Matske If your trading is based only upon study indicators you may find that adding additional techniques may be of benefit. Most studies

More information

Patterns for IT Infrastructure Design

Patterns for IT Infrastructure Design Patterns for IT Infrastructure Design Luís Ferreira da Silva, Fernando Brito e Abreu QUASAR, CITI, Faculty of Sciences and Technology Universidade Nova de Lisboa (FCT/UNL) 2829-516 Caparica, Portugal luis.silva@di.fct.unl.pt,

More information

Math 120 Final Exam Practice Problems, Form: A

Math 120 Final Exam Practice Problems, Form: A Math 120 Final Exam Practice Problems, Form: A Name: While every attempt was made to be complete in the types of problems given below, we make no guarantees about the completeness of the problems. Specifically,

More information

LAMC Beginners Circle: Parity of a Permutation Problems from Handout by Oleg Gleizer Solutions by James Newton

LAMC Beginners Circle: Parity of a Permutation Problems from Handout by Oleg Gleizer Solutions by James Newton LAMC Beginners Circle: Parity of a Permutation Problems from Handout by Oleg Gleizer Solutions by James Newton 1. Take a two-digit number and write it down three times to form a six-digit number. For example,

More information

Lecture 16 : Relations and Functions DRAFT

Lecture 16 : Relations and Functions DRAFT CS/Math 240: Introduction to Discrete Mathematics 3/29/2011 Lecture 16 : Relations and Functions Instructor: Dieter van Melkebeek Scribe: Dalibor Zelený DRAFT In Lecture 3, we described a correspondence

More information

ExSched: Solving Constraint Satisfaction Problems with the Spreadsheet Paradigm

ExSched: Solving Constraint Satisfaction Problems with the Spreadsheet Paradigm ExSched: Solving Constraint Satisfaction Problems with the Spreadsheet Paradigm Siddharth Chitnis, Madhu Yennamani, Gopal Gupta Department of Computer Science The University of Texas at Dallas Richardson,

More information

A Game of Numbers (Understanding Directivity Specifications)

A Game of Numbers (Understanding Directivity Specifications) A Game of Numbers (Understanding Directivity Specifications) José (Joe) Brusi, Brusi Acoustical Consulting Loudspeaker directivity is expressed in many different ways on specification sheets and marketing

More information

CPS122 Lecture: State and Activity Diagrams in UML

CPS122 Lecture: State and Activity Diagrams in UML CPS122 Lecture: State and Activity Diagrams in UML Objectives: last revised February 14, 2012 1. To show how to create and read State Diagrams 2. To introduce UML Activity Diagrams Materials: 1. Demonstration

More information

Numeracy and mathematics Experiences and outcomes

Numeracy and mathematics Experiences and outcomes Numeracy and mathematics Experiences and outcomes My learning in mathematics enables me to: develop a secure understanding of the concepts, principles and processes of mathematics and apply these in different

More information

Grade 5 Math Content 1

Grade 5 Math Content 1 Grade 5 Math Content 1 Number and Operations: Whole Numbers Multiplication and Division In Grade 5, students consolidate their understanding of the computational strategies they use for multiplication.

More information

The Graphical Method: An Example

The Graphical Method: An Example The Graphical Method: An Example Consider the following linear program: Maximize 4x 1 +3x 2 Subject to: 2x 1 +3x 2 6 (1) 3x 1 +2x 2 3 (2) 2x 2 5 (3) 2x 1 +x 2 4 (4) x 1, x 2 0, where, for ease of reference,

More information

TECHNICAL UNIVERSITY OF CRETE DATA STRUCTURES FILE STRUCTURES

TECHNICAL UNIVERSITY OF CRETE DATA STRUCTURES FILE STRUCTURES TECHNICAL UNIVERSITY OF CRETE DEPT OF ELECTRONIC AND COMPUTER ENGINEERING DATA STRUCTURES AND FILE STRUCTURES Euripides G.M. Petrakis http://www.intelligence.tuc.gr/~petrakis Chania, 2007 E.G.M. Petrakis

More information

Solving the Rubik's Revenge (4x4x4) Home Pre-Solution Stuff Step 1 Step 2 Step 3 Solution Moves Lists

Solving the Rubik's Revenge (4x4x4) Home Pre-Solution Stuff Step 1 Step 2 Step 3 Solution Moves Lists Solving your Rubik's Revenge (4x4x4) 07/16/2007 12:59 AM Solving the Rubik's Revenge (4x4x4) Home Pre-Solution Stuff Step 1 Step 2 Step 3 Solution Moves Lists Turn this... Into THIS! To solve the Rubik's

More information

Microelectronics Students Group. Wi-Rex. Design of an Integrated Circuit for a Wireless Receiver

Microelectronics Students Group. Wi-Rex. Design of an Integrated Circuit for a Wireless Receiver Microelectronics Students Group Wi-Rex Design of an Integrated Circuit for a Wireless Receiver D. Oliveira, M. Pina, C. Duarte, V. G. Tavares, and P. Guedes de Oliveira February 17, 2011 Microelectronics

More information

ExSched: Solving Constraint Satisfaction Problems with the Spreadsheet Paradigm

ExSched: Solving Constraint Satisfaction Problems with the Spreadsheet Paradigm ExSched: Solving Constraint Satisfaction Problems with the Spreadsheet Paradigm Siddharth Chitnis, Madhu Yennamani, Gopal Gupta Department of Computer Science The University of Texas at Dallas Richardson,

More information

2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8]

2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8] Code No: R05220502 Set No. 1 1. (a) Describe the performance analysis in detail. (b) Show that f 1 (n)+f 2 (n) = 0(max(g 1 (n), g 2 (n)) where f 1 (n) = 0(g 1 (n)) and f 2 (n) = 0(g 2 (n)). [8+8] 2. (a)

More information

providing maintenance aero quarterly qtr_02 08

providing maintenance aero quarterly qtr_02 08 Dynamic wiring diagrams help ensure efficient, high quality repairs by providing maintenance data on a laptop. 06 aero quarterly qtr_02 08 Dynamic Wiring Diagrams: Maintenance Efficiency on the 787 A special

More information

N Q.3 Choose a level of accuracy appropriate to limitations on measurement when reporting quantities.

N Q.3 Choose a level of accuracy appropriate to limitations on measurement when reporting quantities. Performance Assessment Task Swimming Pool Grade 9 The task challenges a student to demonstrate understanding of the concept of quantities. A student must understand the attributes of trapezoids, how to

More information

Graphing Parabolas With Microsoft Excel

Graphing Parabolas With Microsoft Excel Graphing Parabolas With Microsoft Excel Mr. Clausen Algebra 2 California State Standard for Algebra 2 #10.0: Students graph quadratic functions and determine the maxima, minima, and zeros of the function.

More information

Distributed Dynamic Load Balancing for Iterative-Stencil Applications

Distributed Dynamic Load Balancing for Iterative-Stencil Applications Distributed Dynamic Load Balancing for Iterative-Stencil Applications G. Dethier 1, P. Marchot 2 and P.A. de Marneffe 1 1 EECS Department, University of Liege, Belgium 2 Chemical Engineering Department,

More information

CS311H. Prof: Peter Stone. Department of Computer Science The University of Texas at Austin

CS311H. Prof: Peter Stone. Department of Computer Science The University of Texas at Austin CS311H Prof: Department of Computer Science The University of Texas at Austin Good Morning, Colleagues Good Morning, Colleagues Are there any questions? Logistics Class survey Logistics Class survey Homework

More information

Instituto de Engenharia de Sistemas e Computadores de Coimbra Institute of Systems Engineering and Computers INESC Coimbra

Instituto de Engenharia de Sistemas e Computadores de Coimbra Institute of Systems Engineering and Computers INESC Coimbra Instituto de Engenharia de Sistemas e Computadores de Coimbra Institute of Systems Engineering and Computers INESC Coimbra João Clímaco and Marta Pascoal A new method to detere unsupported non-doated solutions

More information

CHAPTER 14 Understanding an App s Architecture

CHAPTER 14 Understanding an App s Architecture CHAPTER 14 Understanding an App s Architecture Figure 14-1. This chapter examines the structure of an app from a programmer s perspective. It begins with the traditional analogy that an app is like a recipe

More information

Firewall Policy Anomalies- Detection and Resolution

Firewall Policy Anomalies- Detection and Resolution Firewall Policy Anomalies- Detection and Resolution Jitha C K #1, Sreekesh Namboodiri *2 #1 MTech student(cse),mes College of Engineering,Kuttippuram,India #2 Assistant Professor(CSE),MES College of Engineering,Kuttippuram,India

More information

Improved Software Testing Using McCabe IQ Coverage Analysis

Improved Software Testing Using McCabe IQ Coverage Analysis White Paper Table of Contents Introduction...1 What is Coverage Analysis?...2 The McCabe IQ Approach to Coverage Analysis...3 The Importance of Coverage Analysis...4 Where Coverage Analysis Fits into your

More information

Current Standard: Mathematical Concepts and Applications Shape, Space, and Measurement- Primary

Current Standard: Mathematical Concepts and Applications Shape, Space, and Measurement- Primary Shape, Space, and Measurement- Primary A student shall apply concepts of shape, space, and measurement to solve problems involving two- and three-dimensional shapes by demonstrating an understanding of:

More information

FUNDAMENTALS OF LANDSCAPE TECHNOLOGY GSD Harvard University Graduate School of Design Department of Landscape Architecture Fall 2006

FUNDAMENTALS OF LANDSCAPE TECHNOLOGY GSD Harvard University Graduate School of Design Department of Landscape Architecture Fall 2006 FUNDAMENTALS OF LANDSCAPE TECHNOLOGY GSD Harvard University Graduate School of Design Department of Landscape Architecture Fall 2006 6106/ M2 BASICS OF GRADING AND SURVEYING Laura Solano, Lecturer Name

More information