CS 374: Algorithms & Models of Computation - Fall 2017 Syllabus, Lecture notes of Theory of Computation

University of Illinois, Urbana-Champaign ... Introduction to Theory of Computation by Sipser ... Self-study quizzes each week on Moodle.

Typology: Lecture notes

2022/2023

Uploaded on 05/11/2023

obesix
obesix 🇺🇸

4.3

(19)

237 documents

1 / 7

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CS 374: Algorithms & Models of Computation
Sariel Har-Peled
University of Illinois, Urbana-Champaign
Fall 2017
Sariel Har-Peled (UIUC) CS374 1 Fall 2017 1 / 26
Algorithms & Models of Computation
CS/ECE 374, Fall 2017
Administrivia, Introduction
Lecture 1
Tuesday, August 29, 2017
Sariel Har-Peled (UIUC) CS374 2 Fall 2017 2 / 26
Part I
Administrivia
Sariel Har-Peled (UIUC) CS374 3 Fall 2017 3 / 26
Instructional Staff
1Instructor: Sariel Har-Peled
2109students.
39 Teaching Assistants
416 Undergraduate Course Assistants
5Office hours: See course webpage
6Contacting us: Use private notes on Piazza to reach course staff.
Direct email only for sensitive or confidential information.
Sariel Har-Peled (UIUC) CS374 4 Fall 2017 4 / 26
pf3
pf4
pf5

Partial preview of the text

Download CS 374: Algorithms & Models of Computation - Fall 2017 Syllabus and more Lecture notes Theory of Computation in PDF only on Docsity!

CS 374: Algorithms & Models of Computation

Sariel Har-Peled

University of Illinois, Urbana-Champaign

Fall 2017

Sariel Har-Peled (UIUC) CS374 1 Fall 2017 1 / 26

Algorithms & Models of Computation

CS/ECE 374, Fall 2017

Administrivia, Introduction

Lecture 1

Tuesday, August 29, 2017

Sariel Har-Peled (UIUC) CS374 2 Fall 2017 2 / 26

Part I

Administrivia

Instructional Staff

1 Instructor: Sariel Har-Peled

2 109 students.

3 9 Teaching Assistants

4 16 Undergraduate Course Assistants

5 Office hours: See course webpage

6 Contacting us: Use private notes on Piazza to reach course staff.

Direct email only for sensitive or confidential information.

Online resources (^1) Webpage: General information, announcements, homeworks, course policies http://courses.engr.illinois.edu/cs374/fa2017/ (^2) Gradescope: Homework submission and grading, regrade requests (^3) Moodle: Quizzes, solutions to homeworks, grades (^4) Piazza: Announcements, online questions and discussion, contacting course staff (via private notes) See course webpage for links Important: check Piazza at least once each day. Sariel Har-Peled (UIUC) CS374 5 Fall 2017 5 / 26 Prereqs and Resources (^1) Prerequisites: CS 173 (discrete math), CS 225 (data structures) (^2) Recommended books: (not required) 1 Introduction to Theory of Computation by Sipser (^2) Introduction to Automata, Languages and Computation by Hopcroft, Motwani, Ullman (^3) Algorithms by Dasgupta, Papadimitriou & Vazirani. Available online for free! 4 Algorithm Design by Kleinberg & Tardos (^3) Lecture notes/slides/pointers: available on course web-page (^4) Additional References 1 Lecture notes of Jeff Erickson, Sariel Har-Peled, Mahesh Viswanathan and others (^2) Introduction to Algorithms: Cormen, Leiserson, Rivest, Stein. (^3) Computers and Intractability: Garey and Johnson. Sariel Har-Peled (UIUC) CS374 6 Fall 2017 6 / 26 Grading Policy: Overview (^1) Quizzes: 0% for self-study (^2) Homeworks: 28% (^3) Midterm exams: 42% ( 2 × 21%) (^4) Final exam: 30% (covers the full course content) Midterm exam dates: (^1) Midterm 1: Monday October 2, 7-9pm. (^2) Midterm 2: Monday November 13: 7-9pm. No conflict exam offered unless you have a valid excuse. Homeworks (^1) Self-study quizzes each week on Moodle. No credit but strongly recommended. (^2) One homework every week: Due on Wednesdays at 10am on Gradescope. Assigned at least a week in advance. (^3) Homeworks can be worked on in groups of up to 3 and each group submits one written solution (except Homework 0). (^4) Important: academic integrity policies. See course web page.

Miscellaneous Please contact instructors if you need special accommodations. Lectures are being taped. See course webpage. Sariel Har-Peled (UIUC) CS374 13 Fall 2017 13 / 26 Part II Course Goals and Overview Sariel Har-Peled (UIUC) CS374 14 Fall 2017 14 / 26 High-Level Questions (^1) Modeling: States/Graphs/Recursion/Algorithms. (^2) Algorithms (^1) What is an algorithm? 2 What is an efficient algorithm? (^3) Some fundamental algorithms for basic problems (^4) Broadly applicable techniques in algorithm design (^3) What is a mathematical definition of a computer? (^1) Is there a formal definition? 2 Is there a “universal” computer? (^4) What can computers compute? (^1) Are there tasks that our computers cannot do? Course Structure Course divided into three parts: (^1) Basic automata theory: finite state machines, regular languages, hint of context free languages/grammars, Turing Machines (^2) Algorithms and algorithm design techniques (^3) Undecidability and NP-Completeness, reductions to prove intractability of problems

Goals 1 (^2) Learn/remember some basic tricks, algorithms, problems, ideas (^3) Understand/appreciate limits of computation (intractability) (^4) Appreciate the importance of algorithms in computer science and beyond (engineering, mathematics, natural sciences, social sciences, ...) Sariel Har-Peled (UIUC) CS374 17 Fall 2017 17 / 26 Historical motivation for computing (^1) Fast (and automated) numerical calculations (^2) Automating mathematical theorem proving Sariel Har-Peled (UIUC) CS374 18 Fall 2017 18 / 26 Models of Computation vs Computers (^1) Model of Computation: an “idealized mathematical construct” that describes the primitive instructions and other details (^2) Computer: an actual “physical device” that implements a very specific model of computation Models and devices: (^1) Algorithms: usually at a high level in a model (^2) Device construction: usually at a low level (^3) Intermediaries: compilers (^4) How precise? Depends on the problem! (^5) Physics helps implement a model of computer (^6) Physics also inspires models of computation Adding Numbers Problem Given two n-digit numbers x and y , compute their sum. Basic addition 3141

10939

Post Correspondence Problem Given: Dominoes, each with a top-word and a bottom-word.

b

bbb

ba

bbb

abb

a

abb

baa

a

ab

Can one arrange them, using any number of copies of each type, so that the top and bottom strings are equal? abb a ba bbb abb a a ab abb baa b bbb Halting Problem Debugging problem: Given a program M and string x, does M halt when started on input x? Simpler problem: Given a program M, does M halt when it is started? Equivalently, will it print “Hello World”? One can prove that there is no algorithm for the above two problems!