What is Computing? Informatics?

Slides:



Advertisements
Similar presentations
Lecture 19. Reduction: More Undecidable problems
Advertisements

Computability & Complexity. Scenario I can’t write this program because I’m too dumb.
CS420 lecture one Problems, algorithms, decidability, tractability.
Introductory Lecture. What is Discrete Mathematics? Discrete mathematics is the part of mathematics devoted to the study of discrete (as opposed to continuous)
CSE332: Data Abstractions Lecture 27: A Few Words on NP Dan Grossman Spring 2010.
The Theory of NP-Completeness
Analysis of Algorithms CS 477/677
CS10 The Beauty and Joy of Computing Lecture #23 : Limits of Computing Thanks to the success of the Kinect, researchers all over the world believe.
Halting Problem. Background - Halting Problem Common error: Program goes into an infinite loop. Wouldn’t it be nice to have a tool that would warn us.
CPS Today’s topics l Computability ä Great Ideas Ch. 14 l Artificial Intelligence ä Great Ideas Ch. 15 l Reading up to this point ä Course Pack.
CPS What is Computer Science? What is it that distinguishes it from the separate subjects with which it is related? What is the linking thread.
Duke University Computer Science 1 Why Computer Science is Uglier and Prettier than Mathematics Owen Astrachan Duke University
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 8: Complexity Theory.
Compsci 06/101, Spring What is Computing? Informatics? l What is computer science, what is its potential?  What can we do with computers in.
Discrete Structures for Computing
CSC 172 P, NP, Etc. “Computer Science is a science of abstraction – creating the right model for thinking about a problem and devising the appropriate.
Computer Science and Everything 1 Big Ideas in Computer Science l “Mathematics is the Queen of the Sciences” Carl Friedrich Gauss l What is Computer Science?
Halting Problem Introduction to Computing Science and Programming I.
Compsci 100, Fall What is Computing? Informatics? l What is computer science, what is its potential?  What can we do with computers in our lives?
CompSci What can be computed l What class of problems can be solved? ä Google Datacenter, Desktop computer, Cell phone, pencil? ä Alan Turing proved.
Compsci 06/101, Spring What is Computing? Informatics? l What is computer science, what is its potential?  What can we do with computers in.
Halting Problem and TSP Wednesday, Week 8. Background - Halting Problem Common error: Program goes into an infinite loop. Wouldn’t it be nice to have.
Beauty and Joy of Computing Limits of Computing Ivona Bezáková CS10: UC Berkeley, April 14, 2014 (Slides inspired by Dan Garcia’s slides.)
CPS 100, Fall What is Computing? Informatics? l What is computer science, what is its potential?  What can we do with computers in our lives?
CPS What is Computer Science? What is it that distinguishes it from the separate subjects with which it is related? What is the linking thread.
Lecture # 39 What Can’t Be Computed?. Computability Tractable problems (P): Can be solved by a a computer is some deterministic (reasonable) polynomial.
CS10: The Beauty and Joy of Computing Lecture #22 Limits of Computing Warning sign posted at Stern Hall. Also, Apple releases new operating.
Limits to Computation How do you analyze a new algorithm? –Put it in the form of existing algorithms that you know the analysis. –For example, given 2.
Computability Heap exercise. The class P. The class NP. Verifiers. Homework: Review RELPRIME proof. Find examples of problems in NP.
Complexity & Computability. Limitations of computer science  Major reasons useful calculations cannot be done:  execution time of program is too long.
2101INT – Principles of Intelligence Systems Lecture 3.
“One ring to rule them all” Analogy (sort of) Lord of The Rings Computational Complexity “One problem to solve them all” “my preciousss…”
CS6045: Advanced Algorithms NP Completeness. NP-Completeness Some problems are intractable: as they grow large, we are unable to solve them in reasonable.
The Beauty and Joy of Computing Lecture #23 Limits of Computing Researchers at Facebook and the University of Milan found that the avg # of “friends” separating.
CSE 311 Foundations of Computing I Lecture 28 Computability: Other Undecidable Problems Autumn 2011 CSE 3111.
Compsci 101, Fall LWoC l Review Recommender, dictionaries, files  How to create recommendations in order? food.txt  Toward a Duke eatery-recommender.
CS216: Program and Data Representation University of Virginia Computer Science Spring 2006 David Evans Lecture 8: Crash Course in Computational Complexity.
Compsci 06/101, Fall What is Computing? Informatics? l What is computer science, what is its potential?  What can we do with computers in our.
1 1. Which of these sequences correspond to Hamilton cycles in the graph? (a) (b) (c) (d) (e)
Compsci 101.2, Fall Plan for LDO101 l Ethical webpage scraping  Illustrate power of regular expressions  Python makes trying things relatively.
Introductory Lecture. What is Discrete Mathematics? Discrete mathematics is the part of mathematics devoted to the study of discrete (as opposed to continuous)
CS10: The Beauty and Joy of Computing Lecture #21 Limits of Computing Instructor: Sean Morris UCB announces The Turing Test Tournament.
CSC 172 P, NP, Etc.
The NP class. NP-completeness
Introduction to Computing Science and Programming I
Chapter 12: Theory of Computation
Week 10 - Monday CS 113.
Lecture 2-2 NP Class.
Great Theoretical Ideas in Computer Science
Unsolvable Problems December 4, 2017.
Discrete Mathematics and Its Applications
Intro to Theory of Computation
ICS 353: Design and Analysis of Algorithms
Richard Anderson Lecture 25 NP-Completeness
How Hard Can It Be?.
Heuristic Algorithms via VBA
1. for (i=0; i < n; i+=2) if (A[i] > A[i+1]) swap(A[i], A[i+1])
Halting Problem.
Class 24: Computability Halting Problems Hockey Team Logo
CSC 380: Design and Analysis of Algorithms
Discrete Mathematics in the Real World
Heuristic Algorithms via VBA
Heuristic Algorithms via VBA
CS 150: Computing - From Ada to the Web
CSC 380: Design and Analysis of Algorithms
Discrete Mathematics and Its Applications
Algorithms CSCI 235, Spring 2019 Lecture 36 P vs
What is Computer Science at Duke?
Lecture 23: Computability CS200: Computer Science
Week 11 - Wednesday CS221.
Presentation transcript:

What is Computing? Informatics? What is computer science, what is its potential? What can we do with computers in our lives? What can we do with computing for society? Will networks transform thinking/knowing/doing? Society affecting and affected by computing? Changes in science: biology, physics, chemistry, … Privileges and opportunities available if you know code Writing and reading code, understanding algorithms Majestic, magical, mathematical, mysterious, …

Computer Science: Duke Connection What we tell you it is A bunch of courses useful in some majors What you want it to be or imagine it to be Independent study, new courses, interdepartmental major What will it be in one year or two? New courses, new professors, new majors, … What is it outside of Duke? Similar but different!

Computer Science: Duke Connection Algorithms, Distributed Systems, Networks, Bioinformatics, Graphics, Software Design, Probability, Modeling, Artificial Intelligence, Architecture, Programming, Statistics, Databases, Linear Algebra, Scientific Computing

Computer Science: Duke Connection

Luis, Noam, Tom

Fundamental Compsci Concepts “Mathematics is the Queen of the Sciences” Carl Friedrich Gauss What is Computer Science? Why study it, what is it, why is it interesting (or not)? Historically What can we program: at all, efficiently, optimally Present Lots of data, lots of connectivity, lots of inferences Future Where do we go from here?

What can be programmed? What class of problems can be solved? G5, 1000Mhz Pentium III, Cray, pencil? Alan Turing contributions Halting problem, Church-Turing thesis What class of problems can be solved efficiently? Problems with no practical solution What does practical mean? We can’t find a practical solution Solving one solves them all Would you rather be rich or famous?

Schedule students, minimize conflicts I can’t write this program because I’m too dumb Given student requests, available teachers write a program that schedules classes Minimize conflicts Add a GUI too Web interface …

Still another scenario, is this better? One better scenario Still another scenario, is this better? I can’t write this program but neither can all these famous people I can’t write this program because it’s provably impossible

Entscheidungsproblem What can we program? What kind of computer? What can't we program? Can’t we try harder? Can we write a program that will determine if any program P will halt when run on input S? Input to halt: P and S Output: yes/no halts

Good sites: http://del.icio.us/ What is social bookmarking? Why is del.icio.us interesting? Who posts, who visits? What about a website of interesting websites? What would you expect to find there? Would the site list itself? What about sites that list/link to themselves? What about a site with all sites that list themselves?

Bad sites: http://haz.ardo.us Sites listing bad sites (don’t visit them?) Where would this be useful? What about censorship (internationally?) Is this a good site or a bad site? What about sites that list/link themselves? Is haz.ardo.us there? Website of all the sites that don’t list themselves? Is notlisted.com listed on notlisted.com?

The halting problem: writing doesHalt public class ProgramUtils /** * Returns true if progname halts on input, * otherwise returns false (progname loops) */ public static boolean doesHalt(String progname, String input){ } A compiler is a program that reads other programs as input Can a word counting program count its own words? The doesHalt method might simulate, analyze, … One program/function that works for any program/input

How to tell if Foo stops on 123 456 public static void main(String[] args) { String prog = "Foo.java"; String input = "123 456" if (ProgramUtils.doesHalt(prog,input)){ System.out.println(prog+" stops"); } else { System.out.println(prog+" 4ever"); Can user enter name of program? Input? What's the problem with this program?

Consider the class Confuse.java public static void main(String[] args){ String prog = "Foo.java"; if (ProgramUtils.doesHalt(prog,prog)) { while (true) { // do nothing forever } We want to show writing doesHalt is impossible Proof by contradiction: Assume possible, show impossible situation results Can a program read a program? Itself?

Not impossible, but impractical Towers of Hanoi How long to move n disks? T(n) = 2T(n-1) + O(1) What combination of switches turns the light on? Try all combinations, how many are there? Is there a better way?

Travelling Salesperson Visit every city exactly once Minimize cost of travel or distance Is there a tour for under $2,000 ? less than 6,000 miles? Is close good enough? Within 10% of optimal Within 50% of optimal … Try all paths, from every starting point -- how long does this take? a, b, c, d, e, f, g b, a, c, d, e, f, g ...

Travelling Salesman: XKCD 399

Are hard problems easy? Clay Prize P = easy problems, NP = “hard” problems P means solvable in polynomial time Difference between N, N2, N10 ? NP means non-deterministic, polynomial time guess a solution and verify it efficiently Question: P = NP ? if yes, a whole class of difficult problems , the NP-complete problems, can be solved efficiently if no, no hard problems can be solved efficiently showing the first problem was NP complete was an exercise in intellectual bootstrapping, satisfiability/Cook/(1971)

Theory and Practice Number theory: pure mathematics How many prime numbers are there? How do we factor? How do we determine primeness? Computer Science Primality is “easy” Factoring is “hard” Encryption is possible top secret public-key cryptography randomized primality testing

Useful Computer Science http://maps.google.com/maps?f=d&source=s_d&saddr=300+W+Morga n+St,+Durham,+NC+27701+(Blue+Coffee+Express)&daddr=2324+Duke +University+Road,+Durham,+NC+27708&hl=en&geocode=FcNJJQIdYw5 M-yGT6vAZOfvdQg%3B&mra=ls&sll=36.088126,-79.01786&sspn=1.333 898,2.11212 Blue Express LSRC Research Dr 2324 Duke University Road

How does this work? http://tinyurl.com/d5o8mr

In Re Boucher 2007 WL 4246473 314983 porn

Courses of Study What do you take first? What’s next? In between? Who teaches what?