SlideShare una empresa de Scribd logo
1 de 92
Descargar para leer sin conexión
An Algorithmic
View of
Computer
Science
Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

An Algorithmic View of Computer Science
Michael Soltys

My Research
Linear Algebra
0-1 Matrices
Strings

msoltys@gmail.com
@MichaelMSoltys

Security
Cryptography
Applications

McMaster University, Canada

November 1, 2013

1/42
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

2/42
An Algorithmic
View of
Computer
Science

Outline

Michael Soltys

1 Why Study Computer Science?
Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

2 My Research

Linear Algebra
0-1 Matrices
Strings
3 Security

Cryptography
Applications

3/42
An Algorithmic
View of
Computer
Science

Prehistory

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

Engraved ocher plaque
Blombos 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 marks
La Madeleine, France
17,000–11,500 years old

4/42
An Algorithmic
View of
Computer
Science

History

Michael Soltys

1
Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

5/42

1930s: Math models of computation (Turing machine)
An Algorithmic
View of
Computer
Science

History

Michael Soltys

1
Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

5/42

1930s: Math models of computation (Turing machine)

2

1940s: First electronic computers (ENIAC)
An Algorithmic
View of
Computer
Science

History

Michael Soltys

1
Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

5/42

1930s: Math models of computation (Turing machine)

2

1940s: First electronic computers (ENIAC)

3

1950s: First programming languages (Fortran and Lisp)
An Algorithmic
View of
Computer
Science

History

Michael Soltys

1
Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

5/42

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
An Algorithmic
View of
Computer
Science

History

Michael Soltys

1
Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

5/42

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 and
Commodore PET)
An Algorithmic
View of
Computer
Science

History

Michael Soltys

1
Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

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 and
Commodore PET)

6

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

Security
Cryptography
Applications

5/42
An Algorithmic
View of
Computer
Science

History

Michael Soltys

1

History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

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 and
Commodore PET)

6

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

7

Why Study
Computer
Science?

1990s: World Wide Web (web browsers and search
engines)

Security
Cryptography
Applications

5/42
An Algorithmic
View of
Computer
Science

History

Michael Soltys

1

My Research
Linear Algebra
0-1 Matrices
Strings

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 and
Commodore PET)

6

1980s: Computers with a mouse and a graphical user
interface (Apple Macintosh, Microsoft Windows)
1990s: World Wide Web (web browsers and search
engines)

8

History
Exciting field
Lots of Jobs

1930s: Math models of computation (Turing machine)

7

Why Study
Computer
Science?

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

Security
Cryptography
Applications

5/42
An Algorithmic
View of
Computer
Science

Today

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

6/42

We use computers to:
1

Solve problems (computer shortest path from A to B)
An Algorithmic
View of
Computer
Science

Today

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

We use computers to:
1

Solve problems (computer shortest path from A to B)

2

Managing information (Cloud, Search Engine, eHealth)

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

6/42
An Algorithmic
View of
Computer
Science

Today

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

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)

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

6/42
An Algorithmic
View of
Computer
Science

Today

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

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)

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

6/42
An Algorithmic
View of
Computer
Science

Today

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

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)

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

6/42
An Algorithmic
View of
Computer
Science

Young Field

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

Fundamental problems still unsolved

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

7/42

1

Engineering: How to write correct programs?
An Algorithmic
View of
Computer
Science

Young Field

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

Fundamental problems still unsolved

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

7/42

1

Engineering: How to write correct programs?

2

Science: Why are some problems computationally
difficult?
An Algorithmic
View of
Computer
Science

A vast multi-disciplinary field

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

8/42

1

Mathematics, Engineering, and Science
An Algorithmic
View of
Computer
Science

A vast multi-disciplinary field

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

8/42

1

Mathematics, Engineering, and Science

2

Linguistics: Context-Free Grammars, Wordnet
An Algorithmic
View of
Computer
Science

A vast multi-disciplinary field

Michael Soltys

Why Study
Computer
Science?

1

Mathematics, Engineering, and Science

History
Exciting field
Lots of Jobs

2

Linguistics: Context-Free Grammars, Wordnet

My Research

3

Psychology: Human-Computer Interaction, Web Design

Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

8/42
An Algorithmic
View of
Computer
Science

A vast multi-disciplinary field

Michael Soltys

Why Study
Computer
Science?

1

Mathematics, Engineering, and Science

History
Exciting field
Lots of Jobs

2

Linguistics: Context-Free Grammars, Wordnet

My Research

3

Psychology: Human-Computer Interaction, Web Design

Linear Algebra
0-1 Matrices
Strings

4

Sociology: Crowd mining

Security
Cryptography
Applications

8/42
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

9/42

Sociology of CS
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

10/42

Excellent Job Outlook
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

11/42
An Algorithmic
View of
Computer
Science

Job Outlook Numbers1

Michael Soltys

Area
Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

Employment
2010
2020

Change
2010–20 %

Median
Salary

11
22

$83,340
$73,710

30
12
22
22
28
31

$90,530
$71,380
$75,660
$75,660
$69,160
$73,490

Engineering jobs
Computing jobs
Software Developers
Comp. Programmers
Security & Networks
Comp. Syst. Analyst
Syst. Admin.
Database Admin.

913,100
363,100
302,300
544,400
347,200
110,800

1,184,000
406,800
368,000
664,800
443,800
144,700

270,900
43,700
65,700
120,400
96,600
33,900

Employers favor graduates who can communicate!
[Barrett 2013]

1

12/42

United States Department of Labor Occupational Outlook Handbook,
2012-13 Edition, http://www.bls.gov/oco/
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

13/42

My Research
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

14/42

P vs NP
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

14/42

P vs NP
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

14/42

P vs NP
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

15/42

• Perhaps there is a better way of doing this than “Brute

Force”?
This is the P vs NP problem
[Cook]
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

15/42

• Perhaps there is a better way of doing this than “Brute

Force”?
This is the P vs NP problem
[Cook]
• This problem is very difficult.
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

• Perhaps there is a better way of doing this than “Brute

Force”?
This is the P vs NP problem
[Cook]
• This problem is very difficult.
• A related problem is

the NP vs co-NP question, which can be restated as follows:
Is there a formal proof system where every true
statement has a short proof?

Security
Cryptography
Applications

15/42

An answer to this questions would have very interesting
implications for Logic & Epistemology
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

• Perhaps there is a better way of doing this than “Brute

Force”?
This is the P vs NP problem
[Cook]
• This problem is very difficult.
• A related problem is

the NP vs co-NP question, which can be restated as follows:
Is there a formal proof system where every true
statement has a short proof?

Security
Cryptography
Applications

An answer to this questions would have very interesting
implications for Logic & Epistemology
• Cook’s program for the NP vs co-NP is a systematic study

of “reverse mathematics”

15/42
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

• Perhaps there is a better way of doing this than “Brute

Force”?
This is the P vs NP problem
[Cook]
• This problem is very difficult.
• A related problem is

the NP vs co-NP question, which can be restated as follows:
Is there a formal proof system where every true
statement has a short proof?

Security
Cryptography
Applications

An answer to this questions would have very interesting
implications for Logic & Epistemology
• Cook’s program for the NP vs co-NP is a systematic study

of “reverse mathematics”
• My contribution is the “mapping out” of Linear Algebra

[Cook Soltys 2004]
15/42
An Algorithmic
View of
Computer
Science

Statistical Archeology

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

16/42

• Sequence dating: Flinders Petrie, 1899
An Algorithmic
View of
Computer
Science

Statistical Archeology

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

• Sequence dating: Flinders Petrie, 1899
• 900 pre-dynastic Egyptian graves containing 800

representatives of pottery

16/42
An Algorithmic
View of
Computer
Science

Statistical Archeology

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

• Sequence dating: Flinders Petrie, 1899
• 900 pre-dynastic Egyptian graves containing 800

representatives of pottery
• The “graves-versus-varieties” matrix contains vast amount

of information, such as sequential ordering [Kendall 1969]
16/42
An Algorithmic
View of
Computer
Science

Paleogenomics

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

DNA sequence organization of ancient living organisms using
similarities and differences between chromosomes of extant
organisms [Chauve et al 2008]
17/42
An Algorithmic
View of
Computer
Science

Consecutive-1 Property: C1P

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

Consider a slight relaxation, (k, δ)-C1P: each row has at most k
blocks 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]

18/42
An Algorithmic
View of
Computer
Science

K¨nig’s Min-Max
o

Michael Soltys

Why Study
Computer
Science?

1

0

1

1

History
Exciting field
Lots of Jobs

0

0

1

0

0

1

1

0

0

1

0

0

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

[Fernandez Soltys 2013]

19/42
An Algorithmic
View of
Computer
Science

Smart bacteria

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research

Ehrenfeucht-Mycielski Sequence
• 011010101010111010011111001100011010101010

Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

[Herman Soltys 2009]

20/42
An Algorithmic
View of
Computer
Science

Smart bacteria

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Ehrenfeucht-Mycielski Sequence
• 011010101010111010011111001100011010101010
• 011010101010111010011111001100011010101010

Security
Cryptography
Applications

[Herman Soltys 2009]

20/42
An Algorithmic
View of
Computer
Science

Smart bacteria

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Security

Ehrenfeucht-Mycielski Sequence
• 011010101010111010011111001100011010101010
• 011010101010111010011111001100011010101010
• 011010101010111010011111001100011010101010

Cryptography
Applications

[Herman Soltys 2009]

20/42
An Algorithmic
View of
Computer
Science

Smart bacteria

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

Ehrenfeucht-Mycielski Sequence
• 011010101010111010011111001100011010101010
• 011010101010111010011111001100011010101010
• 011010101010111010011111001100011010101010
• 011010101010111010011111001100011010101010 1

[Herman Soltys 2009]

20/42
An Algorithmic
View of
Computer
Science

Do the shuffle

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

21/42

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

v
An Algorithmic
View of
Computer
Science

Do the shuffle

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

21/42

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

u = 01101110
v = 10101000
w = 0110110011101000

v
An Algorithmic
View of
Computer
Science

Do the shuffle

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

21/42

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

v

• w = 0110110011101000

u = 01101110
v = 10101000
w = 0110110011101000
• w is a shuffle of u and v provided:

u = x1 x2 · · · xk
v = y1 y2 · · · yk
and w obtained by “interleaving” w = x1 y1 x2 y2 · · · xk yk .
An Algorithmic
View of
Computer
Science

Square Shuffle

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research

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

Linear Algebra
0-1 Matrices
Strings

w = 0110110011101000

Security
Cryptography
Applications

and
u = 01101100 = 01101100

22/42
An Algorithmic
View of
Computer
Science

Result

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

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 set

of even length strings)
• What about if |Σ| = ∞ but each symbol cannot occur

more often than, say, 6 times (if each symbol occurs at
most 4 times, Square can be reduced to 2-Sat – see
P. Austrin Stack Exchange post)

23/42
An Algorithmic
View of
Computer
Science

Bipartite graph

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research

w = (c1 x 3 c2 )2 (c1 x 2 c2 )2 (c1 xc2 )2 is a square:
w = u u where u = c1 xxxc2 xc2 c1 xc1 xc2 .
Bipartite graph G associated with particular solution
w = u u:

Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

We also have w = v v with v = c1 x 3 c2 c1 x 2 c2 c1 xc2
which would have its associated bipartite graph

24/42
An Algorithmic
View of
Computer
Science

Nesting

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

25/42

G has the “non-nesting” property: if G contains an edge from
wk to w and an edge from wp to wq , then it is not the case
that 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 is
non-nesting, iff w can be expressed as a square shuffle.
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

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 · · · u
NP-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 each
symbol occurs at most 4 times. Problem of the year on
Stack Exchange.
• Soltys (2012; shuffle in AC1 but not AC0 .)
An Algorithmic
View of
Computer
Science

PDA

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

A queue automaton is a PDA but with a queue instead of a
stack.
Reads the input w from
left to right.

Pop

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

Queue is initially empty
and supports the
operations push-bottom
and pop-top.
Automaton accepts if its
queue is empty after the
last symbol of w has
Push
been read.

27/42

w
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

28/42

w = 0110110011101000
and
u = 01101100 = 01101100
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

29/42

ε

0110110011101000
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

29/42

0

110110011101000
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

29/42

0
1

10110011101000
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

29/42

0
1
1

0110011101000
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

29/42

1
1

110011101000
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

29/42

1

10011101000
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

29/42

ε

0011101000
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

29/42

0

011101000
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

29/42

ε

11101000
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

29/42

1

1101000
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

29/42

ε

101000
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

29/42

1

01000
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

29/42

1
0

1000
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

29/42

0

000
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

29/42

ε

00
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

29/42

0

0
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

29/42

ε

ε

accepted
An Algorithmic
View of
Computer
Science

Reduction

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

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 of
3-Partition.
The string wS consists of three parts:
wS :=

30/42

loaderS distributorS verifierS .
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

31/42

Security
An Algorithmic
View of
Computer
Science

Enigma machine

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

32/42

http://enigmaco.de/enigma/enigma.html
An Algorithmic
View of
Computer
Science

Uses of Crypto

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

SSL/SSH

WEP, WPA/WPA2

My Research

PGP/GPG

Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

33/42

RSA Encryption
BE 89 0E A1 AD
3B ED 75 E4 3E
EF 62 10 52 7B
1B 50 60 2E 2E
8D 37 F9 EE 6E
AF 57 69 94 8C
5B 5F 62 58 5E
B6 82 D7 86 E5
5A 65 AA 9E 20
45 80 A8 D5 24
62 A5 1F 26 5E

128 bytes:
FA 7D 58 6A
F2 19 F7 F3
FC DD 94 96
79 AC 7C 2E
4F 82 C7 E4
EF 2E 50 7A
CF F2 DF F4
4F 77 E4 91
4F 38 5E B4
5C 46 9D F1
AE 17 47

A1
0F
A8
A3
12
6D
4D
AA
8B
80

6A
FA
35
81
04
53
CE
E4
E0
C0

E4
D9
6B
DE
55
0F
71
BD
36
6B

DRM
FairPlay

MD5
5c3079df8a48623f5aa10f0181a7ab03
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

Cryptography is the art of computing & communicating in the
presence of an adversary
cryptography = κρυπτ o (hidden or secret) + γραφη (writing)
Three broad applications:
• encryption
• authentication
• integrity checking

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

34/42
An Algorithmic
View of
Computer
Science
Michael Soltys

• Noisy channel
Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

• Obfuscation
• Password login
• Client-server secure communication
• Non-repudiation
• Electronic voting
• Digital cash
• Secure storage on insecure media

35/42
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

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 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

Fundamental TENET of cryptography
Lots of smart people have been trying to figure out how
to break X ,
but so far they have not been able to come up with anything
yet.
Therefore X is “secure” . . .

37/42
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

Fundamental ASSUMPTION of cryptography
Everybody knows how it works, i.e., the algorithm is public
knowledge.
The secret is the “key”.

Security
Cryptography
Applications

38/42

In principle it can always be broken; but in practice it is too
much work for the “bad guy.”
An Algorithmic
View of
Computer
Science
Michael Soltys

Why Study
Computer
Science?

Amazing free tools:

History
Exciting field
Lots of Jobs

My Research

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

Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

39/42

OpenSSL (http://www.openssl.org)
An Algorithmic
View of
Computer
Science

In practice Crypto not the problem

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

• 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 of
CS/SE
• Challenge 1: build secure systems with insecure

components
→ similar to building reliable systems with unreliable
components
• Challenge 2: the art of making the right trade-offs to

satisfy contradictory objectives (e.g., security & speed)

40/42
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

41/42

1

Same problem as software engineering: how to check
whether a program conforms to its specifications?
An Algorithmic
View of
Computer
Science

1

Same problem as software engineering: how to check
whether a program conforms to its specifications?

2

How to “specify” security?

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

41/42
An Algorithmic
View of
Computer
Science

1

Same problem as software engineering: how to check
whether a program conforms to its specifications?

2

How to “specify” security?

3

User discipline is 90% of any security policy

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

41/42
An Algorithmic
View of
Computer
Science

1

Same problem as software engineering: how to check
whether 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

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

41/42
An Algorithmic
View of
Computer
Science

1

Same problem as software engineering: how to check
whether 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
Consulting work:

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research
Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

41/42

5

• Forensic work — chain of evidence
• Network Penetration Detection
An Algorithmic
View of
Computer
Science

1

Same problem as software engineering: how to check
whether 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
Consulting work:

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research

5

• Forensic work — chain of evidence
• Network Penetration Detection

Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

41/42

6

Recent masters theses:
• With Dragan Rakas: Homomorphic encryption
• With Sabry Aly: GGH
An Algorithmic
View of
Computer
Science

1

Same problem as software engineering: how to check
whether 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
Consulting work:

Michael Soltys

Why Study
Computer
Science?
History
Exciting field
Lots of Jobs

My Research

5

• Forensic work — chain of evidence
• Network Penetration Detection

Linear Algebra
0-1 Matrices
Strings

Security
Cryptography
Applications

6

• With Dragan Rakas: Homomorphic encryption
• With Sabry Aly: GGH
7

41/42

Recent masters theses:

Cybersecurity field not ready to be professionalized
[The National Academies Press 2013]
Ad hoc solutions; best approach is “case based”
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

42/42

Thank You!
Questions?

Más contenido relacionado

Destacado

Feasible Combinatorial Matrix Theory - LICS2013 presentation
Feasible Combinatorial Matrix Theory - LICS2013 presentationFeasible Combinatorial Matrix Theory - LICS2013 presentation
Feasible Combinatorial Matrix Theory - LICS2013 presentationMichael Soltys
 
Feasible Combinatorial Matrix Theory - MFCS2013
Feasible Combinatorial Matrix Theory - MFCS2013Feasible Combinatorial Matrix Theory - MFCS2013
Feasible Combinatorial Matrix Theory - MFCS2013Michael Soltys
 
The proof complexity of matrix algebra - Newton Institute, Cambridge 2006
The proof complexity of matrix algebra - Newton Institute, Cambridge 2006The proof complexity of matrix algebra - Newton Institute, Cambridge 2006
The proof complexity of matrix algebra - Newton Institute, Cambridge 2006Michael Soltys
 
Perceptions of Foundational Knowledge by CS students - WCCCE 2012
Perceptions of Foundational Knowledge by CS students - WCCCE 2012Perceptions of Foundational Knowledge by CS students - WCCCE 2012
Perceptions of Foundational Knowledge by CS students - WCCCE 2012Michael Soltys
 
A formal framework for Stringology
A formal framework for StringologyA formal framework for Stringology
A formal framework for StringologyMichael Soltys
 
The Proof Complexity of Linear Algebra - LICS 2002
The Proof Complexity of Linear Algebra - LICS 2002The Proof Complexity of Linear Algebra - LICS 2002
The Proof Complexity of Linear Algebra - LICS 2002Michael Soltys
 
The proof theoretic strength of the Steinitz exchange theorem - EACA 2006
The proof theoretic strength of the Steinitz exchange theorem - EACA 2006The proof theoretic strength of the Steinitz exchange theorem - EACA 2006
The proof theoretic strength of the Steinitz exchange theorem - EACA 2006Michael Soltys
 
Unambiguous functions in logarithmic space - CiE 2009
Unambiguous functions in logarithmic space - CiE 2009Unambiguous functions in logarithmic space - CiE 2009
Unambiguous functions in logarithmic space - CiE 2009Michael Soltys
 
Forced repetitions over alphabet lists
Forced repetitions over alphabet listsForced repetitions over alphabet lists
Forced repetitions over alphabet listsMichael Soltys
 
The Soul of Computer Science - Prof. Salvador Lucas Alba
The Soul of Computer Science - Prof. Salvador Lucas AlbaThe Soul of Computer Science - Prof. Salvador Lucas Alba
The Soul of Computer Science - Prof. Salvador Lucas AlbaFacultad de Informática UCM
 
How Safe is your Data?
How Safe is your Data?How Safe is your Data?
How Safe is your Data?Michael Soltys
 
Circuit Complexity of Shuffle - IWOCA 2013
Circuit Complexity of Shuffle - IWOCA 2013Circuit Complexity of Shuffle - IWOCA 2013
Circuit Complexity of Shuffle - IWOCA 2013Michael Soltys
 
Computer science & IT Engineering.
Computer science & IT Engineering.Computer science & IT Engineering.
Computer science & IT Engineering.Samson2323
 
Scientific methods in computer science
Scientific methods in computer scienceScientific methods in computer science
Scientific methods in computer scienceParinda Rajapaksha
 
Basics of computer science
Basics of computer scienceBasics of computer science
Basics of computer sciencePaul Schmidt
 
從模組到類別
從模組到類別從模組到類別
從模組到類別Justin Lin
 
Introduction to Computer Science
Introduction to Computer ScienceIntroduction to Computer Science
Introduction to Computer ScienceKalpit Jain
 

Destacado (20)

Feasible Combinatorial Matrix Theory - LICS2013 presentation
Feasible Combinatorial Matrix Theory - LICS2013 presentationFeasible Combinatorial Matrix Theory - LICS2013 presentation
Feasible Combinatorial Matrix Theory - LICS2013 presentation
 
Feasible Combinatorial Matrix Theory - MFCS2013
Feasible Combinatorial Matrix Theory - MFCS2013Feasible Combinatorial Matrix Theory - MFCS2013
Feasible Combinatorial Matrix Theory - MFCS2013
 
The proof complexity of matrix algebra - Newton Institute, Cambridge 2006
The proof complexity of matrix algebra - Newton Institute, Cambridge 2006The proof complexity of matrix algebra - Newton Institute, Cambridge 2006
The proof complexity of matrix algebra - Newton Institute, Cambridge 2006
 
Perceptions of Foundational Knowledge by CS students - WCCCE 2012
Perceptions of Foundational Knowledge by CS students - WCCCE 2012Perceptions of Foundational Knowledge by CS students - WCCCE 2012
Perceptions of Foundational Knowledge by CS students - WCCCE 2012
 
A formal framework for Stringology
A formal framework for StringologyA formal framework for Stringology
A formal framework for Stringology
 
Intro to Cryptography
Intro to CryptographyIntro to Cryptography
Intro to Cryptography
 
The Proof Complexity of Linear Algebra - LICS 2002
The Proof Complexity of Linear Algebra - LICS 2002The Proof Complexity of Linear Algebra - LICS 2002
The Proof Complexity of Linear Algebra - LICS 2002
 
The proof theoretic strength of the Steinitz exchange theorem - EACA 2006
The proof theoretic strength of the Steinitz exchange theorem - EACA 2006The proof theoretic strength of the Steinitz exchange theorem - EACA 2006
The proof theoretic strength of the Steinitz exchange theorem - EACA 2006
 
Unambiguous functions in logarithmic space - CiE 2009
Unambiguous functions in logarithmic space - CiE 2009Unambiguous functions in logarithmic space - CiE 2009
Unambiguous functions in logarithmic space - CiE 2009
 
WHAT IS COMPUTER SCIENCE?
WHAT IS COMPUTER SCIENCE?WHAT IS COMPUTER SCIENCE?
WHAT IS COMPUTER SCIENCE?
 
Forced repetitions over alphabet lists
Forced repetitions over alphabet listsForced repetitions over alphabet lists
Forced repetitions over alphabet lists
 
The Soul of Computer Science - Prof. Salvador Lucas Alba
The Soul of Computer Science - Prof. Salvador Lucas AlbaThe Soul of Computer Science - Prof. Salvador Lucas Alba
The Soul of Computer Science - Prof. Salvador Lucas Alba
 
How Safe is your Data?
How Safe is your Data?How Safe is your Data?
How Safe is your Data?
 
Circuit Complexity of Shuffle - IWOCA 2013
Circuit Complexity of Shuffle - IWOCA 2013Circuit Complexity of Shuffle - IWOCA 2013
Circuit Complexity of Shuffle - IWOCA 2013
 
Computer science & IT Engineering.
Computer science & IT Engineering.Computer science & IT Engineering.
Computer science & IT Engineering.
 
Scientific methods in computer science
Scientific methods in computer scienceScientific methods in computer science
Scientific methods in computer science
 
Computer science
Computer scienceComputer science
Computer science
 
Basics of computer science
Basics of computer scienceBasics of computer science
Basics of computer science
 
從模組到類別
從模組到類別從模組到類別
從模組到類別
 
Introduction to Computer Science
Introduction to Computer ScienceIntroduction to Computer Science
Introduction to Computer Science
 

Similar a An algorithmic view of Computer Science

Basics of Intelligent Computing.pdf
Basics of Intelligent Computing.pdfBasics of Intelligent Computing.pdf
Basics of Intelligent Computing.pdfktosri
 
Introduction to Artificial Intelligences
Introduction to Artificial IntelligencesIntroduction to Artificial Intelligences
Introduction to Artificial IntelligencesMeenakshi Paul
 
computer science engineering spe ialized in artificial Intelligence
computer science engineering spe ialized in artificial Intelligencecomputer science engineering spe ialized in artificial Intelligence
computer science engineering spe ialized in artificial IntelligenceKhanKhaja1
 
BSidesLV 2013 - Using Machine Learning to Support Information Security
BSidesLV 2013 - Using Machine Learning to Support Information SecurityBSidesLV 2013 - Using Machine Learning to Support Information Security
BSidesLV 2013 - Using Machine Learning to Support Information SecurityAlex Pinto
 
The Rising Tide Lifts All Boats: The Advancement of Science in Cybersecurity
The Rising Tide Lifts All Boats:  The Advancement of Science in Cybersecurity The Rising Tide Lifts All Boats:  The Advancement of Science in Cybersecurity
The Rising Tide Lifts All Boats: The Advancement of Science in Cybersecurity laurieannwilliams
 
Do Mechanical Turks Dream of Big Data?
Do Mechanical Turks Dream of Big Data?Do Mechanical Turks Dream of Big Data?
Do Mechanical Turks Dream of Big Data?Ralf Klamma
 
The End(s) of e-Research
The End(s) of e-ResearchThe End(s) of e-Research
The End(s) of e-ResearchEric Meyer
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud ComputingRahul Pola
 
Cloud computing
Cloud computingCloud computing
Cloud computingBasil John
 
SP14 CS188 Lecture 1 -- Introduction.pptx
SP14 CS188 Lecture 1 -- Introduction.pptxSP14 CS188 Lecture 1 -- Introduction.pptx
SP14 CS188 Lecture 1 -- Introduction.pptxssuser851498
 
Fundamentals of Artificial Intelligence — QU AIO Leadership in AI
Fundamentals of Artificial Intelligence — QU AIO Leadership in AIFundamentals of Artificial Intelligence — QU AIO Leadership in AI
Fundamentals of Artificial Intelligence — QU AIO Leadership in AIJunaid Qadir
 
Data Mobility Panel
Data Mobility PanelData Mobility Panel
Data Mobility PanelGlobus
 

Similar a An algorithmic view of Computer Science (20)

AI history (Epita International Masters)
AI history (Epita International Masters)AI history (Epita International Masters)
AI history (Epita International Masters)
 
Basics of Intelligent Computing.pdf
Basics of Intelligent Computing.pdfBasics of Intelligent Computing.pdf
Basics of Intelligent Computing.pdf
 
Introduction to Artificial Intelligences
Introduction to Artificial IntelligencesIntroduction to Artificial Intelligences
Introduction to Artificial Intelligences
 
ai.ppt
ai.pptai.ppt
ai.ppt
 
computer science engineering spe ialized in artificial Intelligence
computer science engineering spe ialized in artificial Intelligencecomputer science engineering spe ialized in artificial Intelligence
computer science engineering spe ialized in artificial Intelligence
 
ai.ppt
ai.pptai.ppt
ai.ppt
 
ai.ppt
ai.pptai.ppt
ai.ppt
 
ai.ppt
ai.pptai.ppt
ai.ppt
 
BSidesLV 2013 - Using Machine Learning to Support Information Security
BSidesLV 2013 - Using Machine Learning to Support Information SecurityBSidesLV 2013 - Using Machine Learning to Support Information Security
BSidesLV 2013 - Using Machine Learning to Support Information Security
 
The Rising Tide Lifts All Boats: The Advancement of Science in Cybersecurity
The Rising Tide Lifts All Boats:  The Advancement of Science in Cybersecurity The Rising Tide Lifts All Boats:  The Advancement of Science in Cybersecurity
The Rising Tide Lifts All Boats: The Advancement of Science in Cybersecurity
 
Do Mechanical Turks Dream of Big Data?
Do Mechanical Turks Dream of Big Data?Do Mechanical Turks Dream of Big Data?
Do Mechanical Turks Dream of Big Data?
 
The End(s) of e-Research
The End(s) of e-ResearchThe End(s) of e-Research
The End(s) of e-Research
 
Session1
Session1Session1
Session1
 
Session1
Session1Session1
Session1
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
SP14 CS188 Lecture 1 -- Introduction.pptx
SP14 CS188 Lecture 1 -- Introduction.pptxSP14 CS188 Lecture 1 -- Introduction.pptx
SP14 CS188 Lecture 1 -- Introduction.pptx
 
20181212 ibm aot
20181212 ibm aot20181212 ibm aot
20181212 ibm aot
 
Fundamentals of Artificial Intelligence — QU AIO Leadership in AI
Fundamentals of Artificial Intelligence — QU AIO Leadership in AIFundamentals of Artificial Intelligence — QU AIO Leadership in AI
Fundamentals of Artificial Intelligence — QU AIO Leadership in AI
 
Data Mobility Panel
Data Mobility PanelData Mobility Panel
Data Mobility Panel
 

Último

BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxBIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxSayali Powar
 
Mythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWMythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWQuiz Club NITW
 
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSMae Pangan
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operationalssuser3e220a
 
Measures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped dataMeasures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped dataBabyAnnMotar
 
Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea DevelopmentUsing Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Developmentchesterberbo7
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17Celine George
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
How to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 DatabaseHow to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 DatabaseCeline George
 
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDecoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDhatriParmar
 
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...Nguyen Thanh Tu Collection
 
4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptxmary850239
 
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...DhatriParmar
 
Mental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young mindsMental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young mindsPooky Knightsmith
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfPatidar M
 
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...DhatriParmar
 
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptxMan or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptxDhatriParmar
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmStan Meyer
 

Último (20)

BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxBIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
 
Mythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWMythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITW
 
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHS
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operational
 
Measures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped dataMeasures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped data
 
Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea DevelopmentUsing Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Development
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
How to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 DatabaseHow to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 Database
 
Mattingly "AI & Prompt Design: Large Language Models"
Mattingly "AI & Prompt Design: Large Language Models"Mattingly "AI & Prompt Design: Large Language Models"
Mattingly "AI & Prompt Design: Large Language Models"
 
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDecoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
 
prashanth updated resume 2024 for Teaching Profession
prashanth updated resume 2024 for Teaching Professionprashanth updated resume 2024 for Teaching Profession
prashanth updated resume 2024 for Teaching Profession
 
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
 
4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx
 
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
 
Mental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young mindsMental Health Awareness - a toolkit for supporting young minds
Mental Health Awareness - a toolkit for supporting young minds
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdf
 
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
 
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptxMan or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and Film
 

An algorithmic view of Computer Science

  • 1. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs An Algorithmic View of Computer Science Michael Soltys My Research Linear Algebra 0-1 Matrices Strings msoltys@gmail.com @MichaelMSoltys Security Cryptography Applications McMaster University, Canada November 1, 2013 1/42
  • 2. 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 2/42
  • 3. An Algorithmic View of Computer Science Outline Michael Soltys 1 Why Study Computer Science? Why Study Computer Science? History Exciting field Lots of Jobs History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 2 My Research Linear Algebra 0-1 Matrices Strings 3 Security Cryptography Applications 3/42
  • 4. An Algorithmic View of Computer Science Prehistory Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications Engraved ocher plaque Blombos 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 marks La Madeleine, France 17,000–11,500 years old 4/42
  • 5. An Algorithmic View of Computer Science History Michael Soltys 1 Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 5/42 1930s: Math models of computation (Turing machine)
  • 6. An Algorithmic View of Computer Science History Michael Soltys 1 Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 5/42 1930s: Math models of computation (Turing machine) 2 1940s: First electronic computers (ENIAC)
  • 7. An Algorithmic View of Computer Science History Michael Soltys 1 Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 5/42 1930s: Math models of computation (Turing machine) 2 1940s: First electronic computers (ENIAC) 3 1950s: First programming languages (Fortran and Lisp)
  • 8. An Algorithmic View of Computer Science History Michael Soltys 1 Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 5/42 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
  • 9. An Algorithmic View of Computer Science History Michael Soltys 1 Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 5/42 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 and Commodore PET)
  • 10. An Algorithmic View of Computer Science History Michael Soltys 1 Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings 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 and Commodore PET) 6 1980s: Computers with a mouse and a graphical user interface (Apple Macintosh, Microsoft Windows) Security Cryptography Applications 5/42
  • 11. An Algorithmic View of Computer Science History Michael Soltys 1 History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings 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 and Commodore PET) 6 1980s: Computers with a mouse and a graphical user interface (Apple Macintosh, Microsoft Windows) 7 Why Study Computer Science? 1990s: World Wide Web (web browsers and search engines) Security Cryptography Applications 5/42
  • 12. An Algorithmic View of Computer Science History Michael Soltys 1 My Research Linear Algebra 0-1 Matrices Strings 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 and Commodore PET) 6 1980s: Computers with a mouse and a graphical user interface (Apple Macintosh, Microsoft Windows) 1990s: World Wide Web (web browsers and search engines) 8 History Exciting field Lots of Jobs 1930s: Math models of computation (Turing machine) 7 Why Study Computer Science? 2000s: Social media and smart phones (Facebook and Apple iPhone) Security Cryptography Applications 5/42
  • 13. An Algorithmic View of Computer Science Today Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 6/42 We use computers to: 1 Solve problems (computer shortest path from A to B)
  • 14. An Algorithmic View of Computer Science Today Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs We use computers to: 1 Solve problems (computer shortest path from A to B) 2 Managing information (Cloud, Search Engine, eHealth) My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 6/42
  • 15. An Algorithmic View of Computer Science Today Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs 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) My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 6/42
  • 16. An Algorithmic View of Computer Science Today Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs 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) My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 6/42
  • 17. An Algorithmic View of Computer Science Today Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs 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) My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 6/42
  • 18. An Algorithmic View of Computer Science Young Field Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs Fundamental problems still unsolved My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 7/42 1 Engineering: How to write correct programs?
  • 19. An Algorithmic View of Computer Science Young Field Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs Fundamental problems still unsolved My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 7/42 1 Engineering: How to write correct programs? 2 Science: Why are some problems computationally difficult?
  • 20. An Algorithmic View of Computer Science A vast multi-disciplinary field Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 8/42 1 Mathematics, Engineering, and Science
  • 21. An Algorithmic View of Computer Science A vast multi-disciplinary field Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 8/42 1 Mathematics, Engineering, and Science 2 Linguistics: Context-Free Grammars, Wordnet
  • 22. An Algorithmic View of Computer Science A vast multi-disciplinary field Michael Soltys Why Study Computer Science? 1 Mathematics, Engineering, and Science History Exciting field Lots of Jobs 2 Linguistics: Context-Free Grammars, Wordnet My Research 3 Psychology: Human-Computer Interaction, Web Design Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 8/42
  • 23. An Algorithmic View of Computer Science A vast multi-disciplinary field Michael Soltys Why Study Computer Science? 1 Mathematics, Engineering, and Science History Exciting field Lots of Jobs 2 Linguistics: Context-Free Grammars, Wordnet My Research 3 Psychology: Human-Computer Interaction, Web Design Linear Algebra 0-1 Matrices Strings 4 Sociology: Crowd mining Security Cryptography Applications 8/42
  • 24. 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 9/42 Sociology of CS
  • 25. 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 10/42 Excellent Job Outlook
  • 26. 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 11/42
  • 27. An Algorithmic View of Computer Science Job Outlook Numbers1 Michael Soltys Area Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications Employment 2010 2020 Change 2010–20 % Median Salary 11 22 $83,340 $73,710 30 12 22 22 28 31 $90,530 $71,380 $75,660 $75,660 $69,160 $73,490 Engineering jobs Computing jobs Software Developers Comp. Programmers Security & Networks Comp. Syst. Analyst Syst. Admin. Database Admin. 913,100 363,100 302,300 544,400 347,200 110,800 1,184,000 406,800 368,000 664,800 443,800 144,700 270,900 43,700 65,700 120,400 96,600 33,900 Employers favor graduates who can communicate! [Barrett 2013] 1 12/42 United States Department of Labor Occupational Outlook Handbook, 2012-13 Edition, http://www.bls.gov/oco/
  • 28. 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 13/42 My Research
  • 29. 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 14/42 P vs NP
  • 30. 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 14/42 P vs NP
  • 31. 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 14/42 P vs NP
  • 32. 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 15/42 • Perhaps there is a better way of doing this than “Brute Force”? This is the P vs NP problem [Cook]
  • 33. 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 15/42 • Perhaps there is a better way of doing this than “Brute Force”? This is the P vs NP problem [Cook] • This problem is very difficult.
  • 34. 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 • Perhaps there is a better way of doing this than “Brute Force”? This is the P vs NP problem [Cook] • This problem is very difficult. • A related problem is the NP vs co-NP question, which can be restated as follows: Is there a formal proof system where every true statement has a short proof? Security Cryptography Applications 15/42 An answer to this questions would have very interesting implications for Logic & Epistemology
  • 35. 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 • Perhaps there is a better way of doing this than “Brute Force”? This is the P vs NP problem [Cook] • This problem is very difficult. • A related problem is the NP vs co-NP question, which can be restated as follows: Is there a formal proof system where every true statement has a short proof? Security Cryptography Applications An answer to this questions would have very interesting implications for Logic & Epistemology • Cook’s program for the NP vs co-NP is a systematic study of “reverse mathematics” 15/42
  • 36. 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 • Perhaps there is a better way of doing this than “Brute Force”? This is the P vs NP problem [Cook] • This problem is very difficult. • A related problem is the NP vs co-NP question, which can be restated as follows: Is there a formal proof system where every true statement has a short proof? Security Cryptography Applications An answer to this questions would have very interesting implications for Logic & Epistemology • Cook’s program for the NP vs co-NP is a systematic study of “reverse mathematics” • My contribution is the “mapping out” of Linear Algebra [Cook Soltys 2004] 15/42
  • 37. An Algorithmic View of Computer Science Statistical Archeology Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 16/42 • Sequence dating: Flinders Petrie, 1899
  • 38. An Algorithmic View of Computer Science Statistical Archeology Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications • Sequence dating: Flinders Petrie, 1899 • 900 pre-dynastic Egyptian graves containing 800 representatives of pottery 16/42
  • 39. An Algorithmic View of Computer Science Statistical Archeology Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications • Sequence dating: Flinders Petrie, 1899 • 900 pre-dynastic Egyptian graves containing 800 representatives of pottery • The “graves-versus-varieties” matrix contains vast amount of information, such as sequential ordering [Kendall 1969] 16/42
  • 40. An Algorithmic View of Computer Science Paleogenomics Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications DNA sequence organization of ancient living organisms using similarities and differences between chromosomes of extant organisms [Chauve et al 2008] 17/42
  • 41. An Algorithmic View of Computer Science Consecutive-1 Property: C1P Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications Consider a slight relaxation, (k, δ)-C1P: each row has at most k blocks 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] 18/42
  • 42. An Algorithmic View of Computer Science K¨nig’s Min-Max o Michael Soltys Why Study Computer Science? 1 0 1 1 History Exciting field Lots of Jobs 0 0 1 0 0 1 1 0 0 1 0 0 My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications [Fernandez Soltys 2013] 19/42
  • 43. An Algorithmic View of Computer Science Smart bacteria Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Ehrenfeucht-Mycielski Sequence • 011010101010111010011111001100011010101010 Linear Algebra 0-1 Matrices Strings Security Cryptography Applications [Herman Soltys 2009] 20/42
  • 44. An Algorithmic View of Computer Science Smart bacteria Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Ehrenfeucht-Mycielski Sequence • 011010101010111010011111001100011010101010 • 011010101010111010011111001100011010101010 Security Cryptography Applications [Herman Soltys 2009] 20/42
  • 45. An Algorithmic View of Computer Science Smart bacteria Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Ehrenfeucht-Mycielski Sequence • 011010101010111010011111001100011010101010 • 011010101010111010011111001100011010101010 • 011010101010111010011111001100011010101010 Cryptography Applications [Herman Soltys 2009] 20/42
  • 46. An Algorithmic View of Computer Science Smart bacteria Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications Ehrenfeucht-Mycielski Sequence • 011010101010111010011111001100011010101010 • 011010101010111010011111001100011010101010 • 011010101010111010011111001100011010101010 • 011010101010111010011111001100011010101010 1 [Herman Soltys 2009] 20/42
  • 47. An Algorithmic View of Computer Science Do the shuffle Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 21/42 • w is the shuffle of u, v : w = u v
  • 48. An Algorithmic View of Computer Science Do the shuffle Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 21/42 • w is the shuffle of u, v : w = u • w = 0110110011101000 u = 01101110 v = 10101000 w = 0110110011101000 v
  • 49. An Algorithmic View of Computer Science Do the shuffle Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 21/42 • w is the shuffle of u, v : w = u v • w = 0110110011101000 u = 01101110 v = 10101000 w = 0110110011101000 • w is a shuffle of u and v provided: u = x1 x2 · · · xk v = y1 y2 · · · yk and w obtained by “interleaving” w = x1 y1 x2 y2 · · · xk yk .
  • 50. An Algorithmic View of Computer Science Square Shuffle Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research w is a square provided it is equal to a shuffle of a u with itself, i.e., ∃u s.t. w = u u The string w = 0110110011101000 is a square: Linear Algebra 0-1 Matrices Strings w = 0110110011101000 Security Cryptography Applications and u = 01101100 = 01101100 22/42
  • 51. An Algorithmic View of Computer Science Result Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 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 set of even length strings) • What about if |Σ| = ∞ but each symbol cannot occur more often than, say, 6 times (if each symbol occurs at most 4 times, Square can be reduced to 2-Sat – see P. Austrin Stack Exchange post) 23/42
  • 52. An Algorithmic View of Computer Science Bipartite graph Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research w = (c1 x 3 c2 )2 (c1 x 2 c2 )2 (c1 xc2 )2 is a square: w = u u where u = c1 xxxc2 xc2 c1 xc1 xc2 . Bipartite graph G associated with particular solution w = u u: Linear Algebra 0-1 Matrices Strings Security Cryptography Applications We also have w = v v with v = c1 x 3 c2 c1 x 2 c2 c1 xc2 which would have its associated bipartite graph 24/42
  • 53. An Algorithmic View of Computer Science Nesting Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 25/42 G has the “non-nesting” property: if G contains an edge from wk to w and an edge from wp to wq , then it is not the case that 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 is non-nesting, iff w can be expressed as a square shuffle.
  • 54. 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 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 · · · u NP-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 each symbol occurs at most 4 times. Problem of the year on Stack Exchange. • Soltys (2012; shuffle in AC1 but not AC0 .)
  • 55. An Algorithmic View of Computer Science PDA Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs A queue automaton is a PDA but with a queue instead of a stack. Reads the input w from left to right. Pop My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications Queue is initially empty and supports the operations push-bottom and pop-top. Automaton accepts if its queue is empty after the last symbol of w has Push been read. 27/42 w
  • 56. 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 28/42 w = 0110110011101000 and u = 01101100 = 01101100
  • 57. 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 29/42 ε 0110110011101000
  • 58. 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 29/42 0 110110011101000
  • 59. 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 29/42 0 1 10110011101000
  • 60. 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 29/42 0 1 1 0110011101000
  • 61. 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 29/42 1 1 110011101000
  • 62. 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 29/42 1 10011101000
  • 63. 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 29/42 ε 0011101000
  • 64. 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 29/42 0 011101000
  • 65. 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 29/42 ε 11101000
  • 66. 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 29/42 1 1101000
  • 67. 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 29/42 ε 101000
  • 68. 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 29/42 1 01000
  • 69. 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 29/42 1 0 1000
  • 70. 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 29/42 0 000
  • 71. 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 29/42 ε 00
  • 72. 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 29/42 0 0
  • 73. 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 29/42 ε ε accepted
  • 74. An Algorithmic View of Computer Science Reduction Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 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 of 3-Partition. The string wS consists of three parts: wS := 30/42 loaderS distributorS verifierS .
  • 75. 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 31/42 Security
  • 76. An Algorithmic View of Computer Science Enigma machine Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 32/42 http://enigmaco.de/enigma/enigma.html
  • 77. An Algorithmic View of Computer Science Uses of Crypto Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs SSL/SSH WEP, WPA/WPA2 My Research PGP/GPG Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 33/42 RSA Encryption BE 89 0E A1 AD 3B ED 75 E4 3E EF 62 10 52 7B 1B 50 60 2E 2E 8D 37 F9 EE 6E AF 57 69 94 8C 5B 5F 62 58 5E B6 82 D7 86 E5 5A 65 AA 9E 20 45 80 A8 D5 24 62 A5 1F 26 5E 128 bytes: FA 7D 58 6A F2 19 F7 F3 FC DD 94 96 79 AC 7C 2E 4F 82 C7 E4 EF 2E 50 7A CF F2 DF F4 4F 77 E4 91 4F 38 5E B4 5C 46 9D F1 AE 17 47 A1 0F A8 A3 12 6D 4D AA 8B 80 6A FA 35 81 04 53 CE E4 E0 C0 E4 D9 6B DE 55 0F 71 BD 36 6B DRM FairPlay MD5 5c3079df8a48623f5aa10f0181a7ab03
  • 78. 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 Cryptography is the art of computing & communicating in the presence of an adversary cryptography = κρυπτ o (hidden or secret) + γραφη (writing) Three broad applications: • encryption • authentication • integrity checking Not all security is an application of crypto, e.g., Firewalls. 34/42
  • 79. An Algorithmic View of Computer Science Michael Soltys • Noisy channel Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications • Obfuscation • Password login • Client-server secure communication • Non-repudiation • Electronic voting • Digital cash • Secure storage on insecure media 35/42
  • 80. 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 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.
  • 81. 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 Fundamental TENET of cryptography Lots of smart people have been trying to figure out how to break X , but so far they have not been able to come up with anything yet. Therefore X is “secure” . . . 37/42
  • 82. 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 Fundamental ASSUMPTION of cryptography Everybody knows how it works, i.e., the algorithm is public knowledge. The secret is the “key”. Security Cryptography Applications 38/42 In principle it can always be broken; but in practice it is too much work for the “bad guy.”
  • 83. An Algorithmic View of Computer Science Michael Soltys Why Study Computer Science? Amazing free tools: History Exciting field Lots of Jobs My Research GnuPG (http://www.gnupg.org) Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 39/42 OpenSSL (http://www.openssl.org)
  • 84. An Algorithmic View of Computer Science In practice Crypto not the problem Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications • 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 of CS/SE • Challenge 1: build secure systems with insecure components → similar to building reliable systems with unreliable components • Challenge 2: the art of making the right trade-offs to satisfy contradictory objectives (e.g., security & speed) 40/42
  • 85. 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 41/42 1 Same problem as software engineering: how to check whether a program conforms to its specifications?
  • 86. An Algorithmic View of Computer Science 1 Same problem as software engineering: how to check whether a program conforms to its specifications? 2 How to “specify” security? Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 41/42
  • 87. An Algorithmic View of Computer Science 1 Same problem as software engineering: how to check whether a program conforms to its specifications? 2 How to “specify” security? 3 User discipline is 90% of any security policy Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 41/42
  • 88. An Algorithmic View of Computer Science 1 Same problem as software engineering: how to check whether 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 Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 41/42
  • 89. An Algorithmic View of Computer Science 1 Same problem as software engineering: how to check whether 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 Consulting work: Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 41/42 5 • Forensic work — chain of evidence • Network Penetration Detection
  • 90. An Algorithmic View of Computer Science 1 Same problem as software engineering: how to check whether 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 Consulting work: Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research 5 • Forensic work — chain of evidence • Network Penetration Detection Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 41/42 6 Recent masters theses: • With Dragan Rakas: Homomorphic encryption • With Sabry Aly: GGH
  • 91. An Algorithmic View of Computer Science 1 Same problem as software engineering: how to check whether 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 Consulting work: Michael Soltys Why Study Computer Science? History Exciting field Lots of Jobs My Research 5 • Forensic work — chain of evidence • Network Penetration Detection Linear Algebra 0-1 Matrices Strings Security Cryptography Applications 6 • With Dragan Rakas: Homomorphic encryption • With Sabry Aly: GGH 7 41/42 Recent masters theses: Cybersecurity field not ready to be professionalized [The National Academies Press 2013] Ad hoc solutions; best approach is “case based”
  • 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 42/42 Thank You! Questions?