Sunteți pe pagina 1din 2

DFA project

DEPARTMENT COMPUTER SCIENCE

I.

Introduction

a. History of Automata theory

In theoretical computer science, automata theory is the study of mathematical objects called abstract machines or automata and the computational problems that can be solved using them. Automata comes from the Greek word meaning "self-acting". Automata theory is also closely related to formal language theory. An automaton is a finite representation of a formal language that may be an infinite set. Automata are often classified by the class of formal languages they are able to recognize. Automata play a major role in theory of computation, compiler design, parsing and formal verification. So In the automata theory, a branch of theoretical computer science, a deterministic finite automaton (DFA)also known as deterministic finite state machineis a finite state machine that accepts/rejects finite strings of symbols and only produces a unique computation (or run) of the automaton for each input string. 'Deterministic' refers to the uniqueness of the computation. In search of simplest models to capture the finite state machines, McCulloch and Pitts were among the first researchers to introduce a concept similar to finite automaton in 1943. The figure at right illustrates a deterministic finite automaton using state diagram. In the automaton, there are three states: S0, S1, and S2 (denoted graphically by circles). The automaton takes finite sequence of 0s and 1s as input. For each state, there is a transition arrow leading out to a next state for both 0 and 1. Upon reading a symbol, a DFA jumps deterministically from a state to another by following the transition arrow. For example, if the automaton is currently in state S0 and current input symbol is 1 then it deterministically jumps to state S1. A DFA has a start state (denoted graphically by an arrow coming in from nowhere) where computations begin, and a set of accept states (denoted graphically by a double circle) which help define when a computation is successful. A DFA is defined as an abstract mathematical concept, but due to the deterministic nature of a DFA, it is implementable in hardware and software for solving various specific problems. For example, a DFA can model a software that decides whether or not online userinput such as email addresses are valid. (see: finite state machine for more practical examples). DFAs recognize exactly the set of regular languages which are, among other things, useful for doing lexical analysis and pattern matching. DFAs can be built from nondeterministic finite automata through the power set construction.

Page 1

DFA project

DEPARTMENT COMPUTER SCIENCE

b. Functionality
The function that we have built in our program of DFA like: 1. Test the an input string is part of the language and return the formula definition : a. a finite set of states (Q) b. a finite set of input symbols called the alphabet () c. a transition function ( : Q Q) d. a start state (q0 Q) e. a set of accept states (F Q) 2. Test the form of DFA that it is the DFA complet or not , if the DFA is not yet complet , our program will change it to DFA complet mode 3. Test the DFA minimal.

II.

Implementation
a. Data and Type
b. Technic for each sub program

III.

Conclusion
a. Result

Page 2

S-ar putea să vă placă și