current jotto standings…

42
Current Jotto standings… Sophs Jrs Srs Prof s pluot 1 pluot 2 pluot 1 pluot 2 squid 2 squid 1 squid 0 squid 1 Sophs & "Profs" guessing..

Upload: leia

Post on 21-Jan-2016

34 views

Category:

Documents


0 download

DESCRIPTION

Current Jotto standings…. Sophs. Jrs. Srs. Profs. pluot 1. pluot 2. pluot 1. pluot 2. squid 2. squid 1. squid 0. squid 1. Sophs & "Profs" guessing. Turning direction. (15,30). 3. (20,20). (40,20). 2. 3'. Bertrand Planes' Life Clock. (10,10). 1. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Current Jotto standings…

Current Jotto standings…

Sophs Jrs Srs Profs

pluot 1 pluot 2 pluot 1 pluot 2

squid 2 squid 1 squid 0 squid 1

Sophs & "Profs" guessing...

Page 2: Current Jotto standings…

Turning direction

Python code for CCW turning

1

2

3

def turningDirection( pt1, pt2, pt3 ): """ returns 1 if pt1 -> pt2 -> pt3 is a CCW turn returns -1 if pt1 -> pt2 -> pt3 is a CW turn returns 0 if they are collinear """ x1, y1 = pt1; x2, y2 = pt2; x3, y3 = pt3; # the signed magnitude of the cross product CP = (x2-x1)*(y3-y1)-(y2-y1)*(x3-x1) if CP > 0: return 1 if CP < 0: return -1 return 0

Bertrand Planes' Life Clock

(10,10)

(20,20)

(15,30)

3'

(40,20)

Page 3: Current Jotto standings…
Page 4: Current Jotto standings…

long bets...

Page 5: Current Jotto standings…

Geometric algorithms

Line Segment intersection…

(x1,y1)

(x2,y2)

(xB,yB)

(xA,yA)

rs

xA - x1

yA - y1

dx1 dxA

dy1 dyA

=

(xi,yi)

All points on this line are (x1,y1) + r(x2-x1,y2-y1)

(xA,yA) + s(xB-xA,yB-yA)All points on this line are

dx1 dy1

dxA dyA

Solving these equations finds the intersection via r and s.

Page 6: Current Jotto standings…

Geometric algorithms

Line Segment intersection…

pt1 = (10, 10)

pt2 = (20,20)

pt3 = (10, 20)

pt4 = (20, 10)

pt5 = (40, 20)

Line segment #1 runs from (10, 10) to (20, 20)Line segment #2 runs from (10, 20) to (20, 10) Intersection result = (15.0, 15.0, 1, 0.5, 0.5)

Line segment #1 runs from (10, 10) to (10, 20)Line segment #2 runs from (20, 20) to (20, 10) Intersection result = (0, 0, 0, 0, 0)

Line segment #1 runs from (10, 10) to (20, 20)Line segment #2 runs from (20, 10) to (40, 20) Intersection result = (0.0, 0.0, 1, -1.0, -1.0)

Page 7: Current Jotto standings…

Geometric algorithms

Java has its advantages!

Line2d.linesIntersect(x1, y1, x2, y2, x3, y3, x4, y4);

Polygon().contains(x,y);

Line2D Polygon

Page 8: Current Jotto standings…

Convex Hull

the segments surrounding the

exterior of a point set.

First approach: brute force?

Page 9: Current Jotto standings…

The Graham Scan

"first algorithm in computational geometry"

1) Find extremal point, P[0]

2) Sort all other points in terms of their angles with P[0] - use atan2 !

3) the sorted list is P[i]

4) push P[0] and P[1] onto S

a stack (e.g.,

python list)

i = 2

while i < N:

A = the top of stack S B = the second point in S

if (P[i] is to the left of B wrt A): push P[i] onto stack S i = i+1 else: pop stack S and discard the top

5) run the scan:

Page 10: Current Jotto standings…

Graham Scan: java

Stack grahamScan(Coordinate[] c) { Point p; Stack ps = new Stack(); ps.push(c[0]); ps.push(c[1]); ps.push(c[2]); for (int i = 3; i < c.length; i++) { p = ps.pop(); while (computeOrientation(ps.peek(), p, c[i]) > 0)) { ps.pop(); } ps.push(p); ps.push(c[i]); } ps.push(c[0]); return ps;}

Page 11: Current Jotto standings…

Convex Hull #2

convex hull Jarvis’s March - shown hereGraham’s Scan - see previous

Page 12: Current Jotto standings…

Jarvis March

convex hull

start here

draw a line to this point (why?)

Jarvis’s March - shown hereGraham’s Scan - see previous

Page 13: Current Jotto standings…

Jarvis March

convex hull

start here

draw a line to this point

draw a line to the point with the LEAST relative angle ()

Jarvis’s March - shown hereGraham’s Scan - see previous

Page 14: Current Jotto standings…

Jarvis March

convex hull

start here

draw a line to the point with the LEAST relative angle ()

Jarvis’s March - shown hereGraham’s Scan - see previous

Page 15: Current Jotto standings…

Jarvis March

convex hull

draw a line to the point with the LEAST relative angle ()

relative to the previous

angle!

Jarvis’s March - shown hereGraham’s Scan - see previous

Page 16: Current Jotto standings…

Jarvis March

convex hull

continue until you return…

Jarvis’s March - shown hereGraham’s Scan - see previous

Page 17: Current Jotto standings…

This week's Problems…

• read over these problems: judge easy/hard?

• try one or two to finish this afternoon/evening...

• what geometric computation is needed? Hopefully everyone can get 1 or 2 of these completed!

Page 18: Current Jotto standings…

Try them out!!

Page 19: Current Jotto standings…

The EE ProblemInput

Output

# of test cases

Data Set 1:10.813.420.00The strength of the signal at each test location ==

1.0/(closest visible router ** 2)

# of room vertices, # of routers, # of test points

vertices of the room

Locations of the routers

test locations

routers

example input

Locations of the test points

+

+

+

A

B

C

C

A B

Page 20: Current Jotto standings…

1 4 4 0.1 0.1 0.0 0.9 1.0 0.05 1.1 -0.1 -0.1 -0.1 0.8 0 1.1 0.5 0.7 0 0.3 0.5 0 0.3

The IE ProblemInput

Output

# of test cases

Data Set 1:2.32

The minimum total cost to supply all stores from some warehouse(s).

# of stores and possible warehouse locations

(x,y) location of stores

(x,y,price) location of warehouses and their cost to build in Mega$

S

S

S

SW

W

WW

$.3$.3

$.5

$.8

delivery cost = Euclidean distance

Industrial Engineering

Page 21: Current Jotto standings…

The Superpaint ProblemInput

Output

4 32 12 34 1

one side of the square lattice

Locations of the cows (row,col)

5

The number of locations that "attack" all occupied squares

with a Queen's move

Row 1 . . . .C . C . . . . .C . . .

number of occupied squares

Row 2

Row 3

Row 4

Col 1

Col 2

Col 3

Col 4

Row 1 . . . .B . B . . B . .B . B .

Row 2

Row 3

Row 4

Col 1

Col 2

Col 3

Col 4

Page 22: Current Jotto standings…

The Safepens Problem

Input

Output

41 1 16 166 6 11 137 7 9 123 3 10 5

Number of rectangular fences

The fences!

(lower left and upper right vertices)

3 1

The deepest nesting level

The number of pens at that level

(1,1)

(16,16)

(6,6)

(11,13)

(7,7)

(9,12)

(3,3)

(10,5)

Page 23: Current Jotto standings…

http://en.wikipedia.org/wiki/Bentley–Ottmann_algorithm

"Sweepline algorithm"

Page 24: Current Jotto standings…

http://en.wikipedia.org/wiki/Bentley–Ottmann_algorithm

A

B

C

D Priority Queue

Binary Search Tree

Page 25: Current Jotto standings…

The Screens ProblemInput

Output

# of test cases

Vertices of the room

Data Set 1:90.00%

The total fraction of the presentation you can observe (all screens' contributions!)

# of projector screens

# of room vertices

(x,y) location of "you"

Line segments of the screens

room

oriented screens

Page 26: Current Jotto standings…

Current Jotto standings…

Sophs Jrs Srs Profs

Chalk 1 Chalk 0 Chalk 1 Chalk 1

Quine 1 Quine 1 Quine 2 Quine 2

aught 2 aught 1 aught 1 aught 2

jotto 2 jotto 2 jotto 0 jotto 1

savvy 2 savvy 0 savvy 1 savvy 1

clash 2 clash 0 clash 1 clash 1

Page 27: Current Jotto standings…

Current Jotto standings…

Sophs Jrs Srs Others

icily 0 icily 0 icily 1 icily 1

strep 2 strep 2 strep 2 strep 1

spork 1 spork 3 spork 0 spork 0

spend 2 spend 2 spend 2 spend 2

peeps 2 peeps 1 peeps 2 peeps 1

furls 1 furls 1 furls 0 furls 1

Ghost 2 Ghost 1 Ghost 1 Ghost 0

Tanks 2 Tanks 1 Tanks 2 Tanks 1

Gecko 2 Gecko 1 Gecko 1 Gecko 1

Page 28: Current Jotto standings…

"QuickHull"

Page 29: Current Jotto standings…

"QuickHull"

choose L and R pts

draw chord

Page 30: Current Jotto standings…

"QuickHull"

choose L and R pts

draw chord

• assign sides

• find farthest point on each side

• create triangle

recurse!

Page 31: Current Jotto standings…

"QuickHull"

choose L and R pts

draw chord

• assign sides

• find farthest point on each side

• create triangle

recurse!

• assign sides

Page 32: Current Jotto standings…

The Sweepline Algorithm

choose L and R pts

draw chord

• assign sides

• find farthest point on each side

• create triangle

recurse!

• assign sides

Page 33: Current Jotto standings…

The Safepens Problem

Input

Output

41 1 16 166 6 11 137 7 9 123 3 10 5

Number of rectangular fences

The fences!

(lower left and upper right vertices)

3 1

The deepest nesting level

The number of pens at that level

(1,1)

(16,16)

(6,6)

(11,13)

(7,7)

(9,12)

(3,3)

(10,5)

Page 34: Current Jotto standings…

The Superpaint ProblemInput

Output

4 32 12 34 1

one side of the square lattice

Locations of the cows (row,col)

5

The number of locations that "attack" all occupied squares

with a Queen's move

Row 1 . . . .C . C . . . . .C . . .

number of occupied squares

Row 2

Row 3

Row 4

Col 1

Col 2

Col 3

Col 4

Row 1 . . . .B . B . . B . .B . B .

Row 2

Row 3

Row 4

Col 1

Col 2

Col 3

Col 4

Page 35: Current Jotto standings…

The Screens ProblemInput

Output

# of test cases

Vertices of the room

Data Set 1:90.00%

The total fraction of the presentation you can observe (all screens' contributions!)

# of projector screens

# of room vertices

(x,y) location of "you"

Line segments of the screens

room

oriented screens

Page 36: Current Jotto standings…

The EE ProblemInput

Output

# of test cases

Data Set 1:10.813.420.00The strength of the signal at each test location ==

1.0/(closest visible router ** 2)

# of room vertices, # of routers, # of test points

vertices of the room

Locations of the routers

test locations

routers

example input

Locations of the test points

+

+

+

A

B

C

C

A B

Page 37: Current Jotto standings…

1 4 4 0.1 0.1 0.0 0.9 1.0 0.05 1.1 -0.1 -0.1 -0.1 0.8 0 1.1 0.5 0.7 0 0.3 0.5 0 0.3

The IE ProblemInput

Output

# of test cases

Data Set 1:2.32

The minimum total cost to supply all stores from some warehouse(s).

# of stores and possible warehouse locations

(x,y) location of stores

(x,y,price) location of warehouses and their cost to build in Mega$

S

S

S

SW

W

WW

$.3$.3

$.5

$.8

delivery cost = Euclidean distance

Industrial Engineering

Page 38: Current Jotto standings…

Convex Hull Problems…

• read over these problems…

• which ones are convex hull?

• which ones could be convex hull?

and the rest?

Page 39: Current Jotto standings…

Current Jotto standings…

Sophs Jrs Srs Others

icily 0 icily 0 icily 1 icily 1

strep 2 strep 2 strep 2 strep 1

spork 1 spork 3 spork 0 spork 0

spend 2 spend 2 spend 2 spend 2

peeps 2 peeps 1 peeps 2 peeps 1

furls 1 furls 1 furls 0 furls 1

Ghost 2 Ghost 1 Ghost 1 Ghost 0

Tanks 2 Tanks 1 Tanks 2 Tanks 1

Gecko 2 Gecko 1 Gecko 1 Gecko 1

Win! Quine 5

Page 40: Current Jotto standings…

What are these?

public int mystery1(Point A, Point B, Point P) { int cp1 = (B.x-A.x)*(P.y-A.y) - (B.y-A.y)*(P.x-A.x); if (cp1>0) return 1; else return -1;}

public int mystery2(Point A, Point B, Point C) { int ABx = B.x-A.x; int ABy = B.y-A.y; int num = ABx*(A.y-C.y)-ABy*(A.x-C.x); if (num < 0) num = -num; return num; }

Page 41: Current Jotto standings…

What are these?

public int mystery1(Point A, Point B, Point P) { int cp1 = (B.x-A.x)*(P.y-A.y) - (B.y-A.y)*(P.x-A.x); if (cp1>0) return 1; else return -1;}

public int mystery2(Point A, Point B, Point C) { int ABx = B.x-A.x; int ABy = B.y-A.y; int num = ABx*(A.y-C.y)-ABy*(A.x-C.x); if (num < 0) num = -num; return num; }

Hints:sortOfDistancewhichSide

Page 42: Current Jotto standings…