Automata and Formal Languages - CM0081 Introduction
|
|
- Evangeline Logan
- 5 years ago
- Views:
Transcription
1 Automata and Formal Languages - CM0081 Introduction Andrés Sicard-Ramírez Universidad EAFIT Semester
2 Administrative Information Course Coordinator Andrés Sicard Ramírez Head of the Department of Mathematical Sciences Carlos Mario Vélez Sánchez Course web page Exams, programming labs, etc. See course web page. Convention The numbers assigned to examples, exercises or theorems correspond to the numbers in the textbook (Hopcroft, Motwani and Ullman 2007). Introduction 2/29
3 Computability (Decidability) Question What can a computer do at all? Introduction 3/29
4 Computability (Decidability) Question What can a computer do at all? Definition A computable (or decidable) problem is a problem than can be solved by a computer (informal definition). Introduction 4/29
5 Computability (Decidability) Example (The halting problem: An undecidable problem) Given an program P and an input I, to decide if the program will halt or will run forever. P Yes The halting algorithm I No Introduction 5/29
6 Algorithmic Complexity (Tractability) Comparison of several time complexity functions f(n) log n 2.3 sec 3.9 sec 4.6 sec n 10.0 sec 50.0 sec 1.7 min n min 41.7 min 2.8 h 2 n 17.1 min c c 3 n 16.4 h c c n! 42.0 d c c Introduction 6/29
7 Algorithmic Complexity (Tractability) Question What can a computer do efficiently? Introduction 7/29
8 Algorithmic Complexity (Tractability) Question What can a computer do efficiently? Definition A tractable problem is a problem than can be solved by a computer algorithm that run in polynomial time. Introduction 8/29
9 Algorithmic Complexity (Tractability) Definition A literal is an atomic formula (propositional variable) or the negation of an atomic formula. Definition A (propositional logic) formula F is said to be in conjunctive normal form, if and only if, F has the form F 1 F n, n 1, where each F 1,, F n is a disjunction of literals. Introduction 9/29
10 Algorithmic Complexity (Tractability) Example (3-SAT: An intractable problem) To determine the satisfiability of a propositional formula in conjunctive normal form where each disjunction of literals is limited to at most three literals. The problem was proposed in Karp s 21 NP-complete problems (Karp 1972). Introduction 10/29
11 Algorithmic Complexity (Tractability) Improvements on 3-SAT deterministic algorithmic complexity O( n ) Makino, Tamaki and Yamamoto (2011, 2013) O( n ) Moser and Scheder (2011) O(1.439 n ) Kutzkov and Scheder (2010) O(1.465 n ) Scheder (2008) O(1.473 n ) Brueggemann and Kern (2004) O(1.481 n ) Dantsin, Goerdt, Hirsch, Kannan, Kleinberg, Papadimitriou, Raghavan and Schöning (2002) O(1.497 n ) Schiermeyer (1996) O(1.505 n ) Kullmann (1999) O( n ) Monien and Speckenmeyer (1979, 1985) O(2 n ) Brute-force search Main sources: Hertli (2011, 2015). Last updated: July Introduction 11/29
12 Algorithmic Complexity (Tractability) Supercomputers Machines from: Petaflops (PFs): floating-point operations per second Date Machine PFs Summit Sunway TaihuLight Tianhe Blue Gene/Q K computer 8.16 Last updated: TOP500 List - June Introduction 12/29
13 Algorithmic Complexity (Tractability) Simulation: Running 3-SAT times on different supercomputers using the faster deterministic algorithm, i.e., O( n ) Machine PFs Summit sec 1.6 y c Sunway TaihuLight sec 2.1 y c Tianhe min 5.8 y c Blue Gene/Q min 12.0 y c K computer min 24.0 y c Introduction 13/29
14 Algorithmic Complexity (Tractability) Simulation: Running 3-SAT times for different deterministic algorithms using the faster supercomputer, i.e., PFs Complexity O( n ) 32.1 sec 1.6 y c O( n ) 45.5 sec 2.6 y c O(1.439 n ) 48.6 sec c c O(1.465 n ) 1.9 y c c O(2 n ) 3.7 y c c Introduction 14/29
15 Computability and Algorithmic Complexity Problem (TM-Computability) Computable (decidable) problem (Algorithm Complexity) Tractable problem Intractable problem Non-computable (undecidable) problem (Hypercomputation) Introduction 15/29
16 Course Outline Language Machine Other models Regular DFA Regular expressions NFA ε-nfa Context-free Pushdown automata Recursive Halting TMs λ-calculus Total recursive functions Recursively enumerable TMs λ-calculus Partial recursive functions DFA: NFA: ε-nfa: TM: Deterministic finite automata Non-deterministic finite automata Non-deterministic finite automata with ε-transitions Turing machine Introduction 16/29
17 Paradigms of Programming Some paradigms Imperative: Describe computation in terms of state-transforming operations such as assignment. Programming is done with statements. Logic: Predicate calculus as a programming language. Programming is done with sentences. Functional: Describe computation in terms of (mathematical) functions. Programming is done with expressions. Examples C Imperative C++ Java Logic CLP(R) Prolog Standard ML Functional Erlang Haskell Introduction 17/29
18 Pure Functional Programming Side effects A side effect introduces a dependency between the global state of the system and the behaviour of a function... Side effects are essentially invisible inputs to, or outputs from, functions. (O Sullivan, Goerzen and Stewart 2008, p. 27) Introduction 18/29
19 Pure Functional Programming Pure functions A function may be described as pure if both these statements about the function hold: 1. The function always evaluates the same result value given the same argument value(s). The function result value cannot depend on any... state that may change as program execution proceeds or between different executions of the program, nor can it depend on any external input from I/O devices. Wikipedia: Pure function (July 28, 2014). Introduction 19/29
20 Pure Functional Programming Pure functions A function may be described as pure if both these statements about the function hold: 1. The function always evaluates the same result value given the same argument value(s). The function result value cannot depend on any... state that may change as program execution proceeds or between different executions of the program, nor can it depend on any external input from I/O devices. 2. Evaluation of the result does not cause any semantically observable side effect or output, such as mutation of mutable objects or output to I/O devices. Wikipedia: Pure function (July 28, 2014). Introduction 20/29
21 Pure Functional Programming Pure functions...take all their input as explicit arguments, and produce all their output as explicit results. (Hutton 2016, 10.1) Introduction 21/29
22 Pure Functional Programming Referential transparency Equals can be replaced by equals Introduction 22/29
23 Pure Functional Programming Referential transparency Equals can be replaced by equals By definition, a function in Haskell defines a fixed relation between inputs and output: whenever a function f is applied to the argument value arg it will produce the same output no matter what the overall state of the computation is. Haskell, like any other pure functional language, is said to be referentially transparent or side-effect free. This property does not hold for imperative languages... (Grune, Bal, Jacobs and Langendoen 2003, pp ) Introduction 23/29
24 Pure Functional Programming Reasoning about (pure) functional programs Equational reasoning + induction + co-induction + Introduction 24/29
25 Reading Homework To read from the textbook the following sections: 1.1. Why Study Automata Theory? 1.2. Introduction to Formal Proofs 1.3. Additional Forms of Proofs Introduction 25/29
26 References Brueggemann, T. and Kern, W. (2004). An Improved Deterministic Local Search Algorithm for 3-SAT. In: Theoretical Computer Science , pp doi: /j.tcs (cit. on p. 11). Dantsin, E. et al. (2002). A Deterministic (2 2/(k + 1)) n Algorithm for k-sat Based on Local Search. In: Theoretical Computer Science 289.1, pp doi: /S (01) (cit. on p. 11). Grune, D., Bal, H. E., Jacobs, C. J. H. and Langendoen, K. G. (2003). Modern Compiler Desing. John Wiley & Sons (cit. on pp. 22, 23). Hertli, T. (2011). 3-SAT Faster and Simpler - Unique-SAT Bounds for PPSZ Hold in General. In: Proceedings of the 52nd Annual Symposium on Foundations of Computer Science (FOCS 2011). IEEE, pp doi: /FOCS (cit. on p. 11). (2015). Improved Exponential Algorithms for SAT and ClSP. PhD thesis. ETH Zurich. doi: /ethz-a (cit. on p. 11). Introduction 26/29
27 References Hopcroft, J. E., Motwani, R. and Ullman, J. D. (2007). Introduction to Automata theory, Languages, and Computation. 3rd ed. Pearson Education (cit. on p. 2). Hutton, G. (2016). Programming in Haskell. 2nd ed. Cambridge University Press (cit. on p. 21). Karp, R. M. (1972). Reducibility Among Combinatorial Problems. In: Complexity of Computer Computations. Ed. by Miller, R. E. and Thatcher, J. W. Plenum Press, pp doi: / _9 (cit. on p. 10). Kullmann, O. (1999). New Methods for 3-SAT Decision and Worst-Case Analysis. In: Theoretical Computer Science , pp doi: /S (98) (cit. on p. 11). Kutzkov, K. and Scheder, D. (2010). Using CSP to Improve Deterministic 3-SAT. CoRR abs/ url: (cit. on p. 11). Introduction 27/29
28 References Makino, K., Tamaki, S. and Yamamoto, M. (2011). Derandomizing HSSW Algorithm for 3-SAT. In: Computing and Combinatorics (COCOON 2011). Ed. by Fu, B. and Du, D.-Z. Vol Lecture Notes in Computer Science. Springer, pp doi: / _1 (cit. on p. 11). (2013). Derandomizing HSSW Algorithm for 3-SAT. In: Algorithmica 67.2, pp doi: /s (cit. on p. 11). Monien, B. and Speckenmeyer, E. (1979). 3-Satisfiability is Testable in O(1.62 r ) Steps. Tech. rep. 3/1979. Reihe Theoretische Informatik, Universität-Gesamthochschule-Paderborn (cit. on p. 11). (1985). Solving Satisfiability in less than 2 n Steps. In: Discrete Applied Mathematics 10.3, pp doi: / X(85) (cit. on p. 11). Moser, R. A. and Scheder, D. (2011). A Full Derandomization of Schöning s k-sat Algorithm. In: Proceedings of the Forty-third Annual ACM Symposium on Theory of Computing (STOC 2011), pp doi: / (cit. on p. 11). Introduction 28/29
29 References O Sullivan, B., Goerzen, J. and Stewart, D. (2008). Real World Haskell. O REILLY (cit. on p. 18). Scheder, D. (2008). Guided Search and a Faster Deterministic Algorithm for 3-SAT. In: Proc. of the 8th Latin American Symposium on Theoretical Informatic (LATIN 2008). Ed. by Laber, E. S., Bornstein, C., Nogueira, T. L. and Faria, L. Vol Lecture Notes in Computer Science. Springer, pp doi: / _6 (cit. on p. 11). Schiermeyer, I. (1996). Pure Literal Look Ahead: An O(1.497 n ) 3-Satisfability Algorithm (Extended Abstract). Workshop on the Satisfability Problem, Siena url: (cit. on p. 11). Introduction 29/29
Source of Slides: Introduction to Automata Theory, Languages, and Computation By John E. Hopcroft, Rajeev Motwani and Jeffrey D.
Source of Slides: Introduction to Automata Theory, Languages, and Computation By John E. Hopcroft, Rajeev Motwani and Jeffrey D. Ullman And Introduction to Languages and The by J. C. Martin Basic Mathematical
More informationFinite 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 informationAutomata and Formal Languages - CM0081 Introduction to Agda
Automata and Formal Languages - CM0081 Introduction to Agda Andrés Sicard-Ramírez Universidad EAFIT Semester 2018-2 Introduction Curry-Howard correspondence Dependent types Constructivism Martin-Löf s
More informationIntroduction to the Theory of Computation, Sipser, PWS, ISBN X, 1996
CA320: COMPUTABILITY AND COMPLEXITY 1 1 Introduction CA320 Computability and Complexity Lecturer: Office: L2.55 Phone: 5017 Email: hamilton@computing.dcu.ie WWW: http://www.computing.dcu.ie/ hamilton Course
More informationFaster Exact Solving of SAT Formulae with a Low Number of Occurrences per Variable
Faster Exact Solving of SAT Formulae with a Low Number of Occurrences per Variable Magnus Wahlström Department of Computer and Information Science Linköping University SE-581 83 Linköping, Sweden magwa@ida.liu.se
More informationWelcome to MTH401A!! Theory of Computation
Welcome to MTH401A!! Theory of Computation Contact Information Instructor : Office : 327, Faculty Building Phone : 7880 or 0512-259-7880 Email : akasha@iitk.ac.in Web : www.home.iitk.ac.in/~akasha Office
More informationONE-STACK AUTOMATA AS ACCEPTORS OF CONTEXT-FREE LANGUAGES *
ONE-STACK AUTOMATA AS ACCEPTORS OF CONTEXT-FREE LANGUAGES * Pradip Peter Dey, Mohammad Amin, Bhaskar Raj Sinha and Alireza Farahani National University 3678 Aero Court San Diego, CA 92123 {pdey, mamin,
More informationLogic and Computation
Logic and Computation From Conceptualization to Formalization Here's what we do when we build a formal model (or do a computation): 0. Identify a collection of objects/events in the real world. This is
More informationNew Upper Bounds for MAX-2-SAT and MAX-2-CSP w.r.t. the Average Variable Degree
New Upper Bounds for MAX-2-SAT and MAX-2-CSP w.r.t. the Average Variable Degree Alexander Golovnev St. Petersburg University of the Russian Academy of Sciences, St. Petersburg, Russia alex.golovnev@gmail.com
More informationALGORITHMIC DECIDABILITY OF COMPUTER PROGRAM-FUNCTIONS LANGUAGE PROPERTIES. Nikolay Kosovskiy
International Journal Information Theories and Applications, Vol. 20, Number 2, 2013 131 ALGORITHMIC DECIDABILITY OF COMPUTER PROGRAM-FUNCTIONS LANGUAGE PROPERTIES Nikolay Kosovskiy Abstract: A mathematical
More informationConverting a DFA to a Regular Expression JP
Converting a DFA to a Regular Expression JP Prerequisite knowledge: Regular Languages Deterministic Finite Automata Nondeterministic Finite Automata Regular Expressions Conversion of Regular Expression
More informationNP-Completeness of 3SAT, 1-IN-3SAT and MAX 2SAT
NP-Completeness of 3SAT, 1-IN-3SAT and MAX 2SAT 3SAT The 3SAT problem is the following. INSTANCE : Given a boolean expression E in conjunctive normal form (CNF) that is the conjunction of clauses, each
More informationCompiler Construction
Compiler Construction Lecture 1: Introduction Thomas Noll Lehrstuhl für Informatik 2 (Software Modeling and Verification) noll@cs.rwth-aachen.de http://moves.rwth-aachen.de/teaching/ss-14/cc14/ Summer
More informationFormal languages and computation models
Formal languages and computation models Guy Perrier Bibliography John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman - Introduction to Automata Theory, Languages, and Computation - Addison Wesley, 2006.
More informationMidterm Exam II CIS 341: Foundations of Computer Science II Spring 2006, day section Prof. Marvin K. Nakayama
Midterm Exam II CIS 341: Foundations of Computer Science II Spring 2006, day section Prof. Marvin K. Nakayama Print family (or last) name: Print given (or first) name: I have read and understand all of
More informationLanguages and Automata
Languages and Automata What are the Big Ideas? Tuesday, August 30, 2011 Reading: Sipser 0.1 CS235 Languages and Automata Department of Computer Science Wellesley College Why Take CS235? 1. It s required
More informationComputer Sciences Department
1 Reference Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER 3 D E C I D A B I L I T Y 4 Objectives 5 Objectives investigate the power of algorithms to solve problems.
More information(a) R=01[((10)*+111)*+0]*1 (b) ((01+10)*00)*. [8+8] 4. (a) Find the left most and right most derivations for the word abba in the grammar
Code No: R05310501 Set No. 1 III B.Tech I Semester Regular Examinations, November 2008 FORMAL LANGUAGES AND AUTOMATA THEORY (Computer Science & Engineering) Time: 3 hours Max Marks: 80 Answer any FIVE
More informationTheory 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 information1. true / false By a compiler we mean a program that translates to code that will run natively on some machine.
1. true / false By a compiler we mean a program that translates to code that will run natively on some machine. 2. true / false ML can be compiled. 3. true / false FORTRAN can reasonably be considered
More informationA Simplied NP-complete MAXSAT Problem. Abstract. It is shown that the MAX2SAT problem is NP-complete even if every variable
A Simplied NP-complete MAXSAT Problem Venkatesh Raman 1, B. Ravikumar 2 and S. Srinivasa Rao 1 1 The Institute of Mathematical Sciences, C. I. T. Campus, Chennai 600 113. India 2 Department of Computer
More informationCompiler Construction
Compiler Construction WWW: http://www.cs.uu.nl/wiki/cco Contact: J.Hage@uu.nl Edition 2016/2017 Course overview 2 What is compiler construction about? Programs are usually written in a high-level programming
More informationLecture 5: The Halting Problem. Michael Beeson
Lecture 5: The Halting Problem Michael Beeson Historical situation in 1930 The diagonal method appears to offer a way to extend just about any definition of computable. It appeared in the 1920s that it
More informationNew Worst-Case Upper Bound for #2-SAT and #3-SAT with the Number of Clauses as the Parameter
Proceedings of the Twenty-Fourth AAAI Conference on Artificial Intelligence (AAAI-10) New Worst-Case Upper Bound for #2-SAT and #3-SAT with the Number of Clauses as the Parameter Junping Zhou 1,2, Minghao
More informationCSE 105 THEORY OF COMPUTATION
CSE 105 THEORY OF COMPUTATION Spring 2017 http://cseweb.ucsd.edu/classes/sp17/cse105-ab/ Today's learning goals Sipser Ch 2, 3.1 State and use the Church-Turing thesis. Describe several variants of Turing
More information1. [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 informationDefinition: A context-free grammar (CFG) is a 4- tuple. variables = nonterminals, terminals, rules = productions,,
CMPSCI 601: Recall From Last Time Lecture 5 Definition: A context-free grammar (CFG) is a 4- tuple, variables = nonterminals, terminals, rules = productions,,, are all finite. 1 ( ) $ Pumping Lemma for
More informationOn the Parameterized Max-Leaf Problems: Digraphs and Undirected Graphs
On the Parameterized Max-Leaf Problems: Digraphs and Undirected Graphs Jianer Chen and Yang Liu Department of Computer Science Texas A&M University College Station, TX 77843, USA {chen,yangliu}@cs.tamu.edu
More informationTheory of Programming Languages COMP360
Theory of Programming Languages COMP360 Sometimes it is the people no one imagines anything of, who do the things that no one can imagine Alan Turing What can be computed? Before people even built computers,
More informationImproved Algorithms for 3-Coloring, 3-Edge-Coloring, and Constraint Satisfaction
Improved Algorithms for 3-Coloring, 3-Edge-Coloring, and Constraint Satisfaction David Eppstein Abstract We consider worst case time bounds for NP-complete problems including 3-SAT, 3-coloring, 3-edge-coloring,
More informationUniversity 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 informationA Theory of Parallel Computation The π-calculus
A Theory of Parallel Computation The π-calculus Background DFAs, NFAs, pushdown automata, Turing machines... All are mathematical entities that model computation. These abstract systems have concrete,
More informationCS 242. Fundamentals. Reading: See last slide
CS 242 Fundamentals Reading: See last slide Syntax and Semantics of Programs Syntax The symbols used to write a program Semantics The actions that occur when a program is executed Programming language
More informationNP 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 informationCSE 105 THEORY OF COMPUTATION
CSE 105 THEORY OF COMPUTATION Fall 2016 http://cseweb.ucsd.edu/classes/fa16/cse105-abc/ Today's learning goals Sipser sec 3.2 Describe several variants of Turing machines and informally explain why they
More informationProblems, Languages, Machines, Computability, Complexity
CS311 Computational Structures Problems, Languages, Machines, Computability, Complexity Lecture 1 Andrew P. Black Andrew Tolmach 1 The Geography Game Could you write a computer program to play the geography
More information6 NFA and Regular Expressions
Formal Language and Automata Theory: CS21004 6 NFA and Regular Expressions 6.1 Nondeterministic Finite Automata A nondeterministic finite automata (NFA) is a 5-tuple where 1. is a finite set of states
More information! 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 informationPrograms with infinite loops: from primitive recursive predicates to the arithmetic hierarchy
Programs with infinite loops: from primitive recursive predicates to the arithmetic hierarchy ((quite) preliminary) Armando B. Matos September 11, 2014 Abstract Infinite time Turing machines have been
More informationThe Formal Semantics of Programming Languages An Introduction. Glynn Winskel. The MIT Press Cambridge, Massachusetts London, England
The Formal Semantics of Programming Languages An Introduction Glynn Winskel The MIT Press Cambridge, Massachusetts London, England Series foreword Preface xiii xv 1 Basic set theory 1 1.1 Logical notation
More informationCompiler Construction Lecture 1: Introduction Winter Semester 2018/19 Thomas Noll Software Modeling and Verification Group RWTH Aachen University
Compiler Construction Thomas Noll Software Modeling and Verification Group RWTH Aachen University https://moves.rwth-aachen.de/teaching/ws-1819/cc/ Preliminaries Outline of Lecture 1 Preliminaries What
More information8.1 Polynomial-Time Reductions
8.1 Polynomial-Time Reductions Classify Problems According to Computational Requirements Q. Which problems will we be able to solve in practice? A working definition. Those with polynomial-time algorithms.
More informationA New Reduction from 3-SAT to Graph K- Colorability for Frequency Assignment Problem
A New Reduction from 3-SAT to Graph K- Colorability for Frequency Assignment Problem Prakash C. Sharma Indian Institute of Technology Survey No. 113/2-B, Opposite to Veterinary College, A.B.Road, Village
More informationPrinciples of Compiler Construction ( )
Principles of Compiler Construction ( ) Dr Mayer Goldberg October 25, 2017 Contents 1 Course Objectives 1 2 Course Requirements 2 3 Detailed Syllabus 3 4 Computation of grade 6 5 References 6 Course number:
More informationFinite Automata. Dr. Nadeem Akhtar. Assistant Professor Department of Computer Science & IT The Islamia University of Bahawalpur
Finite Automata Dr. Nadeem Akhtar Assistant Professor Department of Computer Science & IT The Islamia University of Bahawalpur PhD Laboratory IRISA-UBS University of South Brittany European University
More informationSAT-CNF Is N P-complete
SAT-CNF Is N P-complete Rod Howell Kansas State University November 9, 2000 The purpose of this paper is to give a detailed presentation of an N P- completeness proof using the definition of N P given
More informationOn the Complexity of k-sat
Journal of Computer and System Sciences 62, 367375 (2001) doi:10.1006jcss.2000.1727, available online at http:www.idealibrary.com on On the Complexity of k-sat Russell Impagliazzo 1 and Ramamohan Paturi
More informationCompiler Construction Lecture 1: Introduction Summer Semester 2017 Thomas Noll Software Modeling and Verification Group RWTH Aachen University
Compiler Construction Thomas Noll Software Modeling and Verification Group RWTH Aachen University https://moves.rwth-aachen.de/teaching/ss-17/cc/ Preliminaries People Lectures: Thomas Noll (noll@cs.rwth-aachen.de)
More informationPrinciples of Compiler Construction ( )
Principles of Compiler Construction ( ) Dr Mayer Goldberg September 5, 2016 Contents 1 Course Objectives 1 2 Course Requirements 2 3 Detailed Syllabus 3 4 References 6 Course number: 201-1-2061 Mandatory
More information! 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 informationChapter 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 informationThe NP-Completeness of Some Edge-Partition Problems
The NP-Completeness of Some Edge-Partition Problems Ian Holyer y SIAM J. COMPUT, Vol. 10, No. 4, November 1981 (pp. 713-717) c1981 Society for Industrial and Applied Mathematics 0097-5397/81/1004-0006
More informationAn Introduction to SAT Solvers
An Introduction to SAT Solvers Knowles Atchison, Jr. Fall 2012 Johns Hopkins University Computational Complexity Research Paper December 11, 2012 Abstract As the first known example of an NP Complete problem,
More informationOn the Complexity of the Policy Improvement Algorithm. for Markov Decision Processes
On the Complexity of the Policy Improvement Algorithm for Markov Decision Processes Mary Melekopoglou Anne Condon Computer Sciences Department University of Wisconsin - Madison 0 West Dayton Street Madison,
More informationReductions and Satisfiability
Reductions and Satisfiability 1 Polynomial-Time Reductions reformulating problems reformulating a problem in polynomial time independent set and vertex cover reducing vertex cover to set cover 2 The Satisfiability
More informationComputation, Computers, and Programs. Administrivia. Resources. Course texts: Kozen: Introduction to Computability Hickey: Introduction to OCaml
CS20a: Computation, Computers, Programs Instructor: Jason Hickey Email: jyh@cs.caltech.edu Office hours: TR 10-11am TAs: Nathan Gray (n8gray@cs.caltech.edu) Brian Aydemir (emre@cs.caltech.edu) Jason Frantz
More informationTheory of Computer Science
Theory of Computer Science D3. GOTO-Computability Malte Helmert University of Basel April 25, 2016 Overview: Computability Theory Computability Theory imperative models of computation: D1. Turing-Computability
More informationIntroduction & Review
Introduction & Review York University Department of Computer Science and Engineering 1 Why this course? Overview Programming Language Paradigms Brief review of Logic Propositional logic Predicate logic
More informationPropositional Calculus: Boolean Algebra and Simplification. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson
Propositional Calculus: Boolean Algebra and Simplification CS 270: Mathematical Foundations of Computer Science Jeremy Johnson Propositional Calculus Topics Motivation: Simplifying Conditional Expressions
More informationComplexity Results on Graphs with Few Cliques
Discrete Mathematics and Theoretical Computer Science DMTCS vol. 9, 2007, 127 136 Complexity Results on Graphs with Few Cliques Bill Rosgen 1 and Lorna Stewart 2 1 Institute for Quantum Computing and School
More informationTheory Bridge Exam Example Questions Version of June 6, 2008
Theory Bridge Exam Example Questions Version of June 6, 2008 This is a collection of sample theory bridge exam questions. This is just to get some idea of the format of the bridge exam and the level of
More informationControl Flow Analysis with SAT Solvers
Control Flow Analysis with SAT Solvers Steven Lyde, Matthew Might University of Utah, Salt Lake City, Utah, USA Abstract. Control flow analyses statically determine the control flow of programs. This is
More informationAutomata Theory for Reasoning about Actions
Automata Theory for Reasoning about Actions Eugenia Ternovskaia Department of Computer Science, University of Toronto Toronto, ON, Canada, M5S 3G4 eugenia@cs.toronto.edu Abstract In this paper, we show
More informationFAdo: Interactive Tools for Learning Formal Computational Models
FAdo: Interactive Tools for Learning Formal Computational Models Rogério Reis Nelma Moreira DCC-FC& LIACC, Universidade do Porto R. do Campo Alegre 823, 4150 Porto, Portugal {rvr,nam}@ncc.up.pt Abstract
More informationThe Big Picture. Chapter 3
The Big Picture Chapter 3 Examining Computational Problems We want to examine a given computational problem and see how difficult it is. Then we need to compare problems Problems appear different We want
More informationGames, Puzzles & Computation
Games, Puzzles & Computation IPA Advanced Course on Algorithmics and Complexity Eindhoven, 8 July 2016 Walter Kosters Hendrik Jan Hoogeboom LIACS, Universiteit Leiden schedule Framework 10:00-11:00 HJ
More informationDeclarative programming. Logic programming is a declarative style of programming.
Declarative programming Logic programming is a declarative style of programming. Declarative programming Logic programming is a declarative style of programming. The programmer says what they want to compute,
More informationDiscrete Mathematics
Discrete Mathematics 310 (2010) 2769 2775 Contents lists available at ScienceDirect Discrete Mathematics journal homepage: www.elsevier.com/locate/disc Optimal acyclic edge colouring of grid like graphs
More informationCom S 541. Programming Languages I
Programming Languages I Lecturer: TA: Markus Lumpe Department of Computer Science 113 Atanasoff Hall http://www.cs.iastate.edu/~lumpe/coms541.html TR 12:40-2, W 5 Pramod Bhanu Rama Rao Office hours: TR
More informationPresented By : Abhinav Aggarwal CSI-IDD, V th yr Indian Institute of Technology Roorkee. Joint work with: Prof. Padam Kumar
Presented By : Abhinav Aggarwal CSI-IDD, V th yr Indian Institute of Technology Roorkee Joint work with: Prof. Padam Kumar A Seminar Presentation on Recursiveness, Computability and The Halting Problem
More informationUNIT I PART A PART B
OXFORD ENGINEERING COLLEGE (NAAC ACCREDITED WITH B GRADE) DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING LIST OF QUESTIONS YEAR/SEM: III/V STAFF NAME: Dr. Sangeetha Senthilkumar SUB.CODE: CS6503 SUB.NAME:
More informationINTRODUCTION PRINCIPLES OF PROGRAMMING LANGUAGES. Norbert Zeh Winter Dalhousie University 1/10
INTRODUCTION PRINCIPLES OF PROGRAMMING LANGUAGES Norbert Zeh Winter 2018 Dalhousie University 1/10 GOAL OF THIS COURSE 2/10 GOAL OF THIS COURSE Encourage you to become better programmers 2/10 GOAL OF THIS
More informationFunctional Programming Lecture 1: Introduction
Functional Programming Lecture 1: Introduction Viliam Lisý Artificial Intelligence Center Department of Computer Science FEE, Czech Technical University in Prague viliam.lisy@fel.cvut.cz Acknowledgements
More informationFunctional Logic Programming. Kristjan Vedel
Functional Logic Programming Kristjan Vedel Imperative vs Declarative Algorithm = Logic + Control Imperative How? Explicit Control Sequences of commands for the computer to execute Declarative What? Implicit
More informationCS 275 Automata and Formal Language Theory. First Problem of URMs. (a) Definition of the Turing Machine. III.3 (a) Definition of the Turing Machine
CS 275 Automata and Formal Language Theory Course Notes Part III: Limits of Computation Chapt. III.3: Turing Machines Anton Setzer http://www.cs.swan.ac.uk/ csetzer/lectures/ automataformallanguage/13/index.html
More informationDynamic Logic David Harel, The Weizmann Institute Dexter Kozen, Cornell University Jerzy Tiuryn, University of Warsaw The MIT Press, Cambridge, Massac
Dynamic Logic David Harel, The Weizmann Institute Dexter Kozen, Cornell University Jerzy Tiuryn, University of Warsaw The MIT Press, Cambridge, Massachusetts, 2000 Among the many approaches to formal reasoning
More informationLecture 9: More Lambda Calculus / Types
Lecture 9: More Lambda Calculus / Types CSC 131 Spring, 2019 Kim Bruce Pure Lambda Calculus Terms of pure lambda calculus - M ::= v (M M) λv. M - Impure versions add constants, but not necessary! - Turing-complete
More information- M ::= v (M M) λv. M - Impure versions add constants, but not necessary! - Turing-complete. - true = λ u. λ v. u. - false = λ u. λ v.
Pure Lambda Calculus Lecture 9: More Lambda Calculus / Types CSC 131 Spring, 2019 Kim Bruce Terms of pure lambda calculus - M ::= v (M M) λv. M - Impure versions add constants, but not necessary! - Turing-complete
More informationCSE 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 informationProgramming Language Pragmatics
Chapter 10 :: Functional Languages Programming Language Pragmatics Michael L. Scott Historical Origins The imperative and functional models grew out of work undertaken Alan Turing, Alonzo Church, Stephen
More informationReal-Time Operating Systems M. Course Syllabus, Spring 2013
Real-Time Operating Systems M Course Syllabus, Spring 2013 (For all students who passed the 2nd Midterm) NOTE: it is always possible to opt for the complete exam, even if the 2nd Midterm was successful.
More informationCS 314 Principles of Programming Languages
CS 314 Principles of Programming Languages Lecture 16: Functional Programming Zheng (Eddy Zhang Rutgers University April 2, 2018 Review: Computation Paradigms Functional: Composition of operations on data.
More informationFinal 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 informationImplementação de Linguagens 2016/2017
Implementação de Linguagens Ricardo Rocha DCC-FCUP, Universidade do Porto ricroc @ dcc.fc.up.pt Ricardo Rocha DCC-FCUP 1 Logic Programming Logic programming languages, together with functional programming
More informationA Note on the Succinctness of Descriptions of Deterministic Languages
INFORMATION AND CONTROL 32, 139-145 (1976) A Note on the Succinctness of Descriptions of Deterministic Languages LESLIE G. VALIANT Centre for Computer Studies, University of Leeds, Leeds, United Kingdom
More informationFunctional Languages. Hwansoo Han
Functional Languages Hwansoo Han Historical Origins Imperative and functional models Alan Turing, Alonzo Church, Stephen Kleene, Emil Post, etc. ~1930s Different formalizations of the notion of an algorithm
More informationStatic Program Analysis
Static Program Analysis Thomas Noll Software Modeling and Verification Group RWTH Aachen University https://moves.rwth-aachen.de/teaching/ss-18/spa/ Preliminaries Outline of Lecture 1 Preliminaries Introduction
More informationI have read and understand all of the instructions below, and I will obey the Academic Honor Code.
Midterm Exam CS 341-451: Foundations of Computer Science II Fall 2014, elearning section Prof. Marvin K. Nakayama Print family (or last) name: Print given (or first) name: I have read and understand all
More informationRegular Languages (14 points) Solution: Problem 1 (6 points) Minimize the following automaton M. Show that the resulting DFA is minimal.
Regular Languages (14 points) Problem 1 (6 points) inimize the following automaton Show that the resulting DFA is minimal. Solution: We apply the State Reduction by Set Partitioning algorithm (särskiljandealgoritmen)
More informationDATABASE THEORY. Lecture 11: Introduction to Datalog. TU Dresden, 12th June Markus Krötzsch Knowledge-Based Systems
DATABASE THEORY Lecture 11: Introduction to Datalog Markus Krötzsch Knowledge-Based Systems TU Dresden, 12th June 2018 Announcement All lectures and the exercise on 19 June 2018 will be in room APB 1004
More informationSyllabi of the Comprehensive Examination in Computer Science
Syllabi of the Comprehensive Examination in Computer Science The material of the comprehensive examination is drawn mostly from the undergraduate curriculum at Kuwait University and is updated to reflect
More informationOutline. Language Hierarchy
Outline Language Hierarchy Definition of Turing Machine TM Variants and Equivalence Decidability Reducibility Language Hierarchy Regular: finite memory CFG/PDA: infinite memory but in stack space TM: infinite
More informationStatic Program Analysis
Static Program Analysis Lecture 1: Introduction to Program Analysis Thomas Noll Lehrstuhl für Informatik 2 (Software Modeling and Verification) noll@cs.rwth-aachen.de http://moves.rwth-aachen.de/teaching/ws-1415/spa/
More informationTheory 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 informationFoundations. Yu Zhang. Acknowledgement: modified from Stanford CS242
Spring 2013 Foundations Yu Zhang Acknowledgement: modified from Stanford CS242 https://courseware.stanford.edu/pg/courses/317431/ Course web site: http://staff.ustc.edu.cn/~yuzhang/fpl Reading Concepts
More informationGraph Vertex Colorability & the Hardness. Mengfei Cao COMP-150 Graph Theory Tufts University
Dec. 15 th, Presentation for Final Project Graph Vertex Colorability & the Hardness Mengfei Cao COMP-150 Graph Theory Tufts University Framework In General: Graph-2-colorability is in N Graph-3-colorability
More informationCS 565: Programming Languages. Spring 2008 Tu, Th: 16:30-17:45 Room LWSN 1106
CS 565: Programming Languages Spring 2008 Tu, Th: 16:30-17:45 Room LWSN 1106 Administrivia Who am I? Course web page http://www.cs.purdue.edu/homes/peugster/cs565spring08/ Office hours By appointment Main
More informationChapter 11 :: Functional Languages
Chapter 11 :: Functional Languages Programming Language Pragmatics Michael L. Scott Copyright 2016 Elsevier 1 Chapter11_Functional_Languages_4e - Tue November 21, 2017 Historical Origins The imperative
More informationGenerating Functional Implementations of Finite State Automata in C# 3.0
Workshop on Generative Technologies 2008 Generating Functional Implementations of Finite State Automata in C# 3.0 Mihály Biczó Department of Programming Languages and Compilers Eötvös Loránd University
More informationIsomorphism of Graphs Which are k-separable*
Reprinted from INFORMATION AND CONTROL All Rights Reserved by Academic Press, New York and Vol. 56. Nos. 1-2, 1983 Printed in Belgium Isomorphism of Graphs Which are k-separable* GARY L. MILLER Department
More information