Theory of Computation and Complexity Theory. COL 705! Lecture 0!

Size: px
Start display at page:

Download "Theory of Computation and Complexity Theory. COL 705! Lecture 0!"

Transcription

1 Theory of Computation and Complexity Theory COL 705! Lecture 0!

2 Class Format Two Minors: 20% each! Major: 35%! 4 HWs: 20%! Class Participation: 5%

3 Resources Slides generously shared by Manoj Prabhakaran! Text: Computational Complexity, a modern approach by Barak and Arora (freely available online)! Other resources on course webpage:

4 Plagiarism Policy What constitutes cheating?! Any cheating results in F (minimum)! No bending this rule, no discussion! If you are facing any problems, come talk to me, I will do everything possible to help.! If you resort to cheating, I will take strictest action and have no sympathy

5 Other Class Tips Ask questions! Do not be shy: if you have a doubt, then others likely do too! Be selfish, take responsibility for your learning: no one else can clarify things for you if you don t! I care very much that you understand, and will be happy to answer as many questions as you need! Ask me to speed up or slow down, give feedback. Teaching and learning are fun when

6 Computation A paradigm of modern science! Theory of computation/computational complexity is to computer science what theoretical physics is to electronics

7 Computational Complexity Computation:! Problems to be solved! Algorithms to solve them! in various models of computation! Complexity of a problem (in a comp. model)! How much resource is sufficient/necessary

8 Computational Complexity of! Problems in! Models of! computatio n w.r.t! Complexity! measures

9 Problems Input represented as (say) a binary string! Given input, find a satisfactory output! Function evaluation: only one correct output! Approximate evaluation! Search problem: find one of many (if any)! Decision problem: find out if any! A Boolean function evaluation (TRUE/FALSE)

10 Decision Problems Evaluate a Boolean function (TRUE/FALSE)! i.e., Decide if input has some property! Language! Set of inputs with a particular property! e.g. L = {x x has equal number of 0s and 1s}! Decision problem: given input, decide if it is in L

11 Problems we care about? Given a graph, find shortest path between two vertices! Given two matrices, compute their product! Given an integer, find its prime factors! Given a boolean formula, find a satisfying assignment

12 Decision versions? Is a node A on the shortest path?! Is there a factor of n that is less than k?! Given a boolean formula, is it satisfiable?

13 Complexity of Languages Some languages are simpler than others! L 1 = {x x starts with 0}! L 2 = {x x has equal number of 0s and 1s}! Simpler in what way?! Fewer calculations, less memory, need not read all input, can do in an FSM

14 Complexity of Languages Relating complexities of problems! Mo = {x x has more 0s than 1s}! Eq = {x x has equal number of 0s and 1s}! Eq(x):! Eq reduces to Mo if (Mo(x0) == TRUE and Mo(x) == FALSE) then TRUE; else FALSE! Eq is not (much) more complex than Mo. i.e., Mo is at least (almost) as complex as Eq.

15 Models of Computation FSM, PDA, TM! Variations: Non-deterministic, probabilistic. Other models: quantum computation! Church-Turing thesis: TM is as powerful as it gets! Non-uniform computation: circuit families

16 Turing Machine The idea behind digital computers may be explained by saying that these machines are intended to carry out any operations which could be done by a human computer. The human computer is supposed to be following fixed rules; he has no authority to deviate from them in any detail. We may suppose that these rules are supplied in a book, which is altered whenever he is put on to a new job. He has also an unlimited supply of paper on which he does his calculations. Alan Turing

17 Complexity Measures Number of computational steps, amount of memory, circuit size/depth,...! Exact numbers very much dependent on exact specification of the model (e.g. no. of tapes in TM)! But broad trends robust! Trends: asymptotic! Broad: Log, Poly, Exp Log Poly Exp

18 Complexity Theory What is computable?! For problems that are computable, how many resources do they need?! Many fundamental open problems

19 Complexity Theory Understand complexity of problems (i.e., how much resource used by best algorithm for it)! Relate problems to each other [Reduce]! Relate computational models/complexity measures to each other [Simulate]! Calculate complexity of problems

20 Complexity Classes Collect (decision) problems with similar complexity into classes! NP PSPACE IP IP=PSPACE P vs NP? P vs BPP? Relate classes to each other! Hundreds of classes! P BPP

21 compnp AM AM[polylog] QAM IP QIP[2] AmpP-BQP DQP NIQSZK QCMA MA BPP FH N.BPP NISZK PZK TreeBQP WAPP MA N.NISZK NISZK_h SZK SBP QSZK QMA CZK NE NP ZQP RQP RBQP YP com QMA(2) Complexity Zoo! (NP-cap-coNP)/poly NP/poly PP/poly NE/poly (k>=5)-pbp NC^1 PBP L QNC^1 CSL +EXP EXPSPACE EESPACE EEXP +L +L/poly +SAC^1 AL P/poly NC^2 P BQP/poly +P ModP SF_2 AmpMP SF_3 +SAC^0 AC^0[2] QNC_f^0 ACC^0 QACC^0 NC 1NAuxPDA^p SAC^1 AC^1 2-PBP 3-PBP 4-PBP TC^0 TC^0/poly AC^0 AC^0/poly FOLL MAC^0 QAC^0 L/poly AH ALL AvgP HalfP NT P-Close P-Sel P/log UP beta_2p compnp AM AM[polylog] BPP^{NP} QAM Sigma_2P ZPP^{NP} IP Delta_3P SQG BP.PP QIP[2] RP^{NP} PSPACE MIP MIP* QIP AM_{EXP} IP_{EXP} NEXP^{NP} MIP_{EXP} EXPH APP PP P^{#P[1]} AVBPP HeurBPP EXP AWPP A_0PP Almost-PSPACE BPEXP BPEE MA_{EXP} MP AmpP-BQP BQP Sigma_3P BQP/log DQP NIQSZK QCMA YQP PH AvgE EE NEE E Nearly-P UE ZPE BH P^{NP[log]} BPP_{path} P^{NP[log^2]} BH_2 CH EXP/poly BPE MA_E EH EEE PEXP BPL PL SC NL/poly L^{DET} polyl BPP BPP/log BPQP Check FH N.BPP NISZK PZK TreeBQP WAPP XOR-MIP*[2,1] BPP/mlog QPSPACE frip MA N.NISZK NISZK_h SZK SBP QMIP_{le} BPP//log BPP/rlog BQP/mlog BQP/qlog QRG ESPACE QSZK QMA BQP/qpoly BQP/mpoly CFL GCSL NLIN QCFL Q NLINSPACE RG CZK C_=L C_=P Coh DCFL LIN NEXP Delta_2P P^{QMA} S_2P P^{PP} QS_2P RG[1] NE RPE NEEXP NEEE ELEMENTARY PR R EP Mod_3P Mod_5P NP NP/one RP^{PromiseUP} US EQP LWPP ZQP WPP RQP NEXP/poly EXP^{NP} SEH Few P^{FewP} SPP FewL LFew NL SPL FewP FewUL LogFew RP ZPP RBQP YP ZBQP IC[log,poly] QMIP_{ne} QMIP R_HL UL RL MAJORITY PT_1 PL_{infty} MP^{#P} SF_4 RNC QNC QP NC^0 PL_1 QNC^0 SAC^0 NONE PARITY TALLY REG SPARSE NP/log NT* UAP QPLIN betap compip RE QMA(2) SUBEXP YPP Collect (decision) problems with similar complexity into classes! Relate classes to each other! Hundreds of classes!

22 Complexity Classes Easy to define classes but hard to define meaningful classes!! Capture genuine computational phenomenon such as parallelism! Robust under variations of computational model! Possibly closed under natural operations

23 Central Open Questions Is finding a solution as easy as verifying one? Is P= NP?! Is every sequential algorithm parallelizable? Is P = NC?! Are time efficient algorithms the same as those that use little space? Is P=L?! Can every efficient randomised algorithm be converted to an efficient deterministic one? Is P = BPP?

24 Complexity in various settings With various models of computation: decision trees, interactive settings, probabilistic computation! Various measures: depth, width, amount of communication, number of rounds, amount of randomness, amount of non-uniformity,...! Various connections: time vs. space, randomness vs. hardness

25 Cryptography Need to prove that a scheme is secure (according to some definition)! i.e., breaking security has high complexity! Reductions: if you could break my scheme s security efficiently, I can solve a hard problem almost as efficiently! Hard problems: almost all instances hard! For most keys scheme should be secure! Contrast with Information Theory: limited cryptography if no computational constraints on adversary

26 Computational Complexity in Economics/Games Traditionally, no computational constraints for strategizing players! But many problems in game-theory are computationally hard! Rational players may not be able to play optimally! Suggests the need to redesign markets/financial instruments to be computationally tractable! Recent results...

27 All that and much more.. Welcome to COL 705!! Textbook: complexity/

Topic II: Graph Mining

Topic II: Graph Mining Topic II: Graph Mining Discrete Topics in Data Mining Universität des Saarlandes, Saarbrücken Winter Semester 2012/13 T II.Intro-1 Topic II Intro: Graph Mining 1. Why Graphs? 2. What is Graph Mining 3.

More information

We ve studied the main models and concepts of the theory of computation:

We ve studied the main models and concepts of the theory of computation: CMPSCI 601: Summary & Conclusions Lecture 27 We ve studied the main models and concepts of the theory of computation: Computability: what can be computed in principle Logic: how can we express our requirements

More information

CS 151 Complexity Theory Spring Final Solutions. L i NL i NC 2i P.

CS 151 Complexity Theory Spring Final Solutions. L i NL i NC 2i P. CS 151 Complexity Theory Spring 2017 Posted: June 9 Final Solutions Chris Umans 1. (a) The procedure that traverses a fan-in 2 depth O(log i n) circuit and outputs a formula runs in L i this can be done

More information

Umans Complexity Theory Lectures

Umans Complexity Theory Lectures Introduction Umans Complexity Theory Lectures Lecture 5: Boolean Circuits & NP: - Uniformity and Advice, - NC hierarchy Power from an unexpected source? we know P EXP, which implies no polytime algorithm

More information

Parallel Computation: Many computations at once, we measure parallel time and amount of hardware. (time measure, hardware measure)

Parallel Computation: Many computations at once, we measure parallel time and amount of hardware. (time measure, hardware measure) CMPSCI 601: Recall From Last Time Lecture 24 Parallel Computation: Many computations at once, we measure parallel time and amount of hardware. Models: (time measure, hardware measure) Parallel RAM: number

More information

Introduction to Algorithms

Introduction to Algorithms Lecture 1 Introduction to Algorithms 1.1 Overview The purpose of this lecture is to give a brief overview of the topic of Algorithms and the kind of thinking it involves: why we focus on the subjects that

More information

UCT Algorithm Circle: Probabilistic Algorithms

UCT Algorithm Circle: Probabilistic Algorithms UCT Algorithm Circle: 24 February 2011 Outline 1 2 3 Probabilistic algorithm A probabilistic algorithm is one which uses a source of random information The randomness used may result in randomness in the

More information

CPS104 Computer Organization Lecture 1. CPS104: Computer Organization. Meat of the Course. Robert Wagner

CPS104 Computer Organization Lecture 1. CPS104: Computer Organization. Meat of the Course. Robert Wagner CPS104 Computer Organization Lecture 1 Robert Wagner Slides available on: http://www.cs.duke.edu/~raw/cps104/lectures 1 CPS104: Computer Organization Instructor: Robert Wagner Office: LSRC D336, 660-6536

More information

CS154, Lecture 18: 1

CS154, Lecture 18: 1 CS154, Lecture 18: 1 CS 154 Final Exam Wednesday December 13, 12:15-3:15 pm Skilling Auditorium You re allowed one double-sided sheet of notes Exam is comprehensive (but will emphasize post-midterm topics)

More information

Exercises Computational Complexity

Exercises Computational Complexity Exercises Computational Complexity March 22, 2017 Exercises marked with a are more difficult. 1 Chapter 7, P and NP Exercise 1. Suppose some pancakes are stacked on a surface such that no two pancakes

More information

COMP 382: Reasoning about algorithms

COMP 382: Reasoning about algorithms Spring 2015 Unit 2: Models of computation What is an algorithm? So far... An inductively defined function Limitation Doesn t capture mutation of data Imperative models of computation Computation = sequence

More information

Steven Skiena. skiena

Steven Skiena.   skiena Lecture 22: Introduction to NP-completeness (1997) Steven Skiena Department of Computer Science State University of New York Stony Brook, NY 11794 4400 http://www.cs.sunysb.edu/ skiena Among n people,

More information

CPS104 Computer Organization Lecture 1

CPS104 Computer Organization Lecture 1 CPS104 Computer Organization Lecture 1 Robert Wagner Slides available on: http://www.cs.duke.edu/~raw/cps104/lectures 1 CPS104: Computer Organization Instructor: Robert Wagner Office: LSRC D336, 660-6536

More information

NP-Completeness. Algorithms

NP-Completeness. Algorithms NP-Completeness Algorithms The NP-Completeness Theory Objective: Identify a class of problems that are hard to solve. Exponential time is hard. Polynomial time is easy. Why: Do not try to find efficient

More information

8.1 Polynomial-Time Reductions

8.1 Polynomial-Time Reductions Algorithm Design Patterns and Anti-Patterns Analysis of Algorithms Algorithm design patterns. Ex. Greed. O(n 2 ) Dijkstra s SSSP (dense) Divide-and-conquer. O(n log n) FFT. Dynamic programming. O(n 2 )

More information

4.1 Review - the DPLL procedure

4.1 Review - the DPLL procedure Applied Logic Lecture 4: Efficient SAT solving CS 4860 Spring 2009 Thursday, January 29, 2009 The main purpose of these notes is to help me organize the material that I used to teach today s lecture. They

More information

Great Theoretical Ideas in Computer Science. Lecture 27: Cryptography

Great Theoretical Ideas in Computer Science. Lecture 27: Cryptography 15-251 Great Theoretical Ideas in Computer Science Lecture 27: Cryptography What is cryptography about? Adversary Eavesdropper I will cut his throat I will cut his throat What is cryptography about? loru23n8uladjkfb!#@

More information

CPSC 121: Models of Computation

CPSC 121: Models of Computation CPSC 121: Models of Computation Unit 1 Propositional Logic Based on slides by Patrice Belleville and Steve Wolfman Last Updated: 2017-09-09 12:04 AM Pre Lecture Learning Goals By the start of the class,

More information

31.6 Powers of an element

31.6 Powers of an element 31.6 Powers of an element Just as we often consider the multiples of a given element, modulo, we consider the sequence of powers of, modulo, where :,,,,. modulo Indexing from 0, the 0th value in this sequence

More information

Communication Complexity and Parallel Computing

Communication Complexity and Parallel Computing Juraj Hromkovic Communication Complexity and Parallel Computing With 40 Figures Springer Table of Contents 1 Introduction 1 1.1 Motivation and Aims 1 1.2 Concept and Organization 4 1.3 How to Read the

More information

1. [5 points each] True or False. If the question is currently open, write O or Open.

1. [5 points each] True or False. If the question is currently open, write O or Open. University of Nevada, Las Vegas Computer Science 456/656 Spring 2018 Practice for the Final on May 9, 2018 The entire examination is 775 points. The real final will be much shorter. Name: No books, notes,

More information

Lecture 2: NP-Completeness

Lecture 2: NP-Completeness NP and Latin Squares Instructor: Padraic Bartlett Lecture 2: NP-Completeness Week 4 Mathcamp 2014 In our last class, we introduced the complexity classes P and NP. To motivate why we grouped all of NP

More information

Final Course Review. Reading: Chapters 1-9

Final Course Review. Reading: Chapters 1-9 Final Course Review Reading: Chapters 1-9 1 Objectives Introduce concepts in automata theory and theory of computation Identify different formal language classes and their relationships Design grammars

More information

INTRODUCTION TO LABVIEW

INTRODUCTION TO LABVIEW INTRODUCTION TO LABVIEW 2nd Year Microprocessors Laboratory 2012-2013 INTRODUCTION For the first afternoon in the lab you will learn to program using LabVIEW. This handout is designed to give you an introduction

More information

Lecture 5: Zero Knowledge for all of NP

Lecture 5: Zero Knowledge for all of NP 600.641 Special Topics in Theoretical Cryptography February 5, 2007 Lecture 5: Zero Knowledge for all of NP Instructor: Susan Hohenberger Scribe: Lori Kraus 1 Administrative The first problem set goes

More information

We show that the composite function h, h(x) = g(f(x)) is a reduction h: A m C.

We show that the composite function h, h(x) = g(f(x)) is a reduction h: A m C. 219 Lemma J For all languages A, B, C the following hold i. A m A, (reflexive) ii. if A m B and B m C, then A m C, (transitive) iii. if A m B and B is Turing-recognizable, then so is A, and iv. if A m

More information

University of Nevada, Las Vegas Computer Science 456/656 Fall 2016

University of Nevada, Las Vegas Computer Science 456/656 Fall 2016 University of Nevada, Las Vegas Computer Science 456/656 Fall 2016 The entire examination is 925 points. The real final will be much shorter. Name: No books, notes, scratch paper, or calculators. Use pen

More information

CS 580: Algorithm Design and Analysis

CS 580: Algorithm Design and Analysis CS 580: Algorithm Design and Analysis Jeremiah Blocki Purdue University Spring 2018 Homework 4: Due tomorrow (March 9) at 11:59 PM Recap Linear Programming Very Powerful Technique (Subject of Entire Courses)

More information

3/7/2018. CS 580: Algorithm Design and Analysis. 8.1 Polynomial-Time Reductions. Chapter 8. NP and Computational Intractability

3/7/2018. CS 580: Algorithm Design and Analysis. 8.1 Polynomial-Time Reductions. Chapter 8. NP and Computational Intractability Algorithm Design Patterns and Anti-Patterns CS 580: Algorithm Design and Analysis Jeremiah Blocki Purdue University Spring 2018 Algorithm design patterns. Ex. Greedy. O(n log n) interval scheduling. Divide-and-conquer.

More information

378: Machine Organization and Assembly Language

378: Machine Organization and Assembly Language 378: Machine Organization and Assembly Language Spring 2010 Luis Ceze Slides adapted from: UIUC, Luis Ceze, Larry Snyder, Hal Perkins 1 What is computer architecture about? Computer architecture is the

More information

Crypto-systems all around us ATM machines Remote logins using SSH Web browsers (https invokes Secure Socket Layer (SSL))

Crypto-systems all around us ATM machines Remote logins using SSH Web browsers (https invokes Secure Socket Layer (SSL)) Introduction (Mihir Bellare Text/Notes: http://cseweb.ucsd.edu/users/mihir/cse207/) Cryptography provides: Data Privacy Data Integrity and Authenticity Crypto-systems all around us ATM machines Remote

More information

CSE 100: B+ TREE, 2-3 TREE, NP- COMPLETNESS

CSE 100: B+ TREE, 2-3 TREE, NP- COMPLETNESS CSE 100: B+ TREE, 2-3 TREE, NP- COMPLETNESS Analyzing find in B-trees Since the B-tree is perfectly height-balanced, the worst case time cost for find is O(logN) Best case: If every internal node is completely

More information

Lecture 10, Zero Knowledge Proofs, Secure Computation

Lecture 10, Zero Knowledge Proofs, Secure Computation CS 4501-6501 Topics in Cryptography 30 Mar 2018 Lecture 10, Zero Knowledge Proofs, Secure Computation Lecturer: Mahmoody Scribe: Bella Vice-Van Heyde, Derrick Blakely, Bobby Andris 1 Introduction Last

More information

The physical connection to the 861 Reference System consists of a Null Modem / RS232C cable.

The physical connection to the 861 Reference System consists of a Null Modem / RS232C cable. This document provides relevant RS232 commands for the Meridian 861 Surround Processor. All basic commands take the form of two ASCII characters followed by a carriage return to execute. Once a basic command

More information

Constraint Satisfaction Problems (CSPs)

Constraint Satisfaction Problems (CSPs) Constraint Satisfaction Problems (CSPs) CPSC 322 CSP 1 Poole & Mackworth textbook: Sections 4.0-4.2 Lecturer: Alan Mackworth September 28, 2012 Problem Type Static Sequential Constraint Satisfaction Logic

More information

Embedded Systems Design Prof. Anupam Basu Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Embedded Systems Design Prof. Anupam Basu Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Embedded Systems Design Prof. Anupam Basu Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 05 Optimization Issues Now I see, that is not been seen there;

More information

Lecture 6: ZK Continued and Proofs of Knowledge

Lecture 6: ZK Continued and Proofs of Knowledge 600.641 Special Topics in Theoretical Cryptography 02/06/06 Lecture 6: ZK Continued and Proofs of Knowledge Instructor: Susan Hohenberger Scribe: Kevin Snow 1 Review / Clarification At the end of last

More information

MAC Theory. Chapter 7. Ad Hoc and Sensor Networks Roger Wattenhofer

MAC Theory. Chapter 7. Ad Hoc and Sensor Networks Roger Wattenhofer MAC Theory Chapter 7 7/1 Seeing Through Walls! [Wilson, Patwari, U. Utah] Schoolboy s dream, now reality thank to sensor networks... 7/2 Rating Area maturity First steps Text book Practical importance

More information

Organization of Programming Languages CS3200/5200N. Lecture 11

Organization of Programming Languages CS3200/5200N. Lecture 11 Organization of Programming Languages CS3200/5200N Razvan C. Bunescu School of Electrical Engineering and Computer Science bunescu@ohio.edu Functional vs. Imperative The design of the imperative languages

More information

CS1800 Discrete Structures Fall 2016 Profs. Aslam, Gold, Ossowski, Pavlu, & Sprague December 16, CS1800 Discrete Structures Final

CS1800 Discrete Structures Fall 2016 Profs. Aslam, Gold, Ossowski, Pavlu, & Sprague December 16, CS1800 Discrete Structures Final CS1800 Discrete Structures Fall 2016 Profs. Aslam, Gold, Ossowski, Pavlu, & Sprague December 16, 2016 Instructions: CS1800 Discrete Structures Final 1. The exam is closed book and closed notes. You may

More information

CSE 120. Computer Science Principles

CSE 120. Computer Science Principles Adam Blank Lecture 17 Winter 2017 CSE 120 Computer Science Principles CSE 120: Computer Science Principles Proofs & Computation e w h e q 0 q 1 q 2 q 3 h,e w,e w,h w,h q garbage w,h,e CSE = Abstraction

More information

MIDTERM EXAMINATION Networked Life (NETS 112) November 21, 2013 Prof. Michael Kearns

MIDTERM EXAMINATION Networked Life (NETS 112) November 21, 2013 Prof. Michael Kearns MIDTERM EXAMINATION Networked Life (NETS 112) November 21, 2013 Prof. Michael Kearns This is a closed-book exam. You should have no material on your desk other than the exam itself and a pencil or pen.

More information

USING QBF SOLVERS TO SOLVE GAMES AND PUZZLES. Zhihe Shen. Advisor: Howard Straubing

USING QBF SOLVERS TO SOLVE GAMES AND PUZZLES. Zhihe Shen. Advisor: Howard Straubing Boston College Computer Science Senior Thesis USING QBF SOLVERS TO SOLVE GAMES AND PUZZLES Zhihe Shen Advisor: Howard Straubing Abstract There are multiple types of games, such as board games and card

More information

The physical connection to the G68 Surround Controller consists of a Null Modem / RS232C cable.

The physical connection to the G68 Surround Controller consists of a Null Modem / RS232C cable. G68 System RS232 Commands This document provides relevant RS232 commands for the Meridian G68 Surround Controller. All basic commands take the form of two ASCII characters followed by a carriage return

More information

Theory of Computations Spring 2016 Practice Final

Theory of Computations Spring 2016 Practice Final 1 of 6 Theory of Computations Spring 2016 Practice Final 1. True/False questions: For each part, circle either True or False. (23 points: 1 points each) a. A TM can compute anything a desktop PC can, although

More information

Theory of Computations Spring 2016 Practice Final Exam Solutions

Theory of Computations Spring 2016 Practice Final Exam Solutions 1 of 8 Theory of Computations Spring 2016 Practice Final Exam Solutions Name: Directions: Answer the questions as well as you can. Partial credit will be given, so show your work where appropriate. Try

More information

Designing Sequential Logic Sequential logic is used when the solution to some design problem involves a sequence of steps:

Designing Sequential Logic Sequential logic is used when the solution to some design problem involves a sequence of steps: Designing Sequential Logic Sequential logic is used when the solution to some design problem involves a sequence of steps: How to open digital combination lock w/ 3 buttons ( start, and ): Step Step Step

More information

COMS 1003 Fall Introduction to Computer Programming in C. Bits, Boolean Logic & Discrete Math. September 13 th

COMS 1003 Fall Introduction to Computer Programming in C. Bits, Boolean Logic & Discrete Math. September 13 th COMS 1003 Fall 2005 Introduction to Computer Programming in C Bits, Boolean Logic & Discrete Math September 13 th Hello World! Logistics See the website: http://www.cs.columbia.edu/~locasto/ Course Web

More information

Lecturers: Mark D. Ryan and David Galindo. Cryptography Slide: 24

Lecturers: Mark D. Ryan and David Galindo. Cryptography Slide: 24 Assume encryption and decryption use the same key. Will discuss how to distribute key to all parties later Symmetric ciphers unusable for authentication of sender Lecturers: Mark D. Ryan and David Galindo.

More information

Nondeterministic Query Algorithms

Nondeterministic Query Algorithms Journal of Universal Computer Science, vol. 17, no. 6 (2011), 859-873 submitted: 30/7/10, accepted: 17/2/11, appeared: 28/3/11 J.UCS Nondeterministic Query Algorithms Alina Vasilieva (Faculty of Computing,

More information

On partial order semantics for SAT/SMT-based symbolic encodings of weak memory concurrency

On partial order semantics for SAT/SMT-based symbolic encodings of weak memory concurrency On partial order semantics for SAT/SMT-based symbolic encodings of weak memory concurrency Alex Horn and Daniel Kroening University of Oxford April 30, 2015 Outline What s Our Problem? Motivation and Example

More information

Semantic Goal-Oriented Communication. Madhu Sudan Microsoft Research + MIT. Joint with Oded Goldreich (Weizmann) and Brendan Juba (MIT).

Semantic Goal-Oriented Communication. Madhu Sudan Microsoft Research + MIT. Joint with Oded Goldreich (Weizmann) and Brendan Juba (MIT). Semantic Goal-Oriented Communication Madhu Sudan Microsoft Research + MIT Joint with Oded Goldreich (Weizmann) and Brendan Juba (MIT). Disclaimer Work in progress (for ever) Comments/Criticisms/Collaboration/Competition

More information

CS 44 Exam #2 February 14, 2001

CS 44 Exam #2 February 14, 2001 CS 44 Exam #2 February 14, 2001 Name Time Started: Time Finished: Each question is equally weighted. You may omit two questions, but you must answer #8, and you can only omit one of #6 or #7. Circle the

More information

Copyright 2000, Kevin Wayne 1

Copyright 2000, Kevin Wayne 1 Guessing Game: NP-Complete? 1. LONGEST-PATH: Given a graph G = (V, E), does there exists a simple path of length at least k edges? YES. SHORTEST-PATH: Given a graph G = (V, E), does there exists a simple

More information

A Mathematical Proof. Zero Knowledge Protocols. Interactive Proof System. Other Kinds of Proofs. When referring to a proof in logic we usually mean:

A Mathematical Proof. Zero Knowledge Protocols. Interactive Proof System. Other Kinds of Proofs. When referring to a proof in logic we usually mean: A Mathematical Proof When referring to a proof in logic we usually mean: 1. A sequence of statements. 2. Based on axioms. Zero Knowledge Protocols 3. Each statement is derived via the derivation rules.

More information

Zero Knowledge Protocols. c Eli Biham - May 3, Zero Knowledge Protocols (16)

Zero Knowledge Protocols. c Eli Biham - May 3, Zero Knowledge Protocols (16) Zero Knowledge Protocols c Eli Biham - May 3, 2005 442 Zero Knowledge Protocols (16) A Mathematical Proof When referring to a proof in logic we usually mean: 1. A sequence of statements. 2. Based on axioms.

More information

! Greed. O(n log n) interval scheduling. ! Divide-and-conquer. O(n log n) FFT. ! Dynamic programming. O(n 2 ) edit distance.

! Greed. O(n log n) interval scheduling. ! Divide-and-conquer. O(n log n) FFT. ! Dynamic programming. O(n 2 ) edit distance. Algorithm Design Patterns and Anti-Patterns Chapter 8 NP and Computational Intractability Algorithm design patterns. Ex.! Greed. O(n log n) interval scheduling.! Divide-and-conquer. O(n log n) FFT.! Dynamic

More information

CPSC 467b: Cryptography and Computer Security

CPSC 467b: Cryptography and Computer Security CPSC 467b: Cryptography and Computer Security Michael J. Fischer Lecture 7 January 30, 2012 CPSC 467b, Lecture 7 1/44 Public-key cryptography RSA Factoring Assumption Computing with Big Numbers Fast Exponentiation

More information

Introduction to Nate Foster Spring 2018

Introduction to Nate Foster Spring 2018 Introduction to 3110 Nate Foster Spring 2018 Welcome! Programming isn t hard Programming well is very hard High variance among professionals productivity: 10x or more Studying functional programming will

More information

(Refer Slide Time 3:31)

(Refer Slide Time 3:31) Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology Madras Lecture - 5 Logic Simplification In the last lecture we talked about logic functions

More information

Turing Machines Part Two

Turing Machines Part Two Turing Machines Part Two Recap from Last Time The Turing Machine A Turing machine consists of three parts: A finite-state control that issues commands, an infinite tape for input and scratch space, and

More information

Algorithms for Nearest Neighbors

Algorithms for Nearest Neighbors Algorithms for Nearest Neighbors Classic Ideas, New Ideas Yury Lifshits Steklov Institute of Mathematics at St.Petersburg http://logic.pdmi.ras.ru/~yura University of Toronto, July 2007 1 / 39 Outline

More information

CS1800 Discrete Structures Fall 2016 Profs. Aslam, Gold, Ossowski, Pavlu, & Sprague December 16, CS1800 Discrete Structures Final

CS1800 Discrete Structures Fall 2016 Profs. Aslam, Gold, Ossowski, Pavlu, & Sprague December 16, CS1800 Discrete Structures Final CS1800 Discrete Structures Fall 2016 Profs. Aslam, Gold, Ossowski, Pavlu, & Sprague December 16, 2016 Instructions: CS1800 Discrete Structures Final 1. The exam is closed book and closed notes. You may

More information

YEAH 2: Simple Java! Avery Wang Jared Bitz 7/6/2018

YEAH 2: Simple Java! Avery Wang Jared Bitz 7/6/2018 YEAH 2: Simple Java! Avery Wang Jared Bitz 7/6/2018 What are YEAH Hours? Your Early Assignment Help Only for some assignments Review + Tips for an assignment Lectures are recorded, slides are posted on

More information

1 Introduction. 1. Prove the problem lies in the class NP. 2. Find an NP-complete problem that reduces to it.

1 Introduction. 1. Prove the problem lies in the class NP. 2. Find an NP-complete problem that reduces to it. 1 Introduction There are hundreds of NP-complete problems. For a recent selection see http://www. csc.liv.ac.uk/ ped/teachadmin/comp202/annotated_np.html Also, see the book M. R. Garey and D. S. Johnson.

More information

Lambda Calculus and Computation

Lambda Calculus and Computation 6.037 Structure and Interpretation of Computer Programs Chelsea Voss csvoss@mit.edu Massachusetts Institute of Technology With material from Mike Phillips and Nelson Elhage February 1, 2018 Limits to Computation

More information

CSE 105 THEORY OF COMPUTATION

CSE 105 THEORY OF COMPUTATION CSE 105 THEORY OF COMPUTATION Spring 2016 http://cseweb.ucsd.edu/classes/sp16/cse105-ab/ Today's learning goals Sipser Ch 3.2, 3.3 Define variants of TMs Enumerators Multi-tape TMs Nondeterministic TMs

More information

CS21 Decidability and Tractability

CS21 Decidability and Tractability CS21 Decidability and Tractability Lecture 9 January 26, 2018 Outline Turing Machines and variants multitape TMs nondeterministic TMs Church-Turing Thesis decidable, RE, co-re languages Deciding and Recognizing

More information

CSE200: Computability and complexity Interactive proofs

CSE200: Computability and complexity Interactive proofs CSE200: Computability and complexity Interactive proofs Shachar Lovett January 29, 2018 1 What are interactive proofs Think of a prover trying to convince a verifer that a statement is correct. For example,

More information

Yuval Ishai Technion

Yuval Ishai Technion Winter School on Bar-Ilan University, Israel 30/1/2011-1/2/2011 Bar-Ilan University Yuval Ishai Technion 1 Zero-knowledge proofs for NP [GMR85,GMW86] Bar-Ilan University Computational MPC with no honest

More information

More Lambda Calculus and Intro to Type Systems

More Lambda Calculus and Intro to Type Systems More Lambda Calculus and Intro to Type Systems #1 One Slide Summary The lambda calculus is a model of computation or a programming language that is as expressive as a Turing machine. The lambda calculus

More information

Research Statement. Yehuda Lindell. Dept. of Computer Science Bar-Ilan University, Israel.

Research Statement. Yehuda Lindell. Dept. of Computer Science Bar-Ilan University, Israel. Research Statement Yehuda Lindell Dept. of Computer Science Bar-Ilan University, Israel. lindell@cs.biu.ac.il www.cs.biu.ac.il/ lindell July 11, 2005 The main focus of my research is the theoretical foundations

More information

Erik Jonsson School of Engineering and Computer Science THE UNIVERSITY OF TEXAS AT DALLAS HISTORY OF EE 2310

Erik Jonsson School of Engineering and Computer Science THE UNIVERSITY OF TEXAS AT DALLAS HISTORY OF EE 2310 HISTORY OF EE 2310 Initially planned by Prof. David Harper as a counterpart to courses on computer organization and design at Berkeley and Stanford D. Patterson (Berkeley) and J. Hennessy (Stanford) are

More information

Chapter 3 Complexity of Classical Planning

Chapter 3 Complexity of Classical Planning Lecture slides for Automated Planning: Theory and Practice Chapter 3 Complexity of Classical Planning Dana S. Nau CMSC 722, AI Planning University of Maryland, Spring 2008 Licensed under the Creative Commons

More information

CISC 4090 Theory of Computation

CISC 4090 Theory of Computation CISC 4090 Theory of Computation Turing machines Professor Daniel Leeds dleeds@fordham.edu JMH 332 Alan Turing (1912-1954) Father of Theoretical Computer Science Key figure in Artificial Intelligence Codebreaker

More information

Chapter 8. NP and Computational Intractability. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

Chapter 8. NP and Computational Intractability. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. Chapter 8 NP and Computational Intractability Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 1 Algorithm Design Patterns and Anti-Patterns Algorithm design patterns.

More information

Models of Computation for Massive Data

Models of Computation for Massive Data Models of Computation for Massive Data Jeff M. Phillips August 28, 2013 Outline Sequential: External Memory / (I/O)-Efficient Streaming Parallel: P and BSP MapReduce GP-GPU Distributed Computing runtime

More information

Reductions. Linear Time Reductions. Desiderata. Reduction. Desiderata. Classify problems according to their computational requirements.

Reductions. Linear Time Reductions. Desiderata. Reduction. Desiderata. Classify problems according to their computational requirements. Desiderata Reductions Desiderata. Classify problems according to their computational requirements. Frustrating news. Huge number of fundamental problems have defied classification for decades. Desiderata'.

More information

Instructions. Notation. notation: In particular, t(i, 2) = 2 2 2

Instructions. Notation. notation: In particular, t(i, 2) = 2 2 2 Instructions Deterministic Distributed Algorithms, 10 21 May 2010, Exercises http://www.cs.helsinki.fi/jukka.suomela/dda-2010/ Jukka Suomela, last updated on May 20, 2010 exercises are merely suggestions

More information

ECE 595Z Digital Systems Design Automation

ECE 595Z Digital Systems Design Automation ECE 595Z Digital Systems Design Automation Anand Raghunathan, raghunathan@purdue.edu How do you design chips with over 1 Billion transistors? Human designer capability grows far slower than Moore s law!

More information

Section 001 & 002. Read this before starting!

Section 001 & 002. Read this before starting! Points missed: Student's Name: Total score: /100 points East Tennessee State University Department of Computer and Information Sciences CSCI 2150 (Tarnoff) Computer Organization TEST 3 for Spring Semester,

More information

Lecture 19 - Oblivious Transfer (OT) and Private Information Retrieval (PIR)

Lecture 19 - Oblivious Transfer (OT) and Private Information Retrieval (PIR) Lecture 19 - Oblivious Transfer (OT) and Private Information Retrieval (PIR) Boaz Barak November 29, 2007 Oblivious Transfer We are thinking of the following situation: we have a server and a client (or

More information

STAT 598L Probabilistic Graphical Models. Instructor: Sergey Kirshner. Introduction

STAT 598L Probabilistic Graphical Models. Instructor: Sergey Kirshner. Introduction STAT 598L Probabilistic Graphical Models Instructor: Sergey Kirshner Introduction You = 2 General Reasoning Scheme Data Conclusion 1010..00 0101..00 1010..11... Observations 3 General Reasoning Scheme

More information

Linear Time Unit Propagation, Horn-SAT and 2-SAT

Linear Time Unit Propagation, Horn-SAT and 2-SAT Notes on Satisfiability-Based Problem Solving Linear Time Unit Propagation, Horn-SAT and 2-SAT David Mitchell mitchell@cs.sfu.ca September 25, 2013 This is a preliminary draft of these notes. Please do

More information

Computational complexity

Computational complexity Computational complexity Heuristic Algorithms Giovanni Righini University of Milan Department of Computer Science (Crema) Definitions: problems and instances A problem is a general question expressed in

More information

structure syntax different levels of abstraction

structure syntax different levels of abstraction This and the next lectures are about Verilog HDL, which, together with another language VHDL, are the most popular hardware languages used in industry. Verilog is only a tool; this course is about digital

More information

Here is a list of lecture objectives. They are provided for you to reflect on what you are supposed to learn, rather than an introduction to this

Here is a list of lecture objectives. They are provided for you to reflect on what you are supposed to learn, rather than an introduction to this This and the next lectures are about Verilog HDL, which, together with another language VHDL, are the most popular hardware languages used in industry. Verilog is only a tool; this course is about digital

More information

Introduction to Prof. Clarkson Fall Today s music: Prelude from Final Fantasy VII by Nobuo Uematsu (remastered by Sean Schafianski)

Introduction to Prof. Clarkson Fall Today s music: Prelude from Final Fantasy VII by Nobuo Uematsu (remastered by Sean Schafianski) Introduction to 3110 Prof. Clarkson Fall 2017 Today s music: Prelude from Final Fantasy VII by Nobuo Uematsu (remastered by Sean Schafianski) Welcome! Programming isn t hard Programming well is very hard

More information

! Greed. O(n log n) interval scheduling. ! Divide-and-conquer. O(n log n) FFT. ! Dynamic programming. O(n 2 ) edit distance.

! Greed. O(n log n) interval scheduling. ! Divide-and-conquer. O(n log n) FFT. ! Dynamic programming. O(n 2 ) edit distance. Algorithm Design Patterns and Anti-Patterns 8. NP and Computational Intractability Algorithm design patterns. Ex.! Greed. O(n log n) interval scheduling.! Divide-and-conquer. O(n log n) FFT.! Dynamic programming.

More information

MATHEMATICAL STRUCTURES FOR COMPUTER SCIENCE

MATHEMATICAL STRUCTURES FOR COMPUTER SCIENCE MATHEMATICAL STRUCTURES FOR COMPUTER SCIENCE A Modern Approach to Discrete Mathematics SIXTH EDITION Judith L. Gersting University of Hawaii at Hilo W. H. Freeman and Company New York Preface Note to the

More information

Software Verification : Introduction

Software Verification : Introduction Software Verification : Introduction Ranjit Jhala, UC San Diego April 4, 2013 What is Algorithmic Verification? Algorithms, Techniques and Tools to ensure that Programs Don t Have Bugs (What does that

More information

Read this before starting!

Read this before starting! Points missed: Student's Name: Total score: /100 points East Tennessee State University Department of Computer and Information Sciences CSCI 4717 Computer Architecture TEST 1 for Fall Semester, 2005 Section

More information

CSC630/CSC730 Parallel & Distributed Computing

CSC630/CSC730 Parallel & Distributed Computing CSC630/CSC730 Parallel & Distributed Computing Analytical Modeling of Parallel Programs Chapter 5 1 Contents Sources of Parallel Overhead Performance Metrics Granularity and Data Mapping Scalability 2

More information

Kurose & Ross, Chapters (5 th ed.)

Kurose & Ross, Chapters (5 th ed.) Kurose & Ross, Chapters 8.2-8.3 (5 th ed.) Slides adapted from: J. Kurose & K. Ross \ Computer Networking: A Top Down Approach (5 th ed.) Addison-Wesley, April 2009. Copyright 1996-2010, J.F Kurose and

More information

NP-Hardness. We start by defining types of problem, and then move on to defining the polynomial-time reductions.

NP-Hardness. We start by defining types of problem, and then move on to defining the polynomial-time reductions. CS 787: Advanced Algorithms NP-Hardness Instructor: Dieter van Melkebeek We review the concept of polynomial-time reductions, define various classes of problems including NP-complete, and show that 3-SAT

More information

Randomized algorithms have several advantages over deterministic ones. We discuss them here:

Randomized algorithms have several advantages over deterministic ones. We discuss them here: CS787: Advanced Algorithms Lecture 6: Randomized Algorithms In this lecture we introduce randomized algorithms. We will begin by motivating the use of randomized algorithms through a few examples. Then

More information

6. Advanced Topics in Computability

6. Advanced Topics in Computability 227 6. Advanced Topics in Computability The Church-Turing thesis gives a universally acceptable definition of algorithm Another fundamental concept in computer science is information No equally comprehensive

More information

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2016

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2016 Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2016 Lecture 15 Ana Bove May 23rd 2016 More on Turing machines; Summary of the course. Overview of today s lecture: Recap: PDA, TM Push-down

More information

CS1010 Programming Methodology A beginning in problem solving in Computer Science. Aaron Tan 24 July 2017

CS1010 Programming Methodology A beginning in problem solving in Computer Science. Aaron Tan  24 July 2017 CS1010 Programming Methodology A beginning in problem solving in Computer Science Aaron Tan http://www.comp.nus.edu.sg/~cs1010/ 24 July 2017 Announcements This document is available on the CS1010 website

More information

NP versus PSPACE. Frank Vega. To cite this version: HAL Id: hal https://hal.archives-ouvertes.fr/hal

NP versus PSPACE. Frank Vega. To cite this version: HAL Id: hal https://hal.archives-ouvertes.fr/hal NP versus PSPACE Frank Vega To cite this version: Frank Vega. NP versus PSPACE. Preprint submitted to Theoretical Computer Science 2015. 2015. HAL Id: hal-01196489 https://hal.archives-ouvertes.fr/hal-01196489

More information