chapter 0 introduction - yolafadhil.yolasite.com/resources/automata_and... · chapter 0...

22
Chapter 0 Introduction Fourth Academic Year/ Elective Course Electrical Engineering Department College of Engineering University of Salahaddin October 2014

Upload: others

Post on 05-Aug-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Chapter 0 Introduction - Yolafadhil.yolasite.com/resources/Automata_and... · Chapter 0 Introduction Fourth Academic Year/ Elective Course Electrical Engineering Department College

Chapter 0

Introduction

Fourth Academic Year/ Elective Course

Electrical Engineering Department

College of Engineering

University of Salahaddin

October 2014

Page 2: Chapter 0 Introduction - Yolafadhil.yolasite.com/resources/Automata_and... · Chapter 0 Introduction Fourth Academic Year/ Elective Course Electrical Engineering Department College

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.

One model, called the finite automaton, 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 allows practice with formal definitions of

computation as it introduces concepts relevant to other non-

theoretical areas of computer science.

2 of 22

Page 3: Chapter 0 Introduction - Yolafadhil.yolasite.com/resources/Automata_and... · Chapter 0 Introduction Fourth Academic Year/ Elective Course Electrical Engineering Department College

Computability Theory

There are certain basic problems cannot be solved by

computers.

One example of this phenomenon is the problem of

determining whether a mathematical statement is true or

false.

In complexity theory, the objective is to classify problems as

easy ones and hard ones; whereas in computability theory,

the classification of problems is by those that are solvable

and those that are not.

3 of 22

Page 4: Chapter 0 Introduction - Yolafadhil.yolasite.com/resources/Automata_and... · Chapter 0 Introduction Fourth Academic Year/ Elective Course Electrical Engineering Department College

Complexity Theory

Computer problems come in different varieties; some are

easy, and some are hard.

For example, the sorting problem is an easy one. Say that

you need to arrange a list of numbers in ascending order.

Even a small computer can sort a million numbers rather

quickly.

Compare that to a scheduling problem. Say that you must

find a schedule of classes for the entire university to satisfy

some reasonable constraints, such as that no two classes take

place in the same room at the same time.

The scheduling problem seems to be much harder than the

sorting problem. If you have just a thousand classes, finding

the best schedule may require centuries, even with a

supercomputer.

4 of 22

Page 5: Chapter 0 Introduction - Yolafadhil.yolasite.com/resources/Automata_and... · Chapter 0 Introduction Fourth Academic Year/ Elective Course Electrical Engineering Department College

Math Notes and Terminology : Sets

A set is a group of objects represented as a unit. Sets may contain any type of

object, including numbers, symbols, and even other sets. The objects in a set are

called its elements or members.

For example, S = { 7 , 2 1 , 5 7 }

Where 7,21, and 57 are elements in set S. Therefore,

7 { 7 , 2 1 , 5 7 } and 8 { 7 , 2 1 , 5 7 }

For two sets A and B , A B if every member of A also member of B.

The set with 0 members is called the empty set or .

For example, { n | n = m 2 for some m N } means the set with perfect squares. (N

for natural numbers).

Union: A B ( combining all elements in A and B)

Intersection: A B (a set of elements in A and B)

Complement: 𝑨 ( all elements are not in A)

5 of 22

Page 6: Chapter 0 Introduction - Yolafadhil.yolasite.com/resources/Automata_and... · Chapter 0 Introduction Fourth Academic Year/ Elective Course Electrical Engineering Department College

Math Notes and Terminology: Sequences

Sequence: is a list of objects in some order. Usually, a sequence designates by

writing the list within parentheses.

For example: Sq1= ( 7 , 2 1 , 5 7 )

Note: order and repetition don’t matter in a set, but in a sequence they do.

Sets and sequences may be finite or infinite.

For example: (7,21,57) is not the same as (57,7,21)

S1= {7,21,57}, S2 = {7,7,21,57}

S1 and S2 are identical sets.

Sq2= ( 7 , 7 , 2 1 , 5 7 )

Sq1 and Sq2 are not the identical sequences.

6 of 22

Page 7: Chapter 0 Introduction - Yolafadhil.yolasite.com/resources/Automata_and... · Chapter 0 Introduction Fourth Academic Year/ Elective Course Electrical Engineering Department College

Math Notes and Terminology: Tuples

Tuple: is a finite sequence, a sequence with k elements is a k-tuple.

For example: Sq1 is a 3-tuple

Note: a 2-tuple is called an ordered pair.

Note: sets and sequences may appear as elements of other sets of sequences.

For example: the power set of A is the set of all subsets of A.

let A = {0,1} therefore, the power set of A is { , { 0 } , { 1 } , { 0 , 1 } }

the set of all ordered pairs whose elements are 0s and 1s is

{ ( 0 , 0 ) , ( 0 , 1 ) , ( 1 , 0 ) , ( 1 , 1 ) }

7 of 22

Page 8: Chapter 0 Introduction - Yolafadhil.yolasite.com/resources/Automata_and... · Chapter 0 Introduction Fourth Academic Year/ Elective Course Electrical Engineering Department College

Math Notes and Terminology: Cartesian Product

Cartesian Product: (A B), is a set of all ordered pairs wherein the first element

is a member of A and the second element is a member of B.

Example 1

Let A= { 1 , 2 } and B= { x , y, z } then

A B= { ( 1 , x ) , ( 1 , y ) , ( 1 , z ) , ( 2 , x ) , ( 2 , y ) , ( 2 , z ) }

A B A = { ( 1 , x , 1 ) , ( 1 , x , 2 ) , ( 1 , y, 1 ) , ( 1 , y , 2 ) , ( 1 , z , 1 ) , ( 1 , z , 2 ) ,

( 2 , x , 1 ) , ( 2 , x , 2 ) , ( 2 , y, 1 ) , ( 2 , y, 2 ) , ( 2 , z , 1 ) , ( 2 , z , 2 ) }

Note: if we have the Cartesian product of a set with itself, thus

Example 2

The set N2 equal N N, it consist of all ordered pairs of natural numbers;

{ { i , j ) | i , j 1 }

8 of 22

Page 9: Chapter 0 Introduction - Yolafadhil.yolasite.com/resources/Automata_and... · Chapter 0 Introduction Fourth Academic Year/ Elective Course Electrical Engineering Department College

Math Notes and Terminology: Functions and Relations

Function: is an object that sets up an input-output relationship. A function takes

an input and produces an output.

f(a) = b

Mapping: if f(a)=b , then f maps a to b.

Domain: is a set of possible inputs to the function.

Range: the outputs of a function come from a set.

For example, f: D R : f is a function with domain D and range R

Example 3

This function adds 1 to its input and then outputs the result modulo 5. 9 of 22

Page 10: Chapter 0 Introduction - Yolafadhil.yolasite.com/resources/Automata_and... · Chapter 0 Introduction Fourth Academic Year/ Elective Course Electrical Engineering Department College

Math Notes and Terminology: Graphs

A graph (or undirected graph): is a set of points with lines connecting some of the

points.

Nodes (or vertices): are points in the graph.

Edges: are lines in the graph, no more than one edge is allowed between any two

nodes.

Degree: is the number of edges at a particular node.

Note: if V is the set of nodes of G and E is the set of edges, then G=(V,E).

For example:

All nodes have degree 2 all nodes have degree 3

10 of 22

Page 11: Chapter 0 Introduction - Yolafadhil.yolasite.com/resources/Automata_and... · Chapter 0 Introduction Fourth Academic Year/ Elective Course Electrical Engineering Department College

Math Notes and Terminology: Graphs

Example: Describe the following graphs

For graph (a)

All nodes have degree 2

G= ( V, E ) = ( { 1 , 2 , 3 , 4 , 5 } , { ( 1 , 2 ) , ( 2 , 3 ) , ( 3 , 4 ) , ( 4 , 5 ) , ( 5 , 1 ) } )

For graph (b)

All nodes have degree 3

G= ( V, E ) = ( { 1 , 2 , 3 , 4 } , { ( 1 , 2 ) , ( 1 , 3 ) , ( 1 , 4 ) , ( 2 , 3 ) , ( 2 , 4 ) , ( 3 , 4 ) } )

11 of 22

Page 12: Chapter 0 Introduction - Yolafadhil.yolasite.com/resources/Automata_and... · Chapter 0 Introduction Fourth Academic Year/ Elective Course Electrical Engineering Department College

Math Notes and Terminology: Graphs

Path: is a sequence of nodes connected by edges

• A graph is connected if every two nodes have a path between them

• A path is cycle if it starts and ends in the same node

• A path is a tree if it is connected and has no simple cycles

• The nodes of a degree 1 in a tree, other than the root, are called leaves of the

tree.

a path in a graph a cycle in a graph a tree in a graph

12 of 22

Page 13: Chapter 0 Introduction - Yolafadhil.yolasite.com/resources/Automata_and... · Chapter 0 Introduction Fourth Academic Year/ Elective Course Electrical Engineering Department College

Math Notes and Terminology: Graphs

Directed graph: is a graph which has paths with arrows.

Note: in a directed graph, an edge from i to j is represented as pair(i,j)

Example: Consider the following graph

G= ( V, E )

=( { 1 , 2 , 3 , 4 , 5 , 6 } , { ( 1 , 2 ) , ( 1 , 5 ) , ( 2 , 1 ) , ( 2 , 4 ) , ( 5 , 4 ) , ( 5 , 6 ) , ( 6 , 1 ) , ( 6 , 3 ) } )

13 of 22

Page 14: Chapter 0 Introduction - Yolafadhil.yolasite.com/resources/Automata_and... · Chapter 0 Introduction Fourth Academic Year/ Elective Course Electrical Engineering Department College

Math Notes and Terminology: Strings and Languages

Alphabet : is any nonempty finite set.

Symbol: is the member of the alphabet.

Note:

1. Strings of characters are fundamental building blocks in computer science.

2. Greek letters and are used to designate alphabets and a typewrite font

from symbols from an alphabet.

1 = { 0 , 1 }

2 = { a , b , c , d , e , f , g , h , i , j , k , l , m , n , o , p , q , r, s , t , u , v, w, x , y, z }

= { 0 , 1 , x , y, z }

String over an alphabet: is a finite sequence of symbols from that alphabet usually

written next to one another and not separated by commas.

For example: 01001 is a string over 1 , and abracadabra is a string over 2 .

14 of 22

Page 15: Chapter 0 Introduction - Yolafadhil.yolasite.com/resources/Automata_and... · Chapter 0 Introduction Fourth Academic Year/ Elective Course Electrical Engineering Department College

Math Notes and Terminology: Strings and Languages

Length of string : is the number of symbols that the string contains.

|w| is the length of string w over alphabet

Empty string : is the string with length zero. The empty string represents 0 in a

number system.

Example:

for w with length n, then w = w1 w2 w3 … wn where wi

and reverse of w is wn wn-1 wn-2 … w1

Note: String z is substring of w if z appears consecutively within w

such, cad is a substring of abracadabra

Concatenation: is the string obtained by appending string y to the end of string x.

such, string x with length m, string y with length n, then concatenation xy is

x1 … xmy1… yn

Note: xk is a string concatenated with itself15 of 22

Page 16: Chapter 0 Introduction - Yolafadhil.yolasite.com/resources/Automata_and... · Chapter 0 Introduction Fourth Academic Year/ Elective Course Electrical Engineering Department College

Math Notes and Terminology: Strings and Languages

Example : What is the string ordering of all strings over the = {0,1}?

Answer: ( , 0 , 1 , 0 0 , 0 1 , 1 0 , 11 , 0 0 0 ,… )

16 of 22

Page 17: Chapter 0 Introduction - Yolafadhil.yolasite.com/resources/Automata_and... · Chapter 0 Introduction Fourth Academic Year/ Elective Course Electrical Engineering Department College

Math Notes and Terminology: Boolean Logic

NOT ( ): negation

AND (): conjunction

OR () : disjunction

XOR ():exclusive or

Equality ()

Implication ()

17 of 22

Page 18: Chapter 0 Introduction - Yolafadhil.yolasite.com/resources/Automata_and... · Chapter 0 Introduction Fourth Academic Year/ Elective Course Electrical Engineering Department College

Math Notes and Terminology: Exercises

Exercise 1: Name the following sets

1. S1= { 1 , 3 , 5 , 7 ,… }

2. S2 = { n | n = 2 m f o r s o me m i n N } where N is natural number

Answer:

1. Odd natural number

2. S2= { 2 , 4 , 6 , 8 ,… . . } even natural numbers

Exercise 2: Write the formal description of the set containing the numbers 1, 10,

and 100.

Answer:

S = {1 , 10 , 100}

18 of 22

Page 19: Chapter 0 Introduction - Yolafadhil.yolasite.com/resources/Automata_and... · Chapter 0 Introduction Fourth Academic Year/ Elective Course Electrical Engineering Department College

Math Notes and Terminology: Exercises

Exercise 3: Let A = { x , y, z } , and B= { x , y } . Find A B and A B.

Answer:

A B = { x , y }

A B = { ( x , x ) , ( x , y ) , ( y , x ) , ( y, y ) . ( z , x ) , ( z , y ) }

19 of 22

Page 20: Chapter 0 Introduction - Yolafadhil.yolasite.com/resources/Automata_and... · Chapter 0 Introduction Fourth Academic Year/ Elective Course Electrical Engineering Department College

Math Notes and Terminology: Exercises

Exercise 4: Let X = {1,2,3,4,5}, and Y={6,7,8,9,10}. The unary function f:X Y

and the binary function g: X X Y are described in the following tables

1. What are the range and domain of f?

2. What is the value of g(4,f(4))?

Answer

1. the domain is X and the range is Y

2. g(4,7) = 8

20 of 22

Page 21: Chapter 0 Introduction - Yolafadhil.yolasite.com/resources/Automata_and... · Chapter 0 Introduction Fourth Academic Year/ Elective Course Electrical Engineering Department College

Math Notes and Terminology: Exercises

Exercise 5: Describe the following graph

Answer

The graph is the directed graph

V = {0,1,2,3,4,5,6}

E={(0, 2), (0, 4), (0, 5), (1, 0), (2, 1), (2, 5), (3, 1), (3, 6), (4, 0), (4, 5), (6, 3), (6, 5)}

21 of 22

Page 22: Chapter 0 Introduction - Yolafadhil.yolasite.com/resources/Automata_and... · Chapter 0 Introduction Fourth Academic Year/ Elective Course Electrical Engineering Department College

End of Chapter 0!

Questions ?

22 of 22