Griddler Creator. Supervisor: Linda Brackenbury. Temitope Otudeko 04/05

Size: px
Start display at page:

Download "Griddler Creator. Supervisor: Linda Brackenbury. Temitope Otudeko 04/05"

Transcription

1 Griddler Creator Supervisor: Linda Brackenbury Temitope Otudeko 04/05

2 TABLE OF CONTENTS Introduction... 3 Griddler puzzle Puzzles... 3 Rules and Techniques for solving griddler puzzles... 3 History of Griddler puzzles... 5 Project... 5 Background and Literature survey... 6 Design... 8 Requirements... 8 Development... 9 User Interface Implementation User Interface Back- End Features RESULTS, Testing and Evaluation Conclusions References

3 CHAPTER 1 INTRODUCTION In this section I intend to inform you about griddler puzzles and give you an overview of my project. At the end of this chapter you will know what griddler puzzles are, their history, other relevant information about griddler puzzles and how they relate to my project, the aim of my project and how I intend to carry out my project. GRIDDLER PUZZLE PUZZLES Griddler puzzles are picture logic puzzles. The aim of the puzzle is to fill or leave blank, cells of the grid with the help of the clues on the side of the grid to reveal a picture. For example a clue for a row could be "3 2 5", this would mean that the row contains a set of 3, 2 and 5 filled in squares respectively with at least one blank square between each successive group. FIGURE 1: A SOLVED LINE OF A GRIDDLER PUZZLE Griddler puzzle puzzles can range from very easy to challenging to solve depending on the size of the grid and the clues. For instance clues that have a lot of ones are generally quite difficult to solve and the bigger the grid the more time consuming and difficult it will probably be to solve. FIGURE 2: EXAMPLE OF AN UNSOLVED PUZZLE FIGURE 3: EXAMPLE OF THE A SOLVED PUZZLE RULES AND TECHNIQUES FOR SOLVING GRIDDLER PUZZLES There are a number of techniques and rules used to solve griddler puzzle puzzles. The following are some of the different techniques, rules and tips used to solve griddler puzzle puzzles. A helpful technique that most puzzle solvers start with is the overlap rule; it is mainly helpful with large clues for example the clue 14 on row 10 or 8 6 on row 11 of the reindeer puzzle i.e. figure3. It is the only rule that can be used when solving a griddler puzzle in which no square s state has been determined. To apply the overlap rule, the row is filled in from the left starting 3

4 with the first clue with a blank square between each clue then from the right starting with the last clue and if any of the filled in squares overlap for the same clue then the square is filled in. FIGURE 4: EXAMPLES OF THE OVERLAP TECHNIQUE Another helpful technique in solving griddler puzzle puzzles is determining spaces and it is used on partially solved lines. An instance where it could be used to determine spaces is let us say a row had clues 3 1 and the 3 part of the clue had one square filled in for it. If the amount of spaces up to the filled in square is not enough to contain 3 filled in squares and an empty square then it is determined the filled in square is part of the cluster for the first clue which is 3. Another way to determine it is part of the 3 cluster is if the 1 clue has been determined. One square is filled in so the cluster of 3 filled in squares is made up of either the two squares to the left of the filled in square, the two squares to the right or one on either side but since the one has been filled in and there are no other clues to be filled in but the 3 it is best to leave the maximum amount to either side undetermined to leave all possibilities open. Since the two to either side of the filled in square have been accounted for and all other filled in squares have been determined it means all undetermined squares on the row must be spaces. FIGURE 5: EXAMPLE OF THE DETERMINING SPACE TECHNIQUE Another technique that can be applied to partially solved lines is forcing. If a row contains two squares that have been determined as spaces and the amount of squares between the spaces is for instance one and the smallest clue is two then the square between the spaces must be a space as it is too small to fit a cluster of two filled in squares in there. FIGURE 6: EXAMPLE OF THE FORCING TECHNIQUE A technique used to determine filled in squares is glue in the sense that the squares are glued on at the end of a determined squares. For instance let us say a row has clue 5 and the distance between the first filled in square and the start of the row is two undetermined squares. What can be determined from this is that if the cluster of five filled in squares was to start from the beginning the two squares after the filled in square would be filled in or if the cluster was to start from the filled in square the two squares after it would also be filled in therefore it can be said that the two squares after the filled in squares are filled in. The same logic can be used in the middle of a row with the closest determined space used as the beginning of the row. FIGURE 7: EXAMPLE OF THE GLUE TECHNIQUE 4

5 An extra technique that is useful in determining spaces and filled in squares is splitting and joining. An instance of where this technique can be used is when a row has clues and has small clusters of filled in squares on the row like the diagram below. The filled in squares at the end of the row have a space between then and if it was filled in would make a cluster of three which is invalid for this row as none of the clue numbers is a three so therefore it must be a space. This determines that the two clusters of two filled in squares at the beginning of the row must be linked with the one clue and the length of the clue is five and so it must be filled in between the cluster to create the bigger cluster of five. FIGURE 8: EXAMPLE OF THE SPLITTING AND JOINING TECHNIQUE Another technique used to determine spaces is punctuation. This is putting a space before or after or both when the filled in squares of a clue has been determined. These are the main techniques used when solving griddler puzzle puzzles manually and I shall inform you about the development and increased popularity of griddler puzzle puzzles over the years. HISTORY OF GRIDDLER PUZZLES The aim of this section is to briefly inform you about the history of griddler puzzles i.e. how it started and where it is at today. The concept of griddler puzzle puzzles has been around since 1987 when Non Ishida, a Japanese graphics editor, won a competition in Tokyo designing pictures. Non Ishida s picture entailed using skyscraper lights, which were turned on or off. The following year, Non Ishida published three picture grid puzzles in Japan under the name of "Window Art Puzzles" coincidentally around the same time and with no connection, a professional Japanese puzzler named Tetsuya Nishio invented the same type of puzzle. In 1990, James Dalgety in the UK invented the name Nonograms after Non Ishida and Dia gram. James persuaded The Sunday Telegraph to publish the puzzle weekly for a trial period, after a successful trial period they were continued. In 1993, First book of Nonograms was published by Non Ishida in Japan and later on that year The Sunday Telegraph Book of Nonograms was published in the UK. Nonograms were also published in Sweden, United States, South Africa and other countries. Pan Books were published the 4 th Sunday Telegraph Book of Nonograms in 1995 and because Non Ishida wanted to exclusively use the name "Nonogram" for her puzzles in Japan, her collaboration with James Dalgety ended in In the summer of 1998, The Sunday Telegraph ran a competition to find a replacement name for their puzzles and Griddler puzzle was the winning name chosen by its readers. Today, magazines with griddler puzzle puzzles are published in the USA, UK, Germany, Netherlands, Italy, Hungary, Finland and many other countries and have started appearing on hand held electronic toys such as Nintendo products and on other plastic puzzle toys. PROJECT This is section gives an overview of my research and the aim of my project; I shall expand on my research in the next chapter. The aim of my project is to create a program that allows users to create griddler puzzle puzzles as there are loads of griddler puzzle solvers out there but only a handful of creators. A griddler puzzle creator will be used by puzzle enthusiasts who wish to create their own griddler puzzle puzzles for entertainment or puzzle makers specialising in 5

6 griddler puzzle puzzles. The program will show a grid of a specified size (i.e. 5x5, 10x10, etc.) determined by the user, which they can draw the image on and this will be transformed into a puzzle. The transformation process entails validating the puzzle, if the puzzle is not valid informing the user accordingly and if it is valid generating clues for it. Griddler puzzle puzzles are not the easiest of puzzles to create as not every picture can be a puzzle; this is because not all pictures when converted to griddler puzzle puzzles will have a unique solution meaning some puzzles can have more than one solution. Another difficulty with setting griddler puzzle puzzles is not every puzzle is solvable using logic meaning some puzzles might require some guesswork in order to be solved. This is not ideal so I will give guidelines on how to create unique puzzles and solvable puzzles to the users to prevent the need for guesswork or if not possible at least reduce the amount of it needed. The next chapter explains my research on griddler puzzle creators and solvers available, the difficulties in solving griddler puzzle puzzles and setting them, what makes them unique and explains why my project went in the direction it did. CHAPTER 2 BACKGROUND AND LITERATURE SURVEY This chapter contains the details of my research and gives an insight into why I came to certain conclusions about the direction of my project. I shall explain the complications involved in solving griddler puzzle puzzles and its implications on my project. My research mainly took place online because information about griddler puzzle puzzles is not easily obtainable in libraries or bookstores. During the course of my research, I discovered a number of dedicated griddler puzzle websites, for example griddler puzzle.net, puzzlemuseum.com and Steve Simpson s nonogram website comp.lancs.ac.uk/~ss/nonogram, some of them with online communities. Common features of these websites were pages describing griddler puzzle puzzles and solution techniques and links to online solvers or an online solver incorporated on the website. I found a small number of website that allowed its user to create griddler puzzle puzzles online and via a program that had to be downloaded first namely comp.lancs.ac.uk/~ss/nonogram, griddler puzzle.net, yarivh.com/cryptopics, and so on. The different methods available to the user of the creator programs I discovered to create puzzles were either drawing the image in manually on a grid of a specified size by filling in certain square or by importing an image. The latter method is the easier method for inputting a picture but depending on the application it might get a bit complex as it requires a large amount of constraint to be met with regards to the colour of the image, the size of the image and the format of the image which might be quite complicated for the users if they are not familiar with computer graphics. A griddler puzzle editor I have found that simplifies the use of this feature is Griddler puzzles Deluxe From my experiments using these various applications to create a puzzle, on the outside, what it seemed to be doing was scanning each line of the grid and counting the clues and the end product was a list of clues. These creators also had a way of testing that when the grid is solved the picture produced would be the one inputted. This made me wonder if a different picture could be produced even if the griddler puzzle was solved correctly and on further investigation I found out that it was possible, not all griddler puzzle puzzles have one solution. 6

7 The information stated in the previous paragraph steered my research towards what makes griddler puzzle puzzles unique and how I could ensure that when I create my program only unique puzzles shall be outputted. During the course of my validation research I discovered puzzle makers mostly validate their puzzles, i.e. prove that their puzzle has a unique solution, by trying to solve them which guided my research towards the direction of solvers. My research involved finding out how the various griddler puzzle editors tested their puzzles. I discovered that the solution of griddler puzzle puzzles is actually a complex combinatorial problem which is why it is sometimes difficult to solve or why it might not always have a unique solution. I also discovered that it is an NP complete problem which explains why the problem of finding a solution to a griddler puzzle is more time consuming to solve the larger it is. The largest solvable griddler puzzle created is a 500 x 500 was introduced in 2005 and was first solved in The griddler.net s griddler puzzle creator has modified to be able to validate it so this creator has the capacity to validate puzzles up to the 500 x 500. There are a number of griddler puzzle solvers available online and they are written in numerous languages namely C, C++, C#, CGI, Eclipse, Java, JavaScript, PalmPilot, Perl, PROLOG, Python, Scheme, VBA, Windows and so on. The method these solver uses to solve the griddler puzzle is broken down into three stages. The first stage is the line selector; all solvers need a method by which it selects a line to be solved otherwise it would have no sensible way of keeping track of what it is doing. A basic line selector is one that puts the lines of the grid in a queue so it can iterate through the grid either rows then columns or columns then rows. The other type of line selector is a heuristic line selector; this computes a score equivalent to how much information can be obtained from each line based on the line s clues and sorts the lines based on this score. The next stage is the line solver; this I believe is a vital part of the application as it determines how good the solver is. The better and faster the line solver is, determines how advanced the puzzles that can quickly be solved using the application are. The line solver receives lines from the line selector to solve and these lines could range from unsolved lines to partially solved lines. The different methods used by the griddler puzzle solvers that I researched were depth first search algorithm, the fast algorithm, the complete algorithm and the fcomp algorithm. Depth first search involves looking at all the possibilities of the solution to each row and combining all the rows possible solutions to find. This is similar to the complete algorithm except it does not try to combine row possibilities instead it tries to find out where the possibilities overlap. These are algorithms that look extensively at all the solutions to the problem therefore they are not fast. The fast algorithm does the same thing as the complete algorithm but faster because it does not exhaustively look at the solution it streamlines the possibilities so it only has to consider essential ones and find out where the possibilities of overlap exist between them. The refinement process is acceptable but a few solutions might not be spotted due to its lack of thoroughness. The fcomp algorithm is a fusion of the concept of the complete and the fast algorithm. It is faster than the complete algorithm but more thorough than the fast algorithm although I do not fully comprehend how it works so I will have to ask you to refer to Steve Simpson of the University of Lancashire s website for more detail on how it works; the relevant information is in my references. The third part of the solver is the guesser. After the lines solver has been exhaustively on the griddler puzzle and no more information can be obtained from the puzzle and it is still unsolved the guesser is the next direction to turn. I came across two types of guessers during my research and the first one picks a square at random and guesses a state for it i.e. decides whether it will be filled in or a space and continues to try and solve the puzzle using the line selector and line solver from that piece of information. The solver stores information about its guess and the information determined from it because if the guess is wrong the solver will get to a 7

8 contradiction and then the decision to fill in or leave the square empty will be reversed and all the moves after that reversed as well and the opposite of the decision is accepted as the right decision. This is because there are only two decisions that can be made so if it is not one, it is the other. The solver goes on to either solve the problem or might keeps requiring guesses. The other guesser I came across was called probing. It does a similar thing to the previous guesser with a different spin to the method; for one, it does not pick the square to fill in or leaves blank at random but instead probes. It probes the grid at levels instead so the first level of probing would be the neighbouring cells of the cell selected in the last iteration, then the neighbouring cells of cells that were changed, i.e. their value was determined "black" or "white", in the last iteration, then cells which have two or more known neighbours with known meaning the colour of the cell has already been determined, then finally cells which have one known neighbour. The process of the probing is described like this We go over the cells in each level looking for contradictions. If a contradiction is found we stop, and set the cell s colour. Once we finished probing cells in a level, we go to the next. If we haven t found a contradiction in any level, we guess the cell according to the following heuristic: We choose that cell that, when we guessed its colour an employed the line solver, determined the most cells to be black or white. For example: We start with an empty board. We guess the colour of cell (1,1) to be black, and employ the line solver. After the line solver was employed, the colour of 4 more cells is determined so the score of (1,1) is 4. We use a tree- based search in to keep track of our guesses, and backtrack whenever we hit a contradiction. Our search method can find all possible solutions to a board (unless we explicitly set a solution limit to stop after) The next chapter shall build on my research; in other words the information gathered from my research, which I have stated in this chapter, is what determined the design choices I made for my puzzle editor. CHAPTER 3 DESIGN In this chapter, I shall go through the requirements and design of my program and explain the reason for my choices. I would delve deeper into the details of creating a puzzle editor and explaining what happens behind the scenes by explaining how I plan to implement my puzzle editor. REQUIREMENTS There are certain features required by my puzzle editor, which are firstly allowing the user to specify the size of the grid. This is important because the size of a griddler puzzle is not fixed, it ranges from 1x1 to 500x500 and the user needs to be able to create whatever size puzzle they want. I have thought of the various ways I could implement this and I decided on a dialog box at the start of a program would be ideal because it is not needed once the grid size has been determined so it is a good method of keeping it out of sight and out of the way. Another feature of my editor is a grid in which the squares can be filled in and a filled in square can be changed to a blank square that way the user can easily correct their mistake. The editor should also be able to validate puzzles that way after the user has finished creating the puzzle they can find out if it has a unique solution or not. 8

9 DEVELOPMENT This section shall be used to explain why I decided on a particular language and how I intend to organize and carryout my development of the program. I chose to write my program in java because it is the language I am more proficient in therefore I believe it would be less challenging than C or any other language I could write the program in. I plan to create multiple version of my program but each one building on the previous one for example I would start with the basics like building the user interface with no functionality and the second version of the program would provide some functionality for the grid and the third version of the program would let a button perform an action and so on. This is an advantageous technique to use in the development of applications as it allows the modification of the program without crippling the development progress if it all goes pear shaped, as previous versions of the program are available. Another advantage of this process is if the programmer wants to modify certain features jeopardizing the progress on current and future versions. I drew the flow diagram (figure 9) to give me a visual of the process that will be going on behind the scenes of the editor to validate puzzle. I shall start the validation by putting the rows and columns into a queue. Rows first then columns I'm not sure if the order it is inputted into the priority queue matters that is if the column were put into the priority queue before the row and the puzzle was not unique if it would yield a different solution. The queue shall be the method I use to implement my line selector. The line at the top of the queue shall be solved if it is fully solved then the state of the line shall be changed to solved to prevent unnecessary work being carried out on it and it is removed from the queue. If it is partially solved, the state of the line is modified to reflect that, it is put at the back of the queue, the adjacent column is moved up the queue and the next line is selected. If no solution was found for the line it is also put to the back of the queue and then the next line is selected. If the queue is empty when the next line is about to be selected, it means that the puzzle is solved because lines are only removed from the queue when the puzzle is solved. If the queue is not empty when the next line is to be selected, the process of trying to solve the line and changing states and the process of returning or removing the line from the queue is repeated till the queue is not empty and the solver is stuck. When the solver is stuck, probing starts, the solver makes a random guess on whether the square is filled on or not and solves the lines in the queue based on that information. The solver carries on its original path before the probing stage and tries to solve the puzzle if it gets a contradiction then it reverses all its decisions after the guess and changes the guess to the opposite if it does not meet a contradiction but if it gets stuck again then it randomly guesses another square and repeats the process again. These processes will goon till every line has been removed from the queue. 9

10 FIGURE 9: FLOW DIAGRAM OF THE VALIDATION PROCESS USER INTERFACE FIGURE 10: SKETCH OF THE USER INTERFACE Student ID:

11 The user interface will have to be a Graphical User Interface (GUI) because it is the only way to allow the user to draw their puzzle using the program. The dialog box which I have decided to go with a simple and easy to use user interface that will contain the grid in the centre, buttons at the bottom of the interface and instructions on the side. I want the grid at the centre of the interface as this is the main feature and it would allow the user colour in a square or reverse the operation by simply clicking on the desired square. I would like a buttons at the bottom of the page for convenience as it is standard on most applications and so that is the first place the user would search for it. I would like two buttons on my interface; one to generate clues and another to validate the puzzle. I decided there would be two different buttons for the processes one because although they are linked they are separate processes and because of the how I intended to organise my development of the program so that I can write the code for the buttons. The next chapter is about how I implemented my design and explains my reason for the implementation choices I made. CHAPTER 4 IMPLEMENTATION In this chapter I shall discuss how I implemented the design of my project, the reasons for choosing certain methods of implementation, the difficulties I encountered during implementation and how I solved them. USER INTERFACE This section explains how I implemented the front end of my program, i.e. the user interface, and the reason for some of implementation features and methods. I decided to use components of the swing package to implement my GUI because it has more features and I would have more at my disposal which I believe would make implementation easier for me. The first version of my griddler puzzle editor contained the implementation of the main GUI. I decided to create a Griddler puzzle class which extended the JFrame class rather than create it in the main method because it would give me the option of running multiple instances of the griddler puzzle object if I needed to. I encountered a minor setback with my user interface which was determining how I would colour in the grid. After researching the methods available, I thought it might be a good option to use JLabel as a wide variety of methods are available permitting me to perform various manipulations on the object. The JLabel object allows me to create an empty instance of it which is what I needed for my grid, change the background colour and can listen for various events which were the manipulations I needed to perform. In order to implement my grid I created a JPanel with a combination of border layout and grid layout. The centre of the border layout contained a JPanel with a grid layout and I wrote a loop to place an empty opaque JLabel in every grid of the panel as well as storing the labels in two dimensional array of type JLabel. I created the two JButtons and placed them in the south section of the panel. The second version of the program made changes to the user interface as it allowed the input of the grid size by the user. In order to achieve this, I extended my main method to allow it possess the properties of a JFrame component then I modified it to display a dialog box with two text fields in which the size of the grid could be inputted and a JButton to create an instance of the griddler puzzle class with the sizes passed as arguments to the class. 11

12 The next section shall explain back end functionality and how I implemented it and what motivated me to choose the methods I decided on eventually to implement the back end of the program. BACK- END FEATURES This section explains how I implemented the functionality behind the buttons and the grid. The third version of my program is where functionality to the grid was applied. A JLabel listener was created for and registered to every JLabel in the grid and it listened for the click action on the squares. I created a JLabel listener class that extended the mouse action event with the JLabel source as it argument because it was easier using this method to identify the label that triggered the event and change it background colour. In the fourth version of my program, the generate clue JButton performs actions. In order to implement this I had to create a button listener class for the JButton to keep the amount of code in the griddler puzzle class to a reasonable level to make it easier to read and maintain. Therefore I would have chunks of code that would be easier to manage and maintain and it was also an efficient way of implementing the action. My button listener object listens for clicks to either of the buttons i.e. the generate clue button or the validate button. The generate clue button s functionality is added in this version of the program to generate clues from the grid. It was implemented by scanning through each row or column and counting the amount of labels with their background colour set to black and stores the amount in as a list when it reaches a white label or the end of the row or column, then it stores the list in a two dimensional array. The first column of the array is where the clue lists for the rows are stored and the second column of the array is where the clue lists for the columns are stored. The fifth version of the editor is adding functionality to the validate button by creating clue object from the clue list array and creating a linked lists. I am using a clue object as this can contain all the information about a clue needed i.e. the row number, the clue list, the line state i.e. solved, partially solved and unsolved and other relevant information. I decided to implement my queue using a linked list as there are loads of features available to me in java to easily implement it and I was implementing a basic queue. I progressed as far as the implementation of logic rules i.e. the overlap rule and identifying spaces. The next chapter shall contain information about the results my program produced when run, its speed and performance and the tests I carried out on it and where I rate it in terms of my requirements. CHAPTER 5 RESULTS, TESTING AND EVALUATION In this section I shall try to explain how I tested my program and state the results of the test i.e. how it performed when valid data was inputted how it performed when erroneous data was inputted and if it met the user requirements stated in the design section. 12

13 FIGURE 11: SCREENSHOT OF MY DIALOG BOX AND THE GRIDDLER OBJECT PRODUCED FIGURE 12: SCREENSHOT OF MY EDITOR GENERATING CLUES The front end of my system could be easily tested as I had a visual of the outcome of the code and could swiftly spot when I was not getting the expected result. For the back end, I created dialog boxes to output results to make sure the right parameters and results were obtained. For instance while I was generating the clues I had a dialog box return the resulting clue of every line of to confirm the code was generating the right clues. With the validation process it was a bit tricky because although I could see the output of the code it was hard to identify what cause what. If the column were put into the priority queue before the row and the puzzle was not unique would it yield a different solution to if the rows are put before the column. CHAPTER 6 CONCLUSIONS During the course of this project, I have learnt a great deal about griddler puzzles, gained more experience programming in java and learnt more about large scale projects which I did not realise. I learnt more about the swing and action event classes in java throughout the project and I believe it has made me a more proficient java programmer as I have proven to myself I can learn a great deal of new concepts on my own and implement them. With regards to the success of my project, I have not reached my goal. I have produced a program that griddler puzzle 13

14 puzzles of any size can be created on but unfortunately I cannot confidently say it validates griddler puzzle puzzles created on it. Further activity I would propose for my project would be to improve the solver as it is the backbone of the validation process which is a weak part of my project. 14

15 REFERENCES puzzle/gridhist.htm Page name: Griddler history Date accessed: October Page name: All pages Date accessed: October puzzles.net/ Page name: Griddler workshop Date accessed: November Page name: Home page Date accessed: November column- new.pdf Authors names: Jessica Benton, Rion Snow, Nolan Wallach Title: A combinatorial problem associated with nonograms Year of publication: March 21, Page name: nonogram page Date accessed: October Page name: homepage Date accessed: December Intelligent_Interaction/2004_01_C_W.A.Wiggers- A_comparison_of_a_genetic_algorithm_and_a_depth_first_search_algorithm_applied_to_Japanese _nonograms.pdf Author s name: Wouter Wiggers, Faculty of EECMS, University of Twente w.a.wiggers@student.utwente.nl Title: A comparison of a genetic algorithm and a depth first search algorithm applied to Japanese nonograms 15

Develop an interactive Pixel Pix game. Gemma Buckley. BSc Computer Science with Mathematics (Industry) 2005/2006

Develop an interactive Pixel Pix game. Gemma Buckley. BSc Computer Science with Mathematics (Industry) 2005/2006 Pixel Pix game BSc Computer Science with Mathematics (Industry) 2005/2006 The candidate confirms that the work submitted is their own and the appropriate credit has been given where reference has been

More information

Slitherlink. Supervisor: David Rydeheard. Date: 06/05/10. The University of Manchester. School of Computer Science. B.Sc.(Hons) Computer Science

Slitherlink. Supervisor: David Rydeheard. Date: 06/05/10. The University of Manchester. School of Computer Science. B.Sc.(Hons) Computer Science Slitherlink Student: James Rank rankj7@cs.man.ac.uk Supervisor: David Rydeheard Date: 06/05/10 The University of Manchester School of Computer Science B.Sc.(Hons) Computer Science Abstract Title: Slitherlink

More information

On the Combination of Constraint Programming and Stochastic Search: The Sudoku Case

On the Combination of Constraint Programming and Stochastic Search: The Sudoku Case On the Combination of Constraint Programming and Stochastic Search: The Sudoku Case Rhydian Lewis Cardiff Business School Pryfysgol Caerdydd/ Cardiff University lewisr@cf.ac.uk Talk Plan Introduction:

More information

Yet Another Organized Move towards Solving Sudoku Puzzle

Yet Another Organized Move towards Solving Sudoku Puzzle !" ##"$%%# &'''( ISSN No. 0976-5697 Yet Another Organized Move towards Solving Sudoku Puzzle Arnab K. Maji* Department Of Information Technology North Eastern Hill University Shillong 793 022, Meghalaya,

More information

ISudoku. Jonathon Makepeace Matthew Harris Jamie Sparrow Julian Hillebrand

ISudoku. Jonathon Makepeace Matthew Harris Jamie Sparrow Julian Hillebrand Jonathon Makepeace Matthew Harris Jamie Sparrow Julian Hillebrand ISudoku Abstract In this paper, we will analyze and discuss the Sudoku puzzle and implement different algorithms to solve the puzzle. After

More information

SUDOKU X. Samples Document. by Andrew Stuart. Moderate

SUDOKU X. Samples Document. by Andrew Stuart. Moderate SUDOKU X Moderate Samples Document by Andrew Stuart About Sudoku X This is a variant of the popular Sudoku puzzle which contains two extra constraints on the solution, namely the diagonals, typically indicated

More information

CPSC 217 Assignment 3

CPSC 217 Assignment 3 CPSC 217 Assignment 3 Due: Friday November 24, 2017 at 11:55pm Weight: 7% Sample Solution Length: Less than 100 lines, including blank lines and some comments (not including the provided code) Individual

More information

Spring 06 Assignment 2: Constraint Satisfaction Problems

Spring 06 Assignment 2: Constraint Satisfaction Problems 15-381 Spring 06 Assignment 2: Constraint Satisfaction Problems Questions to Vaibhav Mehta(vaibhav@cs.cmu.edu) Out: 2/07/06 Due: 2/21/06 Name: Andrew ID: Please turn in your answers on this assignment

More information

2048: An Autonomous Solver

2048: An Autonomous Solver 2048: An Autonomous Solver Final Project in Introduction to Artificial Intelligence ABSTRACT. Our goal in this project was to create an automatic solver for the wellknown game 2048 and to analyze how different

More information

of Nebraska - Lincoln

of Nebraska - Lincoln University of Nebraska - Lincoln DigitalCommons@University of Nebraska - Lincoln MAT Exam Expository Papers Math in the Middle Institute Partnership 7-2009 Sudoku Marlene Grayer University of Nebraska-Lincoln

More information

Spring 06 Assignment 2: Constraint Satisfaction Problems

Spring 06 Assignment 2: Constraint Satisfaction Problems 15-381 Spring 06 Assignment 2: Constraint Satisfaction Problems Questions to Vaibhav Mehta(vaibhav@cs.cmu.edu) Out: 2/07/06 Due: 2/21/06 Name: Andrew ID: Please turn in your answers on this assignment

More information

Investigation of Algorithmic Solutions of Sudoku Puzzles

Investigation of Algorithmic Solutions of Sudoku Puzzles Investigation of Algorithmic Solutions of Sudoku Puzzles Investigation of Algorithmic Solutions of Sudoku Puzzles The game of Sudoku as we know it was first developed in the 1979 by a freelance puzzle

More information

Solving Japanese Puzzles with Heuristics

Solving Japanese Puzzles with Heuristics Solving Japanese Puzzles with Heuristics Sancho Salcedo-Sanz, Emilio G. Ortíz-García, Angel M. Pérez-Bellido, Antonio Portilla-Figueras and Xin Yao Department of Signal Theory and Communications Universidad

More information

Using Artificial intelligent to solve the game of 2048

Using Artificial intelligent to solve the game of 2048 Using Artificial intelligent to solve the game of 2048 Ho Shing Hin (20343288) WONG, Ngo Yin (20355097) Lam Ka Wing (20280151) Abstract The report presents the solver of the game 2048 base on artificial

More information

A comparison of a genetic algorithm and a depth first search algorithm applied to Japanese nonograms

A comparison of a genetic algorithm and a depth first search algorithm applied to Japanese nonograms A comparison of a genetic algorithm and a depth first search algorithm applied to Japanese nonograms Wouter Wiggers Faculty of EECMS, University of Twente w.a.wiggers@student.utwente.nl ABSTRACT In this

More information

Game Mechanics Minesweeper is a game in which the player must correctly deduce the positions of

Game Mechanics Minesweeper is a game in which the player must correctly deduce the positions of Table of Contents Game Mechanics...2 Game Play...3 Game Strategy...4 Truth...4 Contrapositive... 5 Exhaustion...6 Burnout...8 Game Difficulty... 10 Experiment One... 12 Experiment Two...14 Experiment Three...16

More information

Kenken For Teachers. Tom Davis January 8, Abstract

Kenken For Teachers. Tom Davis   January 8, Abstract Kenken For Teachers Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles January 8, 00 Abstract Kenken is a puzzle whose solution requires a combination of logic and simple arithmetic

More information

Sudoku Tutor 1.0 User Manual

Sudoku Tutor 1.0 User Manual Sudoku Tutor 1.0 User Manual CAPABILITIES OF SUDOKU TUTOR 1.0... 2 INSTALLATION AND START-UP... 3 PURCHASE OF LICENSING AND REGISTRATION... 4 QUICK START MAIN FEATURES... 5 INSERTION AND REMOVAL... 5 AUTO

More information

Techniques for Generating Sudoku Instances

Techniques for Generating Sudoku Instances Chapter Techniques for Generating Sudoku Instances Overview Sudoku puzzles become worldwide popular among many players in different intellectual levels. In this chapter, we are going to discuss different

More information

Comparing Methods for Solving Kuromasu Puzzles

Comparing Methods for Solving Kuromasu Puzzles Comparing Methods for Solving Kuromasu Puzzles Leiden Institute of Advanced Computer Science Bachelor Project Report Tim van Meurs Abstract The goal of this bachelor thesis is to examine different methods

More information

Indian Sudoku Championship 2015

Indian Sudoku Championship 2015 Indian Sudoku Championship 2015 28-June-2015 http://logicmastersindia.com/2015/isc/ Important Links Submission: http://logicmastersindia.com/2015/isc/ Discussion: http://logicmastersindia.com/t/?tid=972

More information

Monte Carlo based battleship agent

Monte Carlo based battleship agent Monte Carlo based battleship agent Written by: Omer Haber, 313302010; Dror Sharf, 315357319 Introduction The game of battleship is a guessing game for two players which has been around for almost a century.

More information

Rotational Puzzles on Graphs

Rotational Puzzles on Graphs Rotational Puzzles on Graphs On this page I will discuss various graph puzzles, or rather, permutation puzzles consisting of partially overlapping cycles. This was first investigated by R.M. Wilson in

More information

isudoku Computing Solutions to Sudoku Puzzles w/ 3 Algorithms by: Gavin Hillebrand Jamie Sparrow Jonathon Makepeace Matthew Harris

isudoku Computing Solutions to Sudoku Puzzles w/ 3 Algorithms by: Gavin Hillebrand Jamie Sparrow Jonathon Makepeace Matthew Harris isudoku Computing Solutions to Sudoku Puzzles w/ 3 Algorithms by: Gavin Hillebrand Jamie Sparrow Jonathon Makepeace Matthew Harris What is Sudoku? A logic-based puzzle game Heavily based in combinatorics

More information

Final Project: NOTE: The final project will be due on the last day of class, Friday, Dec 9 at midnight.

Final Project: NOTE: The final project will be due on the last day of class, Friday, Dec 9 at midnight. Final Project: NOTE: The final project will be due on the last day of class, Friday, Dec 9 at midnight. For this project, you may work with a partner, or you may choose to work alone. If you choose to

More information

An improved strategy for solving Sudoku by sparse optimization methods

An improved strategy for solving Sudoku by sparse optimization methods An improved strategy for solving Sudoku by sparse optimization methods Yuchao Tang, Zhenggang Wu 2, Chuanxi Zhu. Department of Mathematics, Nanchang University, Nanchang 33003, P.R. China 2. School of

More information

SudokuSplashZone. Overview 3

SudokuSplashZone. Overview 3 Overview 3 Introduction 4 Sudoku Game 4 Game grid 4 Cell 5 Row 5 Column 5 Block 5 Rules of Sudoku 5 Entering Values in Cell 5 Solver mode 6 Drag and Drop values in Solver mode 6 Button Inputs 7 Check the

More information

Solving Sudoku Using Artificial Intelligence

Solving Sudoku Using Artificial Intelligence Solving Sudoku Using Artificial Intelligence Eric Pass BitBucket: https://bitbucket.org/ecp89/aipracticumproject Demo: https://youtu.be/-7mv2_ulsas Background Overview Sudoku problems are some of the most

More information

Would You Like To Earn $1000 s With The Click Of A Button?

Would You Like To Earn $1000 s With The Click Of A Button? Would You Like To Earn $1000 s With The Click Of A Button? (Follow these easy step by step instructions and you will) This e-book is for the USA and AU (it works in many other countries as well) To get

More information

Clickteam Fusion 2.5 [Fastloops ForEach Loops] - Guide

Clickteam Fusion 2.5 [Fastloops ForEach Loops] - Guide INTRODUCTION Built into Fusion are two powerful routines. They are called Fastloops and ForEach loops. The two are different yet so similar. This will be an exhaustive guide on how you can learn how to

More information

GET OVERLAPPED! Author: Huang Yi. Forum thread:

GET OVERLAPPED! Author: Huang Yi. Forum thread: GET OVERLAPPED! Author: Huang Yi Test page: http://logicmastersindia.com/2019/02s/ Forum thread: http://logicmastersindia.com/forum/forums/thread-view.asp?tid=2690 About this Test: This test presents a

More information

Cracking the Sudoku: A Deterministic Approach

Cracking the Sudoku: A Deterministic Approach Cracking the Sudoku: A Deterministic Approach David Martin Erica Cross Matt Alexander Youngstown State University Youngstown, OH Advisor: George T. Yates Summary Cracking the Sodoku 381 We formulate a

More information

Sudoku. How to become a Sudoku Ninja: Tips, Tricks and Strategies

Sudoku. How to become a Sudoku Ninja: Tips, Tricks and Strategies Sudoku How to become a Sudoku Ninja: Tips, Tricks and Strategies 1 Benefits Fun Exercises the Mind Improves Memory Improves Logical and Critical Reasoning Helps to decline the effects of aging Can help

More information

We hope you enjoy the set. Good luck for the Indian Puzzle Championship! 3 A B C 4 H D 5 G F E 7 A B 8 H 9 G F

We hope you enjoy the set. Good luck for the Indian Puzzle Championship! 3 A B C 4 H D 5 G F E 7 A B 8 H 9 G F Notes:. All Puzzle rules have been copied from the IP 0 Instruction booklet. Participants are advised to have a look at the booklet before trying out these puzzles, as they contain easier examples with

More information

Getting Started Guide

Getting Started Guide SOLIDWORKS Getting Started Guide SOLIDWORKS Electrical FIRST Robotics Edition Alexander Ouellet 1/2/2015 Table of Contents INTRODUCTION... 1 What is SOLIDWORKS Electrical?... Error! Bookmark not defined.

More information

Programming an Othello AI Michael An (man4), Evan Liang (liange)

Programming an Othello AI Michael An (man4), Evan Liang (liange) Programming an Othello AI Michael An (man4), Evan Liang (liange) 1 Introduction Othello is a two player board game played on an 8 8 grid. Players take turns placing stones with their assigned color (black

More information

Assignment 5 due Monday, May 7

Assignment 5 due Monday, May 7 due Monday, May 7 Simulations and the Law of Large Numbers Overview In both parts of the assignment, you will be calculating a theoretical probability for a certain procedure. In other words, this uses

More information

MAS336 Computational Problem Solving. Problem 3: Eight Queens

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

More information

The Birds of a Feather Research Challenge. Todd W. Neller Gettysburg College November 9 th, 2017

The Birds of a Feather Research Challenge. Todd W. Neller Gettysburg College November 9 th, 2017 The Birds of a Feather Research Challenge Todd W. Neller Gettysburg College November 9 th, 2017 Outline Backstories: Rook Jumping Mazes Parameterized Poker Squares FreeCell Birds of a Feather Rules 4x4

More information

An efficient algorithm for solving nonograms

An efficient algorithm for solving nonograms Appl Intell (2011) 35:18 31 DOI 10.1007/s10489-009-0200-0 An efficient algorithm for solving nonograms Chiung-Hsueh Yu Hui-Lung Lee Ling-Hwei Chen Published online: 13 November 2009 Springer Science+Business

More information

The KNIME Image Processing Extension User Manual (DRAFT )

The KNIME Image Processing Extension User Manual (DRAFT ) The KNIME Image Processing Extension User Manual (DRAFT ) Christian Dietz and Martin Horn February 6, 2014 1 Contents 1 Introduction 3 1.1 Installation............................ 3 2 Basic Concepts 4

More information

The Beauty and Joy of Computing Lab Exercise 10: Shall we play a game? Objectives. Background (Pre-Lab Reading)

The Beauty and Joy of Computing Lab Exercise 10: Shall we play a game? Objectives. Background (Pre-Lab Reading) The Beauty and Joy of Computing Lab Exercise 10: Shall we play a game? [Note: This lab isn t as complete as the others we have done in this class. There are no self-assessment questions and no post-lab

More information

Episode 3 8 th 12 th February Substitution and Odd Even Variations By Kishore Kumar and Ashish Kumar

Episode 3 8 th 12 th February Substitution and Odd Even Variations By Kishore Kumar and Ashish Kumar Episode 3 8 th 12 th February 2019 Substitution and Odd Even Variations By Kishore Kumar and Ashish Kumar Sudoku Mahabharat rounds will also serve as qualifiers for Indian Sudoku Championship for year

More information

Keytar Hero. Bobby Barnett, Katy Kahla, James Kress, and Josh Tate. Teams 9 and 10 1

Keytar Hero. Bobby Barnett, Katy Kahla, James Kress, and Josh Tate. Teams 9 and 10 1 Teams 9 and 10 1 Keytar Hero Bobby Barnett, Katy Kahla, James Kress, and Josh Tate Abstract This paper talks about the implementation of a Keytar game on a DE2 FPGA that was influenced by Guitar Hero.

More information

MITOCW ocw lec11

MITOCW ocw lec11 MITOCW ocw-6.046-lec11 Here 2. Good morning. Today we're going to talk about augmenting data structures. That one is 23 and that is 23. And I look here. For this one, And this is a -- Normally, rather

More information

Universiteit Leiden Opleiding Informatica

Universiteit Leiden Opleiding Informatica Universiteit Leiden Opleiding Informatica Predicting the Outcome of the Game Othello Name: Simone Cammel Date: August 31, 2015 1st supervisor: 2nd supervisor: Walter Kosters Jeannette de Graaf BACHELOR

More information

Episode 4 30 th March 2 nd April 2018 Odd Even & Substitution Variations By R Kumaresan and Amit Sowani

Episode 4 30 th March 2 nd April 2018 Odd Even & Substitution Variations By R Kumaresan and Amit Sowani Episode 4 30 th March 2 nd April 2018 Variations By R Kumaresan and Amit Sowani Sudoku Mahabharat rounds will also serve as qualifiers for Indian Sudoku Championship for year 2018. Please check http://logicmastersindia.com/sm/2018sm.asp

More information

Table of Contents. Table of Contents 1

Table of Contents. Table of Contents 1 Table of Contents 1) The Factor Game a) Investigation b) Rules c) Game Boards d) Game Table- Possible First Moves 2) Toying with Tiles a) Introduction b) Tiles 1-10 c) Tiles 11-16 d) Tiles 17-20 e) Tiles

More information

Lumines Strategies. Greg Aloupis, Jean Cardinal, Sébastien Collette, and Stefan Langerman

Lumines Strategies. Greg Aloupis, Jean Cardinal, Sébastien Collette, and Stefan Langerman Lumines Strategies Greg Aloupis, Jean Cardinal, Sébastien Collette, and Stefan Langerman Département d Informatique, Université Libre de Bruxelles, Boulevard du Triomphe CP212, 1050 Bruxelles, Belgium.

More information

The game of Reversi was invented around 1880 by two. Englishmen, Lewis Waterman and John W. Mollett. It later became

The game of Reversi was invented around 1880 by two. Englishmen, Lewis Waterman and John W. Mollett. It later became Reversi Meng Tran tranm@seas.upenn.edu Faculty Advisor: Dr. Barry Silverman Abstract: The game of Reversi was invented around 1880 by two Englishmen, Lewis Waterman and John W. Mollett. It later became

More information

Probability Interactives from Spire Maths A Spire Maths Activity

Probability Interactives from Spire Maths A Spire Maths Activity Probability Interactives from Spire Maths A Spire Maths Activity https://spiremaths.co.uk/ia/ There are 12 sets of Probability Interactives: each contains a main and plenary flash file. Titles are shown

More information

Heuristics, and what to do if you don t know what to do. Carl Hultquist

Heuristics, and what to do if you don t know what to do. Carl Hultquist Heuristics, and what to do if you don t know what to do Carl Hultquist What is a heuristic? Relating to or using a problem-solving technique in which the most appropriate solution of several found by alternative

More information

122 Taking Shape: Activities to Develop Geometric and Spatial Thinking, Grades K 2 P

122 Taking Shape: Activities to Develop Geometric and Spatial Thinking, Grades K 2 P Game Rules The object of the game is to work together to completely cover each of the 6 hexagons with pattern blocks, according to the cards chosen. The game ends when all 6 hexagons are completely covered.

More information

Real-Time Connect 4 Game Using Artificial Intelligence

Real-Time Connect 4 Game Using Artificial Intelligence Journal of Computer Science 5 (4): 283-289, 2009 ISSN 1549-3636 2009 Science Publications Real-Time Connect 4 Game Using Artificial Intelligence 1 Ahmad M. Sarhan, 2 Adnan Shaout and 2 Michele Shock 1

More information

Making Middle School Math Come Alive with Games and Activities

Making Middle School Math Come Alive with Games and Activities Making Middle School Math Come Alive with Games and Activities For more information about the materials you find in this packet, contact: Sharon Rendon (605) 431-0216 sharonrendon@cpm.org 1 2-51. SPECIAL

More information

You Can Make a Difference! Due November 11/12 (Implementation plans due in class on 11/9)

You Can Make a Difference! Due November 11/12 (Implementation plans due in class on 11/9) You Can Make a Difference! Due November 11/12 (Implementation plans due in class on 11/9) In last week s lab, we introduced some of the basic mechanisms used to manipulate images in Java programs. In this

More information

Generating and solving 3D nonogram puzzles. Connor Halford

Generating and solving 3D nonogram puzzles. Connor Halford Generating and solving 3D nonogram puzzles Connor Halford University of Abertay Dundee School of Arts, Media and Computer Games May 2016 I. Abstract Nonograms are a type of visual logic puzzle where the

More information

Episode 3 16 th 19 th March Made In India and Regions by Prasanna Seshadri

Episode 3 16 th 19 th March Made In India and Regions by Prasanna Seshadri and Episode 3 16 th 19 th March 2018 by Prasanna Seshadri Puzzle Ramayan rounds will also serve as qualifiers for Indian Puzzle Championship for year 2018. Please check http://logicmastersindia.com/pr/2018pr.asp

More information

Creating a Mobile Game

Creating a Mobile Game The University of Akron IdeaExchange@UAkron Honors Research Projects The Dr. Gary B. and Pamela S. Williams Honors College Spring 2015 Creating a Mobile Game Timothy Jasany The University Of Akron, trj21@zips.uakron.edu

More information

Playful Computing Activity Jazzy Jigsaw Puzzles

Playful Computing Activity Jazzy Jigsaw Puzzles Playful Computing Activity Jazzy Jigsaw Puzzles Introduction Ever wondered how puzzle sets consisting of thousands of pieces are ever solved? All those pieces, mixed together, take them out of the box

More information

CMSC 201 Fall 2018 Project 3 Sudoku

CMSC 201 Fall 2018 Project 3 Sudoku CMSC 201 Fall 2018 Project 3 Sudoku Assignment: Project 3 Sudoku Due Date: Design Document: Tuesday, December 4th, 2018 by 8:59:59 PM Project: Tuesday, December 11th, 2018 by 8:59:59 PM Value: 80 points

More information

Mind Ninja The Game of Boundless Forms

Mind Ninja The Game of Boundless Forms Mind Ninja The Game of Boundless Forms Nick Bentley 2007-2008. email: nickobento@gmail.com Overview Mind Ninja is a deep board game for two players. It is 2007 winner of the prestigious international board

More information

Indian Puzzle Championship 2013

Indian Puzzle Championship 2013 Indian Puzzle Championship 03 07-July-03 http://logicmastersindia.com/03/ipc/ Important Links Submission: http://logicmastersindia.com/03/ipc/ Discussion: http://logicmastersindia.com/t/?tid=694 Results:

More information

TABLE OF CONTENTS...2 SAM VIBE - OVERVIEW...3 WORKING WITH THE SAM VIBE SCHEDULE...3 PLAYBLOCKS...4 CREATING A PLAYBLOCK...4 EXAMPLE PLAYBLOCKS...

TABLE OF CONTENTS...2 SAM VIBE - OVERVIEW...3 WORKING WITH THE SAM VIBE SCHEDULE...3 PLAYBLOCKS...4 CREATING A PLAYBLOCK...4 EXAMPLE PLAYBLOCKS... SAM VIBE Scheduling Table of Contents TABLE OF CONTENTS...2 SAM VIBE - OVERVIEW...3 WORKING WITH THE SAM VIBE SCHEDULE...3 PLAYBLOCKS...4 CREATING A PLAYBLOCK...4 EXAMPLE PLAYBLOCKS...6 STATION ID AFTER

More information

8. You Won t Want To Play Sudoku Again

8. You Won t Want To Play Sudoku Again 8. You Won t Want To Play Sudoku Again Thanks to modern computers, brawn beats brain. Programming constructs and algorithmic paradigms covered in this puzzle: Global variables. Sets and set operations.

More information

Would You Like To Earn $1000 s With The Click Of A Button?

Would You Like To Earn $1000 s With The Click Of A Button? Would You Like To Earn $1000 s With The Click Of A Button? (Follow these easy step by step instructions and you will) This e-book is for the USA and AU (it works in many other countries as well) To get

More information

Overview. Initial Screen

Overview. Initial Screen 1 of 19 Overview Normal game play is by using the stylus. If your device has the direction and select keys you may use those instead. Users of older models can set the Hardkey navigation option under the

More information

Episode 5 12 th 14 th December. Outside Variations by Rishi Puri

Episode 5 12 th 14 th December. Outside Variations by Rishi Puri Episode 12 th 1 th December by Rishi Puri Mahabharat rounds will also serve as qualifiers for Indian Championship for year 2016. Please check http://logicmastersindia.com/sm/201-16.asp for details. Important

More information

CPSC 217 Assignment 3 Due Date: Friday March 30, 2018 at 11:59pm

CPSC 217 Assignment 3 Due Date: Friday March 30, 2018 at 11:59pm CPSC 217 Assignment 3 Due Date: Friday March 30, 2018 at 11:59pm Weight: 8% Individual Work: All assignments in this course are to be completed individually. Students are advised to read the guidelines

More information

ActivArena TEMPLATES TEACHER NOTES FOR ACTIVARENA RESOURCES BLANK WORKING SPACE SPLIT (WITH TITLE SPACE) About this template

ActivArena TEMPLATES TEACHER NOTES FOR ACTIVARENA RESOURCES BLANK WORKING SPACE SPLIT (WITH TITLE SPACE) About this template TEMPLATES BLANK WORKING SPACE SPLIT (WITH TITLE SPACE) It contains two blank workspaces that can be the basis of many tasks. Learners may perform identical tasks or completely different tasks in their

More information

Mathematics Enhancement Programme TEACHING SUPPORT: Year 3

Mathematics Enhancement Programme TEACHING SUPPORT: Year 3 Mathematics Enhancement Programme TEACHING UPPORT: Year 3 1. Question and olution Write the operations without brackets if possible so that the result is the same. Do the calculations as a check. The first

More information

Slicing a Puzzle and Finding the Hidden Pieces

Slicing a Puzzle and Finding the Hidden Pieces Olivet Nazarene University Digital Commons @ Olivet Honors Program Projects Honors Program 4-1-2013 Slicing a Puzzle and Finding the Hidden Pieces Martha Arntson Olivet Nazarene University, mjarnt@gmail.com

More information

To use one-dimensional arrays and implement a collection class.

To use one-dimensional arrays and implement a collection class. Lab 8 Handout 10 CSCI 134: Spring, 2015 Concentration Objective To use one-dimensional arrays and implement a collection class. Your lab assignment this week is to implement the memory game Concentration.

More information

2. Previous works Yu and Jing [2][3] they used some logical rules are deduced to paint some cells. Then, they used the chronological backtracking algo

2. Previous works Yu and Jing [2][3] they used some logical rules are deduced to paint some cells. Then, they used the chronological backtracking algo Solving Fillomino with Efficient Algorithm Shi-Jim Yen Department of Computer Science & Information Engineering, National Dong Hwa University, Hualien, Taiwan, R.O.C. sjyen@mail.ndhu.edu.tw Tsan-Cheng

More information

sudoku 16x16 454BB8EA3E376999F4F40AF890078C0E Sudoku 16x16 1 / 6

sudoku 16x16 454BB8EA3E376999F4F40AF890078C0E Sudoku 16x16 1 / 6 Sudoku 16x16 1 / 6 2 / 6 3 / 6 Sudoku 16x16 Sudoku 16x16. A very popular layout the Sudoku 16x16 puzzles present a satisfying challenge. Like the 9x9 puzzles this variation has square inner boxes. It is

More information

CS180 Project 5: Centipede

CS180 Project 5: Centipede CS180 Project 5: Centipede Chapters from the textbook relevant for this project: All chapters covered in class. Project assigned on: November 11, 2011 Project due date: December 6, 2011 Project created

More information

PROCESS TABLETOP CARVING PROJECTS BY JOHN SCIORTINO AND ISAAC LEVINE

PROCESS TABLETOP CARVING PROJECTS BY JOHN SCIORTINO AND ISAAC LEVINE PROCESS TABLETOP CARVING PROJECTS BY JOHN SCIORTINO AND ISAAC LEVINE In order to test the capabilities of the Design Labs new machine, Carvey, we have completed a series of projects that have allowed us

More information

Sokoban: Reversed Solving

Sokoban: Reversed Solving Sokoban: Reversed Solving Frank Takes (ftakes@liacs.nl) Leiden Institute of Advanced Computer Science (LIACS), Leiden University June 20, 2008 Abstract This article describes a new method for attempting

More information

Beyond Prolog: Constraint Logic Programming

Beyond Prolog: Constraint Logic Programming Beyond Prolog: Constraint Logic Programming This lecture will cover: generate and test as a problem solving approach in Prolog introduction to programming with CLP(FD) using constraints to solve a puzzle

More information

EXPLORING TIC-TAC-TOE VARIANTS

EXPLORING TIC-TAC-TOE VARIANTS EXPLORING TIC-TAC-TOE VARIANTS By Alec Levine A SENIOR RESEARCH PAPER PRESENTED TO THE DEPARTMENT OF MATHEMATICS AND COMPUTER SCIENCE OF STETSON UNIVERSITY IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR

More information

An Exploration of the Minimum Clue Sudoku Problem

An Exploration of the Minimum Clue Sudoku Problem Sacred Heart University DigitalCommons@SHU Academic Festival Apr 21st, 12:30 PM - 1:45 PM An Exploration of the Minimum Clue Sudoku Problem Lauren Puskar Follow this and additional works at: http://digitalcommons.sacredheart.edu/acadfest

More information

Design and Technology Subject Outline Stage 1 and Stage 2

Design and Technology Subject Outline Stage 1 and Stage 2 Design and Technology 2019 Subject Outline Stage 1 and Stage 2 Published by the SACE Board of South Australia, 60 Greenhill Road, Wayville, South Australia 5034 Copyright SACE Board of South Australia

More information

Sudoku Solvers. A Different Approach. DD143X Degree Project in Computer Science, First Level CSC KTH. Supervisor: Michael Minock

Sudoku Solvers. A Different Approach. DD143X Degree Project in Computer Science, First Level CSC KTH. Supervisor: Michael Minock Sudoku Solvers A Different Approach DD143X Degree Project in Computer Science, First Level CSC KTH Supervisor: Michael Minock Christoffer Nilsson Professorsslingan 10 114 17 Stockholm Tel: 073-097 87 24

More information

Intro to Java Programming Project

Intro to Java Programming Project Intro to Java Programming Project In this project, your task is to create an agent (a game player) that can play Connect 4. Connect 4 is a popular board game, similar to an extended version of Tic-Tac-Toe.

More information

The University of Algarve Informatics Laboratory

The University of Algarve Informatics Laboratory arxiv:0709.1056v2 [cs.hc] 13 Sep 2007 The University of Algarve Informatics Laboratory UALG-ILAB September, 2007 A Sudoku Game for People with Motor Impairments Stéphane Norte, and Fernando G. Lobo Department

More information

Instruction manual Chess Tutor

Instruction manual Chess Tutor Instruction manual Chess Tutor Cor van Wijgerden Eiko Bleicher Stefan Meyer-Kahlen Jürgen Daniel English translation: Ian Adams Contents: Installing the program... 3 Starting the program... 3 The overview...

More information

The mathematics of Septoku

The mathematics of Septoku The mathematics of Septoku arxiv:080.397v4 [math.co] Dec 203 George I. Bell gibell@comcast.net, http://home.comcast.net/~gibell/ Mathematics Subject Classifications: 00A08, 97A20 Abstract Septoku is a

More information

Environmental Stochasticity: Roc Flu Macro

Environmental Stochasticity: Roc Flu Macro POPULATION MODELS Environmental Stochasticity: Roc Flu Macro Terri Donovan recorded: January, 2010 All right - let's take a look at how you would use a spreadsheet to go ahead and do many, many, many simulations

More information

In this project, you will create a memory game where you have to memorise and repeat a sequence of random colours!

In this project, you will create a memory game where you have to memorise and repeat a sequence of random colours! Memory Introduction In this project, you will create a memory game where you have to memorise and repeat a sequence of random colours! Step 1: Random colours First, let s create a character that can change

More information

Hill-Climbing Lights Out: A Benchmark

Hill-Climbing Lights Out: A Benchmark Hill-Climbing Lights Out: A Benchmark Abstract We introduce and discuss various theorems concerning optimizing search strategies for finding solutions to the popular game Lights Out. We then discuss how

More information

A B O U T T H E S E P U Z Z L E S

A B O U T T H E S E P U Z Z L E S A B O U T T H E S E P U Z Z L E S Suguru, also known as Tectonics, Number Blocks, or (Nanba Burokku), were first created in Japan by prolific puzzle designer Naoki Inaba. While the rules of Suguru are

More information

Lab 7: 3D Tic-Tac-Toe

Lab 7: 3D Tic-Tac-Toe Lab 7: 3D Tic-Tac-Toe Overview: Khan Academy has a great video that shows how to create a memory game. This is followed by getting you started in creating a tic-tac-toe game. Both games use a 2D grid or

More information

Rating and Generating Sudoku Puzzles Based On Constraint Satisfaction Problems

Rating and Generating Sudoku Puzzles Based On Constraint Satisfaction Problems Rating and Generating Sudoku Puzzles Based On Constraint Satisfaction Problems Bahare Fatemi, Seyed Mehran Kazemi, Nazanin Mehrasa International Science Index, Computer and Information Engineering waset.org/publication/9999524

More information

rum Puzzles in 2D and 3D Visualized with DSGI and Perspective Ted Clay, Clay Software and Statistics, Ashland, Oregon

rum Puzzles in 2D and 3D Visualized with DSGI and Perspective Ted Clay, Clay Software and Statistics, Ashland, Oregon Puzzles in 2D and 3D Visualized with DSGI and Perspective Ted Clay, Clay Software and Statistics, Ashland, Oregon Mapping ABSTRACT Do you enjoy puzzles? SAS@ can be used to solve not only abstract problems

More information

DETERMINING AN OPTIMAL SOLUTION

DETERMINING AN OPTIMAL SOLUTION DETERMINING AN OPTIMAL SOLUTION TO A THREE DIMENSIONAL PACKING PROBLEM USING GENETIC ALGORITHMS DONALD YING STANFORD UNIVERSITY dying@leland.stanford.edu ABSTRACT This paper determines the plausibility

More information

Episode 6 9 th 11 th January 90 minutes. Twisted Classics by Rajesh Kumar

Episode 6 9 th 11 th January 90 minutes. Twisted Classics by Rajesh Kumar Episode 6 9 th 11 th January 90 minutes by Rajesh Kumar Mahabharat rounds will also serve as qualifiers for Indian Championship for year 2016. Please check http://logicmastersindia.com/sm/2015-16.asp for

More information

Constructing Simple Nonograms of Varying Difficulty

Constructing Simple Nonograms of Varying Difficulty Constructing Simple Nonograms of Varying Difficulty K. Joost Batenburg,, Sjoerd Henstra, Walter A. Kosters, and Willem Jan Palenstijn Vision Lab, Department of Physics, University of Antwerp, Belgium Leiden

More information

Probability and Statistics

Probability and Statistics Probability and Statistics Activity: Do You Know Your s? (Part 1) TEKS: (4.13) Probability and statistics. The student solves problems by collecting, organizing, displaying, and interpreting sets of data.

More information

Making Middle School Math Come Alive with Games and Activities

Making Middle School Math Come Alive with Games and Activities Making Middle School Math Come Alive with Games and Activities For more information about the materials you find in this packet, contact: Chris Mikles 916-719-3077 chrismikles@cpm.org 1 2 2-51. SPECIAL

More information

G51PGP: Software Paradigms. Object Oriented Coursework 4

G51PGP: Software Paradigms. Object Oriented Coursework 4 G51PGP: Software Paradigms Object Oriented Coursework 4 You must complete this coursework on your own, rather than working with anybody else. To complete the coursework you must create a working two-player

More information