![Trending Articles on Technical and Non Technical topics](/images/trending_categories.jpeg)
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
What is a Queue Automaton?
A queue automaton is like a push-down automaton (PDA) except that the stack is replaced by a queue.
A queue is a tape allowing symbols to be written only on the left-hand end and read only at the right-hand end.
Each write operation (we’ll call it a push) adds a symbol to the left-hand end of the queue and each read operation (we’ll call it a pull) reads and removes a symbol at the right-hand end.
As with a PDA, the input is placed on a separate read-only input tape, and the head on the input tape can move only from left to right.
The input tape contains a cell with a blank symbol following the input, so that the end of the input can be detected.
A queue automaton accepts its input by entering a special accept state at any time.
Formal Definition
A deterministic queue automaton (DQA) is defined as a seven tuple
(Q, Σ, Γ, δ, q0 , ⊥, F)
Where,
Q is a set of states,
Σ is an input alphabet,
Γ is a finite set of queue symbols,
q0 is a starting state,
⊥ is an empty queue symbol ⊥6= Γ,
The transition function δ is defined by Q × Σ ∪ {λ} × (Γ × Γ) ∪ ({⊥} × {⊥}) → Q × Γ ∪ {λ} × {keep, remove}, where λ signifies empty symbol. It must never be used as an input symbol.
F is a set of accepting states (F ⊆ Q).
Example
Construct queue automata for language {anbn | n >= 0}.
For the given language the number of states present in the automata are 4,
Q={q0,q1,q2,q3},
Input alphabet ={a,b}
The queue automata is as follows −