an algorithmic view of computer science

92
An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 1/42 An Algorithmic View of Computer Science Michael Soltys [email protected] @MichaelMSoltys McMaster University, Canada November 1, 2013

Upload: michael-soltys

Post on 13-Dec-2014

602 views

Category:

Education


0 download

DESCRIPTION

This is a three part talk, where I give some historical context to computer science, then do a pitch for the field (from the point of view of prospective students), and then I talk about my three different research threads (proof complexity of linear algebra, 0-1 combinatorial matrices, string algorithms), and finish with a talk about security - where I mostly do consulting work.

TRANSCRIPT

Page 1: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

1/42

An Algorithmic View of Computer Science

Michael Soltys

[email protected]

@MichaelMSoltys

McMaster University, Canada

November 1, 2013

Page 2: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

2/42

Page 3: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

3/42

Outline

1 Why Study Computer Science?HistoryExciting fieldLots of Jobs

2 My ResearchLinear Algebra0-1 MatricesStrings

3 SecurityCryptographyApplications

Page 4: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

4/42

Prehistory

Engraved ocher plaqueBlombos Cave, South Africa

77,000–75,000 years old

Ishango bone

Congo, 25,000–20,000 years old leg

bone from a baboon; 3 rows of tally

marks, to add or multiply (?)

Reindeer antler with tally marksLa Madeleine, France

17,000–11,500 years old

Page 5: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

5/42

History

1 1930s: Math models of computation (Turing machine)

2 1940s: First electronic computers (ENIAC)

3 1950s: First programming languages (Fortran and Lisp)

4 1960s: Integrated circuits and Unix operating system

5 1970s: Internet and personal computers (ARPANET andCommodore PET)

6 1980s: Computers with a mouse and a graphical userinterface (Apple Macintosh, Microsoft Windows)

7 1990s: World Wide Web (web browsers and searchengines)

8 2000s: Social media and smart phones (Facebook andApple iPhone)

Page 6: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

5/42

History

1 1930s: Math models of computation (Turing machine)

2 1940s: First electronic computers (ENIAC)

3 1950s: First programming languages (Fortran and Lisp)

4 1960s: Integrated circuits and Unix operating system

5 1970s: Internet and personal computers (ARPANET andCommodore PET)

6 1980s: Computers with a mouse and a graphical userinterface (Apple Macintosh, Microsoft Windows)

7 1990s: World Wide Web (web browsers and searchengines)

8 2000s: Social media and smart phones (Facebook andApple iPhone)

Page 7: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

5/42

History

1 1930s: Math models of computation (Turing machine)

2 1940s: First electronic computers (ENIAC)

3 1950s: First programming languages (Fortran and Lisp)

4 1960s: Integrated circuits and Unix operating system

5 1970s: Internet and personal computers (ARPANET andCommodore PET)

6 1980s: Computers with a mouse and a graphical userinterface (Apple Macintosh, Microsoft Windows)

7 1990s: World Wide Web (web browsers and searchengines)

8 2000s: Social media and smart phones (Facebook andApple iPhone)

Page 8: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

5/42

History

1 1930s: Math models of computation (Turing machine)

2 1940s: First electronic computers (ENIAC)

3 1950s: First programming languages (Fortran and Lisp)

4 1960s: Integrated circuits and Unix operating system

5 1970s: Internet and personal computers (ARPANET andCommodore PET)

6 1980s: Computers with a mouse and a graphical userinterface (Apple Macintosh, Microsoft Windows)

7 1990s: World Wide Web (web browsers and searchengines)

8 2000s: Social media and smart phones (Facebook andApple iPhone)

Page 9: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

5/42

History

1 1930s: Math models of computation (Turing machine)

2 1940s: First electronic computers (ENIAC)

3 1950s: First programming languages (Fortran and Lisp)

4 1960s: Integrated circuits and Unix operating system

5 1970s: Internet and personal computers (ARPANET andCommodore PET)

6 1980s: Computers with a mouse and a graphical userinterface (Apple Macintosh, Microsoft Windows)

7 1990s: World Wide Web (web browsers and searchengines)

8 2000s: Social media and smart phones (Facebook andApple iPhone)

Page 10: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

5/42

History

1 1930s: Math models of computation (Turing machine)

2 1940s: First electronic computers (ENIAC)

3 1950s: First programming languages (Fortran and Lisp)

4 1960s: Integrated circuits and Unix operating system

5 1970s: Internet and personal computers (ARPANET andCommodore PET)

6 1980s: Computers with a mouse and a graphical userinterface (Apple Macintosh, Microsoft Windows)

7 1990s: World Wide Web (web browsers and searchengines)

8 2000s: Social media and smart phones (Facebook andApple iPhone)

Page 11: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

5/42

History

1 1930s: Math models of computation (Turing machine)

2 1940s: First electronic computers (ENIAC)

3 1950s: First programming languages (Fortran and Lisp)

4 1960s: Integrated circuits and Unix operating system

5 1970s: Internet and personal computers (ARPANET andCommodore PET)

6 1980s: Computers with a mouse and a graphical userinterface (Apple Macintosh, Microsoft Windows)

7 1990s: World Wide Web (web browsers and searchengines)

8 2000s: Social media and smart phones (Facebook andApple iPhone)

Page 12: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

5/42

History

1 1930s: Math models of computation (Turing machine)

2 1940s: First electronic computers (ENIAC)

3 1950s: First programming languages (Fortran and Lisp)

4 1960s: Integrated circuits and Unix operating system

5 1970s: Internet and personal computers (ARPANET andCommodore PET)

6 1980s: Computers with a mouse and a graphical userinterface (Apple Macintosh, Microsoft Windows)

7 1990s: World Wide Web (web browsers and searchengines)

8 2000s: Social media and smart phones (Facebook andApple iPhone)

Page 13: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

6/42

Today

We use computers to:

1 Solve problems (computer shortest path from A to B)

2 Managing information (Cloud, Search Engine, eHealth)

3 Create smart products (iPhone, iPad, embedded systems)

4 Explore our world (Google maps, Yelp)

5 Connect (Date, Facebook, Twitter, Wordpress)

Page 14: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

6/42

Today

We use computers to:

1 Solve problems (computer shortest path from A to B)

2 Managing information (Cloud, Search Engine, eHealth)

3 Create smart products (iPhone, iPad, embedded systems)

4 Explore our world (Google maps, Yelp)

5 Connect (Date, Facebook, Twitter, Wordpress)

Page 15: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

6/42

Today

We use computers to:

1 Solve problems (computer shortest path from A to B)

2 Managing information (Cloud, Search Engine, eHealth)

3 Create smart products (iPhone, iPad, embedded systems)

4 Explore our world (Google maps, Yelp)

5 Connect (Date, Facebook, Twitter, Wordpress)

Page 16: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

6/42

Today

We use computers to:

1 Solve problems (computer shortest path from A to B)

2 Managing information (Cloud, Search Engine, eHealth)

3 Create smart products (iPhone, iPad, embedded systems)

4 Explore our world (Google maps, Yelp)

5 Connect (Date, Facebook, Twitter, Wordpress)

Page 17: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

6/42

Today

We use computers to:

1 Solve problems (computer shortest path from A to B)

2 Managing information (Cloud, Search Engine, eHealth)

3 Create smart products (iPhone, iPad, embedded systems)

4 Explore our world (Google maps, Yelp)

5 Connect (Date, Facebook, Twitter, Wordpress)

Page 18: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

7/42

Young Field

Fundamental problems still unsolved

1 Engineering: How to write correct programs?

2 Science: Why are some problems computationallydifficult?

Page 19: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

7/42

Young Field

Fundamental problems still unsolved

1 Engineering: How to write correct programs?

2 Science: Why are some problems computationallydifficult?

Page 20: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

8/42

A vast multi-disciplinary field

1 Mathematics, Engineering, and Science

2 Linguistics: Context-Free Grammars, Wordnet

3 Psychology: Human-Computer Interaction, Web Design

4 Sociology: Crowd mining

Page 21: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

8/42

A vast multi-disciplinary field

1 Mathematics, Engineering, and Science

2 Linguistics: Context-Free Grammars, Wordnet

3 Psychology: Human-Computer Interaction, Web Design

4 Sociology: Crowd mining

Page 22: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

8/42

A vast multi-disciplinary field

1 Mathematics, Engineering, and Science

2 Linguistics: Context-Free Grammars, Wordnet

3 Psychology: Human-Computer Interaction, Web Design

4 Sociology: Crowd mining

Page 23: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

8/42

A vast multi-disciplinary field

1 Mathematics, Engineering, and Science

2 Linguistics: Context-Free Grammars, Wordnet

3 Psychology: Human-Computer Interaction, Web Design

4 Sociology: Crowd mining

Page 24: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

9/42

Sociology of CS

Page 25: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

10/42

Excellent Job Outlook

Page 26: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

11/42

Page 27: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

12/42

Job Outlook Numbers1

Area Employment Change Median2010 2020 2010–20 % Salary

Engineering jobs 11 $83,340

Computing jobs 22 $73,710

Software Developers 913,100 1,184,000 270,900 30 $90,530Comp. Programmers 363,100 406,800 43,700 12 $71,380

Security & Networks 302,300 368,000 65,700 22 $75,660

Comp. Syst. Analyst 544,400 664,800 120,400 22 $75,660

Syst. Admin. 347,200 443,800 96,600 28 $69,160

Database Admin. 110,800 144,700 33,900 31 $73,490

Employers favor graduates who can communicate![Barrett 2013]

1United States Department of Labor Occupational Outlook Handbook,2012-13 Edition, http://www.bls.gov/oco/

Page 28: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

13/42

My Research

Page 29: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

14/42

P vs NP

Page 30: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

14/42

P vs NP

Page 31: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

14/42

P vs NP

Page 32: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

15/42

• Perhaps there is a better way of doing this than “BruteForce”?This is the P vs NP problem[Cook]

• This problem is very difficult.

• A related problem isthe NP vs co-NP question, which can be restated as follows:

Is there a formal proof system where every truestatement has a short proof?

An answer to this questions would have very interestingimplications for Logic & Epistemology

• Cook’s program for the NP vs co-NP is a systematic studyof “reverse mathematics”

• My contribution is the “mapping out” of Linear Algebra[Cook Soltys 2004]

Page 33: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

15/42

• Perhaps there is a better way of doing this than “BruteForce”?This is the P vs NP problem[Cook]

• This problem is very difficult.

• A related problem isthe NP vs co-NP question, which can be restated as follows:

Is there a formal proof system where every truestatement has a short proof?

An answer to this questions would have very interestingimplications for Logic & Epistemology

• Cook’s program for the NP vs co-NP is a systematic studyof “reverse mathematics”

• My contribution is the “mapping out” of Linear Algebra[Cook Soltys 2004]

Page 34: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

15/42

• Perhaps there is a better way of doing this than “BruteForce”?This is the P vs NP problem[Cook]

• This problem is very difficult.

• A related problem isthe NP vs co-NP question, which can be restated as follows:

Is there a formal proof system where every truestatement has a short proof?

An answer to this questions would have very interestingimplications for Logic & Epistemology

• Cook’s program for the NP vs co-NP is a systematic studyof “reverse mathematics”

• My contribution is the “mapping out” of Linear Algebra[Cook Soltys 2004]

Page 35: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

15/42

• Perhaps there is a better way of doing this than “BruteForce”?This is the P vs NP problem[Cook]

• This problem is very difficult.

• A related problem isthe NP vs co-NP question, which can be restated as follows:

Is there a formal proof system where every truestatement has a short proof?

An answer to this questions would have very interestingimplications for Logic & Epistemology

• Cook’s program for the NP vs co-NP is a systematic studyof “reverse mathematics”

• My contribution is the “mapping out” of Linear Algebra[Cook Soltys 2004]

Page 36: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

15/42

• Perhaps there is a better way of doing this than “BruteForce”?This is the P vs NP problem[Cook]

• This problem is very difficult.

• A related problem isthe NP vs co-NP question, which can be restated as follows:

Is there a formal proof system where every truestatement has a short proof?

An answer to this questions would have very interestingimplications for Logic & Epistemology

• Cook’s program for the NP vs co-NP is a systematic studyof “reverse mathematics”

• My contribution is the “mapping out” of Linear Algebra[Cook Soltys 2004]

Page 37: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

16/42

Statistical Archeology

• Sequence dating: Flinders Petrie, 1899

• 900 pre-dynastic Egyptian graves containing 800representatives of pottery

• The “graves-versus-varieties” matrix contains vast amountof information, such as sequential ordering [Kendall 1969]

Page 38: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

16/42

Statistical Archeology

• Sequence dating: Flinders Petrie, 1899

• 900 pre-dynastic Egyptian graves containing 800representatives of pottery

• The “graves-versus-varieties” matrix contains vast amountof information, such as sequential ordering [Kendall 1969]

Page 39: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

16/42

Statistical Archeology

• Sequence dating: Flinders Petrie, 1899

• 900 pre-dynastic Egyptian graves containing 800representatives of pottery

• The “graves-versus-varieties” matrix contains vast amountof information, such as sequential ordering [Kendall 1969]

Page 40: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

17/42

Paleogenomics

DNA sequence organization of ancient living organisms usingsimilarities and differences between chromosomes of extantorganisms [Chauve et al 2008]

Page 41: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

18/42

Consecutive-1 Property: C1P

Consider a slight relaxation, (k, δ)-C1P: each row has at most kblocks of 1s and the gap between any two blocks is at most δ.So (1, 0)-C1P is C1P, and deciding if an A has (k , δ)-C1P is:

• polytime for (1, 0)

• NP-hard for every k ≥ 2, δ ≥ 1 except (2, 1)

What about (2, 1)? [Patterson 2012]

Page 42: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

19/42

Konig’s Min-Max

0

1 0 1 1

1 0

1

00

0

1

1 0

00

[Fernandez Soltys 2013]

Page 43: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

20/42

Smart bacteria

Ehrenfeucht-Mycielski Sequence

• 011010101010111010011111001100011010101010

• 011010101010111010011111001100011010101010

• 011010101010111010011111001100011010101010

• 011010101010111010011111001100011010101010 1

[Herman Soltys 2009]

Page 44: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

20/42

Smart bacteria

Ehrenfeucht-Mycielski Sequence

• 011010101010111010011111001100011010101010

• 011010101010111010011111001100011010101010

• 011010101010111010011111001100011010101010

• 011010101010111010011111001100011010101010 1

[Herman Soltys 2009]

Page 45: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

20/42

Smart bacteria

Ehrenfeucht-Mycielski Sequence

• 011010101010111010011111001100011010101010

• 011010101010111010011111001100011010101010

• 011010101010111010011111001100011010101010

• 011010101010111010011111001100011010101010 1

[Herman Soltys 2009]

Page 46: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

20/42

Smart bacteria

Ehrenfeucht-Mycielski Sequence

• 011010101010111010011111001100011010101010

• 011010101010111010011111001100011010101010

• 011010101010111010011111001100011010101010

• 011010101010111010011111001100011010101010 1

[Herman Soltys 2009]

Page 47: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

21/42

Do the shuffle

• w is the shuffle of u, v : w = u � v

• w = 0110110011101000u = 01101110v = 10101000w = 0110110011101000

• w is a shuffle of u and v provided:u = x1x2 · · · xkv = y1y2 · · · ykand w obtained by “interleaving” w = x1y1x2y2 · · · xkyk .

Page 48: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

21/42

Do the shuffle

• w is the shuffle of u, v : w = u � v

• w = 0110110011101000u = 01101110v = 10101000w = 0110110011101000

• w is a shuffle of u and v provided:u = x1x2 · · · xkv = y1y2 · · · ykand w obtained by “interleaving” w = x1y1x2y2 · · · xkyk .

Page 49: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

21/42

Do the shuffle

• w is the shuffle of u, v : w = u � v

• w = 0110110011101000u = 01101110v = 10101000w = 0110110011101000

• w is a shuffle of u and v provided:u = x1x2 · · · xkv = y1y2 · · · ykand w obtained by “interleaving” w = x1y1x2y2 · · · xkyk .

Page 50: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

22/42

Square Shuffle

w is a square provided it is equal to a shuffle of a u with itself,i.e., ∃u s.t. w = u � uThe string w = 0110110011101000 is a square:

w = 0110110011101000

andu = 01101100 = 01101100

Page 51: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

23/42

Result

given an alphabet Σ, |Σ| ≥ 7,Square = {w : ∃u(w = u � u)}is NP-complete.What we leave open:

• What about |Σ| = 2 (for |Σ| = 1, Square is just the setof even length strings)

• What about if |Σ| =∞ but each symbol cannot occurmore often than, say, 6 times (if each symbol occurs atmost 4 times, Square can be reduced to 2-Sat – seeP. Austrin Stack Exchange post)

Page 52: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

24/42

Bipartite graph

w = (c1x3c2)2(c1x2c2)2(c1xc2)2 is a square:w = u � u where u = c1xxxc2xc2c1xc1xc2.Bipartite graph G associated with particular solutionw = u � u:

We also have w = v � v with v = c1x3c2c1x2c2c1xc2

which would have its associated bipartite graph

Page 53: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

25/42

Nesting

G has the “non-nesting” property: if G contains an edge fromwk to w` and an edge from wp to wq, then it is not the casethat k < p < q < `Claim: There is a complete bipartite graph G of degree one(i.e., a perfect matching) on the symbols of w which isnon-nesting, iff w can be expressed as a square shuffle.

Page 54: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

26/42

• Formal languages• Ginsburg & Spanier in ’65

• Modelling sequential execution of concurrent processes• Riddle (’73 & ’79), Shaw (’78), Hoare

• Shuffle on its own• Mansfield (’82 & ’83; polytime dynamic prog. alg. for

w = u1 � u2 � · · · � uk for constant k; when k varies,NP-complete)

• Warmuth & Haussler (’84; show w = u � u � · · · � uNP-complete by reduction from 3-Partition)

• More complexity• Buss & Yianilos (’98; “Monge condition”)• Erickson (2010; how hard is ∃u,w = u � u?); as

mentioned, Austrin gives polytime algorithm when eachsymbol occurs at most 4 times. Problem of the year onStack Exchange.

• Soltys (2012; shuffle in AC1 but not AC0.)

Page 55: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

27/42

PDA

A queue automaton is a PDA but with a queue instead of astack.

Reads the input w fromleft to right.

Queue is initially emptyand supports theoperations push-bottomand pop-top.

Automaton accepts if itsqueue is empty after thelast symbol of w hasbeen read.

w

Pop

Push

Page 56: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

28/42

w = 0110110011101000

andu = 01101100 = 01101100

Page 57: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

ε 0110110011101000

Page 58: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

0 110110011101000

Page 59: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

01 10110011101000

Page 60: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

011 0110011101000

Page 61: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

11 110011101000

Page 62: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

1 10011101000

Page 63: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

ε 0011101000

Page 64: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

0 011101000

Page 65: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

ε 11101000

Page 66: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

1 1101000

Page 67: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

ε 101000

Page 68: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

1 01000

Page 69: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

10 1000

Page 70: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

0 000

Page 71: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

ε 00

Page 72: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

0 0

Page 73: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

29/42

ε ε accepted

Page 74: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

30/42

Reduction

The many-one reduction to Square constructs a string wS

over the alphabet

Σ = {a1, a2, b, e0, e, c1, c2, x , y},

such that wS is a square iff S is a “yes” instance of3-Partition.The string wS consists of three parts:

wS := 〈loaderS〉〈distributorS〉〈verifierS〉.

Page 75: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

31/42

Security

Page 76: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

32/42

Enigma machine

http://enigmaco.de/enigma/enigma.html

Page 77: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

33/42

Uses of Crypto

WEP, WPA/WPA2 SSL/SSH

PGP/GPG

RSA Encryption 128 bytes:

BE 89 0E A1 AD FA 7D 58 6A A1 6A E4

3B ED 75 E4 3E F2 19 F7 F3 0F FA D9

EF 62 10 52 7B FC DD 94 96 A8 35 6B

1B 50 60 2E 2E 79 AC 7C 2E A3 81 DE

8D 37 F9 EE 6E 4F 82 C7 E4 12 04 55

AF 57 69 94 8C EF 2E 50 7A 6D 53 0F

5B 5F 62 58 5E CF F2 DF F4 4D CE 71

B6 82 D7 86 E5 4F 77 E4 91 AA E4 BD

5A 65 AA 9E 20 4F 38 5E B4 8B E0 36

45 80 A8 D5 24 5C 46 9D F1 80 C0 6B

62 A5 1F 26 5E AE 17 47

DRMFairPlay

MD5

5c3079df8a48623f5aa10f0181a7ab03

Page 78: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

34/42

Cryptography is the art of computing & communicating in thepresence of an adversarycryptography = κρυπτo (hidden or secret) + γραφη (writing)Three broad applications:

• encryption

• authentication

• integrity checking

Not all security is an application of crypto, e.g., Firewalls.

Page 79: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

35/42

• Noisy channel

• Obfuscation

• Password login

• Client-server secure communication

• Non-repudiation

• Electronic voting

• Digital cash

• Secure storage on insecure media

Page 80: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

36/42

Fundamental THEOREM of cryptography

The following are all equivalent:

• Secure shared-private-key cryptosystems exist.

• Secure signature schemes exist.

• Pseudo-random number generators exist.

• One-way functions exist.

Page 81: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

37/42

Fundamental TENET of cryptography

Lots of smart people have been trying to figure out howto break X ,

but so far they have not been able to come up with anythingyet.

Therefore X is “secure” . . .

Page 82: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

38/42

Fundamental ASSUMPTION of cryptography

Everybody knows how it works, i.e., the algorithm is publicknowledge.

The secret is the “key”.

In principle it can always be broken; but in practice it is toomuch work for the “bad guy.”

Page 83: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

39/42

Amazing free tools:

GnuPG (http://www.gnupg.org)

OpenSSL (http://www.openssl.org)

Page 84: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

40/42

In practice Crypto not the problem

• We know how to do crypto scientifically→ and it is a huge help

• But, in practice most security problems due to buggy code→ writing software that is not buggy is the problem ofCS/SE

• Challenge 1: build secure systems with insecurecomponents→ similar to building reliable systems with unreliablecomponents

• Challenge 2: the art of making the right trade-offs tosatisfy contradictory objectives (e.g., security & speed)

Page 85: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

41/42

1 Same problem as software engineering: how to checkwhether a program conforms to its specifications?

2 How to “specify” security?

3 User discipline is 90% of any security policy

4 My main focus is network security

5 Consulting work:• Forensic work — chain of evidence• Network Penetration Detection

6 Recent masters theses:• With Dragan Rakas: Homomorphic encryption• With Sabry Aly: GGH

7 Cybersecurity field not ready to be professionalized[The National Academies Press 2013]Ad hoc solutions; best approach is “case based”

Page 86: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

41/42

1 Same problem as software engineering: how to checkwhether a program conforms to its specifications?

2 How to “specify” security?

3 User discipline is 90% of any security policy

4 My main focus is network security

5 Consulting work:• Forensic work — chain of evidence• Network Penetration Detection

6 Recent masters theses:• With Dragan Rakas: Homomorphic encryption• With Sabry Aly: GGH

7 Cybersecurity field not ready to be professionalized[The National Academies Press 2013]Ad hoc solutions; best approach is “case based”

Page 87: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

41/42

1 Same problem as software engineering: how to checkwhether a program conforms to its specifications?

2 How to “specify” security?

3 User discipline is 90% of any security policy

4 My main focus is network security

5 Consulting work:• Forensic work — chain of evidence• Network Penetration Detection

6 Recent masters theses:• With Dragan Rakas: Homomorphic encryption• With Sabry Aly: GGH

7 Cybersecurity field not ready to be professionalized[The National Academies Press 2013]Ad hoc solutions; best approach is “case based”

Page 88: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

41/42

1 Same problem as software engineering: how to checkwhether a program conforms to its specifications?

2 How to “specify” security?

3 User discipline is 90% of any security policy

4 My main focus is network security

5 Consulting work:• Forensic work — chain of evidence• Network Penetration Detection

6 Recent masters theses:• With Dragan Rakas: Homomorphic encryption• With Sabry Aly: GGH

7 Cybersecurity field not ready to be professionalized[The National Academies Press 2013]Ad hoc solutions; best approach is “case based”

Page 89: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

41/42

1 Same problem as software engineering: how to checkwhether a program conforms to its specifications?

2 How to “specify” security?

3 User discipline is 90% of any security policy

4 My main focus is network security

5 Consulting work:• Forensic work — chain of evidence• Network Penetration Detection

6 Recent masters theses:• With Dragan Rakas: Homomorphic encryption• With Sabry Aly: GGH

7 Cybersecurity field not ready to be professionalized[The National Academies Press 2013]Ad hoc solutions; best approach is “case based”

Page 90: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

41/42

1 Same problem as software engineering: how to checkwhether a program conforms to its specifications?

2 How to “specify” security?

3 User discipline is 90% of any security policy

4 My main focus is network security

5 Consulting work:• Forensic work — chain of evidence• Network Penetration Detection

6 Recent masters theses:• With Dragan Rakas: Homomorphic encryption• With Sabry Aly: GGH

7 Cybersecurity field not ready to be professionalized[The National Academies Press 2013]Ad hoc solutions; best approach is “case based”

Page 91: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

41/42

1 Same problem as software engineering: how to checkwhether a program conforms to its specifications?

2 How to “specify” security?

3 User discipline is 90% of any security policy

4 My main focus is network security

5 Consulting work:• Forensic work — chain of evidence• Network Penetration Detection

6 Recent masters theses:• With Dragan Rakas: Homomorphic encryption• With Sabry Aly: GGH

7 Cybersecurity field not ready to be professionalized[The National Academies Press 2013]Ad hoc solutions; best approach is “case based”

Page 92: An algorithmic view of Computer Science

An AlgorithmicView of

ComputerScience

Michael Soltys

Why StudyComputerScience?

History

Exciting field

Lots of Jobs

My Research

Linear Algebra

0-1 Matrices

Strings

Security

Cryptography

Applications

42/42

Thank You!Questions?