Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1:...
Transcript of Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1:...
![Page 1: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/1.jpg)
Big Ideas in Computing
Frank van HarmelenDept. of “Computer Science”
VU Amsterdam
Creative Commons License: allowed to share & remix,but must attribute & non-commercial
![Page 2: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/2.jpg)
Health Warning:
This is going to be a pretentious talk
Big Ideas in ComputingThe
![Page 3: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/3.jpg)
Big Ideas in ComputingThe
Based on a course developed together with Hajo Reijers and Ellen Maassen
![Page 4: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/4.jpg)
Why do we need a list of “The Big Ideas in Computing”?
![Page 5: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/5.jpg)
The physicists do it!• Force, mass, acceleration [Newton]
• Conservation of energy [Kelvin]
• Increase of entropy [Clausius]
• Invariance of speed of light [Einstein]
• Quantized nature of time, space and mass [Planck]
• Uncertainty principle [Heisenberg]
![Page 6: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/6.jpg)
Everybody else does it too!
“It is a common practice in science to articulate scientific fields as frameworks of fundamental principles. Robert Hazen and James Trefil have done this for the biological and life sciences, Richard Feynman for physics, andCarl Sagan for astronomy"‐‐ Peter Denning
![Page 7: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/7.jpg)
The impact of such a list• It changes how PC’s and editorial boards think• It changes how you teach your courses• It changes how you train your PhD’s• It changes how you judge a PhD thesis• It changes how other fields perceive us• It changes how the general public perceive us
“The curse of applicability”“Een vakgebied kan zelfs zó nuttig zijn dat al dat nut ‘t naar de keel vliegt. Door hun toepassingen in een wurggreep gehouden, moeten deze onderzoekers moeite doen de alledaagse werkelijkheid flink van zich af te duwen om weer eens diep wetenschappelijk adem te kunnen halen.Een goed voorbeeld van zo'n 'vervloekt' vak is de informatica.”
![Page 8: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/8.jpg)
Authorities on “Computer” Science"Computer science is no more about computers than astronomy is about telescopes”
‐‐ Edsger W. Dijkstra
“We have to think of computation as a principle and computers (only) as the tool”
“Computing is, and always has been, the science of information processes, natural and artificial "
‐‐ Peter Denning
"Professor Shih‐Fu Chang will receive a doctorate for his many groundbreaking contributions to our understanding of the digital universe“
‐‐ Arnold Smeulders
![Page 9: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/9.jpg)
Have others tried this before?
Bill Rapaport’s page with a map of 45(!) years of debate
![Page 10: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/10.jpg)
Have others tried this before?
six categories: communication, computation, coordination, recollection, evaluation, design
Computation is a sequence of representations
Virtual machines organize software as simulations of computing machines.
Abstraction, information hiding, and decomposition are complementary aspects of modularity.
![Page 11: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/11.jpg)
Have others tried this before?
six categories: communication, computation, coordination, recollection, evaluation, design
“Finite representations of real processes always contain errors”
“Messages can be compressed”
“A network of servers is a common, efficient representation of computing systems”
![Page 12: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/12.jpg)
Goals of the talk:1. Convince 2. Propose .
![Page 13: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/13.jpg)
So what do you think are the Big Ideas in Computing?
![Page 14: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/14.jpg)
Your list of “Big Ideas in Computing”
![Page 15: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/15.jpg)
Four parts
1. The Science of Algorithms2. The Science of Data3. Taming Complexity4. Philosophy of Computing
![Page 16: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/16.jpg)
1: The Science of Algorithms
• what is an algorithm• independence of language and machine modelexistence of universal languages
• programs as data, stored program computer, universal machines
• complexity of algorithms: runtime as function of input length
• tractable vs. intractable• computability vs. uncomputability
![Page 17: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/17.jpg)
![Page 18: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/18.jpg)
![Page 19: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/19.jpg)
Existence of universal languages
Every program can be written using only sequence:
step1;step2and loop: while test do action
11
0
Every computer can be built using only one type of component:
NAND(A,B)= 0 iff A=B=1
JavaPythonC++PrologLisp….
![Page 20: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/20.jpg)
![Page 21: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/21.jpg)
• Tiling the plane• Determining wether a context‐free
grammar is ambiguous
• Finding the fastest machine code for higher level language code
• Finding primitives (anti‐derivative)• Writing an anti‐virusprogram that
never executes malicious instruction• Type checking for lambda‐calculus• Determining the Kolmogorov
complexity of a string• Hilbert’s 10th problem (Diophantine
equations)
Uncountably infinitely many problems cannot be computed !
“The police killed the man with a chainsaw”
![Page 22: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/22.jpg)
2: The Science of Data
• Digitisation, encoding in bits• Complexity of data, Shanon information theory, compressibility
• error‐correcting codes• discovering patterns in data, machine learning
![Page 23: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/23.jpg)
Everything can be encoded in bits
155 = v =118 =01110110
=00011000001111000111111011111111…..
= 255,153,31
![Page 24: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/24.jpg)
How much information is there in data
vs
World Blue
Uncompressed 29453 29453
Compressed 1353 155
Sizes:
Information content =
![Page 25: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/25.jpg)
error‐correcting through redundundancy
![Page 26: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/26.jpg)
3: Taming complexity
• algorithmic abstraction: – information hiding, abstraction layers, virtual machines
– specification vs. implementation, program correctness
– modularity (cohesion & coupling), interfaces
– stepwise refinement– problem solving as divide and conquer, recursion– problem solving as state space search
![Page 27: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/27.jpg)
algorithmic abstraction
– information hiding, abstraction layers– divide and conquer, recursion
![Page 28: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/28.jpg)
problem
existing system
![Page 29: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/29.jpg)
Generic problem solving as state‐space search
![Page 30: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/30.jpg)
3: Taming complexity
• data abstraction – Archetypical data structures: tables, trees, graphs, arrays, hash, list, ..
– mutual encodings (e.g. from graph to table, from table to array)
– abstract datatypes
![Page 31: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/31.jpg)
Datastructures and their reductions
![Page 32: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/32.jpg)
Abstract data types
![Page 33: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/33.jpg)
4: Philosophy of Computing• Thinking is computing• Everything is computing“A growing number of physicistsunderstand that the universe is not mathematical, but computational, and physics is in the business of finding an algorithm that can reproduce our observations.”
Joshua Bach (MIT, Harvard)“Biology is today an information science. The output of the system, the mechanics of life, are digitally encoded and read out by a series of reading heads.”
David Baltimore, CalTech, Nobel Prize Winner
“Economists consider the workings of economies as complex information processes that compute optima, and analyze economic systems for their inherent information flows”
“Nature is written in the language of computation, contrary to Galileo’s claim that it is written in mathematics
Steven Wolfram
![Page 34: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/34.jpg)
Goals of the talk:1. Convince 2. Propose ?3. Tickle !.
![Page 35: Big Ideas in Computing - SIKS keynote 2017.pdf · Taming Complexity 4. Philosophy of Computing. 1: The Science of Algorithms • what is an algorithm • independence of language](https://reader035.fdocuments.us/reader035/viewer/2022071401/60ec78c7f74b8724f45e217c/html5/thumbnails/35.jpg)
Remember why this is important
• It changes how PC’s and editorial boards think• It changes how you teach your courses• It changes how you train your PhD’s• It changes how you judge a PhD thesis• It changes how other fields perceive us• It changes how the general public perceive uss