0% found this document useful (0 votes)
27 views22 pages

SWE 312: Theory of Computing: Fatama Binta Rafiq (FBR)

This document outlines the syllabus for the SWE 312 Theory of Computing course. It discusses how students will be assessed, with exams, assignments, and projects accounting for 100% of the final grade. The objectives of the course are to learn fundamental mathematical concepts underlying computation. Key topics covered include finite automata, regular expressions, context-free grammars, and Turing machines. Resources include recommended textbooks, and the course aims to provide students with skills in formal modeling of computation.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views22 pages

SWE 312: Theory of Computing: Fatama Binta Rafiq (FBR)

This document outlines the syllabus for the SWE 312 Theory of Computing course. It discusses how students will be assessed, with exams, assignments, and projects accounting for 100% of the final grade. The objectives of the course are to learn fundamental mathematical concepts underlying computation. Key topics covered include finite automata, regular expressions, context-free grammars, and Turing machines. Resources include recommended textbooks, and the course aims to provide students with skills in formal modeling of computation.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 22

SWE 312- Lecture 02

SWE 312: Theory of Computing

Fatama Binta Rafiq (FBR)


Lecturer, Department of Software
Engineering
How you will be assessed:
Attendance: 07 marks
Assignment: 05 marks
Quiz: 15 marks
Mid Term: 25 marks
Presentation: 08 marks
Final: 40 marks
Total: 100 marks

2
Objectives:
 It comprises the fundamental mathematical properties of
computer hardware, software and certain application .
 The subject has obvious connections with engineering
practice, and, as in many sciences.
 Theory has proved its value to other parts of computer
science. Many technologists and companies grew up out of
the work of theorists.
 It deals with the definitions and properties of mathematical
models of computation.

3
Learning Outcome:
 At the end of the course student will able to learn Finite
Automata, Deterministic Finite Automata (DFA); Non-
deterministic Finite Automata (NFA), Context free
languages; Context free grammars; Turing Machines and
its functionality.
 Finite automata, is used in text processing, compilers, and
hardware design.
 Another model, called the context-free grammar, is used in
programming languages and artificial intelligence.

4
Course Content:
Introduction
 Finite Automata
 Deterministic Finite Automata (DFA)
 Non-deterministic Finite Automata (NFA)
 Conversion of NFA to DFA
 Regular Expression
 Pushdown Automata
 Context free languages

5
Course Content:
Context free grammars
Turing Machines:
basic machines
configuration
computing with Turing machines
combining Turing machines

6
Resources:
Text Book:
SIPSER, M. Introduction to the Theory of
Computation, 2nd ed. Course Technology, 2005.
LEWIS, H. R., AND PAPADIMITRIOU, C. H.
Elements of the Theory of Computation, 2nd ed.
Pearson Education Asia, 2001.
HOPCROFT, J. E., MOTWANI, R., AND ULLMAN,
J. D. Introduction to Automata Theory, Languages,
and Computation, 3rd ed.

7
Topics:
Introduction
Automata Theory
Symbols and alphabet
Language
Sets
Function
Implication
Valid/invalid computation

8
Theory of Computation
(ToC):
 What is Computation?
 Ans: Computation is calculation, solving, making
decision or any task done by computer/calculator/ any
machine.
 What is Theory?
 Ans: The term Theory defines capabilities, limitations
of those machines.
 Purpose of the Theory of Computation:
“Develop formal mathematical models of computation
that reflect real-world computers.”

9
Automata Theory:
Automata theory deals with the definitions and
properties of mathematical models of computation.
These models play a role in several applied areas of
computer science.
Finite automata, is used in text processing, compilers,
and hardware design.
Another model, called the context-free grammar, is used
in programming languages and artificial intelligence.
Automata theory is an excellent place to begin the study
of the theory of computation.

10
Mathematical Terminology:
 Symbol:
Symbol is the basic building block of ToC.
 Example: Can be anything like: a,b,c,A,B,Z,0,1,…etc
 Alphabet:
An alphabet is a finite set of symbols.
We use the symbol ∑ (sigma) to denote an alphabet.
 Examples:
∑ = {0,1} : Binary alphabet
∑ = {A~Z, 0~9} : Alphanumeric alphabet
∑ = {a,b,c, ….,z} : Alphabet of small letters

11
Mathematical Terminology:
 String:
A string or word is a finite sequence/group of symbols
chosen from the alphabet (∑)
 Examples:
01011 = is a string from the binary alphabet ∑{0,1}
abacbc = is a string from the alphabet ∑{a, b, c}
3786 = is a string over {0,1,2,3,4,5,6,7,8,9}
Empty string is the string with no symbols, denoted by
 (epsilon) or λ
Length of a string, denoted by |w|, is equal to the
number of symbols/characters in the string

12
Mathematical Terminology:
 Example:
w = classroom |w| = 9
w = 010100 |w| = 6
w= |w| = 0
The position of a symbol in a string is denoted by (w)
 Example: w = classroom
w(3) = a, w(4) = s, w(5) = s
 Concatenation of strings:
x = abc, y = pqr
Concatenation of x and y:
x◦y (or xy) = abcpqr
13
Mathematical Terminology:
 Power of Alphabet:
If ∑ is an alphabet, then, ∑k = is the set of all
strings of length k.
Example: Let, ∑ = {0,1}, then

 0  {}
1  {0,1}
 2  {00,01,10,11}
3   2
 {00,01,10,11}{0,1}  ...
 {000,001,010,011,100,101,110,111}
14
Mathematical Terminology:
 Language:
 Language is a set of strings chosen from the alphabet ∑
 Language L could be finite or infinite
 Example: Suppose ∑ = { a,b }
L1 = Set of all strings of length 2
= { aa, ab, ba, bb } [Finite]
L2 = Set of all strings of length 3
= { aaa, aab, aba, abb, baa, bab, bba, bbb }[Finite]

L3 = Set of all strings where each string starts with “a”


= { a, aa, ab, aaa, aab, aba, abb,…….. } [Infinite]

15
Mathematical Terminology:
 Set:
A set is a collection of elements.
To indicate that x is an element of the set S, we write x ∈S
The statement that x is not in S is written as x ∉ S.
 Example:
The set of all natural numbers 0,1,2.. is denoted by
N = {0,1,2,3,... }
When the need arises, we use more explicit notation, in
which we write S = { i ≥ 0, i is even };We read this as “S is
the set of all i, such that i is greater than zero, and i is even.“

16
Mathematical Terminology:
SEQUENCES AND TUPLES:
A sequence of objects is a list of these objects in
some order.
For example, the sequence 7, 21, 57 would be
written
(7, 21, 57)
Finite sequences often are called tuples.
A sequence with k elements is a k-tuple. Thus (7,21,
57) is a 3 -tuple. A 2-tuple is also called a pair.

17
Mathematical Terminology:
Cartesian product or cross product:
If A and B are two sets, the Cartesian
product or cross product of A and B, written
AxB
If A = {1, 2} and B {x, y, z},
A x B = { (1, x), (1, y), (1, z), (2, x), (2, y),
(2, z) }.

18
Implication:
So the question is where we use those theorem, idea for
computation?
Just consider a simple C Programming language.
# void main ()
{
int a,b;
etc;
etc;
}

C programming language = Set of all “valid” program

19
Valid / Invalid Computation:
 Let us consider an example, where a string is given
and have to calculate that the string is present in
the language or not ?
 Given, L is a Finite language;
∑ = { a, b }
L1 = { aa, ab, ba, bb }
String, S = aaa
Here, S = aaa is not present in the language and we can
calculate this and thus is invalid operation for
computation.

20
Valid / Invalid Computation:
 Let us consider another example, where a string is
given and have to calculate that the string is
present in the language or not ?
 Given, L is a infinite language;
∑ = { a, b }
L2 = { a, aa, aaa, ab, aab, abb,…. }
String, S = baba
Here, S = baba will not be present in the language So
this is an example of invalid operation for
computation.

21
Thank You !!!
Any Questions ???

22

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy