Automata theory

Navigation
School of Computer Science Automata theory 1.1 Automata Theory
Module tutor
IsmAvatar Wikiversity talk page | E-mail tutor
Please contact the module tutor, the person who maintains this page, to request help or to give feedback.


Educational level: this is a tertiary (university) resource.
Resource type: this resource is a course.

Sometimes also referred to as the Theory of Computation or a superset thereof, Automata Theory is a field within Set Theory and Computer Science, and serves as the theoretical framework through which computers and modern computing came about. Although somewhat esoteric, as indicated by the strange names you will encounter throughout, it has many applications, ranging across programming machines, string computations (such as regular expressions and parsing), and problem solving of decision problems. It can also be an entertaining exercise in programming to try and solve common problems (such as number addition) by writing machines to solve them. The machines constructed will largely resemble flow charts and will behave very similarly.

Before starting this course, it is recommended you have some familiarity with Set Theory and Set Notation, although the first few uses of it will briefly review the meanings of the notations. You should also be somewhat familiar with Formal Definitions and Formal Proofs, or at least understand what they are. Even though this is a topic within Computer Science, an understanding of computers, programming, or the likes is not necessary for this. Many topics of this depth use a lot of jargon, formulas, and symbols, and can get very confusing very fast for someone who doesn't have a background in that stuff. I try my best to avoid that and keep it as humanly readable as possible. If there is something you don't understand, feel free to ask about it on the Discuss page or direct it to the instructor.

Terminology and symbols

Throughout the different books and materials on Automata Theory and computability, different symbols and terminology may be used, as there is no standard for symbols and terminology. Generally, however, the concepts are the same, there's just slight deviations in symbols or terminology, so it's not too difficult to decipher. Herein we will use one set of symbols and terminology, and leave it as an exercise to the reader to decipher other symbols and terminology used in other sources when they are encountered.

Introduction

First we must define the basic components that will make up our definitions.

Latin alphabet letters frequently used in notation:

Function notation:

String terminology:

Next

Next we will discuss Finite Automata.

Other topics that will be discussed for automata theory:

This article is issued from Wikiversity - version of the Wednesday, August 10, 2011. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.