Post on 13-Dec-2014
description
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
msoltys@gmail.com
@MichaelMSoltys
McMaster University, Canada
November 1, 2013
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
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
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
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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?
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?
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
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
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
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
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
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
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
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/
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
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
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
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
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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 .
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 .
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 .
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
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)
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
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.
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.)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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〉.
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
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
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
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.
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
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.
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” . . .
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.”
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)
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)
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”
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”
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”
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”
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”
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”
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”
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?