Conway s Game of Life makes use of sparse matrices.
|
|
|
- Delilah Rodgers
- 9 years ago
- Views:
Transcription
1 Chapter 12 Game of Life Conway s Game of Life makes use of sparse matrices. The Game of Life was invented by John Horton Conway, a British-born mathematician who is now a professor at Princeton. The game made its public debut in the October 1970 issue of Scientific American, in the Mathematical Games column written by Martin Gardner. At the time, Gardner wrote This month we consider Conway s latest brainchild, a fantastic solitaire pastime he calls life. Because of its analogies with the rise, fall and alternations of a society of living organisms, it belongs to a growing class of what are called simulation games games that resemble real-life processes. To play life you must have a fairly large checkerboard and a plentiful supply of flat counters of two colors. Of course, today we can run the simulations on our computers. The universe is an infinite, two-dimensional rectangular grid. The population is a collection of grid cells that are marked as alive. The population evolves at discrete time steps known as generations. At each step, the fate of each cell is determined by the vitality of its eight nearest neighbors and this rule: A live cell with two live neighbors, or any cell with three live neighbors, is alive at the next step. The fascination of Conway s Game of Life is that this deceptively simple rule leads to an incredible variety of patterns, puzzles, and unsolved mathematical problems just like real life. If the initial population consists of only one or two live cells, it expires in one step. If the initial population consists of three live cells then, because of rotational Copyright c 2011 Cleve Moler Matlab R is a registered trademark of MathWorks, Inc. TM October 2,
2 2 Chapter 12. Game of Life Figure A pre-block and a block. and reflexive symmetries, there are only two different possibilities the population is either L-shaped or I-shaped. The left half of figure 12.1 shows three live cells in an L-shape. All three cells have two live neighbors, so they survive. The dead cell that they all touch has three live neighbors, so it springs to life. None of the other dead cells have enough live neighbors to come to life. So the result, after one step, is the population shown in the right half of figure This four-cell population, known as the block, is stationary. Each of the live cells has three live neighbors and so lives on. None of the other cells can come to life. Figure A blinker blinking. The other three-cell initial population is I-shaped. The two possible orientations are shown in first two steps of figure At each step, two end cells die, the middle cell stays alive, and two new cells are born to give the orientation shown in the next step. If nothing disturbs it, this blinker keeps blinking forever. It repeats itself in two steps; this is known as its period. One possible four-cell initial population is the block. Discovering the fate of the other four-cell initial populations is left to an exercise. The beginning of the evolution of the most important five-cell initial population, known as the glider, is shown in figure At each step two cells die and two new ones are born. After four steps the original population reappears, but it has moved diagonally down and across the grid. It continues to move in this direction forever, eventually disappearing out of our field of view, but continuing to exist in the infinite universe. The fascination of the Game of Life cannot be captured in these static figures. Computer graphics lets you watch the dynamic development. We will show just more one static snapshot of the evolution of an important larger population. Figure 12.4 is the glider gun developed by Bill Gosper at MIT in The portion of the population between the two static blocks oscillates back and forth. Every 30 steps, a glider emerges. The result is an infinite stream of gliders that fly out of the field of view.
3 3 Figure A glider gliding. Figure Gosper s glider gun. Matlab is a convenient environment for implementing the Game of Life. The universe is a matrix. The population is the set of nonzero elements in the matrix. The universe is infinite, but the population is finite and usually fairly small. So we can store the population in a finite matrix, most of whose elements are zero, and increase the size of the matrix if necessary when the population expands. This is the ideal setup for a sparse matrix. Conventional storage of an n-by-n matrix requires n 2 memory. But sparse storage of a matrix X requires just three vectors, one integer and one floating point vector of length nnz(x) the number of nonzero
4 4 Chapter 12. Game of Life elements in X and one integer vector of length n, not n 2, to represent the start of each column. For example, the snapshot of the Gosper glider gun in figure 12.4 is represented by an 85-by-85 matrix with 68 nonzero entries. Conventional full matrix storage would require 85 2 = 7225 elements. Sparse matrix storage requires only = 221 elements. This advantage of sparse over full storage increases as more gliders are created, the population expands, and n increases. The exm toolbox includes a program called lifex. (Matlab itself has a simpler demo program called life.) The initial population is represented by a matrix of 0 s and 1 s. For example, G = [1 1 1; 1 0 0; 0 1 0] produces a single glider G = The universe is represented by a sparse n-by-n matrix X that is initially all zero. We might start with n = 23 so there will be a 10 cell wide border around a 3-by-3 center. The statements produce n = 23; X = sparse(n,n) X = All zero sparse: 23-by-23 The initial population is injected in the center of the universe. with the statement X(11:13,11:13) = G This produces a list of the nonzero elements X = (11,11) 1 (12,11) 1 (11,12) 1 (13,12) 1 (11,13) 1 We are now ready to take the first step in the simulation. Whether cells stay alive, die, or generate new cells depends upon how many of their eight neighbors are alive. The statements n = size(x,1); p = [1 1:n-1]; q = [2:n n];
5 5 generate index vectors that increase or decrease the centered index by one, thereby accessing neighbors to the left, right, up, down, and so on. The statement Y = X(:,p) + X(:,q) + X(p,:) + X(q,:) +... X(p,p) + X(q,q) + X(p,q) + X(q,p) produces a sparse matrix with integer elements between 0 and 8 that counts how many of the eight neighbors of each interior cell are alive. In our example with the first step of the glider, the cells with nonzero counts are Y = (9,9) 1 (10,9) 2 (11,9) 2 (12,9) 1 (9,10) 2 (10,10) 2 (11,10) 3 (12,10) 2 (13,10) 1 (9,11) 3 (10,11) 3 (11,11) 5 (12,11) 1 (13,11) 1 (9,12) 2 (10,12) 1 (11,12) 3 (12,12) 1 (13,12) 1 (9,13) 1 (10,13) 1 (11,13) 1 The basic rule of Life is A live cell with two live neighbors, or any cell with three live neighbors, is alive at the next step. This is implemented with the single Matlab statement X = (X & (Y == 2)) (Y == 3) The two characters == mean is equal to. The & character means and. The means or. These operations are done for all the cells in the interior of the universe. In this example, there are four cells where Y is equal to 3, so they survive or come alive. There is one cell where X is equal to 1 and Y is equal to 2, so it survives. The result is X = (11,11) 1 (12,11) 1 (10,12) 1 (11,12) 1 (12,13) 1 Our glider has taken its first step. One way to use lifex is to provide your own initial population, as either a full or a sparse matrix. For example, you create your own fleet of gliders fleet with G = [1 1 1; 1 0 0; 0 1 0]
6 6 Chapter 12. Game of Life S = sparse(15,15); for i = 0:6:12 for j = 0:6:12 S(i+(1:3),j+(1:3)) = G; end end lifex(s) The Web page is the home of the Life Lexicon, maintained by Stephen Silver. Among thousands of the facts of Life, this 160-page document lists nearly 450 different initial populations, together with their history and important properties. We have included a text copy of the Lexicon with the exm toolbox in the file exm/lexicon.txt Lifex can read initial populations from the Lexicon. Calling lifex with no arguments, lifex picks a random initial population from the Lexicon. Either or lifex( xyz ) lifex xyz will look for a population whose name begins with xyz. For example, the statements lifex pre-block lifex block lifex blinker lifex glider start with the simple populations that we have used in this introduction. statement The lifex Gosper provides Gosper s glider gun. By default, the initial population is surrounded by a strip of 20 dead border cells to provide a viewing window. You can change this to use b border cells with lifex( xyz,b) If the population expands during the simulation and cells travel beyond this viewing window, they continue to live and participate even though they cannot be seen.
7 7 Further Reading The Wikipedia article is a good introduction. s_game_of_life Another good introduction is available from Math.com, although there are annoying popups and ads. If you find yourself at all interested in the Game of Life, take a good look at the Lexicon, either by reading our text version or by visiting the Web page. Recap %% Life Chapter Recap % This is an executable program that illustrates the statements % introduced in the Life Chapter of "Experiments in MATLAB". % You can access it with % % life_recap % It does not work so well with edit and publish. % % Related EXM programs % % lifex % Generate a random initial population X = sparse(50,50); X(21:30,21:30) = (rand(10,10) >.75); p0 = nnz(x); % Loop over 100 generations. for t = 1:100 spy(x) title(num2str(t)) drawnow % Whether cells stay alive, die, or generate new cells depends % upon how many of their eight possible neighbors are alive. % Index vectors increase or decrease the centered index by one. n = size(x,1); p = [1 1:n-1];
8 8 Chapter 12. Game of Life end q = [2:n n]; % Count how many of the eight neighbors are alive. Y = X(:,p) + X(:,q) + X(p,:) + X(q,:) +... X(p,p) + X(q,q) + X(p,q) + X(q,p); % A live cell with two live neighbors, or any cell with % three live neigbhors, is alive at the next step. X = (X & (Y == 2)) (Y == 3); p100 = nnz(x); fprintf( %5d %5d %8.3f\n,p0,p100,p100/p0) Exercises 12.1 life vs. lifex The Matlab demos toolbox has an old program called life, without an x. In what ways is it the same as, and in what ways does it differ from, our exm gui lifex? 12.2 Four-cell initial populations. What are all of the possible four-cell initial populations, and what are their fates? You can generate one of the four-cell populations with L = [1 1 1; 1 0 0]; lifex(l,4) 12.3 Lexicon. Describe the behavior of each of these populations from the Lexicon. If any is periodic, what is its period? ants B-52 blinker puffer diehard Canada goose gliders by the dozen Kok s galaxy rabbits R2D2 spacefiller wasp washerwoman
9 Glider collisions. What happens when: A glider collides head-on with a block? A glider side-swipes a block? Two gliders collide head-on? Two gliders clip each others wings? Four gliders simultaneously leave the corners of a square and head towards its center? See also: lifex( ) Factory. How many steps does it take the factory to make one glider? 12.6 R-pentomino. Of all the possible five-cell initial populations, the only one that requires a computer to determine its ultimate behavior is the one that Conway dubbed the R-pentomino. It is shown in figure 12.5 and can be generated by R = [0 1 1; 1 1 0; 0 1 0] Figure The R-pentomino. As the simulation proceeds, the population throws off a few gliders, but otherwise remains bounded. If you make b large enough, the statement lifex(r,b) shows all of the bounded behavior. How large does this b have to be? What is the maximum population during the evolution? How many gliders are produced? How many steps does it take for the population to stabilize? How many blinkers are present in the stabilized population? What is size of the stabilized population? 12.7 Execution time. Display actual computer execution time by inserting tic and toc in lifex.m. Place the single statement tic before the start of the inner loop. Change the call of caption to caption(t,nnz(x),toc) Make the appropriate modifications in the caption subfunction at the end of lifex.m. Demonstrate your modified program on a few interesting examples The Ark. Run
10 10 Chapter 12. Game of Life lifex( ark,128) for a few minutes. About how much time does it take on your computer to do one step? According to the Lexicon, the ark requires steps to stabilize. About how much time will it take on your computer for the ark to stabilize? 12.9 Houses. Check out lifex(houses) Checkerboards. This code generates an n-by-n checkerboard of 0 s and 1 s. [I,J] = meshgrid(1:n); C = (mod(i+j,2)==0); What are the stabilization times and final populations for n-by-n checkerboard initial populations with 3 <= n <= 30? Early exit. Where should these code segments and Xsave = X; if isequal(x,xsave) break end be inserted in life_recap? Symmetry. What is the effect of inserting the statement X = (X + X > 0) after the generation of X at the beginning of life_recap Live or die? Insert these statements before the first executable statement of life_recap. P = zeros(10000,2); for s = 1:10000 Insert these statements after the last executable statement. P(s,:) = [p0 p100]; end Deactivate or remove the spy, title, pause and fprintf statements. resulting program and then generate histograms of the results. Run the
11 11 R = P(:,2)./P(:,1); hist(p(:,1),30) hist(p(:,2),30) hist(r,30) (a) Is the typical population growing or declining after 100 generations? (b) Do you recognize the shape of the histogram of the initial population, P(:,1)? What is mean(p(:,1))? Why? (c) I don t know enough about probability to describe the distribution of the final population, P(:,2). Can anybody help me out? Gosper s glider gun. Replace the random initial population generator in life_recap by this code: % Gosper glider gun gun = [ ]; X = sparse(76,76); X(34:42,20:57) = (gun== + ); spy(x) (a) How many steps does it take for the gun to emit a glider? (b) What happens when a glider meets the boundary? How is this different from lifex( gosper )?
Fractals, topology, complex arithmetic and fascinating computer graphics.
Chapter 13 Mandelbrot Set Fractals, topology, complex arithmetic and fascinating computer graphics. Benoit Mandelbrot was a Polish/French/American mathematician who has spent most of his career at the
Calendars and Clocks
Chapter 3 Calars and Clocks Computations involving time, dates, biorhythms and Easter. Calars are interesting mathematical objects. The Gregorian calar was first proposed in 1582. It has been gradually
Fibonacci numbers introduce vectors, functions and recursion.
Chapter 2 Fibonacci Numbers Fibonacci numbers introduce vectors, functions and recursion. Leonardo Pisano Fibonacci was born around 1170 and died around 1250 in Pisa in what is now Italy. He traveled extensively
Matrix Multiplication
Matrix Multiplication CPS343 Parallel and High Performance Computing Spring 2016 CPS343 (Parallel and HPC) Matrix Multiplication Spring 2016 1 / 32 Outline 1 Matrix operations Importance Dense and sparse
MATHEMATICAL GAMES The fantastic combinations of John Conway's new solitaire game "life"
MATHEMATICAL GAMES The fantastic combinations of John Conway's new solitaire game "life" by Martin Gardner Scientific American 223 (October 1970): 120-123. Most of the work of John Horton Conway, a mathematician
Random Fibonacci-type Sequences in Online Gambling
Random Fibonacci-type Sequences in Online Gambling Adam Biello, CJ Cacciatore, Logan Thomas Department of Mathematics CSUMS Advisor: Alfa Heryudono Department of Mathematics University of Massachusetts
Drawing a histogram using Excel
Drawing a histogram using Excel STEP 1: Examine the data to decide how many class intervals you need and what the class boundaries should be. (In an assignment you may be told what class boundaries to
The world s largest matrix computation. (This chapter is out of date and needs a major overhaul.)
Chapter 7 Google PageRank The world s largest matrix computation. (This chapter is out of date and needs a major overhaul.) One of the reasons why Google TM is such an effective search engine is the PageRank
Writer Guide. Chapter 15 Using Forms in Writer
Writer Guide Chapter 15 Using Forms in Writer Copyright This document is Copyright 2005 2008 by its contributors as listed in the section titled Authors. You may distribute it and/or modify it under the
Chapter 15 Using Forms in Writer
Writer Guide Chapter 15 Using Forms in Writer OpenOffice.org Copyright This document is Copyright 2005 2006 by its contributors as listed in the section titled Authors. You can distribute it and/or modify
Introduction to Matlab
Introduction to Matlab Social Science Research Lab American University, Washington, D.C. Web. www.american.edu/provost/ctrl/pclabs.cfm Tel. x3862 Email. [email protected] Course Objective This course provides
Working with Tables: How to use tables in OpenOffice.org Writer
Working with Tables: How to use tables in OpenOffice.org Writer Title: Working with Tables: How to use tables in OpenOffice.org Writer Version: 1.0 First edition: January 2005 First English edition: January
Regular Languages and Finite Automata
Regular Languages and Finite Automata 1 Introduction Hing Leung Department of Computer Science New Mexico State University Sep 16, 2010 In 1943, McCulloch and Pitts [4] published a pioneering work on a
Analysis of Micromouse Maze Solving Algorithms
1 Analysis of Micromouse Maze Solving Algorithms David M. Willardson ECE 557: Learning from Data, Spring 2001 Abstract This project involves a simulation of a mouse that is to find its way through a maze.
CONCEPT-II. Overview of demo examples
CONCEPT-II CONCEPT-II is a frequency domain method of moment (MoM) code, under development at the Institute of Electromagnetic Theory at the Technische Universität Hamburg-Harburg (www.tet.tuhh.de). Overview
1.4 Arrays Introduction to Programming in Java: An Interdisciplinary Approach Robert Sedgewick and Kevin Wayne Copyright 2002 2010 2/6/11 12:33 PM!
1.4 Arrays Introduction to Programming in Java: An Interdisciplinary Approach Robert Sedgewick and Kevin Wayne Copyright 2002 2010 2/6/11 12:33 PM! A Foundation for Programming any program you might want
Appendix 4 Simulation software for neuronal network models
Appendix 4 Simulation software for neuronal network models D.1 Introduction This Appendix describes the Matlab software that has been made available with Cerebral Cortex: Principles of Operation (Rolls
Linear Algebra Review. Vectors
Linear Algebra Review By Tim K. Marks UCSD Borrows heavily from: Jana Kosecka [email protected] http://cs.gmu.edu/~kosecka/cs682.html Virginia de Sa Cogsci 8F Linear Algebra review UCSD Vectors The length
5: Magnitude 6: Convert to Polar 7: Convert to Rectangular
TI-NSPIRE CALCULATOR MENUS 1: Tools > 1: Define 2: Recall Definition --------------- 3: Delete Variable 4: Clear a-z 5: Clear History --------------- 6: Insert Comment 2: Number > 1: Convert to Decimal
SYSTEMS OF EQUATIONS AND MATRICES WITH THE TI-89. by Joseph Collison
SYSTEMS OF EQUATIONS AND MATRICES WITH THE TI-89 by Joseph Collison Copyright 2000 by Joseph Collison All rights reserved Reproduction or translation of any part of this work beyond that permitted by Sections
SOLVING LINEAR SYSTEMS
SOLVING LINEAR SYSTEMS Linear systems Ax = b occur widely in applied mathematics They occur as direct formulations of real world problems; but more often, they occur as a part of the numerical analysis
3.2 Roulette and Markov Chains
238 CHAPTER 3. DISCRETE DYNAMICAL SYSTEMS WITH MANY VARIABLES 3.2 Roulette and Markov Chains In this section we will be discussing an application of systems of recursion equations called Markov Chains.
CELLULAR AUTOMATA AND APPLICATIONS. 1. Introduction. This paper is a study of cellular automata as computational programs
CELLULAR AUTOMATA AND APPLICATIONS GAVIN ANDREWS 1. Introduction This paper is a study of cellular automata as computational programs and their remarkable ability to create complex behavior from simple
6 Scalar, Stochastic, Discrete Dynamic Systems
47 6 Scalar, Stochastic, Discrete Dynamic Systems Consider modeling a population of sand-hill cranes in year n by the first-order, deterministic recurrence equation y(n + 1) = Ry(n) where R = 1 + r = 1
SMART Board Interactive Whiteboard Setup with USB Cable
SMART Board Interactive Whiteboard Setup with USB Cable The instructions below are for the SMART Board interactive whiteboard 500 series and apply to both desktop and laptop computers. Ready Light USB
Solution of Linear Systems
Chapter 3 Solution of Linear Systems In this chapter we study algorithms for possibly the most commonly occurring problem in scientific computing, the solution of linear systems of equations. We start
Lecture 4 DISCRETE SUBGROUPS OF THE ISOMETRY GROUP OF THE PLANE AND TILINGS
1 Lecture 4 DISCRETE SUBGROUPS OF THE ISOMETRY GROUP OF THE PLANE AND TILINGS This lecture, just as the previous one, deals with a classification of objects, the original interest in which was perhaps
CS 3719 (Theory of Computation and Algorithms) Lecture 4
CS 3719 (Theory of Computation and Algorithms) Lecture 4 Antonina Kolokolova January 18, 2012 1 Undecidable languages 1.1 Church-Turing thesis Let s recap how it all started. In 1990, Hilbert stated a
Session 6 Number Theory
Key Terms in This Session Session 6 Number Theory Previously Introduced counting numbers factor factor tree prime number New in This Session composite number greatest common factor least common multiple
K-Means Clustering Tutorial
K-Means Clustering Tutorial By Kardi Teknomo,PhD Preferable reference for this tutorial is Teknomo, Kardi. K-Means Clustering Tutorials. http:\\people.revoledu.com\kardi\ tutorial\kmean\ Last Update: July
Word basics. Before you begin. What you'll learn. Requirements. Estimated time to complete:
Word basics Word is a powerful word processing and layout application, but to use it most effectively, you first have to understand the basics. This tutorial introduces some of the tasks and features that
CS1112 Spring 2014 Project 4. Objectives. 3 Pixelation for Identity Protection. due Thursday, 3/27, at 11pm
CS1112 Spring 2014 Project 4 due Thursday, 3/27, at 11pm You must work either on your own or with one partner. If you work with a partner you must first register as a group in CMS and then submit your
SMART NOTEBOOK 10. Instructional Technology Enhancing ACHievement
SMART NOTEBOOK 10 Instructional Technology Enhancing ACHievement TABLE OF CONTENTS SMART Notebook 10 Themes... 3 Page Groups... 4 Magic Pen... 5 Shape Pen... 6 Tables... 7 Object Animation... 8 Aligning
So let us begin our quest to find the holy grail of real analysis.
1 Section 5.2 The Complete Ordered Field: Purpose of Section We present an axiomatic description of the real numbers as a complete ordered field. The axioms which describe the arithmetic of the real numbers
General Framework for an Iterative Solution of Ax b. Jacobi s Method
2.6 Iterative Solutions of Linear Systems 143 2.6 Iterative Solutions of Linear Systems Consistent linear systems in real life are solved in one of two ways: by direct calculation (using a matrix factorization,
http://school-maths.com Gerrit Stols
For more info and downloads go to: http://school-maths.com Gerrit Stols Acknowledgements GeoGebra is dynamic mathematics open source (free) software for learning and teaching mathematics in schools. It
User Recognition and Preference of App Icon Stylization Design on the Smartphone
User Recognition and Preference of App Icon Stylization Design on the Smartphone Chun-Ching Chen (&) Department of Interaction Design, National Taipei University of Technology, Taipei, Taiwan [email protected]
KaleidaGraph Quick Start Guide
KaleidaGraph Quick Start Guide This document is a hands-on guide that walks you through the use of KaleidaGraph. You will probably want to print this guide and then start your exploration of the product.
Patterns in Pascal s Triangle
Pascal s Triangle Pascal s Triangle is an infinite triangular array of numbers beginning with a at the top. Pascal s Triangle can be constructed starting with just the on the top by following one easy
A Simple Pseudo Random Number algorithm
Lecture 7 Generating random numbers is a useful technique in many numerical applications in Physics. This is because many phenomena in physics are random, and algorithms that use random numbers have applications
DESIGN A WEB SITE USING PUBLISHER Before you begin, plan your Web site
Page 1 of 22 DESIGN A WEB SITE USING PUBLISHER Before you begin, plan your Web site Before you create your Web site, ask yourself these questions: What do I want the site to do? Whom do I want to visit
Microsoft PowerPoint 2011
Microsoft PowerPoint 2011 Starting PowerPoint... 2 Creating Slides in Your Presentation... 3 Beginning with the Title Slide... 3 Inserting a New Slide... 3 Adding an Image to a Slide... 4 Downloading Images
is in plane V. However, it may be more convenient to introduce a plane coordinate system in V.
.4 COORDINATES EXAMPLE Let V be the plane in R with equation x +2x 2 +x 0, a two-dimensional subspace of R. We can describe a vector in this plane by its spatial (D)coordinates; for example, vector x 5
Sudoku puzzles and how to solve them
Sudoku puzzles and how to solve them Andries E. Brouwer 2006-05-31 1 Sudoku Figure 1: Two puzzles the second one is difficult A Sudoku puzzle (of classical type ) consists of a 9-by-9 matrix partitioned
Computational Mathematics with Python
Computational Mathematics with Python Basics Claus Führer, Jan Erik Solem, Olivier Verdier Spring 2010 Claus Führer, Jan Erik Solem, Olivier Verdier Computational Mathematics with Python Spring 2010 1
Fusion's runtime does its best to match the animation with the movement of the character. It does this job at three different levels :
The Animation Welcome to the eight issue of our Multimedia Fusion tutorials. This issue will discuss how the Fusion runtime handle sprites animations. All the content of this tutorial is applicable to
Computational Mathematics with Python
Boolean Arrays Classes Computational Mathematics with Python Basics Olivier Verdier and Claus Führer 2009-03-24 Olivier Verdier and Claus Führer Computational Mathematics with Python 2009-03-24 1 / 40
1 2 3 1 1 2 x = + x 2 + x 4 1 0 1
(d) If the vector b is the sum of the four columns of A, write down the complete solution to Ax = b. 1 2 3 1 1 2 x = + x 2 + x 4 1 0 0 1 0 1 2. (11 points) This problem finds the curve y = C + D 2 t which
Lecture 3: Finding integer solutions to systems of linear equations
Lecture 3: Finding integer solutions to systems of linear equations Algorithmic Number Theory (Fall 2014) Rutgers University Swastik Kopparty Scribe: Abhishek Bhrushundi 1 Overview The goal of this lecture
Continued Fractions and the Euclidean Algorithm
Continued Fractions and the Euclidean Algorithm Lecture notes prepared for MATH 326, Spring 997 Department of Mathematics and Statistics University at Albany William F Hammond Table of Contents Introduction
Genetic Algorithms and Sudoku
Genetic Algorithms and Sudoku Dr. John M. Weiss Department of Mathematics and Computer Science South Dakota School of Mines and Technology (SDSM&T) Rapid City, SD 57701-3995 [email protected] MICS 2009
63720A IN I S N T S R T U R C U T C I T O I N B O O N B O O K O L K E L T E
63720A INSTRUCTION BOOKLET 2-5 Wireless DS Single-Card Download Play THIS GAME ALLOWS WIRELESS MULTIPLAYER GAMES DOWNLOADED FROM ONE GAME CARD. 2-5 Wireless DS Multi-Card Play THIS GAME ALLOWS WIRELESS
7 Repetition: A Counted Loop
7 Repetition: A Counted Loop In chapter 6, we looked at If/Else statements for deciding whether or not an action is taken. In a way, we might think of If/Else statements as allowing Alice to make a choice
With origins in centuries old recreational mathematics, magic squares demonstrate Matlab array operations.
Chapter 10 Magic Squares With origins in centuries old recreational mathematics, magic squares demonstrate Matlab array operations. Figure 10.1. Lo Shu. (Thanks to Byerly Wiser Cline.) Magic squares predate
Q&As: Microsoft Excel 2013: Chapter 2
Q&As: Microsoft Excel 2013: Chapter 2 In Step 5, why did the date that was entered change from 4/5/10 to 4/5/2010? When Excel recognizes that you entered a date in mm/dd/yy format, it automatically formats
1.2 Solving a System of Linear Equations
1.. SOLVING A SYSTEM OF LINEAR EQUATIONS 1. Solving a System of Linear Equations 1..1 Simple Systems - Basic De nitions As noticed above, the general form of a linear system of m equations in n variables
Creating Maze Games. Game Maker Tutorial. The Game Idea. A Simple Start. Written by Mark Overmars
Game Maker Tutorial Creating Maze Games Written by Mark Overmars Copyright 2007-2009 YoYo Games Ltd Last changed: December 23, 2009 Uses: Game Maker 8.0, Lite or Pro Edition, Advanced Mode Level: Beginner
Clock Arithmetic and Modular Systems Clock Arithmetic The introduction to Chapter 4 described a mathematical system
CHAPTER Number Theory FIGURE FIGURE FIGURE Plus hours Plus hours Plus hours + = + = + = FIGURE. Clock Arithmetic and Modular Systems Clock Arithmetic The introduction to Chapter described a mathematical
How High a Degree is High Enough for High Order Finite Elements?
This space is reserved for the Procedia header, do not use it How High a Degree is High Enough for High Order Finite Elements? William F. National Institute of Standards and Technology, Gaithersburg, Maryland,
Two-Dimensional Arrays. Multi-dimensional Arrays. Two-Dimensional Array Indexing
Multi-dimensional Arrays The elements of an array can be any type Including an array type So int 2D[] []; declares an array of arrays of int Two dimensional arrays are useful for representing tables of
ios 9 Accessibility Switch Control - The Missing User Guide Updated 09/15/15
ios 9 Accessibility Switch Control - The Missing User Guide Updated 09/15/15 Apple, ipad, iphone, and ipod touch are trademarks of Apple Inc., registered in the U.S. and other countries. ios is a trademark
Index ScaleNet v1.0 Installation (Windows 95, 98) 1 ScaleNet v1.0 Installation (Windows XP) 3 ScaleNet v1.0 Configuration 6 Initiating Session 7
Index ScaleNet v1.0 Installation (Windows 95, 98) 1 ScaleNet v1.0 Installation (Windows XP) 3 ScaleNet v1.0 Configuration 6 Initiating Session 7 Working with a single PLS-40L scale 7 Working with more
Introduction to MATLAB IAP 2008
MIT OpenCourseWare http://ocw.mit.edu Introduction to MATLAB IAP 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. Introduction to Matlab Ideas for
Basic Concepts in Matlab
Basic Concepts in Matlab Michael G. Kay Fitts Dept. of Industrial and Systems Engineering North Carolina State University Raleigh, NC 769-7906, USA [email protected] September 00 Contents. The Matlab Environment.
14:440:127 Introduction to Computers for Engineers. Notes for Lecture 06
14:440:127 Introduction to Computers for Engineers Notes for Lecture 06 Rutgers University, Spring 2010 Instructor- Blase E. Ur 1 Loop Examples 1.1 Example- Sum Primes Let s say we wanted to sum all 1,
Using the Theory of Reals in. Analyzing Continuous and Hybrid Systems
Using the Theory of Reals in Analyzing Continuous and Hybrid Systems Ashish Tiwari Computer Science Laboratory (CSL) SRI International (SRI) Menlo Park, CA 94025 Email: [email protected] Ashish Tiwari
Properties of sequences Since a sequence is a special kind of function it has analogous properties to functions:
Sequences and Series A sequence is a special kind of function whose domain is N - the set of natural numbers. The range of a sequence is the collection of terms that make up the sequence. Just as the word
Sensitivity Report in Excel
The Answer Report contains the original guess for the solution and the final value of the solution as well as the objective function values for the original guess and final value. The report also indicates
Particles, Flocks, Herds, Schools
CS 4732: Computer Animation Particles, Flocks, Herds, Schools Robert W. Lindeman Associate Professor Department of Computer Science Worcester Polytechnic Institute [email protected] Control vs. Automation Director's
Increasing Productivity and Collaboration with Google Docs. Charina Ong Educational Technologist [email protected]
Increasing Productivity and Collaboration with Google Docs [email protected] Table of Contents About the Workshop... i Workshop Objectives... i Session Prerequisites... i Google Apps... 1 Creating
Unit 6 Number and Operations in Base Ten: Decimals
Unit 6 Number and Operations in Base Ten: Decimals Introduction Students will extend the place value system to decimals. They will apply their understanding of models for decimals and decimal notation,
Chapter 3 RANDOM VARIATE GENERATION
Chapter 3 RANDOM VARIATE GENERATION In order to do a Monte Carlo simulation either by hand or by computer, techniques must be developed for generating values of random variables having known distributions.
Perceived Performance Test Toolkit
Perceived Performance Test Toolkit for Citrix Servers TMurgent Technologies Perceived Performance Test Toolkit Version 1.5 December 2005 Table of Contents Table of Contents... 2 Introduction... 3 Contents...
Mathematical Induction
Mathematical Induction (Handout March 8, 01) The Principle of Mathematical Induction provides a means to prove infinitely many statements all at once The principle is logical rather than strictly mathematical,
Auto Clicker Tutorial
Auto Clicker Tutorial This Document Outlines Various Features of the Auto Clicker. The Screenshot of the Software is displayed as below and other Screenshots displayed in this Software Tutorial can help
Magnetic Fields. I. Magnetic Field and Magnetic Field Lines
Magnetic Fields I. Magnetic Field and Magnetic Field Lines A. The concept of the magnetic field can be developed in a manner similar to the way we developed the electric field. The magnitude of the magnetic
Sources: On the Web: Slides will be available on:
C programming Introduction The basics of algorithms Structure of a C code, compilation step Constant, variable type, variable scope Expression and operators: assignment, arithmetic operators, comparison,
C12II-Roulette 38 Google + 8 Amusement Games + C12II-Roulette 38 Manual V201-LAN (Touch Panel/VGA)
C12II-Roulette 38 Google + 8 Amusement Games + C12II-Roulette 38 Manual V201-LAN (Touch Panel/VGA) Verify Password I. Introduction 1. Features: (1) GSE-626A VGA Multigame PCB C12 Roulette 38 includes one
Degeneracy in Linear Programming
Degeneracy in Linear Programming I heard that today s tutorial is all about Ellen DeGeneres Sorry, Stan. But the topic is just as interesting. It s about degeneracy in Linear Programming. Degeneracy? Students
Mantano Reader for Android
Mantano Reader for Android User Manual - Version 1.6.1 October 20, 2011 2 rue du Helder 75009 Paris T +33 (0)1 42 47 05 61 F +33 (0)9 81 38 49 19 E [email protected] W www.mantano.com Mantano Reader
Printing with Calc Title: Printing with Calc Version: 1.0 First edition: December 2004 First English edition: December 2004
Printing with Calc Title: Printing with Calc Version: 1.0 First edition: December 2004 First English edition: December 2004 Contents Overview...ii Copyright and trademark information...ii Feedback...ii
Algebra 2 Chapter 1 Vocabulary. identity - A statement that equates two equivalent expressions.
Chapter 1 Vocabulary identity - A statement that equates two equivalent expressions. verbal model- A word equation that represents a real-life problem. algebraic expression - An expression with variables.
Chapter 11 Sharing and Reviewing Documents
Calc Guide Chapter 11 Sharing and Reviewing Documents This PDF is designed to be read onscreen, two pages at a time. If you want to print a copy, your PDF viewer should have an option for printing two
The Lattice Method of Multiplication
The Lattice Method of Multiplication Objective To review and provide practice with the lattice method for multiplication of whole numbers and decimals. www.everydaymathonline.com epresentations etoolkit
French Revolution [10th grade]
Trinity University Digital Commons @ Trinity Understanding by Design: Complete Collection Understanding by Design 6-15-2006 French Revolution [10th grade] Jenna Smith Trinity University Follow this and
Software that writes Software Stochastic, Evolutionary, MultiRun Strategy Auto-Generation. TRADING SYSTEM LAB Product Description Version 1.
Software that writes Software Stochastic, Evolutionary, MultiRun Strategy Auto-Generation TRADING SYSTEM LAB Product Description Version 1.1 08/08/10 Trading System Lab (TSL) will automatically generate
Mini-project in TSRT04: Cell Phone Coverage
Mini-project in TSRT04: Cell hone Coverage 19 August 2015 1 roblem Formulation According to the study Swedes and Internet 2013 (Stiftelsen för Internetinfrastruktur), 99% of all Swedes in the age 12-45
N 1. (q k+1 q k ) 2 + α 3. k=0
Teoretisk Fysik Hand-in problem B, SI1142, Spring 2010 In 1955 Fermi, Pasta and Ulam 1 numerically studied a simple model for a one dimensional chain of non-linear oscillators to see how the energy distribution
1 Topic. 2 Scilab. 2.1 What is Scilab?
1 Topic Data Mining with Scilab. I know the name "Scilab" for a long time (http://www.scilab.org/en). For me, it is a tool for numerical analysis. It seemed not interesting in the context of the statistical
Operation Count; Numerical Linear Algebra
10 Operation Count; Numerical Linear Algebra 10.1 Introduction Many computations are limited simply by the sheer number of required additions, multiplications, or function evaluations. If floating-point
Advanced Programming with LEGO NXT MindStorms
Advanced Programming with LEGO NXT MindStorms Presented by Tom Bickford Executive Director Maine Robotics Advanced topics in MindStorms Loops Switches Nested Loops and Switches Data Wires Program view
Packet8 DTA-310 Firmware Upgrade, version 12.39+
Document v1.11, July 16, 2004, Copyright 2004, 8x8 Inc. Overview A complementary upgrade is now available for DTA-310 that provides Packet8 subscribers with exciting new phone features. New features as
Orbits. Chapter 17. Dynamics of many-body systems.
Chapter 7 Orbits Dynamics of many-body systems. Many mathematical models involve the dynamics of objects under the influence of both their mutual interaction and the surrounding environment. The objects
Symmetrical Pentomino Pairs
44 Geometry at Play Symmetrical Pentomino Pairs Kate Jones, Kadon Enterprises, Inc. Pentominoes shapes made of five congruent squares provide a natural platform for games and puzzles. In this article,
MPI Hands-On List of the exercises
MPI Hands-On List of the exercises 1 MPI Hands-On Exercise 1: MPI Environment.... 2 2 MPI Hands-On Exercise 2: Ping-pong...3 3 MPI Hands-On Exercise 3: Collective communications and reductions... 5 4 MPI
Arrays. Atul Prakash Readings: Chapter 10, Downey Sun s Java tutorial on Arrays: http://java.sun.com/docs/books/tutorial/java/nutsandbolts/arrays.
Arrays Atul Prakash Readings: Chapter 10, Downey Sun s Java tutorial on Arrays: http://java.sun.com/docs/books/tutorial/java/nutsandbolts/arrays.html 1 Grid in Assignment 2 How do you represent the state
PowerPoint 2007 Basics Website: http://etc.usf.edu/te/
Website: http://etc.usf.edu/te/ PowerPoint is the presentation program included in the Microsoft Office suite. With PowerPoint, you can create engaging presentations that can be presented in person, online,
CUDAMat: a CUDA-based matrix class for Python
Department of Computer Science 6 King s College Rd, Toronto University of Toronto M5S 3G4, Canada http://learning.cs.toronto.edu fax: +1 416 978 1455 November 25, 2009 UTML TR 2009 004 CUDAMat: a CUDA-based
Scientific Graphing in Excel 2010
Scientific Graphing in Excel 2010 When you start Excel, you will see the screen below. Various parts of the display are labelled in red, with arrows, to define the terms used in the remainder of this overview.
