Presentation: A Classification of All Connected Graphs on Seven, Eight, and Nine Vertices With...

Preview:

Citation preview

A Classification of All Connected Graphs on Seven, Eight, and Nine Vertices With

Respect to the Property of Intrinsic Knotting

Chris Morris

October 15, 2008Chair: Dr. Tyson Henry

Member: Dr. Thomas Mattman

Background

2

What is a knot?

3

What is a knot?

Exactly what you think it is!

3

What is a knot?

Exactly what you think it is!

Imagine an extension cord, tangle it, plug in the ends

3

What is a knot?

Exactly what you think it is!

Imagine an extension cord, tangle it, plug in the ends

There is no way to ‘remove’ the knot without unplugging the ends (or cutting the cord)

3

What is a knot?

Exactly what you think it is!

Imagine an extension cord, tangle it, plug in the ends

There is no way to ‘remove’ the knot without unplugging the ends (or cutting the cord)

Can be classified, simplified and studied

3

What is a knot?

Exactly what you think it is!

Imagine an extension cord, tangle it, plug in the ends

There is no way to ‘remove’ the knot without unplugging the ends (or cutting the cord)

Can be classified, simplified and studied

3Unknot

What is a knot?

Exactly what you think it is!

Imagine an extension cord, tangle it, plug in the ends

There is no way to ‘remove’ the knot without unplugging the ends (or cutting the cord)

Can be classified, simplified and studied

3Unknot Trefoil

What is a graph?

4

What is a graph?

Series of vertices (points) connected by edges (lines)

4

What is a graph?

Series of vertices (points) connected by edges (lines)

Airports and flight paths

4

What is a graph?

Series of vertices (points) connected by edges (lines)

Airports and flight paths

Connected graph: from any vertex a path exists to any other vertex

4

What is a graph?

Series of vertices (points) connected by edges (lines)

Airports and flight paths

Connected graph: from any vertex a path exists to any other vertex

Not Connected4

What is a graph?

Series of vertices (points) connected by edges (lines)

Airports and flight paths

Connected graph: from any vertex a path exists to any other vertex

Not Connected Connected4

How do knots and graphs relate?

5

How do knots and graphs relate?

Cycles exist in graphs which:

5

How do knots and graphs relate?

Cycles exist in graphs which: begin and end with same vertex

5

How do knots and graphs relate?

Cycles exist in graphs which: begin and end with same vertex travel to other vertices at most once

5

How do knots and graphs relate?

Cycles exist in graphs which: begin and end with same vertex travel to other vertices at most once ex. 0 ➜ 1 ➜ 3 ➜ 4 ➜ 2 ➜ 0

5

How do knots and graphs relate?

Cycles exist in graphs which: begin and end with same vertex travel to other vertices at most once ex. 0 ➜ 1 ➜ 3 ➜ 4 ➜ 2 ➜ 0

0

14

3 2

5

How do knots and graphs relate?

Cycles exist in graphs which: begin and end with same vertex travel to other vertices at most once ex. 0 ➜ 1 ➜ 3 ➜ 4 ➜ 2 ➜ 0

Cycle is a loop, much like the extension cord

0

14

3 2

5

How do knots and graphs relate?

Cycles exist in graphs which: begin and end with same vertex travel to other vertices at most once ex. 0 ➜ 1 ➜ 3 ➜ 4 ➜ 2 ➜ 0

Cycle is a loop, much like the extension cord

Cycles can be knotted

0

14

3 2

5

What is intrinsic knotting (IK)?

6

What is intrinsic knotting (IK)?

Graphs can be embedded in 3 dimensional space in an infinite number of ways

6

What is intrinsic knotting (IK)?

Graphs can be embedded in 3 dimensional space in an infinite number of ways

6

0

14

23

What is intrinsic knotting (IK)?

Graphs can be embedded in 3 dimensional space in an infinite number of ways

6

0

14

2

3

What is intrinsic knotting (IK)?

Graphs can be embedded in 3 dimensional space in an infinite number of ways

6

0

14

2

3

What is intrinsic knotting (IK)?

Graphs can be embedded in 3 dimensional space in an infinite number of ways

6

0

14

23

What is intrinsic knotting (IK)?

Graphs can be embedded in 3 dimensional space in an infinite number of ways

Different embeddings may yield cycles with different knots

6

0

14

23

What is intrinsic knotting (IK)?

Graphs can be embedded in 3 dimensional space in an infinite number of ways

Different embeddings may yield cycles with different knots

Can always force a knotted embedding

6

0

14

23

What is intrinsic knotting (IK)?

Graphs can be embedded in 3 dimensional space in an infinite number of ways

Different embeddings may yield cycles with different knots

Can always force a knotted embedding

6

0

14

23

What is intrinsic knotting (IK)?

Graphs can be embedded in 3 dimensional space in an infinite number of ways

Different embeddings may yield cycles with different knots

Can always force a knotted embedding

Intrinsic knotting means, no matter the embedding, at least one cycle is knotted

6

0

14

23

What is a graph minor?

7

What is a graph minor?

The graph G’ that remains after any of the following are performed on graph G:

7

What is a graph minor?

The graph G’ that remains after any of the following are performed on graph G: edge removals

7

0

14

23

What is a graph minor?

The graph G’ that remains after any of the following are performed on graph G: edge removals

7

0

14

23

What is a graph minor?

The graph G’ that remains after any of the following are performed on graph G: edge removals vertex removals

7

0

14

23

What is a graph minor?

The graph G’ that remains after any of the following are performed on graph G: edge removals vertex removals

7

0

14

What is a graph minor?

The graph G’ that remains after any of the following are performed on graph G: edge removals vertex removals edge contractions

7

0

14

23

What is a graph minor?

The graph G’ that remains after any of the following are performed on graph G: edge removals vertex removals edge contractions

7

0

14

2

What is a graph minor?

The graph G’ that remains after any of the following are performed on graph G: edge removals vertex removals edge contractions

G is not a minor of G

7

0

14

2

What is a graph minor?

The graph G’ that remains after any of the following are performed on graph G: edge removals vertex removals edge contractions

G is not a minor of G

Minor Minimal: A property exhibited by G but not by any of its minors

7

0

14

2

What is a graph minor?

The graph G’ that remains after any of the following are performed on graph G: edge removals vertex removals edge contractions

G is not a minor of G

Minor Minimal: A property exhibited by G but not by any of its minors

Expansion: Opposite of a minor7

0

14

2

A Classification of All Connected Graphs on Seven, Eight, and Nine Vertices With

Respect to the Property of Intrinsic Knotting

8

Methods

9

What is known about intrinsic knotting?

10

What is known about intrinsic knotting?

If H is IK and H is a minor of G, then G is IK too

10

What is known about intrinsic knotting?

If H is IK and H is a minor of G, then G is IK too

Know that there are a finite number of minor minimal IK graphs

10

What is known about intrinsic knotting?

If H is IK and H is a minor of G, then G is IK too

Know that there are a finite number of minor minimal IK graphs

Currently about 40 are known

10

What is known about intrinsic knotting?

If H is IK and H is a minor of G, then G is IK too

Know that there are a finite number of minor minimal IK graphs

Currently about 40 are known

The big question in intrinsic knotting is: How many minor minimal IK graphs are there total?

10

What is known about intrinsic knotting?

If H is IK and H is a minor of G, then G is IK too

Know that there are a finite number of minor minimal IK graphs

Currently about 40 are known

The big question in intrinsic knotting is: How many minor minimal IK graphs are there total?

Classifying graphs as IK is not easy

10

Why is it so difficult to classify a graph as IK?

11

Why is it so difficult to classify a graph as IK?

Infinite number of embeddings for any graph

11

Why is it so difficult to classify a graph as IK?

Infinite number of embeddings for any graph

If one embedding is not knotted, the graph is not IK

11

Why is it so difficult to classify a graph as IK?

Infinite number of embeddings for any graph

If one embedding is not knotted, the graph is not IK

No definitive approach to classify a graph as intrinsically knotted

11

Why is it so difficult to classify a graph as IK?

Infinite number of embeddings for any graph

If one embedding is not knotted, the graph is not IK

No definitive approach to classify a graph as intrinsically knotted

Traditionally proofs are done by hand

11

Is this graph intrinsically knotted?

12

Can we prove intrinsic knotting?

13

Can we prove intrinsic knotting?

Proofs to show certain graphs are IK

13

Can we prove intrinsic knotting?

Proofs to show certain graphs are IK ex: exhibit one of the 40 as a minor

13

Can we prove intrinsic knotting?

Proofs to show certain graphs are IK ex: exhibit one of the 40 as a minor

Proofs to show certain graphs are not IK

13

Can we prove intrinsic knotting?

Proofs to show certain graphs are IK ex: exhibit one of the 40 as a minor

Proofs to show certain graphs are not IK ex: 6 vertices or less

13

Can we prove intrinsic knotting?

Proofs to show certain graphs are IK ex: exhibit one of the 40 as a minor

Proofs to show certain graphs are not IK ex: 6 vertices or less

No proof to show any arbitrary graph is or is not IK

13

What exactly did I do?

14

What exactly did I do?

Classified graphs as IK, not IK or indeterminate

14

What exactly did I do?

Classified graphs as IK, not IK or indeterminate

Focused on all connected graphs on 7, 8 and 9 vertices

14

What exactly did I do?

Classified graphs as IK, not IK or indeterminate

Focused on all connected graphs on 7, 8 and 9 vertices

Leveraged the computer to perform this classification in a brute-force fashion

14

What exactly did I do?

Classified graphs as IK, not IK or indeterminate

Focused on all connected graphs on 7, 8 and 9 vertices

Leveraged the computer to perform this classification in a brute-force fashion

Encoded proved research as programmatic classification tests which could be applied to a graph

14

What exactly did I do?

Classified graphs as IK, not IK or indeterminate

Focused on all connected graphs on 7, 8 and 9 vertices

Leveraged the computer to perform this classification in a brute-force fashion

Encoded proved research as programmatic classification tests which could be applied to a graph

Provided a list of indeterminate graphs which can be scrutinized by others

14

The Classification Tests

15

The Classification Tests

A graph is not IK if:

15

The Classification Tests

A graph is not IK if: vertices ≤ 6

15

The Classification Tests

A graph is not IK if: vertices ≤ 6 edges < 15

15

The Classification Tests

A graph is not IK if: vertices ≤ 6 edges < 15 is minor of known minor minimal IK graph

15

The Classification Tests

A graph is not IK if: vertices ≤ 6 edges < 15 is minor of known minor minimal IK graph has a planar subgraph after removing any two vertices

15

The Classification Tests

A graph is not IK if: vertices ≤ 6 edges < 15 is minor of known minor minimal IK graph has a planar subgraph after removing any two vertices

A graph is IK if:

15

The Classification Tests

A graph is not IK if: vertices ≤ 6 edges < 15 is minor of known minor minimal IK graph has a planar subgraph after removing any two vertices

A graph is IK if: edges ≥ (5 * vertices) – 14

15

The Classification Tests

A graph is not IK if: vertices ≤ 6 edges < 15 is minor of known minor minimal IK graph has a planar subgraph after removing any two vertices

A graph is IK if: edges ≥ (5 * vertices) – 14 has known IK graph as a minor

15

The Algorithm

16

The Algorithm

iterate over each graph in set of graphs

16

The Algorithm

iterate over each graph in set of graphsiterate over each test in set of tests

16

The Algorithm

iterate over each graph in set of graphsiterate over each test in set of tests

apply test to graph

16

The Algorithm

iterate over each graph in set of graphsiterate over each test in set of tests

apply test to graph

done if graph is IK or not IK

16

The Algorithm

iterate over each graph in set of graphsiterate over each test in set of tests

apply test to graph

done if graph is IK or not IKend

16

The Algorithm

iterate over each graph in set of graphsiterate over each test in set of tests

apply test to graph

done if graph is IK or not IKendgraph is indeterminate

16

The Algorithm

iterate over each graph in set of graphsiterate over each test in set of tests

apply test to graph

done if graph is IK or not IKendgraph is indeterminate

end

16

The Implementation

17

The Implementation

Originally implemented in Java

17

The Implementation

Originally implemented in Java

Designed algorithms for minor and planarity detection

17

The Implementation

Originally implemented in Java

Designed algorithms for minor and planarity detection

Most ‘risky’ parts of entire design were these algorithms

17

The Implementation

Originally implemented in Java

Designed algorithms for minor and planarity detection

Most ‘risky’ parts of entire design were these algorithms

Wanted to use known, proven tools, instead of my algorithms for the ‘risky’ parts

17

The Implementation

Originally implemented in Java

Designed algorithms for minor and planarity detection

Most ‘risky’ parts of entire design were these algorithms

Wanted to use known, proven tools, instead of my algorithms for the ‘risky’ parts

Transitioned to Ruby because faster interface with outside tools

17

The Intrinsic Knotting Toolset

18

The Intrinsic Knotting Toolset

installer

18

The Intrinsic Knotting Toolset

installer graph_generator

18

The Intrinsic Knotting Toolset

installer graph_generator graph_finder

18

The Intrinsic Knotting Toolset

installer graph_generator graph_finder graph_complementor

18

The Intrinsic Knotting Toolset

installer graph_generator graph_finder graph_complementor ik_classifier

18

The Intrinsic Knotting Toolset

installer graph_generator graph_finder graph_complementor ik_classifier java_ik_classifier

18

The Intrinsic Knotting Toolset

installer graph_generator graph_finder graph_complementor ik_classifier java_ik_classifier ik_summarizer

18

The Intrinsic Knotting Toolset

installer graph_generator graph_finder graph_complementor ik_classifier java_ik_classifier ik_summarizer expansion_mapper

18

Results

19

7-Vertex Graphs

20

7-Vertex Graphs

853 total connected graphs

20

7-Vertex Graphs

853 total connected graphs

852 not intrinsically knotted

20

7-Vertex Graphs

853 total connected graphs

852 not intrinsically knotted

1 intrinsically knotted (K7)

20

7-Vertex Graphs

853 total connected graphs

852 not intrinsically knotted

1 intrinsically knotted (K7)

0 indeterminate

20

7-Vertex Graphs

853 total connected graphs

852 not intrinsically knotted

1 intrinsically knotted (K7)

0 indeterminate

Completion Times: Java 79ms ~ Ruby 505ms

20

7-Vertex Graphs

853 total connected graphs

852 not intrinsically knotted

1 intrinsically knotted (K7)

0 indeterminate

Completion Times: Java 79ms ~ Ruby 505ms

Max Per Graph Times: Java 1ms ~ Ruby 6ms

20

8-Vertex Graphs

21

8-Vertex Graphs

11,117 total connected graphs

21

8-Vertex Graphs

11,117 total connected graphs

11,095 not intrinsically knotted

21

8-Vertex Graphs

11,117 total connected graphs

11,095 not intrinsically knotted

22 intrinsically knotted

21

8-Vertex Graphs

11,117 total connected graphs

11,095 not intrinsically knotted

22 intrinsically knotted

0 indeterminate

21

8-Vertex Graphs

11,117 total connected graphs

11,095 not intrinsically knotted

22 intrinsically knotted

0 indeterminate

Completion Times: Java 1.916s ~ Ruby 36.151s

21

8-Vertex Graphs

11,117 total connected graphs

11,095 not intrinsically knotted

22 intrinsically knotted

0 indeterminate

Completion Times: Java 1.916s ~ Ruby 36.151s

Max Per Graph Times: Java 17ms ~ Ruby 2.152s

21

9-Vertex Graphs

22

9-Vertex Graphs

261,080 total connected graphs

22

9-Vertex Graphs

261,080 total connected graphs

259,055 not intrinsically knotted

22

9-Vertex Graphs

261,080 total connected graphs

259,055 not intrinsically knotted

1,993 intrinsically knotted

22

9-Vertex Graphs

261,080 total connected graphs

259,055 not intrinsically knotted

1,993 intrinsically knotted

32 indeterminate

22

9-Vertex Graphs

261,080 total connected graphs

259,055 not intrinsically knotted

1,993 intrinsically knotted

32 indeterminate

Completion Times: Java 17m53.302s ~ Ruby 3h8m49.326s

22

9-Vertex Graphs

261,080 total connected graphs

259,055 not intrinsically knotted

1,993 intrinsically knotted

32 indeterminate

Completion Times: Java 17m53.302s ~ Ruby 3h8m49.326s

Max Per Graph Times: Java 692ms ~ Ruby 55m8.123s

22

0

1

2

6

7

8

3

45

0

1

2

6

7

8

3

4

5

Example Indeterminate Graph

23

Graph 243680 Complement of 243680

Analysis & Conclusions

24

Classifications

25

Classifications

Java and Ruby versions showed identical classification results for every graph

25

Classifications

Java and Ruby versions showed identical classification results for every graph

Classification which ‘determined’ IK state was useful as ‘proof’ for the classification

25

Classifications

Java and Ruby versions showed identical classification results for every graph

Classification which ‘determined’ IK state was useful as ‘proof’ for the classification

7-vertex classifications matched published results

25

Classifications

Java and Ruby versions showed identical classification results for every graph

Classification which ‘determined’ IK state was useful as ‘proof’ for the classification

7-vertex classifications matched published results

8-vertex classifications matched published results

25

Classifications

Java and Ruby versions showed identical classification results for every graph

Classification which ‘determined’ IK state was useful as ‘proof’ for the classification

7-vertex classifications matched published results

8-vertex classifications matched published results

No published results for 9-vertex graphs for comparison, but classifications appear realistic

25

Timing

26

Timing

Ruby implementation ran slower than Java

26

Timing

Ruby implementation ran slower than Java Algorithms differed, so not a ‘language comparison’

26

Timing

Ruby implementation ran slower than Java Algorithms differed, so not a ‘language comparison’ Java implementation did not degrade as much as graph

complexity increased

26

Timing

Ruby implementation ran slower than Java Algorithms differed, so not a ‘language comparison’ Java implementation did not degrade as much as graph

complexity increased Slowest graph in Ruby took ~ 1 hour

26

Timing

Ruby implementation ran slower than Java Algorithms differed, so not a ‘language comparison’ Java implementation did not degrade as much as graph

complexity increased Slowest graph in Ruby took ~ 1 hour

majority of time spent in minor detection algorithm

26

Timing

Ruby implementation ran slower than Java Algorithms differed, so not a ‘language comparison’ Java implementation did not degrade as much as graph

complexity increased Slowest graph in Ruby took ~ 1 hour

majority of time spent in minor detection algorithm

slowest when size difference between two graphs is greatest

26

Timing

Ruby implementation ran slower than Java Algorithms differed, so not a ‘language comparison’ Java implementation did not degrade as much as graph

complexity increased Slowest graph in Ruby took ~ 1 hour

majority of time spent in minor detection algorithm

slowest when size difference between two graphs is greatest

searching for 21 and 22 edge minors in a graph of 29 edges on 9 vertices

26

32 Indeterminate Graphs

27

32 Indeterminate Graphs

Potentially a new minor minimal IK graph (progress on the ‘Big Question’)

27

32 Indeterminate Graphs

Potentially a new minor minimal IK graph (progress on the ‘Big Question’)

Left as an open area to be investigated

27

32 Indeterminate Graphs

Potentially a new minor minimal IK graph (progress on the ‘Big Question’)

Left as an open area to be investigated

Did discover that all of the 32 graphs arise from 5 minors

27

32 Indeterminate Graphs

Potentially a new minor minimal IK graph (progress on the ‘Big Question’)

Left as an open area to be investigated

Did discover that all of the 32 graphs arise from 5 minors

Personally did not take these 32 graphs any further

27

243680 244632245103 245677 256510

243683

243745 244064 245605245608

245238245246 256305

245195

255244

256363256368 256372

260922

244065

260928

245239 255220255247

255925245113

256338

260909

260624

260910

260920 260908

Expansion Map of 32 Indeterminate Graphs

243680 244632245103 245677 256510

243683

243745 244064 245605245608

245238245246 256305

245195

255244

256363256368 256372

260922

244065

260928

245239 255220255247

255925245113

256338

260909

260624

260910

260920 260908

Expansion Map of 32 Indeterminate Graphs

243680 244632245103 245677 256510

243683

243745 244064 245605245608

245238245246 256305

245195

255244

256363256368 256372

260922

244065

260928

245239 255220255247

255925245113

256338

260909

260624

260910

260920 260908

Expansion Map of 32 Indeterminate Graphs

243680 244632245103 245677 256510

243683

243745 244064 245605245608

245238245246 256305

245195

255244

256363256368 256372

260922

244065

260928

245239 255220255247

255925245113

256338

260909

260624

260910

260920 260908

Expansion Map of 32 Indeterminate Graphs

243680 244632245103 245677 256510

243683

243745 244064 245605245608

245238245246 256305

245195

255244

256363256368 256372

260922

244065

260928

245239 255220255247

255925245113

256338

260909

260624

260910

260920 260908

Expansion Map of 32 Indeterminate Graphs

243680 244632245103 245677 256510

243683

243745 244064 245605245608

245238245246 256305

245195

255244

256363256368 256372

260922

244065

260928

245239 255220255247

255925245113

256338

260909

260624

260910

260920 260908

Expansion Map of 32 Indeterminate Graphs

Future Work

29

Future Work

Investigate the 32 indeterminate graphs (especially the 5 common minors)

29

Future Work

Investigate the 32 indeterminate graphs (especially the 5 common minors)

Investigate the Absolute Size Classification which says < 15 edges is not IK because the smallest IK graph we found had 21 edges

29

Future Work

Investigate the 32 indeterminate graphs (especially the 5 common minors)

Investigate the Absolute Size Classification which says < 15 edges is not IK because the smallest IK graph we found had 21 edges

Add Intrinsic Linking Classification because if a graph is not intrinsically linked then it is not intrinsically knotted

29

Future Work

Investigate the 32 indeterminate graphs (especially the 5 common minors)

Investigate the Absolute Size Classification which says < 15 edges is not IK because the smallest IK graph we found had 21 edges

Add Intrinsic Linking Classification because if a graph is not intrinsically linked then it is not intrinsically knotted

Create an alternate approach to the same problem for assurance of accuracy

29

Future Work

Investigate the 32 indeterminate graphs (especially the 5 common minors)

Investigate the Absolute Size Classification which says < 15 edges is not IK because the smallest IK graph we found had 21 edges

Add Intrinsic Linking Classification because if a graph is not intrinsically linked then it is not intrinsically knotted

Create an alternate approach to the same problem for assurance of accuracy

Port code to C (for increased speed)

29

Future Work

Investigate the 32 indeterminate graphs (especially the 5 common minors)

Investigate the Absolute Size Classification which says < 15 edges is not IK because the smallest IK graph we found had 21 edges

Add Intrinsic Linking Classification because if a graph is not intrinsically linked then it is not intrinsically knotted

Create an alternate approach to the same problem for assurance of accuracy

Port code to C (for increased speed)

Write code in a distributed fashion like SETI@home

29

Future Work

Investigate the 32 indeterminate graphs (especially the 5 common minors)

Investigate the Absolute Size Classification which says < 15 edges is not IK because the smallest IK graph we found had 21 edges

Add Intrinsic Linking Classification because if a graph is not intrinsically linked then it is not intrinsically knotted

Create an alternate approach to the same problem for assurance of accuracy

Port code to C (for increased speed)

Write code in a distributed fashion like SETI@home

Apply tools to 10 vertex graphs and beyond

29

Demo

30

Thank You

31

Thank You

31

Dr. Tyson Henry ~ Committee Chair

Thank You

31

Dr. Tyson Henry ~ Committee Chair Dr. Thomas Mattman ~ Committee Member

Thank You

31

Dr. Tyson Henry ~ Committee Chair Dr. Thomas Mattman ~ Committee Member Dr. Robin Soloway ~ Reviewer

Thank You

31

Dr. Tyson Henry ~ Committee Chair Dr. Thomas Mattman ~ Committee Member Dr. Robin Soloway ~ Reviewer Dr. Michelle Morris ~ Supportive Wife

Thank You

31

Dr. Tyson Henry ~ Committee Chair Dr. Thomas Mattman ~ Committee Member Dr. Robin Soloway ~ Reviewer Dr. Michelle Morris ~ Supportive Wife Department of Computer Science

Thank You

31

Dr. Tyson Henry ~ Committee Chair Dr. Thomas Mattman ~ Committee Member Dr. Robin Soloway ~ Reviewer Dr. Michelle Morris ~ Supportive Wife Department of Computer Science Graduate School

Thank You

31

Dr. Tyson Henry ~ Committee Chair Dr. Thomas Mattman ~ Committee Member Dr. Robin Soloway ~ Reviewer Dr. Michelle Morris ~ Supportive Wife Department of Computer Science Graduate School Friends who pretended to be interested when I talked their

ears off about my project

Thank You

31

Dr. Tyson Henry ~ Committee Chair Dr. Thomas Mattman ~ Committee Member Dr. Robin Soloway ~ Reviewer Dr. Michelle Morris ~ Supportive Wife Department of Computer Science Graduate School Friends who pretended to be interested when I talked their

ears off about my project To all of you that showed up today!

Questions

32

Recommended