Where does it come from?

Similar documents
Automata and Formal Languages - CM0081 Determinist Finite Automata

1 Two-Way Deterministic Finite Automata

Let us first give some intuitive idea about a state of a system and state transitions before describing finite automata.

Introduction to Computers & Programming

Theory of Computation. Theory of Computation

Regular Languages and Finite Automata

CMP 309: Automata Theory, Computability and Formal Languages. Adapted from the work of Andrej Bogdanov

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization

Business Processes Modelling MPB (6 cfu, 295AA)

On Rice s theorem. Hans Hüttel. October 2001

Methods for the specification and verification of business processes MPB (6 cfu, 295AA)

Methods for the specification and verification of business processes MPB (6 cfu, 295AA)

Chapter Two: Finite Automata


Introduction to the Theory of Computation. Automata 1VO + 1PS. Lecturer: Dr. Ana Sokolova.

Introduction to Turing Machines

3515ICT: Theory of Computation. Regular languages

Introduction to the Theory of Computation. Automata 1VO + 1PS. Lecturer: Dr. Ana Sokolova.

Introduction to Finite-State Automata

TEEM-3 Jan Dietz & Jan Hoogervorst - The δ-theory v2 page Introduction. 2. Finite automata

CS 208: Automata Theory and Logic

Deterministic Finite Automaton (DFA)

Chap. 2 Finite Automata

Automata and Formal Languages - CM0081 Finite Automata and Regular Expressions

CS 256: Neural Computation Lecture Notes

Latches. October 13, 2003 Latches 1

Deterministic Finite Automata

The theory of regular cost functions.

Chap. 2 Finite Automata

Finite-State Machines (Automata) lecture 12

Finite Automata and Languages

INF210 Datamaskinteori (Models of Computation)

On Stateless Multicounter Machines

Finite Automata. Warren McCulloch ( ) and Walter Pitts ( )

IST 4 Information and Logic

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2017

Overview. Discrete Event Systems Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for?

Part I: Definitions and Properties

Automata, Logic and Games: Theory and Application

Unit 8: Sequ. ential Circuits

CISC 4090: Theory of Computation Chapter 1 Regular Languages. Section 1.1: Finite Automata. What is a computer? Finite automata

Learning Regular ω-languages

Lecture 10: Synchronous Sequential Circuits Design

Turing Machines. Nicholas Geis. February 5, 2015

jflap demo Regular expressions Pumping lemma Turing Machines Sections 12.4 and 12.5 in the text

Great Ideas in Theoretical Computer Science

Introduction to Theoretical Computer Science. Motivation. Automata = abstract computing devices

Logic Programming. Prolog : 3

Theory of Computation

Recap from Last Time

CSE 135: Introduction to Theory of Computation Nondeterministic Finite Automata

Deterministic Finite Automata (DFAs)

Formal Models in NLP

What You Must Remember When Processing Data Words

Chap. 2 Finite Automata

Fundamentals of Computer Science

In recent years CTL and LTL logics have been used with considerable industrial success.

Deterministic Finite Automata (DFAs)

Models of Computation I: Finite State Automata

Computability Theory for Neuroscience

Turing Machines, diagonalization, the halting problem, reducibility

Lecture 2: Connecting the Three Models

Introduction to Automata

Introduction to Kleene Algebra Lecture 9 CS786 Spring 2004 February 23, 2004

Theory of computation: initial remarks (Chapter 11)

Nominal Automata. Mikolaj Bojanczyk 1, Bartek Klin 12, Slawomir Lasota 1 1. University of Cambridge. Warsaw University 2. Leicester, 04/03/11

CSE 105 Theory of Computation

CS 126 Lecture T6: NP-Completeness

Uses of finite automata

Undecidability. Andreas Klappenecker. [based on slides by Prof. Welch]

CISC 4090 Theory of Computation

CSE 211. Pushdown Automata. CSE 211 (Theory of Computation) Atif Hasan Rahman

Automata and Formal Languages - CM0081 Non-Deterministic Finite Automata

(Refer Slide Time: 0:21)

Sri vidya college of engineering and technology

Minesweeper is NP-Complete

Introduction Biologically Motivated Crude Model Backpropagation

Limits of Computation

Compiler Design. Spring Lexical Analysis. Sample Exercises and Solutions. Prof. Pedro Diniz

Reification of Boolean Logic

UNIT-III REGULAR LANGUAGES

arxiv: v1 [cs.cc] 3 Feb 2019

Quasi-Weak Cost Automata

Finite-state machines (FSMs)

CSE370: Introduction to Digital Design

CHAPTER 1 Regular Languages. Contents

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

CSCE 551: Chin-Tser Huang. University of South Carolina

Computational Models - Lecture 4

Finite Automata. Dr. Neil T. Dantam. Fall CSCI-561, Colorado School of Mines. Dantam (Mines CSCI-561) Finite Automata Fall / 43

2 n Minesweeper Consistency Problem is in P

Constructive Formalization of Regular Languages

Chaos, Complexity, and Inference (36-462)

Introduction to Turing Machines. Reading: Chapters 8 & 9

CS 275 Automata and Formal Language Theory

Finite Automata. BİL405 - Automata Theory and Formal Languages 1

Automata Theory for Presburger Arithmetic Logic

CSC258: Computer Organization. Digital Logic: Transistors and Gates

State Machines. Example FSM: Roboant

Transcription:

1 Course organization Textbook J.E. Hopcroft, R. Motwani, J.D. Ullman Introduction to Automata Theory, Languages, and Computation Second Edition, Addison-Wesley, New York, 2001 We shall cover Chapters 1-7 I will add (at least): Moore/Mealy machines, Myhill-Nerode Theorem, abstract state (another algorithm for computing minimal automata) Exercise Sessions: very important

2 Where does it come from? Neurophysiologist Warren McCulloch and logician Walter Pitts A logical calculus of the ideas immanent in nervous activity Bull. Math. Biophysics 5 (1943), pp. 115-133 Developed models of neural networks based on their understanding of neurology Rich paper: neural newtorks with feedback loops, and attempt to model the nervous structure

3 Where does it come from? Work of the logician Church on checking and designing circuit The model of Pitts-McCulloch was simplified by Kleene (1956) Rabin and Scott present finite state machine as a simplification of Turing machine Ken Thompson used the notion of regular expressions introduced by Kleene in the UNIX system Regular Expression Search Algorithm Comm. Assoc. Comp. Mach., Vol. 11, 6, pp. 419 422, 1968.

4 Applications software for finding patterns in large bodies of text (such as collection of web pages) software for designing circuits lexical analyser of compilers model-checking, modelling and verification of embedded systems, software model-checking model of real machines: watches, telephone, lock for cars,... application in genetics, regular pattern in the language of protein application in linguistic, building of large dictionnary, spell programs, search

5 Motivation Automata The word Automata is the plural of automaton which simply means any machine Mathematical model of what a (finite-state) machine is Good illustration of basic mathematical concepts, set theory and proofs (important in computer science) Historically, regular expressions are one of computer science s shining examples of how using good theory leads to good programs. Today, regular expressions have also become a shining example of how ignoring good theory leads to bad programs. The regular expression implementations used by today s popular tools are significantly slower than the ones used in many of those thirty-year-old Unix tools.

6 Example: on/off switch Simplest non trivial finite automaton start OFF Push ON Push States represented by circles One state is the start state Arcs labelled by observable events

7 Example: parity counter The states can be thought of as the memory of the machine p 0 p 1 off on p 1 p 0 Two events: p 0 and p 1 The machine don t do anything for the event p 1 The machine counts the parity of the number of p 0 s finite-state automata finite memory

8 Functional description In functional programming, we have two functions f 1, f 0 and the input is a finite list, which can be represented by N = 0 S N f 1 (S n) = f 0 n, f 0 (S n) = f 1 n f 1 0 = 1, f 0 0 = 0 Then f 1 n = 1 iff n is even

9 Functional description For the parity machine we have the data type T = p 0 T p 1 T 0 and two functions g 1, g 0 g 1 (p 0 n) = g 0 n, g 1 (p 1 n) = g 1 n, g 0 (p 0 n) = g 1 n g 0 (p 1 n) = g 0 n g 1 0 = 1, g 0 0 = 0 Then g 1 n = 1 iff n contains an even number of constructor p 0

10 Example: A Simple Traffic Signal 1 YR 0,1 0 GR RG 0,1 0,1 RY Transitions: 0 (no traffic detected), 1 (traffic detected) The states represent a situation: GR one traffic light is Green and the other is Red

11 Example: vending machine A (very) simple vending machine choc 0 1 5 kr What happens if we are in state 0 and ask for a chocolate??

12 Example: vending machine A more complex vending machine 10 kr 0 5 kr small 1 5 kr 2 large In state 1: the machine remembers that we have given 5 kr

13 Alphabet of a machine Definitions: The alphabet of a given machine is the set of (observable) events of this machine A possible behavior of a machine is a finite sequence of events Some alphabets on/off switch Σ = {Push} simple vending machine Σ = {5kr, choc} complex vending machine Σ = {5kr, 10kr, large, small} parity counter Σ = {p 0, p 1 } Not necessarily linguistic applications. In biology, the DNA alphabet is {A, C, G, T }

14 on/off switch: Behaviour of a machine Push, Push Push, Push Push Push,... simple vending machine: 5kr choc 5kr choc... parity counter p 0 p 1 or p 0 p 0 p 1 p 0 The choice of the alphabet usually involves deliberate simplifications For instance: no exact timing (however there exists also more complex notions such as timed automata or hybrid automata; we shall not deal with these automata in this course) Finite automata provide a simple mathematical model of complex machines (or software)

15 Example: Man, wolf, goat and cabbage problem A man with a wolf, goat and cabbage is on the left bank of a river. There is a boat large enough to carry the man and only one of the other three. The man wish to cross to the right bank. However if the man leaves the wolf and goat unattended on either shore, the wolf surely eat the goat. Similarly, if the goat and the cabbage are left unattended, the goat will eat the cabbage. Puzzle: Is it possible to cross the river without the goat or cabbage being eaten? We write all the possible transitions, and look for possible paths between two nodes

16 Example: Man, wolf, goat and cabbage problem start g m MWGC/0 g WC/MG m w MWC/G c C/MWG w c W/MGC g g g g MGC/W c w MWG/C 0/MWGC g MG/WC c m G/MWC w g m