0% found this document useful (0 votes)
211 views7 pages

Deterministic Finite Automata

The document appears to be a student report form containing information about a student named Asia Akeb Yousef Zagheer from the University of Baghdad studying deterministic finite automata. It includes an introduction to automata theory and finite automata. It then describes what a deterministic finite automaton is and provides an example of an automatic door modeled as a DFA.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
211 views7 pages

Deterministic Finite Automata

The document appears to be a student report form containing information about a student named Asia Akeb Yousef Zagheer from the University of Baghdad studying deterministic finite automata. It includes an introduction to automata theory and finite automata. It then describes what a deterministic finite automaton is and provides an example of an automatic door modeled as a DFA.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

REPORT FORM 2019 / 2020

Ministry of Higher Education & Scientific Research


University of Baghdad
Department of Computer Science

Student name: ‫اسيا عكاب يوسف زغير‬


Tittle: Deterministic Finite Automata

Course: FIRST
Stage: 2

Lecturer name: ‫ وجدان عبد المير‬.‫م‬.‫أ‬


INTRODUCTION

• Automata theory is a branch of theoretical computer science that


deals exclusively with the definitions, properties and applications
of different mathematical models of computation. These models
play a major role in multiple applied areas of computer science.
One of the most basic and fundamental models that is studied in
automata theory since long time back is called the finite automata.
It comes in two different types, deterministic finite automata
(henceforth DFA) and non-deterministic finite automata
(henceforth NFA). There exists more complex and sophisticated
models as well, for example, Context-free grammar, Turing
machines etc.

• a deterministic finite automaton (DFA)—also known as


deterministic finite acceptor (DFA), deterministic finite-state
machine (DFSM), or deterministic finite-state automaton (DFSA)
is a finite-state machine that accepts or rejects a given string of
symbols, by running through a state sequence uniquely
determined by the string. Deterministic refers to the uniqueness of
the computation run. In search of the simplest models to capture
finite-state machines, Warren McCulloch and Walter Pitts were
among the first researchers to introduce a concept similar to
finite automata in 1943.

2
Deterministic Finite Automaton
(DFA)

DFAs allow for an easier use of certain projects and applications


that switch between states of validity and invalidity. DFAs are
useful in the functionality of applications such as:

•Speech recognition and processing


•Pattern matching
•Applications that consist of some sort of on/off functionality
•Compilers for modern programming languages

a Deterministic Finite Automaton or DFA is defined by the


quintuple:
M = (Q, Σ, δ, q0, F)
where

Q stands for a finite set of states,


Σ (Sigma) stands for the set of symbols, so called alphabet
δ : Q x Σ ➞ Q (Delta) stands for a total function called transition
function
q0 stands for initial state synonymously start state, and q0 ∈ Q
F is a set of final states synonymously accepted states where each
state of F is element of
Q as well (F ⊆Q (F is subset of Q))

3
Strings or input strings are sequence of symbols chosen from alphabet
Σ. For example abb is a string of alphabet Σ={a,b}, also it can be
Σ={a,b,c} but it just happens not to have any c’s. Σ* stands for the set of
all string over the alphabet Σ and the special string called empty string
represented by epsilon. The language of a DFA is a subset of Σ* for
some alphabet Σ. With other words the language that DFA defines is the
set of strings that may take the start state to a final state. Languages that
have an equivalent deterministic finite automaton are called regular
languages, which also can be described by regular expressions or non-
deterministic finite automata. While most of the languages are regular
languages, there are also many of them that are not. To describe these
kind of languages we need more powerful mechanism such as
contextfree grammar (this is not relevant with this project). The
transition function describes how the automaton moves from one state to
another in response to inputs. We can say that this function is the one
that makes the automaton works. It takes two arguments, a state q and
an input symbol a, and it returns the states where the automaton moves
when it is in the state q and next input symbol a. For example in the
Figure 1 from state 15:15 on input symbol A automaton make a
transition to state 30:15. This function has a value for each state and
symbol, but what happens when we reach a state that does not have
any out transition (ex: state A and B in the tennis score game)? To fix
up the situations where we do not want to continue in such situations we
introduce the dead state synonymously trap state, which is a non-
accepted state and it has transitions to itself on every input symbol.

4
That means that once you get to a dead state, there is no possible way to
leave it.

Figure 1 The Abstract Syntax Tree for “(ac?|b)*|[1..9]+|[A..Z]+” regular expression

A DFA operates in the following manner: when program starts the


current state is assumed to be the initial state q0, on each input symbol
or character the current state is supposed to move on another state
(including itself). When the string reach the most right symbol (last
one) the string is accepted only if the current state is one of the accepted
states, otherwise the string is rejected.

The abbreviation DFA for deterministic finite automata is called


deterministic because on each state and input character a unique
transition is defined.

5
The deterministic finite automaton is the only way so far to execute an
automaton, that means that only a DFA can be implemented. No one yet
has invented a computer that works with
nondeterminism.

EXAMPLE ABOUT DFA


The Automatic Door as DFA

States:
OPEN
CLOSED
Sensor:
FRONT: someone on rear pad
REAR: someone on rear pad
BOTH: someone on both pads
NEITHER no one on either pad.

6
<source>

1- (Linnaeus University) school of computer science,physics and


mathematics (SE-391 82 Kalmar / SE-351 95 Växjö. [email protected],
Lnu.se/dfm)

2- (MATHEMATICAL ENGINEERING TECHNICAL REPORTS) by


Sankardeep chakraborty, Roberto grossi, Kunihiko sadakane, and
Srinivasa Rao satti

3- Slides modified by Benny Chor, based on original slides by


Maurice Herlihy, Brown University

4- Bakhadyr Khoussainov
Computer Science Department, The University of Auckland, New
Zealand .. [email protected]

You might also like