CS1502 Formal Methods in Computer Science Lecture Notes 16 Review for Exam2 continued Theory of Computation Introduction.

Slides:



Advertisements
Similar presentations
Propositional Equivalences
Advertisements

Complexity. P=NP? Who knows? Who cares? Lets revisit some questions from last time – How many pairwise comparisons do I need to do to check if a sequence.
CS1502 Formal Methods in Computer Science Lecture Notes 3 Consequence Rules Boolean Connectives.
Lecture 10 varieties of necessity tautological equivalence
8/25/2009 Sofya Raskhodnikova Intro to Theory of Computation L ECTURE 1 Theory of Computation Course information Overview of the area Finite Automata Sofya.
1 CS1502 Formal Methods in Computer Science Lecture Notes 4 Tautologies and Logical Truth.
CIT 596 Theory of computing Traditional course (CIS 511, CIS 262) and other similarly named courses in other universities are divided into 3 parts that.
January 5, 2015CS21 Lecture 11 CS21 Decidability and Tractability Lecture 1 January 5, 2015.
CSE332: Data Abstractions Lecture 27: A Few Words on NP Dan Grossman Spring 2010.
Fall 2005Costas Busch - RPI1 CSCI-2400 Models of Computation.
UMass Lowell Computer Science Foundations of Computer Science Prof. Karen Daniels Fall, 2009 Lecture 1 Introduction/Overview Th. 9/3/2009.
Logical Agents Chapter 7. Why Do We Need Logic? Problem-solving agents were very inflexible: hard code every possible state. Search is almost always exponential.
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture 1 Introduction Jan Maluszynski, IDA, 2007
1. By the end of this lecture you should be able … To describe in general terms how computers function To describe the fetch-execute cycle To explain.
Quantum Computing Lecture 1 Michele Mosca. l Course Outline
1 Lecture 14 Studying the internal structure of REC, the set of solvable problems –Complexity theory overview –Automata theory preview Motivating Problem.
Introduction to Computer Science. A Quick Puzzle Well-Formed Formula  any formula that is structurally correct  may be meaningless Axiom  A statement.
1 CS 1502 Formal Methods in Computer Science Lecture Notes 12 Variables and Quantifiers.
Intro to Discrete Structures
By: Er. Sukhwinder kaur.  Computation Computation  Algorithm Algorithm  Objectives Objectives  What do we study in Theory of Computation ? What do.
CS1502 Formal Methods in Computer Science Lecture Notes 1 Course Information Introduction to Logic Part 1.
Introduction Chapter 0. Three Central Areas 1.Automata 2.Computability 3.Complexity.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 9:10-12:10 PM, Monday Place: BL 103.
MATH 224 – Discrete Mathematics
 Predicate: A sentence that contains a finite number of variables and becomes a statement when values are substituted for the variables. ◦ Domain: the.
Introduction to the Theory of Computation
CS 390 Introduction to Theoretical Computer Science.
Automata, Computability, and Complexity Lecture 1 Section 0.1 Wed, Aug 22, 2007.
CS/IT 138 THEORY OF COMPUTATION Chapter 1 Introduction to the Theory of Computation.
INTRODUCTION TO THE THEORY OF COMPUTATION INTRODUCTION MICHAEL SIPSER, SECOND EDITION 1.
L ECTURE 1 T HEORY OF C OMPUTATION Yasir Imtiaz Khan.
Algorithms and their Applications CS2004 ( ) Dr Stephen Swift 1.2 Introduction to Algorithms.
CS3518 Languages and Computability Kees van Deemter Lectures Monday14:00New King’s 14 Tuesday11:00KC T2 Tutorials/Practicals Tuesday13:00-15:00.
CS 1308 Computer Literacy and The Internet Software.
Advanced Topics in Propositional Logic Chapter 17 Language, Proof and Logic.
CSE332: Data Abstractions Lecture 24.5: Interlude on Intractability Dan Grossman Spring 2012.
CSE 311 Foundations of Computing I Lecture 26 Computability: Turing machines, Undecidability of the Halting Problem Spring
Computer Science 101 Theory of Computing. Computer Science is... The study of algorithms, with respect to –their formal properties –their linguistic realizations.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
CSCI1600: Embedded and Real Time Software Lecture 28: Verification I Steven Reiss, Fall 2015.
CMPT 308 — Computability and Complexity Fall 2004 Instructor: Andrei Bulatov, TA: Ramsay Dyer, Learning.
NP-Completeness  For convenience, the theory of NP - Completeness is designed for decision problems (i.e. whose solution is either yes or no).  Abstractly,
Chapter 11 Introduction to Computational Complexity Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1.
Fundamentals of Informatics Lecture 12 The Halting Problem Bas Luttik.
In the news: A recently security study suggests that a computer worm that ran rampant several years ago is still running on many machines, including 50%
Young CS 331 D&A of Algo. NP-Completeness1 NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and.
1 CS1502 Formal Methods in Computer Science Notes 15 Problem Sessions.
The Church-Turing Thesis Chapter Are We Done? FSM  PDA  Turing machine Is this the end of the line? There are still problems we cannot solve:
Computation Theory Asia Mahdi. Textbooks Programs, Machines and Computation: An Introduction to the Theory of Computing - Authors: Keith Clark and Don.
CPSC 121: Models of Computation REVIEW. Course Learning Outcomes You should be able to: – model important problems so that they are easier to discuss,
Theory of Computation. Introduction We study this course in order to answer the following questions: What are the fundamental capabilities and limitations.
CENG 424-Logic for CS Introduction Based on the Lecture Notes of Konstantin Korovin, Valentin Goranko, Russel and Norvig, and Michael Genesereth.
Formal Foundations-II [Theory of Automata]
CS-300 Theory of Computation 2nd Sem 2017 Lecture 1.
Introduction to the Theory of Computation
Course 1 Introduction to Formal Languages and Automata Theory (part 1)
CSE 311 Foundations of Computing I
Automata, Formal Grammars, and Consequences
Principles of Computing – UFCFA Lecture-1
Roadmap to Programming work, right, fast KISS
Foundations of Computer Science
Introduction to Automata Theory
CS 1502 Formal Methods in Computer Science
Teori Bahasa dan Automata Lecture 1: Course Overview and Introduction
INTRODUCTION TO THE THEORY OF COMPUTATION
CSE 417: Algorithms and Computational Complexity
Teori Bahasa dan Automata Lecture 1: Course Overview and Introduction
Principles of Computing – UFCFA Week 1
Lecture One: Automata Theory Amjad Ali
Propositional Satisfiability
Presentation transcript:

CS1502 Formal Methods in Computer Science Lecture Notes 16 Review for Exam2 continued Theory of Computation Introduction

10.25 Is the following a logical truth? ~exist z Small(z)  exist z ~Small(z)

1. Every cube is to the left of every tet. 2. Every small cube is in back of a large cube Some cube is in front of every tet. 4. A large cube is in front of a small cube.

Nothing is larger than everything 6. Every cube in front of every tet is large. which is 7. Everything to the right of a large cube is small. 8. Nothing in back of a cube and in front of a cube is large.

Anything with nothing in back of it is a cube. 10. Every dodec is smaller than some tet.

Nothing to the left of a is larger than everything to the left of b 3. The same things are left of a as are left of b.

Only dodecs are larger than everything else. Answer in solution: Is this correct? Hmm….

Necessary S is always true PossibleSatisfiable S could be true Equivalence S and S’ always have the same truth values Consequence Whenever P1…Pn are true, Q is also true Tautological Translate sentences into propositional logic using TFF algorithm S is a tautology S is Tautologically possible S and S’ are Tautologically equivalent Q is a tautological consequence of P1…Pn First Order (FO) Replace predicates with nonsense names S is an FO validity S is FO possible (FO satisfiable) S and S’ are FO equivalent Q is a FO consequence of P1…Pn Logical S is logically necessary (a logical truth) (logically valid) S is logically possible (satisfiable) S and S’ are logically equivalent Q is a logical consequence of P1…Pn

Theory of Computation Sipser text covers automata, computability, and complexity CS1502: automata (chapter 1) CS1511 uses the same text

Theory of Computation What are the fundamental capabilities and limitations of computers?

Complexity Theory Classes of problem difficulty (sorting < sched) The **problems**, not the code If can show a problem is in a certain class: –‘easy’ keep working on an efficient solution! –‘hard’ give up, you won’t find a fast solution Perhaps modify the problem into an easier one; maybe solving that is good enough for what’s needed Cryptography – want problem so decoding is intractable Still important/answered questions. As new models of computation arise: what is tractable/intractable?

Computability Theory Which problems can be solved on a computer? Turing Machine: Abstract away from particular hardware, OS, PL, algorithm Can compute anything that is a Turing machine

Automata Theory Begins with the question, what is a computer? Real computers are too complex and messy to model. So, we define computational models (idealized computer)

Finite Automata; Finite-State Machines Simplest machines Cannot compute everything, but operations are cheap and efficient. So, use them if you can! Used in text processing, compilers, hardware design, etc. Composed of states and transitions between states