0% found this document useful (0 votes)
4 views3 pages

Theory of Computation Basics

The document discusses the Theory of Computation, focusing on algorithms, computational complexity, and the need for a language to communicate with machines. It explains sequential circuits, their components, and introduces concepts like transition state diagrams and mathematical definitions of languages. Additionally, it covers automata as self-operating systems that perform functions without human intervention.
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)
4 views3 pages

Theory of Computation Basics

The document discusses the Theory of Computation, focusing on algorithms, computational complexity, and the need for a language to communicate with machines. It explains sequential circuits, their components, and introduces concepts like transition state diagrams and mathematical definitions of languages. Additionally, it covers automata as self-operating systems that perform functions without human intervention.
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

Module 1: Fundamental

The Theory of computation is a branch of the theoretical computer science that deals with the study of algorithms and
computational complexity. It aims to answer fundamental questions about

What can be computed

How efficiently it can be done

What limitations exist in terms of computational power

Problem
Now a days machines (digital, analogue, mechanical) play a very crucial role in the development of human, we need some
mechanism (language) to communicate with the machines

Solution
We need a language for communication with machines. But we do not require natural languages to communicate with the
machines, as natural languages are very complex and machine interaction require very fewer complex languages compare
to natural languages.

Sequential Circuit - Definition


A sequential circuit is a digital circuit where output depends on both current inputs and previous states.

It contains memory elements (flip-flops or latches) to store past inputs.

Unlike combinational circuits, sequential circuits retain state information and can perform time-dependent
operations.

Sequential circuits are used in counters, registers, and finite state machines (FSMs).

A sequential circuit consists of:

Inputs: External signals that influence the circuit.

Combinational Logic: Processes inputs and previous states to determine the next state.

Memory Elements (Flip-Flops/Latches): Store past states.

Outputs: The final result based on inputs and stored states.

Block Diagram
The various components of the block diagram are
explained as follows:

Input Tape: The input tape is divided into squares,


each square containing a single symbol from the input
alphabet Σ. The end of the tape is the end marker € at
the left end and the end marker $ at the right end. The
absence of end markers indicates that the tape is of
infinite length. The left-to-right sequence of symbols
between the two end markers is the input string to be
processed

Reading Head (R-head): The head examines only one


square at a time and will move one square to the right.

Finite Control: Is the inference engine take care of transition

Transition State Diagram

Module 1: Fundamental 1
Graphical, easy to understand, easy to design. A transition graph or a transition system is a finite directed labelled graph in
which each circle represents a state and the directed edges indicate the transition of one state to another state. The initial
state is represented by a circle with an arrow pointing towards it, the final state by two concentric circles.

Transition Table
It is a two dimensional table where number of columns equal to the number of input alphabets and number or rows equal to
number of states.

Mathematical Definition of Language


Symbol
Symbols are the basic building blocks, which can be any character or token. In English we call them as letters.

Alphabet
An alphabet is a finite non empty set of symbols (every language has its own alphabet). Here in Theory of computation, we
use symbol Σ for depicting alphabet. e.g. Σ = { a, b, c, …, z }

String
It is a finite sequence of symbols, E.g. Σ= {a, b}. String = aabb, ab, b, so on.

Language
A language is defined as a set of strings. (In natural language - set of words and grammar, we apply this model from words
to sentence)

Similarly, in our system we have finite number of symbols or letters but using those letters we can generate infinite strings
or words
so, we may have languages that have infinite number of words, so it is not possible for us to list them, we have to use some
framework which can be somehow represent the same language, there are mainly two methods to represent a language

by a grammar that generates a language (Regular Grammar generates Regular Language)

by a machine that accepts a language (Finite Automata accepts Regular Language)

Σ
0
= {ε} 

Σ
1
= {a, b} 

Σ
2
= Σ.Σ = {a, b}.{a, b} = {aa, ab, ba, bb} 

Σ
3
= {aaa, aab, aba, abb, baa, bab, bba, bbb} 

Σ
k
is the set of all strings from the alphabet Σof length exactly K.

Σ
k
= {W ∣ ∣w∣ = k} (using the symbols from the alphabet Σ

Kleene Closure
if is a set of symbols then we use Σ∗ to denote the set of strings obtained by concatenating zero or more symbols from Σ
of any length, in general any string of any length which can have only symbols specified in Σ.

Σ

= U
i=∞
i=0
{W ∣ ∣w∣ = i}

using the symbols from the alphabet Σ.

Positive Closure
If Σis a set of symbols then we use Σ+ to denote the set of strings obtained by concatenating one or more symbols from
Σ of any length, in general any string of any length which can have only symbols specified in Σ(except ε).

Σ
+
= U
i=∞
i=1
{W ∣ ∣w∣ = i}
​ using the symbols from the alphabet Σ.

Module 1: Fundamental 2
Automaton
An automaton ins defined as a self operating system where energy, materials and information are transformed,
transmitted and used for performing some functions without direct participation of man.

The term is often used to describe a theoretical machine that operates according to a set of rules and capable of
carrying out complex operations without human intervention..

Example: automatic machine tools, automatic packing machines, and automatic photo printing machines

Module 1: Fundamental 3

Common questions

Powered by AI

In the theory of computation, an "alphabet" is defined as a finite, non-empty set of symbols, denoted by Σ. This set serves as the basic building blocks for constructing strings, where a string is identified as a finite sequence of symbols from the alphabet. Languages are then defined as collections of such strings. By specifying an alphabet, it provides a foundation on which complex strings and ultimately entire languages can be constructed, allowing formal definition and manipulation within computational models .

Finite automata and regular grammars are two equivalent methods for representing regular languages. A finite automaton serves as a theoretical machine that accepts languages by state transitions, while regular grammars provide rules that can generate those languages. Both frameworks allow for the representation of languages that can potentially include infinite sets of strings, but they do so through different mechanisms: finite automata through state diagrams and regular grammars through production rules .

A transition system is a finite directed labeled graph where each circle represents a state, and the directed edges indicate the transitions from one state to another. This visual representation facilitates understanding the sequence of state transitions, with the initial state marked by a circle with an arrow pointing towards it and the final state by two concentric circles, allowing for intuitive design and comprehension of systems like finite automata .

A sequential circuit consists of inputs, combinational logic, memory elements (either flip-flops or latches), and outputs. Inputs are external signals that influence the circuit. Combinational logic processes these inputs along with prior states to determine the next state. The memory elements store past states, which enable the circuit to retain state information, whereas outputs provide the final result based on both the current inputs and the stored past states .

An automaton functions independently, transforming inputs into outputs according to pre-defined rules without direct human involvement. Its capability to perform diverse tasks such as transforming energy, materials, and information stems from its programmability to operate autonomously through self-regulation. This contrasts with traditional systems relying on continuous human input, as automata are designed to execute complex operations, like automatic machine tools, achieving efficiency and precision without constant human supervision .

In formal language theory, a "string" is defined as a finite sequence of symbols derived from a given alphabet (Σ). The primary purpose of a string is to act as a fundamental structure for constructing languages, enabling the generation of sequences that represent data or instructions for machines. By forming these sequences, strings serve as the building blocks for languages used in computation .

The Kleene Closure (Σ*) includes all possible strings formed by concatenating zero or more symbols from the alphabet, including the empty string (ε), allowing for an extensive range of string formations, which is crucial for designing flexible languages. On the other hand, Positive Closure (Σ+) includes strings formed by one or more symbols, excluding the empty string, leading to the design of languages that require non-empty sequences. These closures offer different capacities for representing languages, impacting how linguists and programmers specify language limits and features .

In a Turing machine, the reading head scans one square at a time on the input tape, which is divided into squares, each containing one input symbol. The read head moves left to right, making state transitions at each step based on the read symbol and finite control rules. The constraint is that it can only access one square at a time and is limited by the tape’s finite markers, ensuring it processes the input sequentially .

Finite control in a sequential circuit acts as the inference engine, managing state transitions based on current inputs and past states. It determines the next state and manages the sequence of operations carried out by the circuit. This finite control is central to the circuit's operation, as it decides how inputs are processed and stored in memory elements, ensuring that the circuit behaves correctly over time .

Kleene Closure (denoted by *) allows for creating strings by concatenating zero or more symbols from a set, enabling the generation of any string of any length. Conversely, Positive Closure (denoted by +) requires concatenating one or more symbols from the set, excluding the empty string (ε). This distinction affects the expressiveness of a language; Kleene Closure can form an infinite set of strings including the empty string, while Positive Closure forms an infinite set of non-empty strings, providing a different scope for language representation .

You might also like