Finite States: Base Elements in a Computing Orchestra Ronald Finkbine, Ph.D. Department of Computer Science Indiana University Southeast

Slides:



Advertisements
Similar presentations
CS 3240: Languages and Computation
Advertisements

CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.
Algorithmic Software Verification II. Modeling using FSA.
Nondeterministic Finite Automata CS 130: Theory of Computation HMU textbook, Chapter 2 (Sec 2.3 & 2.5)
TOPIC : Finite State Machine(FSM) and Flow Tables UNIT 1 : Modeling Module 1.4 : Modeling Sequential circuits.
CSE 311: Foundations of Computing Fall 2013 Lecture 23: Finite state machines and minimization.
YES-NO machines Finite State Automata as language recognizers.
Chapter Two: Finite Automata
Finite Automata Course: Theory of Computation Date: Nov 16 th, 2011 Lin Liu lliu AT cs.kent.edu.
Finite Automata Section 1.1 CSC 4170 Theory of Computation.
Lecture 3UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3.
Finite Automata Finite-state machine with no output. FA consists of States, Transitions between states FA is a 5-tuple Example! A string x is recognized.
Lecture 3 Goals: Formal definition of NFA, acceptance of a string by an NFA, computation tree associated with a string. Algorithm to convert an NFA to.
Introduction to the Theory of Computation John Paxton Montana State University Summer 2003.
1 Languages and Finite Automata or how to talk to machines...
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Nondeterminism.
Lecture 3 Goals: Formal definition of NFA, acceptance of a string by an NFA, computation tree associated with a string. Algorithm to convert an NFA to.
Fall 2006Costas Busch - RPI1 Non-Deterministic Finite Automata.
Costas Busch - LSU1 Non-Deterministic Finite Automata.
Chapter 8: Introduction to High-level Language Programming Invitation to Computer Science, C++ Version, Third Edition.
CSE 311: Foundations of Computing Fall 2014 Lecture 23: State Minimization, NFAs.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Rosen 5th ed., ch. 11 Ref: Wikipedia
ISECON The COBOL DFA Tool: A Work in Progress Ronald Finkbine, Ph.D. Indiana University Southeast New Albany, IN
CPSC 388 – Compiler Design and Construction Scanners – Finite State Automata.
Liang, Introduction to Java Programming, Ninth Edition, (c) 2013 Pearson Education, Inc. All rights reserved. 1 Chapter 1 Introduction to Computer Science.
Finite State Machines Chapter 5. Languages and Machines.
Nondeterministic Finite Automata CS 130: Theory of Computation HMU textbook, Chapter 2 (Sec 2.3 & 2.5)
Lecture 23: Finite State Machines with no Outputs Acceptors & Recognizers.
1 Unit 1: Automata Theory and Formal Languages Readings 1, 2.2, 2.3.
Theory of Computation, Feodor F. Dragan, Kent State University 1 Regular expressions: definition An algebraic equivalent to finite automata. We can build.
Introduction to CS Theory Lecture 3 – Regular Languages Piotr Faliszewski
Input & Output In Java. Input & Output It is very complicated for a computer to show how information is processed. Although a computer is very good at.
1 Game AI Finite State Machine. Finite State Machine (FSM) is the most commonly used Game AI technology Finite State Machine (FSM) is the most commonly.
Languages Given an alphabet , we can make a word or string by concatenating the letters of . Concatenation of “x” and “y” is “xy” Typical example: 
Prof. Busch - LSU1 NFAs accept the Regular Languages.
CS1Q Computer Systems Lecture 11 Simon Gay. Lecture 11CS1Q Computer Systems - Simon Gay 2 The D FlipFlop The RS flipflop stores one bit of information.
CSCI 2670 Introduction to Theory of Computing October 12, 2005.
Finite State Machines (FSM) OR Finite State Automation (FSA) - are models of the behaviors of a system or a complex object, with a limited number of defined.
Donghyun (David) Kim Department of Mathematics and Physics North Carolina Central University 1 Chapter 1 Regular Languages Some slides are in courtesy.
Computing Machinery Chapter 4: Finite State Machines.
INVITATION TO Computer Science 1 11 Chapter 2 The Algorithmic Foundations of Computer Science.
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Logic Design Dr. Oliver Faust.
Nondeterministic Finite Automata (NFAs). Reminder: Deterministic Finite Automata (DFA) q For every state q in Q and every character  in , one and only.
Lecture 22: Finite State Machines with Output. Moore Machine - A Moore machine is a 6-tuple (Q, , , , q 0,  ) where, (1) Q is a finite set of states.
ICS312 Introduction to Compilers Set 23. What is a Compiler? A compiler is software (a program) that translates a high-level programming language to machine.
Finite-State Machines Fundamental Data Structures and Algorithms Peter Lee March 11, 2003.
1 Introduction to Turing Machines
Finite State Machines Chapter 5. Languages and Machines.
Software. Introduction n A computer can’t do anything without a program of instructions. n A program is a set of instructions a computer carries out.
Common Elements in Sequential Design. Lecture 3 topics  Registers and Register Transfer  Shift Registers  Counters Basic Counter Partial sequence counters.
Logic Design (CE1111 ) Lecture 6 (Chapter 6) Registers &Counters Prepared by Dr. Lamiaa Elshenawy 1.
CSC-305 Design and Analysis of AlgorithmsBS(CS) -6 Fall-2014CSC-305 Design and Analysis of AlgorithmsBS(CS) -6 Fall-2014 Design and Analysis of Algorithms.
Math Expression Evaluation With RegEx and Finite State Machines.
Theory of Computation Automata Theory Dr. Ayman Srour.
1.3 Finite State Machines.
Topics Introduction to Repetition Structures
FORMAL LANGUAGES AND AUTOMATA THEORY
Nondeterministic Finite Automata
CSC 4170 Theory of Computation Nondeterminism Section 1.2.
THEORY OF COMPUTATION Lecture One: Automata Theory Automata Theory.
Non-Deterministic Finite Automata
Chapter Two: Finite Automata
COSC 3340: Introduction to Theory of Computation
Non-Deterministic Finite Automata
CSE322 Mealy and Moore Machine
CSC 4170 Theory of Computation Nondeterminism Section 1.2.
Sub: Theoretical Foundations of Computer Sciences
Internal components of a computer.
Finite Automata Fall 2018.
Presentation transcript:

Finite States: Base Elements in a Computing Orchestra Ronald Finkbine, Ph.D. Department of Computer Science Indiana University Southeast

Introduction Software Complexity Programmer Understandability Maintainability Reduce by tools Reduce by techniques

Definitions Finite State Machine, any program DFA, 4 tuple 1. States 2. Transitions 3. Start state 4. Accept states Moore Machine Mealy Machine

Elementary DFA Accepts L={a*b+} Incomplete

Benefits of DFAs High-reliability Proof or show? Mathematics is a modeling method Proofs are social constructs Diagrammetics

Simple FSM Specification

Pictures are good Graphviz.org dot -v -Tjpeg -o beginner.jpg beginner.dot

Text file output

Show or proof?

Java code produced

Fox Chicken Grain Problem A man is crossing a river on the way to market with a chicken, a bag of grain and a fox. If left unattended the fox will eat the chicken, and the chicken will eat the grain. The boat will only hold the man and one of these at a time. Your task is to work out a sequence of crossings that will affect a safe transfer of the man, the fox, the chicken and the grain safely across the river.

DFA

Text: CeFCGeC Translating into English, the input string represents: Man and chicken cross river Man returns with empty boat Man and fox cross river Man returns with chicken Man and grain cross river Man returns with empty boat Main and chicken cross river

Connecting FSMs into a flow

Benefits FSMs are complete programs Lead to parallelism Not restricted to single language Not sharing spaces, better security Limits programming options, reduces programming complexity, GOOD Data in single layer, in surface pipe

Sample cls initdb.py p0.py f1.txt type f1.txt | indb.py NodeToken >f2.txt type f2.txt | s3 ars.db call s3 ars.db "select * from NodeTokens" call s3 ars.db "select count(*) from NodeTokens" type f1.txt | only.py NodeToken >f3.txt outdb.py -n ars.db NodeTokens | parse.py numdb.py ars.db NodeTokens

FSMs can be everywhere Software Complexity Programmer Understandability Maintainability Reduce by tools Reduce by techniques