computer science science of computation omer reingold

19
Computer Science Science of Computation Omer Reingold

Upload: victoria-mccormick

Post on 24-Dec-2015

228 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Computer Science Science of Computation Omer Reingold

Computer ScienceScience of Computation

Omer Reingold

Page 2: Computer Science Science of Computation Omer Reingold

Foundations of CS at Weizmann

• Irit Dinur• Uri Feige• Oded Goldreich• Shafi Goldwasser• David Harel• Robi Krauthgamer • Moni Naor• David Peleg• Amir Pnueli• Omer Reingold• Ran Raz• Adi Shamir

Page 3: Computer Science Science of Computation Omer Reingold

Algorithm•A “recipe” for solving a

computational problem (on every possible input).–Step-by-step, based on simple (basic) instructions.

•Some algorithms you probably already run: long arithmetic, ordering a deck of cards, …

Page 4: Computer Science Science of Computation Omer Reingold

9 8 7 6

5 4 3 2 1

1

1

1

3

1

41 9

“Long addition” algorithm

1. Scan column. If empty, stop.2. Add digits. Write answer, retain

carry.3. Move one column left, write

carry.4. Go to 1

Page 5: Computer Science Science of Computation Omer Reingold

What are simple instructions?• Can be carried out by a third grader? • By a computer processor?

– But we don’t want our theory to change every time a new processor goes into the market.

• Turing (1936!), proposed a “primitive” model of computation. We can define our algorithms on a Turing machine.

• Church-Turing thesis: Every effective computation can be carried out by a Turing machine.

Page 6: Computer Science Science of Computation Omer Reingold

Turing Machine

Page 7: Computer Science Science of Computation Omer Reingold

With the right abstractions

• Computer science is no longer about how computers “think” but rather about how humans think!–After all the science came first!

• … and possibly also about how nature thinks …

Page 8: Computer Science Science of Computation Omer Reingold

Is there an algorithm for every problem?

• No! Regardless of how much time we let the algorithm run.

• Examples: – There cannot be a computer

program that debugs other programs automatically.

– There cannot be a program that identifies all computer viruses.

Page 9: Computer Science Science of Computation Omer Reingold

Can computers solve in practice every solvable

problem?• No! Some problems take too much

time to solve. • So lets wait until computers become

faster …• Not a technological problem.

– Some algorithms will still be running after the sun burns out, even on a computer made of all the particles of the universe, communicating at the speed of light.

Page 10: Computer Science Science of Computation Omer Reingold

Efficiency of an Algorithm

• It is important to bound the amount of resources our algorithms use:

• Time: how many basic operations• Space: how many memory cells? • Randomness, Communication …• Try to find the most efficient

algorithm for a given problem. – Some ingenious ideas come into play.

Page 11: Computer Science Science of Computation Omer Reingold

Time Efficiency of an Algorithm

• Count the number of basic operations.

• Long addition of n-digit numbers – roughly n operations.

• Long multiplication of n-digit numbers (school method) – roughly n2 operations.

• Can we do better?

4373673103557

18

5982045

+

1 1 1 1

4373673

5982045

×

1794613541874

3153589227017946

1354187431517946

1352392818026163508701285

Page 12: Computer Science Science of Computation Omer Reingold

Asymptotics

• What is the difference between an algorithm running in time n, n2 and 2n ?

• As technology evolves inputs get larger – asymptotics matter!

n n2 2n

10 100 1024

50 2500 1015

100 10000 1030

1000 1000000 10301

Page 13: Computer Science Science of Computation Omer Reingold

Map Coloring

• Given a map, “legally” color the countries with three colors (coloring with fourcolors always exists)

• Does there exist anefficient algorithm?

• This is the central question of computer science (and one of the central questions of math). Sounds lame?

Page 14: Computer Science Science of Computation Omer Reingold

P vs. NP problem

• If there exists an efficient algorithm for map coloring then:– An efficient algorithm for many

other natural problems– Math and Science can be automated– Creativity can be automated

(computers can learn to generate jokes, art, etc.)

– (Almost) no cryptography

Page 15: Computer Science Science of Computation Omer Reingold

Cryptography and Knowledge

This talk is so boring

• Assuming it is hard to factor big numbers, cryptography offers solutions to many problems of secrecy, privacy, and fault tolerance.

• For example: two parties who never met can exchange information privately at the presence of others.

Page 16: Computer Science Science of Computation Omer Reingold

OK so you get the car

Cryptography and Knowledge

• Or flip a fair coin over the phone:

Page 17: Computer Science Science of Computation Omer Reingold

Cryptography and Knowledge

This talk is so boring

• These and other remarkable applications are impossible, based on our traditional notion of information. – For example, an encryption of a message contains

all the information about the message.

• New perspective of knowledge: it is not the information one possesses but rather the information that can be accessed efficiently!

Page 18: Computer Science Science of Computation Omer Reingold

Megalomaniac Moment in Conclusion

Computation: evolution of an environment via repeated application of simple, local rules

(Almost) all Physics and Biology theories satisfy!- Weather - Proteins in a cell - magnetization- Ant hills - Fish schools - fission- Brain - Populations - burning fire- Epidemics – Regeneration - growth

And also Economy, Social Science, …

Page 19: Computer Science Science of Computation Omer Reingold

Still Megalomaniac

• Math has often been thought of as the language of Science

• Theory of computation is an area of math particularly suited to analyzing processes operating with limited resources

• Computational lens proved powerful in bioinformatics, quantum computation, game theory…– Expect much more!