Lab10: Week of Mar20-24
 


0. Explore how to generate random numbers in Java. This is required for
the lab problems. Look at Lab 2.

1. You've probably heard that in a group of about two dozen people there
is a high chance that at least two of the people have the same birthday.
Write a method trial() that selects 23 random integers between 1 and 365
(both inclusive). The method should return true iff a pair of selected
integers are the same. Then, write a program that performs 10000 calls
to trial() and prints the percentage of trials that are true.

Look at http://www.people.virginia.edu/~rjh9u/birthday.html or
search on google for "two people with the same birthday"

2. Game of Life (population simulation program): The simulation follows
the progress of a colony of individuals that reside within a square
array. An individual may continue to live or die based on its
neighbours. Each cell has 8 neighbours (except the ones on the
boundaries and corners). Following three rules govern life and death in
the array:

A. Birth: An empty cell surrounded by (exactly) three neighbours
produces a new individual.
B. Life: Any individual surrounded by 2 or 3 neighbours lives on.
C. Death: Any individual surrounded by fewer than 2 or greater than 3
neighbours dies from loneliness or overcrowding respectively.

Create a colony of 50 by 50 cells. Randomly fill it with individuals
(some cells may be filled and some may be empty). Show the population
distribution for first 100 cycles. However, if the population stabilizes
earlier then stop further simulation. Try it with some of the patterns
given in the links.

Look at http://www.math.com/students/wonders/life/life.html or
search on google for "game of life" for more insight in the game.