# Analysis of Micromouse Maze Solving Algorithms

Save this PDF as:

Size: px
Start display at page:

## Transcription

2 2 forward, and the program will place a virtual wall there, creating a closed room that the mouse can never re-enter, as shown in Figure 2: involves an initial assumption that there are no walls in the maze. A number is assigned to each cell. The number corresponds to the distance to the goal. This algorithm has the advantage of always finding the shortest path between start and finish. However, the shortest path is only in terms of distance; depending on the number of turns and the associated time to turn, the shortest path may not be the quickest. This concept is illustrated below in Figure 4: Figure 2: Mouse turns around a places a virtual wall. Now we have created another three-walled square, and this can also be blocked off. The mouse can now turn to the left and move forward one space, and the program will place a virtual wall at that entrance as well, effectively blocking off the entire dead end, as shown in Figure 3: Figure 3: Continue placing walls until out of dead end. This algorithm is the simplest one that also involves some degree of machine learning. This type of algorithm will solve any maze that is free of loops, but randomness has to be added so it can solve any maze, regardless of whether it has loops. The main advantage to this algorithm is that it is quite easy to modify the simple dead reckoning code to accommodate this extra feature. Even the same variables can be used. The only change is that the array that holds maze data is no longer static we change it on the fly to account for dead ends. Figure 4: Maze seeded with optimistic distance values to the finish. Black walls are known to the mouse, but gray walls are not. The mouse always starts in the corner, and there is always a wall to the left, as per the Micromouse Competition official rules. As in the previous example, the maze shown here is only 5x5 for simplicity s sake. A regular Micromouse maze is 16x16. Note that the only walls that are known to the mouse at this point are the border walls and the wall to its right. The gray colored walls are currently unknown to the mouse. These will get updated as it searches the maze. The number under the mouse is not shown, but in this case, it is number 4. Again, this number represents the most optimistic estimate of the number of moves it will take to get to the finish (which is the center square, which is always number 0.) In this case, as is common with mouse robots, the mouse can only see the walls of the space it is currently residing in. The next step is for the mouse to move forward one cell. See Figure 5. This will usually be done in preference to turning, since turning takes additional time. Generally, turning should only be done if there a dead end is encountered. The first check is to see if the mouse is at the finish. Since the number under the mouse is not zero, the mouse is not there, so it will check the numbers in adjacent squares to see if they are consistent. In this case, they are, so the next step is to move forward. See Figure 6. The mouse has found a wall and it is remembered. It is colored black for illustration. The mouse is not at the destination square, so it checks the consistency of the numbers around it. The number under the mouse is 2, but it knows that there is a wall to the left now, so this is a violation of the algorithm each number no longer represents the number of moves to the destination. FLOOD FILL: This algorithm is much more complex than the previous two. It

3 3 Figure 5: Mouse follows numbers in descending order. Figure 7: Numbers corrected, so mouse follows numbers in descending order. Figure 6: Mouse finds wall to right. Numbers are now inconsistent. To remedy this, it checks the value of the square that it just arrived from and adds one to it, to make 4. This number is applied to the current square. Then it checks the square in front for consistency, and it is correct, at least as far as the mouse knows. If it was not correct, it would have to run through several iterations and update several numbers to maintain consistency throughout the maze. The next step is to move forward. Again, the mouse does not know what is ahead of it, so it will move forward by default. Note the updated number in the square that the mouse just left, in Figure 7. The next step would be to turn to the right and head toward the 2, then right again toward 1. Figure 8 illustrates that it may be necessary to change more than one number at once. There is more than one way to handle this. Either a stack can be set up to contain information on neighboring cells that need to be updated, or the brute-force method can be used: The mouse can simply scan its entire rendition of the maze in memory for consistency after every move, and if it finds a cell that is not consistent, it will change it and then repeat this cycle until all of the cells are consistent. Several of the numbers need to be updated in this case. Figure 9 shows how the mouse s rendition of the maze should look after this action. Figure 8: The number below the mouse is inconsistent. Figure 9: This change affects other numbers in the maze. The flood fill algorithm has a disadvantage, in that it is nearly impossible to design into a state machine a microcontroller is usually required. A simple microcontroller such as the Intel 8051 is

4 4 typically not powerful enough. Several kilobytes of RAM are usually required just to store the maze and wall data, not to mention the program itself. If the program is written in C, it will likely require even more overhead for the debugging information added to the end of the code. The flood fill algorithm purposely prevents moving to numbers that are higher, even if that would have been a shorter path. This seems like a disadvantage, but there is no way of knowing the shortest path before the walls are mapped. Following the algorithm strictly will improve the average time to finish in any maze. This algorithm always works, and is not random it is systematic and predictable. A maze could be deliberately designed to favor one of the previous algorithms, but this would not be expected from maze designers. To further illustrate how this algorithm works, some pseudocode is below: Stack method: Create a 16x16 array to hold maze elements Create a stack that can hold 256 entries Put zero into the finish cells Fill the rest of the cells with the most optimistic distance in cells to the goal (i.e. pretend there are no walls until found otherwise.) Push the current cell onto the stack While the stack is not empty: Pull a cell from the stack Is the cell s value one greater than the minimum value of its accessible neighbors? If yes, keep pulling cells and checking them. If no, change the cell s value to one greater than the minimum value of its accessible neighbors, and push all of the cell s accessible neighbors onto the stack. End While the mouse more efficient in terms of both memory use and processor overhead. RUNNING THE PROGRAM: The JAVA programming language is usually called from HTML, via the Internet. This allows the program to be accessed by anyone at any time, and from virtually any computing platform. In the figure below, the maze shown is a model of the actual maze used in the worldwide Micromouse competition in The program has three parameters that can be passed to the JAVA applet on the fly. The three text boxes at the bottom indicate, from left to right, the time to move forward one cell, the time to turn 90º in place, and the actual time the simulation takes to perform either of the two previous tasks, all in milliseconds. The default values are all 100 milliseconds, which is on the fast side for a real mouse. For recording data, I used 1000 milliseconds to move forward one cell and 500 milliseconds to turn. I estimated these values from a video of an actual competition that I viewed. I used 10 milliseconds for the actual time in the simulation. In the worst cases, mice could take in excess of an hour to finish a maze if viewed in real time, so the speedup factor here allows the simulation to complete in less than a minute. Brute-force method: Create a 16x16 array to hold maze elements Put zero into the finish cells Fill the rest of the cells with the most optimistic distance in cells to the goal (i.e. pretend there are no walls until found otherwise.) While the current cell s value is incremented: For every cell in the maze: Is the cell s value one greater than the minimum value of its accessible neighbors? If no, change the cell s value to one greater than the minimum value of its accessible neighbors. End For End While Either method will work, and both will do exactly the same thing. The best one to choose depends on processor speed and memory availability. For a slow processor with plenty of memory, the stack method is preferred, but for a faster processor and limited memory, the brute force method is preferred. For a real Micromouse maze, which is 16x16 cells, in some cases it may be necessary to push nearly the entire maze onto the stack. This requires much more memory overhead than the brute force method. The reason is because three variables must be passed to the stack for each cell, that is, the cell s X-position, the cell s Y-position, and the cell s number. The brute force method is simpler, and it is plausible that the main routine could be implemented in assembly language. This may make Figure 10: The Micromouse program used to simulate various mazes and algorithms. Maze is Chicago IV. RESULTS The program was run with many different parameters, to test the viability of each algorithm. Chicago 1986 maze: Algorithm Mean: Standard Deviation: Number of Samples:

6 6 V. SUGGESTIONS FOR FURTHER STUDY It may help to further back up the Flood Fill algorithm s viability to test it with more actual Micromouse competition mazes. In this study, only professional level mazes were studied. Perhaps drastically different results would be produced for student level mazes, which may be simpler, and favor the Flood Fill algorithm less. Instead of conducting multiple trials on the same randomly generated maze, many individual trials could be conducted on different random mazes. Also, a better random maze generator could be written. VI. CONCLUSIONS The Flood Fill algorithm provides a systematic and predictable way to solve a Micromouse maze. It appears to be better than simpler algorithms for mazes that are used in real competitions. Although it did not meet the mark for a randomly generated maze, it should be noted that Micromouse mazes are never randomly generated. Rather, they are deliberately designed. It would provide less of a challenge to the Micromouse designers if the maze were designed to favor simpler maze solving algorithms. Although the Flood Fill algorithm was statistically better than the other two algorithms tested for the two actual mazes, this may not be the case with other mazes. VII. BIBLIOGRAPHY Micromouse Introduction. By Peter Harrison. UC Davis Micromouse Home Page.

### West Virginia University College of Engineering and Mineral Resources. Computer Engineering 313 Spring 2010

College of Engineering and Mineral Resources Computer Engineering 313 Spring 2010 Laboratory #4-A (Micromouse Algorithms) Goals This lab introduces the modified flood fill algorithm and teaches how to

### Solving a Simple Maze

Provided by TryEngineering - Lesson Focus Lesson focuses on algorithmic thinking and programming. Make the students aware of the beauty of simple algorithms and their implementation in real fun games.

### Application: Updated documentation:

Spring 13 Maze Generator and Solver Albert Toledo, Warren Barksdale, Brooke Macklin, Anesha Bembury Application: www.alberttoledo.com/team8 Updated documentation: www.alberttoledo.com/team8/documentation.pdf

### The Basics of Robot Mazes Teacher Notes

The Basics of Robot Mazes Teacher Notes Why do robots solve Mazes? A maze is a simple environment with simple rules. Solving it is a task that beginners can do successfully while learning the essentials

### ROUNDTRIP PUZZLES. Extended Introduction with solving strategies. by Glenn A. Iba

Introduction & Background ROUNDTRIP PUZZLES Extended Introduction with solving strategies by Glenn A. Iba RoundTrip puzzles first appeared in Dell Magazines in the early 1990's. They were invented by a

### Parallelization of a "Masyu" Puzzle solver

John Lilley Parallelization of a "Masyu" Puzzle solver The "Masyu" (aka "Pearls") puzzle consists of a rectangular board divided into rows and columns, on which a number of white and black "pearls" are

### 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

### Creating Sudoku Puzzles

Page 1 of 15 Control # 2883 Creating Sudoku Puzzles Control # 2883 February 19, 2008 Abstract We consider the problem of generating well-formed Sudoku puzzles. Weighing the benefits of constructing a problem

Chapter 7 Linked Lists In order to use linked lists, you need to learn how to allocate memory dynamically on the heap and you need to learn about objects. Recall that local variables are temporary which

### Using simulation to calculate the NPV of a project

Using simulation to calculate the NPV of a project Marius Holtan Onward Inc. 5/31/2002 Monte Carlo simulation is fast becoming the technology of choice for evaluating and analyzing assets, be it pure financial

Chapter 7 Load Balancing and Termination Detection Load balancing used to distribute computations fairly across processors in order to obtain the highest possible execution speed. Termination detection

### Mobile Robotics I: Lab 2 Dead Reckoning: Autonomous Locomotion Using Odometry

Mobile Robotics I: Lab 2 Dead Reckoning: Autonomous Locomotion Using Odometry CEENBoT Mobile Robotics Platform Laboratory Series CEENBoT v2.21 '324 Platform The Peter Kiewit Institute of Information Science

### (Refer Slide Time: 00:01:23 min)

Computer Aided Design Prof. Anoop Chalwa Department of Mechanical Engineering Indian Institute of Technology, Delhi Lecture No. # 02 Input Output Devices, Raster Graphics Today we will be talking about

### Can you design an algorithm that searches for the maximum value in the list?

The Science of Computing I Lesson 2: Searching and Sorting Living with Cyber Pillar: Algorithms Searching One of the most common tasks that is undertaken in Computer Science is the task of searching. We

### Introduction to Statistics for Computer Science Projects

Introduction Introduction to Statistics for Computer Science Projects Peter Coxhead Whole modules are devoted to statistics and related topics in many degree programmes, so in this short session all I

### Design a Line Maze Solving Robot

Design a Line Maze Solving Robot Teaching a Robot to Solve a Line Maze By Richard T. Vannoy II April 2009 RoboticsProfessor@gmail.com Please email me at the address above if you have questions or comments.

### 4 Main Memory Management

4 Main Memory Management 4.1 Introduction A large part of the OS s responsibility is organising main memory for processes. GOAL pack as many processes into memory as possible so that the processor will

### Routing in packet-switching networks

Routing in packet-switching networks Circuit switching vs. Packet switching Most of WANs based on circuit or packet switching Circuit switching designed for voice Resources dedicated to a particular call

### BABY BOT, A CHILD MONITORING ROBOTIC SYSTEM. Yanfei Liu, Christole Griffith, and Parul Reddy 1. INTRODUCTION

BABY BOT, A CHILD MONITORING ROBOTIC SYSTEM Yanfei Liu, Christole Griffith, and Parul Reddy Indiana Purdue University Fort Wayne, Indiana; Email: liu@engr.ipfw.edu 1. INTRODUCTION For over eight decades,

### Computer Science 211 Data Structures Mount Holyoke College Fall Topic Notes: Recursion and Mathematical Induction

Computer Science 11 Data Structures Mount Holyoke College Fall 009 Topic Notes: Recursion and Mathematical Induction Recursion An important tool when trying to solve a problem is the ability to break the

### The Darwin Game 2.0 Programming Guide

The Darwin Game 2.0 Programming Guide In The Darwin Game creatures compete to control maps and race through mazes. You play by programming your own species of creature in Java, which then acts autonomously

### Load Balancing and Termination Detection

Chapter 7 Load Balancing and Termination Detection 1 Load balancing used to distribute computations fairly across processors in order to obtain the highest possible execution speed. Termination detection

### To begin, visit this URL: http://www.ibm.com/software/rational/products/rdp

Rational Developer for Power (RDp) Trial Download and Installation Instructions Notes You should complete the following instructions using Internet Explorer or Firefox with Java enabled. You should disable

### Catalog Creator by On-site Custom Software

Catalog Creator by On-site Custom Software Thank you for purchasing or evaluating this software. If you are only evaluating Catalog Creator, the Free Trial you downloaded is fully-functional and all the

Load Balancing Backtracking, branch & bound and alpha-beta pruning: how to assign work to idle processes without much communication? Additionally for alpha-beta pruning: implementing the young-brothers-wait

### A Turing Machine In Conway's Game Life. Paul Rendell

A Turing Machine in Conway's Game Life 30/08/01 Page 1 of 8 A Turing Machine In Conway's Game Life. Paul Rendell I have constructed a Turing Machine in Conway s Game Life (figure 1). In this paper I describes

### Chapter 7: Queues and Deques

Chapter 7: Queues and Deques After the stack, the next simplest data abstraction is the queue. As with the stack, the queue can be visualized with many examples you are already familiar with from everyday

### Generation and Repair of Organisms Within an Amorphous Computer Using a Virus-Cell Communication Model

Generation and Repair of Organisms Within an Amorphous Computer Using a Virus-Cell Communication Model To be submitted to the special issue of the Journal of Autonomous Robots on Swarm Robotics Yuriy Brun

### A Review And Evaluations Of Shortest Path Algorithms

A Review And Evaluations Of Shortest Path Algorithms Kairanbay Magzhan, Hajar Mat Jani Abstract: Nowadays, in computer networks, the routing is based on the shortest path problem. This will help in minimizing

### The 2016 British Informatics Olympiad

Time allowed: hours The 2016 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

### 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

### Cracking the Sudoku: A Deterministic Approach

Cracking the Sudoku: A Deterministic Approach David Martin Erica Cross Matt Alexander Youngstown State University Center for Undergraduate Research in Mathematics Abstract The model begins with the formulation

### Load Balancing and Termination Detection

Chapter 7 slides7-1 Load Balancing and Termination Detection slides7-2 Load balancing used to distribute computations fairly across processors in order to obtain the highest possible execution speed. Termination

### Chapter 4. Distance Vector Routing Protocols

Chapter 4 Distance Vector Routing Protocols CCNA2-1 Chapter 4 Note for Instructors These presentations are the result of a collaboration among the instructors at St. Clair College in Windsor, Ontario.

### Unit 6 Geometry: Constructing Triangles and Scale Drawings

Unit 6 Geometry: Constructing Triangles and Scale Drawings Introduction In this unit, students will construct triangles from three measures of sides and/or angles, and will decide whether given conditions

### Team CoeBotics Seattle, WA USA Robot Engineering Overview

Team CoeBotics Seattle, WA USA Robot Engineering Overview Robot Strategy Simple effective mission strategy: Go for easy to reach targets - missions that always score versus going for everything, but accruing

### Background: A CCD consists of an array of individual detector sites, as suggested by the sketch below: Array of independent detector sites

Q: Can I use PixelScope to measure the MTF of a CCD camera? Can I use PixelScope to map the actual sensitive area of a pixel? A: Yes to both. This note explains how. Approach This can be a complicated

### Shortest Path Algorithms

Shortest Path Algorithms Jaehyun Park CS 97SI Stanford University June 29, 2015 Outline Cross Product Convex Hull Problem Sweep Line Algorithm Intersecting Half-planes Notes on Binary/Ternary Search Cross

### Graph Paper Programming

4 LESSON NAME: Graph Paper Programming Lesson time: 45 60 Minutes : Prep time: 10 Minutes Main Goal: Help students understand how coding works. OVERVIEW: By programming one another to draw pictures, students

### 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

### 12 Abstract Data Types

12 Abstract Data Types 12.1 Source: Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: Define the concept of an abstract data type (ADT).

### PROJECT REPORT MEMORY MANAGEMENT DATE :

PROJECT REPORT MEMORY MANAGEMENT DATE : GROUP MEMBERS: MEMORY MANAGEMENT PURPOSE: To simulate memory management of a simple system in order to better comprehend the complex memory management system of

### Picture Maze Generation by Successive Insertion of Path Segment

1 2 3 Picture Maze Generation by Successive Insertion of Path Segment 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32. ABSTRACT Tomio Kurokawa 1* 1 Aichi Institute of Technology,

### CPU Scheduling. CS439: Principles of Computer Systems September 7, 2016

CPU Scheduling CS439: Principles of Computer Systems September 7, 2016 Last Time A process is a unit of execution Defines an address space An abstraction for protection Processes are represented as Process

### Load Balancing and Termination Detection

Chapter 7 Slide 1 Slide 2 Load Balancing and Termination Detection Load balancing used to distribute computations fairly across processors in order to obtain the highest possible execution speed. Termination

### CS 378: Computer Game Technology

CS 378: Computer Game Technology Networking Basics for Games Spring 2012 University of Texas at Austin CS 378 Game Technology Don Fussell Networking for Games! You need networking for multi-player gaming!

### Algorithmic Thinking: The Key for Understanding Computer Science

Algorithmic Thinking: The Key for Understanding Computer Science Gerald Futschek Vienna University of Technology Institute of Software Technology and Interactive Systems Favoritenstrasse 9, 1040 Vienna,

### Graph. Consider a graph, G in Fig Then the vertex V and edge E can be represented as:

Graph A graph G consist of 1. Set of vertices V (called nodes), (V = {v1, v2, v3, v4...}) and 2. Set of edges E (i.e., E {e1, e2, e3...cm} A graph can be represents as G = (V, E), where V is a finite and

### Enterprise Discovery Best Practices

Enterprise Discovery Best Practices 1993-2015 Informatica Corporation. No part of this document may be reproduced or transmitted in any form, by any means (electronic, photocopying, recording or otherwise)

### How to Build a Simple Pac-Man Game

How to Build a Simple Pac-Man Game For today's program, we are going to build a simple Pac-Man game. Pac-Man was one of the very first arcade games developed around 1980. For our version of Pac-Man we

### AI: A Modern Approach, Chpts. 3-4 Russell and Norvig

AI: A Modern Approach, Chpts. 3-4 Russell and Norvig Sequential Decision Making in Robotics CS 599 Geoffrey Hollinger and Gaurav Sukhatme (Some slide content from Stuart Russell and HweeTou Ng) Spring,

### AN EFFICIENT LOAD BALANCING APPROACH IN CLOUD SERVER USING ANT COLONY OPTIMIZATION

AN EFFICIENT LOAD BALANCING APPROACH IN CLOUD SERVER USING ANT COLONY OPTIMIZATION Shanmuga Priya.J 1, Sridevi.A 2 1 PG Scholar, Department of Information Technology, J.J College of Engineering and Technology

### Virtual Memory: Demand Paging and Page Replacement

Virtual Memory: Demand Paging and Page Replacement Problems that remain to be solved: Even with 8K page size, number of pages /process is very large. Can t afford to keep the entire page table for a process

### The Right Path: Logic Puzzles that Build Spatial Reasoning

The Right Path: Logic Puzzles that Build Spatial Reasoning Jeffrey Wanko wankojj@muohio.edu Miami University Oxford, OH Presented at the NCTM Annual Meeting April 19, 2013 Denver, CO HASHIWOKAKERO These

### Pathfinding in Two-dimensional Worlds

Pathfinding in Two-dimensional Worlds A survey of modern pathfinding algorithms, and a description of a new algorithm for pathfinding in dynamic two-dimensional polygonal worlds. Master s Thesis Authors:

### Trial 9 No Pill Placebo Drug Trial 4. Trial 6.

An essential part of science is communication of research results. In addition to written descriptions and interpretations, the data are presented in a figure that shows, in a visual format, the effect

### The Importance of Continuous Integration for Quality Assurance Teams

The Importance of Continuous Integration for Quality Assurance Teams Without proper implementation, a continuous integration system will go from a competitive advantage for a software quality assurance

### Main Memory. Memory. Address binding. Memory spaces. All processes need main memory.

Memory If we define memory as a place where data is stored there are many levels of memory: Processor registers Primary (or main) memory RAM Secondary memory slower and more permanent disks Tertiary memory

### Path Selection Methods for Localized Quality of Service Routing

Path Selection Methods for Localized Quality of Service Routing Xin Yuan and Arif Saifee Department of Computer Science, Florida State University, Tallahassee, FL Abstract Localized Quality of Service

### MEI Structured Mathematics. Practice Comprehension Task - 2. Do trains run late?

MEI Structured Mathematics Practice Comprehension Task - 2 Do trains run late? There is a popular myth that trains always run late. Actually this is far from the case. All train companies want their trains

### Newton s First Law of Migration: The Gravity Model

ch04.qxd 6/1/06 3:24 PM Page 101 Activity 1: Predicting Migration with the Gravity Model 101 Name: Newton s First Law of Migration: The Gravity Model Instructor: ACTIVITY 1: PREDICTING MIGRATION WITH THE

### Extended TEA Algorithms

Extended TEA Algorithms Tom St Denis April 20th 1999 Abstract. This paper presents some natural manners to use TEA [1] and XTEA [2] in a variety of designs while improving security and keeping with the

### Airport surface traffic planning optimization: a case study of Amsterdam Airport Schiphol

9th AIAA Aviation Technology, Integration, and Operations Conference (ATIO) andair 21-23 September 2009, Hilton Head, South Carolina AIAA 2009-7079 Airport surface traffic planning optimization:

### Chapter 7 Load Balancing and Termination Detection

Chapter 7 Load Balancing and Termination Detection Load balancing used to distribute computations fairly across processors in order to obtain the highest possible execution speed. Termination detection

### 6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008

MIT OpenCourseWare http://ocw.mit.edu 6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.

### Transparent D Flip-Flop

Transparent Flip-Flop The RS flip-flop forms the basis of a number of 1-bit storage devices in digital electronics. ne such device is shown in the figure, where extra combinational logic converts the input

### Theory of Computation Prof. Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology, Madras

Theory of Computation Prof. Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology, Madras Lecture No. # 31 Recursive Sets, Recursively Innumerable Sets, Encoding

### TRANSCRIPT: In this lecture, we will talk about both theoretical and applied concepts related to hypothesis testing.

This is Dr. Chumney. The focus of this lecture is hypothesis testing both what it is, how hypothesis tests are used, and how to conduct hypothesis tests. 1 In this lecture, we will talk about both theoretical

### Registry Tuner. Software Manual

Registry Tuner Software Manual Table of Contents Introduction 1 System Requirements 2 Frequently Asked Questions 3 Using the Lavasoft Registry Tuner 5 Scan and Fix Registry Errors 7 Optimize Registry

CHAPTER 9 Virtual memory can be a very interesting subject since it has so many different aspects: page faults, managing the backing store, page replacement, frame allocation, thrashing, page size. The

Chapter 7. Address Translation This chapter describes NetDefendOS address translation capabilities. Dynamic Network Address Translation, page 204 NAT Pools, page 207 Static Address Translation, page 210

### 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

### SIMS 255 Foundations of Software Design. Complexity and NP-completeness

SIMS 255 Foundations of Software Design Complexity and NP-completeness Matt Welsh November 29, 2001 mdw@cs.berkeley.edu 1 Outline Complexity of algorithms Space and time complexity ``Big O'' notation Complexity

### Section I Section Real Time Systems. Processes. 1.7 Memory Management. (Textbook: A. S. Tanenbaum Modern OS - ch. 3) Memory Management Introduction

EE206: Software Engineering IV 1.7 Memory Management page 1 of 28 Section I Section Real Time Systems. Processes 1.7 Memory Management (Textbook: A. S. Tanenbaum Modern OS - ch. 3) Memory Management Introduction

### Bored MUMSians. Is it possible that he is left with the number 1?

Sam Chow One Player Games Bored MUMSians Han writes the numbers 1, 2,..., 100 on the whiteboard. He picks two of these numbers, erases them, and replaces them with their difference (so at some point in

### Chapter 8: Bags and Sets

Chapter 8: Bags and Sets In the stack and the queue abstractions, the order that elements are placed into the container is important, because the order elements are removed is related to the order in which

### Routing Basics. Chapter Goals. What Is Routing? CHAPTER

CHAPTER 5 Chapter Goals Learn the basics of routing protocols Learn the differences between link-state and distance vector routing protocols Learn about the metrics used by routing protocols to determine

### Age to Age Factor Selection under Changing Development Chris G. Gross, ACAS, MAAA

Age to Age Factor Selection under Changing Development Chris G. Gross, ACAS, MAAA Introduction A common question faced by many actuaries when selecting loss development factors is whether to base the selected

### COLORED GRAPHS AND THEIR PROPERTIES

COLORED GRAPHS AND THEIR PROPERTIES BEN STEVENS 1. Introduction This paper is concerned with the upper bound on the chromatic number for graphs of maximum vertex degree under three different sets of coloring

### Chapter 5: CPU Scheduling. Operating System Concepts 7 th Edition, Jan 14, 2005

Chapter 5: CPU Scheduling Operating System Concepts 7 th Edition, Jan 14, 2005 Silberschatz, Galvin and Gagne 2005 Outline Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling

### Evaluation of Different Task Scheduling Policies in Multi-Core Systems with Reconfigurable Hardware

Evaluation of Different Task Scheduling Policies in Multi-Core Systems with Reconfigurable Hardware Mahyar Shahsavari, Zaid Al-Ars, Koen Bertels,1, Computer Engineering Group, Software & Computer Technology

### 2) Write in detail the issues in the design of code generator.

COMPUTER SCIENCE AND ENGINEERING VI SEM CSE Principles of Compiler Design Unit-IV Question and answers UNIT IV CODE GENERATION 9 Issues in the design of code generator The target machine Runtime Storage

### 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.

### Gnutella-Pro: What bandwidth barrier?

Gnutella-Pro: What bandwidth barrier? Richard Massey, Shriram Bharath & Ankur Jain {rmassey,sbharath,ajain}@cs.ucsd.edu 1. Introduction This paper discusses the history, and evolution of the peer-to-peer

### Revision Sign off. Name Signature Date. Josh Alvord. Alex Grosso. Jose Marquez. Sneha Popley. Phillip Stromberg. Ford Wesner

Revision Sign-off By signing the following, the team member asserts that he/she has read all changes since the last revision and has, to the best of his/her knowledge, found the information contained herein

### Nurse Rostering. Jonathan Johannsen CS 537. Scheduling Algorithms

Nurse Rostering Jonathan Johannsen CS 537 Scheduling Algorithms Most hospitals worldwide create schedules for their staff by hand, spending hours trying to optimally assign workers to various wards at

This video looks at how multiple network cards can be combined together to form one virtual network card. The examples used in this video are for Windows Server 2012 R2, however the principles apply to

### Communication Protocol

Analysis of the NXT Bluetooth Communication Protocol By Sivan Toledo September 2006 The NXT supports Bluetooth communication between a program running on the NXT and a program running on some other Bluetooth

### CS335 Sample Questions for Exam #2

CS335 Sample Questions for Exam #2.) Compare connection-oriented with connectionless protocols. What type of protocol is IP? How about TCP and UDP? Connection-oriented protocols Require a setup time to

### Platter. Track. Index Mark. Disk Storage. PHY 406F - Microprocessor Interfacing Techniques

Platter PHY 406F - icroprocessor Interfacing Techniques Disk Storage The major "permanent" storage medium for computers is, at present, generally magnetic media in the form of either magnetic tape or disks.

### Routing in Switched Networks

Routing in Switched Networks Chapter 12 CS420/520 Axel Krings Page 1 Routing in Circuit Switched Network Many connections will need paths through more than one switch Need to find a route Efficiency Resilience

### K- means++ Optimal Clustering Initialization Algorithm

K- means++ Optimal Clustering Initialization Algorithm Isaiah Shaefer Executive Summary After using the K- means Clustering algorithm several times, analysts noticed some inconsistencies and decided to

### Chapter 2 Memory Management: Early Systems. Understanding Operating Systems, Fourth Edition

Chapter 2 Memory Management: Early Systems Understanding Operating Systems, Fourth Edition Memory Management: Early Systems Memory is second only to processes in importance (and in intensity) with which

### Algorithms. Theresa Migler-VonDollen CMPS 5P

Algorithms Theresa Migler-VonDollen CMPS 5P 1 / 32 Algorithms Write a Python function that accepts a list of numbers and a number, x. If x is in the list, the function returns the position in the list

### Constraint Logic Programming, Solution and Optimization: Eternity II

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