1 / 7

Introduction to Automata Theory

What is Automata Theory?. In simplest words, an Automaton refers to an abstraction of a

meriel
Télécharger la présentation

Introduction to Automata Theory

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. Introduction to Automata Theory Rahul Banerjee Computer Science and Information Systems Group, BITS, Pilani (India) Home: http://www.bits-pilani.ac.in/~rahul/ E-mail: rahul@bits-pilani.ac.in

    2. What is Automata Theory? In simplest words, an Automaton refers to an abstraction of a Machine that exhibits certain consistent and replicable behaviour that may be result of a set of input or internally generated stimulus or a combination of both. The term Automata Theory, therefore, is used to refer to the study of such Machines (in our case: Abstract Computing Systems) whose boundaries of capabilities could be predefined. A classic example of such an abstract study resulted in Turing Machines (Allen Turing: 1930s).

    3. Finite Automata Originally, their goals included study and modeling of Functions of the Human Brain. A Finite Automaton has a set of States, a set of State Variables (sometimes called Control Variables or merely Controls), one or more External Stimulus (sometimes called Inputs). A Finite Automaton may be Deterministic or Non-Deterministic: Deterministic Automaton means that the machine cannot be in more state than one at any point of time. Non-Deterministic Automaton means that the machine can be in two or more states at any point of time.

    4. Importance of Non-Deterministic Finite Automata Substantial improvement in efficiency (in terms of Description of an application if an NDFA automaton is used) becomes possible. Consequently, it becomes possible to represent program-based solutions to the application-problems using any High Level Language. Once such a situation so warrants, it becomes possible to subsequently Compile this Non-Deterministic Finite Automaton by an appropriate algorithm such that subsequently it could be executed on a Deterministic Finite Automaton that could finally be mapped onto an actual Physical Computing System (i.e. a conventional Computer).

    5. Next Logical Step: Adding Spontaneous State Transition Capability Naturally, the next logical step would be to making the Non-Deterministic Finite Automaton such that the system provides a choice of : Making transition from one state to another effortlessly spontaneous by even an Empty or Null String as its Input. Accepting only one or more Regular Languages. IT is important to recollect that Regular Expressions have their equivalent Automata.

    6. Summing up the basics: Finite Automata: These involve States, State Transitions and Response to Stimulus. (Application: Protocol Verification, Lexical Analyzer)) Regular Expressions: These are Structural Notations for describing the patterns that can be represented by Finite Automata. (Application: grep) Context Free Grammers:These are notations for describing Programming languages and related Sets of Strings. (Application: Parser) Turing Machines: These are automata modeling real computing systems. (Application: Tractability determination)

    7. Summing up the basics (Contd.) Proofs: Deductive Proofs: (list what you know or logical conclusions) Proving If-Then Statements: (hypothesis onward..) Proving Iff Statements: (If-Then bi-directional.) Proving the Contrapositive: (proof by complementing) Proving by Contradiction: (prove that the other possibility is False) Proving by Counterexamples: (show one value-assignment makes the statement False..) Inductive Proof: (Take a finite number of cases to show) Proof by Structured Induction: (Use number of steps used in construction of Constructed Objects)

More Related