1 / 19

Computer Science

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

hinklea
Télécharger la présentation

Computer Science

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer Science Science of Computation Omer Reingold

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

  3. 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, …

  4. “Long addition” algorithm 1 1 1 1 2 3 4 5 6 7 8 9 4 1 9 1 3 • Scan column. If empty, stop. • Add digits. Write answer, retain carry. • Move one column left, write carry. • Go to 1

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

  6. Turing Machine

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

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

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

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

  11. 5982045 × 4373673 17946135 1 1 1 1 41874315 5982045 35892270 + 17946135 4373673 41874315 17946135 10355718 23928180 26163508701285 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?

  12. Asymptotics • What is the difference between an algorithm running in time n, n2 and 2n ? • As technology evolves inputs get larger – asymptotics matter!

  13. 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?

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

  15. Cryptography and Knowledge • 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. This talk is so boring

  16. Cryptography and Knowledge • Or flip a fair coin over the phone: OKso you get the car

  17. Cryptography and Knowledge • 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! This talk is so boring

  18. 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, …

  19. 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!

More Related