Book contents
- Frontmatter
- Contents
- Preface
- Acknowledgements
- List of Abbreviations
- 1 Fundamentals of Automata
- 2 Formal Language Theory
- 3 Regular Expressions and Languages
- 4 Finite Automata
- 5 Equivalent Automata
- 6 Minimisation/Optimisation of DFA
- 7 Finite Automata and Regular Expressions
- 8 Transducers
- 9 Context-Free Grammars and Context-Free Languages
- 10 Simplification of Context-Free Grammar
- 11 Pushdown Automata
- 12 Pumping Lemma
- 13 Turing Machine
- 14 TM Extensions and Languages
- 15 Formal Languages/Grammar Hierarchy
- Appendix A Symbol Chart
- Appendix B Sets, Relations, Functions and Mathematical Induction
- Appendix C System Modelling
- Index
4 - Finite Automata
Published online by Cambridge University Press: 26 October 2011
- Frontmatter
- Contents
- Preface
- Acknowledgements
- List of Abbreviations
- 1 Fundamentals of Automata
- 2 Formal Language Theory
- 3 Regular Expressions and Languages
- 4 Finite Automata
- 5 Equivalent Automata
- 6 Minimisation/Optimisation of DFA
- 7 Finite Automata and Regular Expressions
- 8 Transducers
- 9 Context-Free Grammars and Context-Free Languages
- 10 Simplification of Context-Free Grammar
- 11 Pushdown Automata
- 12 Pumping Lemma
- 13 Turing Machine
- 14 TM Extensions and Languages
- 15 Formal Languages/Grammar Hierarchy
- Appendix A Symbol Chart
- Appendix B Sets, Relations, Functions and Mathematical Induction
- Appendix C System Modelling
- Index
Summary
‘Welcome to the wonderful world of finite state machines.’
Introduction
Computation is a concept common to all computing machines, regardless of the messy details associated with their hardware implementation. However, actual computing machines/computers are too complicated (due to the several constraints caused by physical reality) for a manageable mathematical theory to be ascribed to them. Therefore, in order to fully understand the power and limitation of real machines, idealised computers or computational models are designed and studied. These idealised computers may be accurate in some ways but perhaps not in others.
There are several computational models and the purpose of a computational model is to capture the computational aspects that are relevant to the particular problem under consideration while hiding the other unimportant aspects. Thus, a computational model can be thought of as a custom machine designed to suit particular needs. Some of the important computational models are – deterministic finite automaton (DFA), the non-deterministic finite automaton (NFA), the deterministic pushdown automaton (DPDA), the nondeterministic pushdown automation (NPDA), the deterministic Turing machine (DTM) and the nondeterministic Turing machine (NTM). Undoubtedly each of these models has a special significance in the theory of computation. The most basic computational model is the deterministic finite automaton (DFA).
Finite Automata
As discussed in chapter 1, finite automaton is a mathematical model of a system with discrete inputs and outputs. Such a system can be in any one of the finite number of internal configurations or ‘states’ and each state of the system provides sufficient information concerning the past inputs so that the behaviour of the system could be studied on the provision of subsequent inputs.
- Type
- Chapter
- Information
- A Textbook on Automata Theory , pp. 78 - 170Publisher: Foundation BooksPrint publication year: 2007