cs 5 today hw 9 (lab + 2 probs) due sunday, 11/8 at midnight dizzying arrays of possibilities…...
TRANSCRIPT
![Page 1: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/1.jpg)
CS 5 Today
• HW 9 (lab + 2 probs)due Sunday, 11/8 at midnight
Dizzying arrays of possibilities…
John Conway
Carl Gauss This week’s credits:
• Exam 2 on Mon.,Tue. 11/16-17
Caffeine
Anyone choose Gauss or Conway for Halloween?
Coming up in CS 5:
![Page 2: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/2.jpg)
Mandelbrot sets… !
![Page 3: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/3.jpg)
Mutable vs. Immutable data
Mutable types:
dictionary
Immutable types:
list
tuple
string
int
float
bool
What's a dictionary?
I guess I'll have to look it up!
s
'hi'
s = 'hi'
you can change what is named, but you can't change
already-named data!
![Page 4: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/4.jpg)
Reference vs. Value
dictionary
list
tuple
string
int
float
bool
LL[0] L[1] L[2]
Reference,Pointer,
id
L = [5,42,'hi']
5 42 'hi's
'hi'
s = 'hi'
Whee!
Mutable types: Immutable types:
![Page 5: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/5.jpg)
Pass By Value
def main() """ calls conform """ print " Welcome to Conformity, Inc. "
fav = 7 conform(fav)
print " My favorite number is", fav
def conform(fav) """ sets input to 42 """ fav = 42 return fav
7
fav
fav
![Page 6: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/6.jpg)
7
Pass By Value
def main() """ calls conform """ print " Welcome to Conformity, Inc. "
fav = 7 conform(fav)
print " My favorite number is", fav
def conform(fav) """ sets input to 42 """ fav = 42 return fav
7
fav
fav
PASSBY VALUE
“Pass by value” means that data is copied when sent to a function
42
![Page 7: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/7.jpg)
Passing lists by value…
def main() """ calls conform2 """ print " Welcome to Conformity, Inc. " fav = [ 7, 11 ] conform2(fav) print " My favorite numbers are", fav
def conform2(fav) """ sets all of fav to 42 """ fav[0] = 42 fav[1] = 42
What gets passed by value here?
favL[0] L[1]
7 11
fav
![Page 8: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/8.jpg)
Passing lists by value…
def main() """ calls conform2 """ print " Welcome to Conformity, Inc. " fav = [ 7, 11 ] conform2(fav) print " My favorite numbers are", fav
def conform2(fav) """ sets all of fav to 42 """ fav[0] = 42 fav[1] = 42
L[0] L[1]
7 11
can change data
elsewhere!
The reference is copied!
4242
fav
fav
![Page 9: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/9.jpg)
Watch out!
You can change the contents of lists in functions that take those lists as input.
Those changes will be visible everywhere.
(actually, lists or any mutable objects)
(immutable objects are safe, however)
![Page 10: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/10.jpg)
Views of the world
Where does CS fit ?
![Page 11: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/11.jpg)
Views of the world
Engineers think their equations approximate reality.
![Page 12: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/12.jpg)
Views of the world
Engineers think their equations approximate reality. Physicists think reality approximates their equations.
![Page 13: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/13.jpg)
Views of the world
Engineers think their equations approximate reality. Physicists think reality approximates their equations.
Mathematicians don't care.
![Page 14: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/14.jpg)
Views of the world
Engineers think their equations approximate reality. Physicists think reality approximates their equations. Mathematicians don't care.
Axioms
Definitions
Creating structure from a few simple
facts...
Proof 60˚ 70˚
20˚10˚
?
![Page 15: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/15.jpg)
60˚ 70˚
20˚10˚
?
(without using trig)
The John Conway Challenge….
![Page 16: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/16.jpg)
Views of the world
Axioms
Definitions
Creating structure from a few simple
facts...
Creating structure from a few simple
actions ...
if/else
while
for
arithmetic operations
variablesarrays
Proof Algorithm
CSMathematics
![Page 17: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/17.jpg)
Views of the world
Axioms
Definitions
Creating structure from a few simple
facts...
Creating structure from a few simple
actions ...
if/else
while
for
arithmetic operations
variablesarrays
Proof Algorithm
Engineers think their equations approximate reality. Physicists think reality approximates their equations. Mathematicians don't care.
CS
![Page 18: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/18.jpg)
Lists’ flexibility
Lists can hold ANY type of dataA = [ 42., 75., 70. ] 42.0 75.0 70.0
float float floatlistA
they don’t have to be horizontal lists!
![Page 19: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/19.jpg)
42.0
75.0
70.0
double
double
double
listAthey don’t
have to be horizontal lists!
Lists’ flexibility
Lists can hold ANY type of dataA = [ 42., 75., 70. ] 42.0 75.0 70.0
float float floatlistA
![Page 20: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/20.jpg)
Lists’ flexibility
Lists can hold ANY type of data
42.0 75.0 70.0double double doublelist
A
42 7 -11int int intlist
A
“go” “red” “sox!”
String String StringlistA
![Page 21: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/21.jpg)
2d lists or arrays
Lists can hold ANY type of data -- including lists !
listA
A = [ [1,2,3,4], [5,6], [7,8,9,10,11] ]
![Page 22: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/22.jpg)
listA
2d arrays
list
list
list
A[0]
A[1]
A[2]
Lists can hold ANY type of data -- including lists !
A = [ [1,2,3,4], [5,6], [7,8,9,10,11] ]
![Page 23: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/23.jpg)
listA
Jagged arrays
list
list
list
A[0]
A[1]
A[2]
Lists can hold ANY type of data -- including lists !
A = [ [1,2,3,4], [5,6], [7,8,9,10,11] ]
Rows within 2d arrays need not be the same length…
![Page 24: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/24.jpg)
listA
list
list
list
A[0]
A[1]
A[2]
A = [ [1,2,3,4], [5,6], [7,8,9,10,11] ]
Rows within 2d arrays need not be the same length…
No "jagged" arrays…at least not in hw 9
![Page 25: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/25.jpg)
Rectangular arrays
listA
list
list
list
A[0]
A[1]
A[2]
How many rows does A have, in general ?How many columns does A have, in general ?
What does each component of A[1][2] mean ?
A[1][2] = 42
A[2][3]
A[0][0]
![Page 26: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/26.jpg)
Sizing up arrays…
How could we create this rectangular array of 0s?
or
A = 5*[ 3*[0] ]
A = 3*[ 5*[0] ]
[[0,0,0,0,0], [0,0,0,0,0], [0,0,0,0,0]]
![Page 27: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/27.jpg)
Sizing it up…
How could we create a rectangular array (of default data, 0),given its height and width ?
but NEITHER ONE works!
A = height*[ [0]*width ]
A = width*[ [0]*height ]
this is the right size, but doesn't
work!
because lists are handled by reference !
![Page 28: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/28.jpg)
What's really going on?
A = 3*[ 5*[0] ]
inner = 5*[0]
A = 3*[inner]
Inneresting!
listA
list
list
list
inner
inner
inner
copies the list reference, not the list data
"shallow copy"
![Page 29: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/29.jpg)
Safely creating arrays…
def createOneRow( width, height ): """ does just that """
row = [] # start with nothing
for col in range( width ):
return row
So, how would you create a list of rows!?
![Page 30: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/30.jpg)
Problem 2
Menu
An array of array handlers...
Functions
printMenu
enterValues
multRow
addRowSIntoRowD
addMofRowSIntoRowD
solve
(1) Enter the size and values of an array(2) Print the array(3) Multiply an array row by a constant(4) Add one row into another(5) Add a multiple of one row to another(6) Solve!
(9) Quit
Which choice would you like?
S ~ source row index
D ~ destination row index
M ~ a multiplier
![Page 31: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/31.jpg)
“Quiz”
def mystery(A): """ what happens to A ? """
NUM_ROWS = len(A) NUM_COLS = len(A[0])
for row in range( 0,NUM_ROWS ):for col in range( 0,NUM_COLS ): if row == col:
A[row][col] = 42 else:
A[row][col] += 1
1 2 3 4
5 6 7 8
9 10 11 12
Before
After
A
A
Starting with the 2d array A shown here, what are the values in A after running
this code?
row 0
row 1
row 2
col 0 col 1 col 2 col 3
What are the resulting values in A?
Name(s)
![Page 32: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/32.jpg)
“Quiz”
def add2ofRow1IntoRow2( A ):
0.00 1.00 0.00 1.00 3.00 0.50 0.50 3.00 10.00 20.00 30.00 40.00
before
after
A
A
0.00 1.00 0.00 1.00 3.00 0.50 0.50 3.00 16.00 21.00 31.00 46.00
two of row 1 are to be added to row 2
row 0
row 1
row 2
row 0
row 1
row 2
Write a method that adds two times the
values in row #1 into the values in row
#2.
Only row 2's values change.You may assume that
A has at least three rows!
How could you make the source and destination rows inputs to this function - and then use
those inputs?
The values in row 1should not change
![Page 33: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/33.jpg)
def addRowSIntoRowD( s, d, A ):
0.00 1.00 0.00 1.00 3.00 0.50 0.50 3.00 10.00 20.00 30.00 40.00
0.00 1.00 0.00 1.00 3.00 0.50 0.50 3.00 16.00 21.00 31.00 46.00
row 0
row 1
row 2
row 0
row 1
row 2
Write a method that adds row #s into the values in row
#d.
sd
sd
How about a multiple, m, of the source row?
s
d
~ index of source row
~ index of destination row
![Page 34: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/34.jpg)
Problem 2
Menu
An array of array handlers...
(1) Enter the size and values of an array(2) Print the array(3) Multiply an array row by a constant(4) Add one row into another(5) Add a multiple of one row to another(6) Solve!
(9) Quit
Which choice would you like?
Functions
printMenu
enterValues
multRow
addRowSIntoRowD
addMofRowSIntoRowD
solve
![Page 35: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/35.jpg)
Gaussian Elimination
2p + 3n + -1q = -8.00
-3p + -1n + 2q = 42.00
1p + -9n + 4q = 56.00
Goal:
Find p,n,q
Carl Gauss is so
money!
![Page 36: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/36.jpg)
Gaussian Elimination
2p + 3n + -1q = -8.00
-3p + -1n + 2q = 42.00
1p + -9n + 4q = 56.00
Goal:
• get 1s along the diagonal• get 0s elsewhere on the left
Find p,n,q
1p + 0n + 0q = 1.00
0p + 1n + 0q = 5.00
0p + 0n + 1q = 25.00
![Page 37: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/37.jpg)
Gaussian Elimination
2p + 3n + -1q = -8.00
-3p + -1n + 2q = 42.00
1p + -9n + 4q = 56.00
Goal:
• get 1s along the diagonal• get 0s elsewhere on the left
Find p,n,q
1p + 0n + 0q = 1.00
0p + 1n + 0q = 5.00
0p + 0n + 1q = 25.00
Just the array is necessary !We can get rid of the variables...
Using only row operations (our methods) !
where to start?
![Page 38: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/38.jpg)
Solve
1.00 1.50 -0.50 -4.00 -3.00 -1.00 2.00 42.00 1.00 -9.00 4.00 56.00
multiply Row 0 by 0.5
Which direction should we head next
!?!
GOAL: to get this side to look like
the identity matrix.
RESULT: this column will be our solution!
![Page 39: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/39.jpg)
Solve
1.00 1.50 -0.50 -4.00 -3.00 -1.00 2.00 42.00 1.00 -9.00 4.00 56.00
multiply Row 0 by 0.5
a hint as to the direction to head
next… !
![Page 40: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/40.jpg)
Solve
1.00 1.50 -0.50 -4.00 -3.00 -1.00 2.00 42.00 1.00 -9.00 4.00 56.00
multiply Row 0 by 0.5
1.00 1.50 -0.50 -4.00 0.00 3.50 0.50 30.00 0.00 -10.50 4.50 44.00
add 3 times Row 0 to Row 1 add -1 times Row 0 to Row 2
![Page 41: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/41.jpg)
Solve
1.00 1.50 -0.50 -4.00 -3.00 -1.00 2.00 42.00 1.00 -9.00 4.00 56.00
multiply Row 0 by 0.5
1.00 1.50 -0.50 -4.00 0.00 3.50 0.50 30.00 0.00 -10.50 4.50 44.00
1.00 0.00 -0.71 -16.85 0.00 1.00 0.14 30.00 0.00 0.00 6.00 150.00
multiply Row 1 by 1/3.5 add a multiple of Row 1 to Row 0 add a multiple of Row 1 to Row 2
add 3 times Row 0 to Row 1 add -1 times Row 0 to Row 2
![Page 42: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/42.jpg)
Solve
1.00 1.50 -0.50 -4.00 -3.00 -1.00 2.00 42.00 1.00 -9.00 4.00 56.00
multiply Row 0 by 0.5
1.00 1.50 -0.50 -4.00 0.00 3.50 0.50 30.00 0.00 -10.50 4.50 44.00
add 3 times Row 0 to Row 1 add -1 times Row 0 to Row 2
1.00 0.00 -0.71 -16.85 0.00 1.00 0.14 30.00 0.00 0.00 6.00 150.00
1.00 0.00 0.00 1.00 0.00 1.00 0.00 5.00 0.00 0.00 1.00 25.00
same for other columnsas far as possible...
multiply Row 1 by 1/3.5 add a multiple of Row 1 to Row 0 add a multiple of Row 1 to Row 2
![Page 43: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/43.jpg)
Lab Problem -- “Life”
Evolutionary rules
Grid World
• Everything depends on a cell’s eight neighbors
red cells are alive
white cells are empty
• Exactly 3 neighbors give birth to a new, live cell!• Exactly 2 or 3 neighbors keep anexisting cell alive• Any other number of neighbors killthe central cell (or keep it dead)
John Conway
![Page 44: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/44.jpg)
Problem 1 -- Life
Evolutionary rules
Grid World
• Everything depends on a cell’s eight neighbors
red cells are alive
white cells are empty
• Exactly 3 neighbors give birth to a new, live cell!• Exactly 2 or 3 neighbors keep anexisting cell alive• Any other number of neighbors killthe central cell (or keep it dead)
![Page 45: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/45.jpg)
Problem 1 -- Life
Evolutionary rules
Grid World
• Everything depends on a cell’s eight neighbors
red cells are alive
white cells are empty
• Exactly 3 neighbors give birth to a new, live cell!• Exactly 2 or 3 neighbors keep anexisting cell alive• Any other number of neighbors killthe central cell (or keep it dead)
![Page 46: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/46.jpg)
Problem 1 -- Life
Evolutionary rules
Grid World
• Everything depends on a cell’s eight neighbors
red cells are alive
white cells are empty
• Exactly 3 neighbors give birth to a new, live cell!• Exactly 2 or 3 neighbors keep anexisting cell alive• Any other number of neighbors killthe central cell (or keep it dead)
life out there...
Keep going!
![Page 47: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/47.jpg)
Problem 1 -- Creating Life
0 1 2 3 4 50 1 2 3 4 5
0
1
2
3
4
5
0
1
2
3
4
5
updateNextLife( oldB, newB )
old generation or "board" new generation or "board"
![Page 48: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/48.jpg)
Problem 1 -- Details
For each generation… • 0 represents an empty cell
• 1 represents a living cell
• outermost edge should always be left empty (even if there are 3 neighbors)
• compute all cells based on their previous neighbors before updating any of them
http://www.math.com/students/wonders/life/life.html
updateNextLife( oldB, newB )
old generation or "board" new generation or "board"
life out there...
?
![Page 49: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/49.jpg)
Problem 1 -- to and beyond!
• Are there stable life configurations?
• Are there oscillating life configurations?
• Are there self-propagating life configurations?
"rocks"
"plants"
"animals"
period 3
period 2
![Page 50: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/50.jpg)
Problem 1 -- to and beyond!
• Are there life configurations that expand forever?
• What is the largest amount of the life universe that can be filled with cells?
• How sophisticated can the structures in the life universe be?
http://www.ibiblio.org/lifepatterns/
• Are all feasible configurations reachable?
"glider"
"Gosper glider gun"
![Page 51: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/51.jpg)
Today you'll be
Lifing it up
in lab!
on over…so
![Page 52: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/52.jpg)
Problem 1 -- to and beyond!
public static void update(int[][] last, int[][] next){ for (int r=1 ; r<last.length-1 ; ++r) { for (int c=1 ; c<last[r].length-1 ; ++c) { int oldvalue = last[r][c];
if (oldvalue == 0) // look at last next[r][c] = 1; // assign to next else next[r][c] = 0; } }}
What will this do?
![Page 53: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/53.jpg)
Problem 2 -- Details
public static void update(int[][] last, int[][] next){ for (int r=1 ; r<last.length-1 ; ++r) { for (int c=1 ; c<last[r].length-1 ; ++c) { int oldvalue = last[r-1][c-1];
if (oldvalue == 0) next[r][c] = 1; else next[r][c] = 0; } }}
How does this change things?
![Page 54: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/54.jpg)
Problem 2 – Multi-species Life (!)
Create a set of rules to evolve two species of cells (plus empty).
The Challenge
updateMulti(int[][] last, int[][] next)
Give both species a good chance of survival in the same environment.
stability is an open biological question…
more species are OK, too…
0 1 2 …
![Page 55: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/55.jpg)
Lab this week
• Problem 1: Gaussian Elimination
You’ll need to write (and use)
• Problem 2: Life and Multi-species Life!
• Extra Credit:
printMenu
enterValues
multRow
addRowaToRowb
addMxRowaToRowb
solve
public void update(int[][] last, int[][] next)
0 1 2 3 4 50 1 2 3 4 5
0
1
2
3
4
5
0
1
2
3
4
5
A matrix-inverse feature for Problem 1 ...
Doughnut Life for Problem 2 …
Lab: M-Z
public void updateMulti(int[][] last, int[][] next)
![Page 56: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/56.jpg)
“Quiz”
public static void mysteryMethod(int[][] A){ for (int r = 0 ; r < A.length ; ++r) { for (int c = 0 ; c < A[r].length ; ++c) {
if (r == c) {
A[r][c] = 42; } else { A[r][c] = A[r][c] + 1; } } }} // end of mystery method
1 2 3 4
5 6 7 8
9 10 11 12
Before
After
A
A
Starting with the 2d array A shown here, what are the values in A after running
this code?
row 0
row 1
row 2
col 0 col 1 col 2 col 3
What are the resulting values in A?
![Page 57: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/57.jpg)
“Quiz”
public static void addTwoOfRow1IntoRow2(double[][] A){
}
0.00 1.00 0.00 1.00 3.00 0.50 0.50 3.00 10.00 20.00 30.00 40.00
before
after
A
A
0.00 1.00 0.00 1.00 3.00 0.50 0.50 3.00 16.00 21.00 31.00 46.00
two of row 1 are to be added to row 2
example
example
row 0
row 1
row 2
row 0
row 1
row 2
Write a method that adds two times the
values in row #1 into the values in row
#2.
The values in row #1 should not
change!
(The values in row #0 also don’t
change!)
![Page 58: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/58.jpg)
Watch out!
public static void main(String[] args){ H.out.println(“Welcome to conformity, inc.”); int[] fav = new int[2]; fav[0] = 7; fav[1] = 11; // The user’s TWO favorite #s
conform(fav);
H.out.println(fav + “ and ” + fav + “! Me too!”); }
int[] fav fav[0] fav[1]
What will happen here?!
![Page 59: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/59.jpg)
Watch out!
public static void main(String[] args){ H.out.println(“Welcome to conformity, inc.”); int[] fav = new int[2]; fav[0] = 7; fav[1] = 11; // The user’s TWO favorite #s
conform(fav);
H.out.println(fav[0] + “ and ” + fav[1] + “! Me too!”); }
public static void conform(int[] fav){ fav = new int[2]; fav[0] = 42; fav[1] = 42; return;}
int[] fav fav[0] fav[1]
int[] fav
![Page 60: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/60.jpg)
This week in IS 313
• HW 7 (2 problems)due Thursday, 11/7 at midnight
A dizzying array of possibilities...
Reading: Week 9’s online notes
Still seeking a costume?
John Conway
Carl Gauss
• This week’s credits:
![Page 61: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/61.jpg)
Survival of the stablest
• can they be unbounded spatially?
• what are stable “life” forms?
http://www.math.com/students/wonders/life/life.html
The Questions of Life...
• can they grow forever?• how fast can they travel?
• how densely can they grow?
![Page 62: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/62.jpg)
“Pass By Value”
public static void main(String[] args){ H.out.println(“Welcome to Conformity, Inc.”);
int fav = 7; // The user’s favorite #
conform(fav);
H.out.println(fav + “ is my favorite, too!”); }
![Page 63: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/63.jpg)
42.00 -100.10
3.14 7.00
42.00 -100.10
3.14 7.00
42.00 -100.10
3.14 7.00
42 -100.1
3.14159 7
42 -100.1
3.14 7
![Page 64: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/64.jpg)
Design - not just software
Please see instructions on HW 9. You have some choice on what parts of this chapter to read.
• Conceptual Models–Watch crown vs. buttons–Directory structures
• Visibility and Cues–Banks of glass doors–Telephone buttons
• Feedback– A refrigerator– Phone settings
Don Norman's observations:
![Page 65: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/65.jpg)
Affordances~ physical and cultural expectations
![Page 66: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/66.jpg)
Microsoft Access
Windows NT
Microsoft Outlook
User interface Hall of Shame
http://homepage.mac.com/bradster/iarchitect/shame.htm
![Page 67: CS 5 Today HW 9 (lab + 2 probs) due Sunday, 11/8 at midnight Dizzying arrays of possibilities… John Conway Carl Gauss This week’s credits: Exam 2 on Mon.,Tue](https://reader036.vdocuments.us/reader036/viewer/2022081519/56649e925503460f94b9773a/html5/thumbnails/67.jpg)
Creating a 2d array
def create2dArray( width, height ): """ does just that """
A = [] # start with nothing
for row in range( height ):
for col in range( width ):
return A