0% found this document useful (0 votes)
40 views17 pages

Course Overview and Introduction: Teori Bahasa Dan Automata

Uploaded by

Satrio Herly
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views17 pages

Course Overview and Introduction: Teori Bahasa Dan Automata

Uploaded by

Satrio Herly
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 17

Teori Bahasa dan Automata

Lecture 1:
Course Overview and Introduction

By:
Nur Uddin, Ph.D

1
Theory of computation

 Theory of computation comprises the fundamental mathematical


properties of computer hardware, software, and applications.

 Theory of computation is to answer:


What are the fundamental capabilities and limitations of computers?

 Theory of computation consists of three areas:


• Automata
• Computability
• Complexity

2
Complexity

 Computer problems;
• Easy problems
e.g.: sorting problem
• Hard problems
e.g.: scheduling problem

 What makes some problems computationally hard and others


easy?
This is the central question of complexity theory.

3
Complexity (Cont’d)

Several options to confront a computationally hard problem

1. Find the root of the difficulty.

2. Finding solutions that only approximate the perfect solution.

3. Some problems are hard only in the worst case situation.

4. Consider alternative types of computation.


E.g.: randomized computation can speed up certain tasks.

4
Complexity Theory

• Complexity theory is an elegant scheme for classifying problems


according to their computational difficulty.

• Complexity theory provides a method for giving evidence that


certain problems are computationally hard, even if we are unable
to prove it.

• In most fields, an easy computational problem is preferable to a


hard one but not in cryptography.

• Cryptography is unusual because it requires computational


problems to be hard, rather than easy.

5
Computability Theory

• During the first half of the twentieth century, mathematicians such


as Kurt Godel, Alan Turing, and Alonzo Church discovered that
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.

• The theories of computability and complexity are closely related.


• In complexity theory, the objective is to classify problems as easy
ones and hard ones;
• whereas in computability theory, the problems is classified into
solvable and unsolvable.

6
AUTOMATA THEORY

• Automata theory deals with the definitions and properties of


mathematical models of computation.
• 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 is an excellent place to begin the study of the


theory of computation.
• The theories of computability and complexity require a precise
definition of a computer. Automata theory provides formal
definitions of computation.

7
Mathematical Notations and Terminology

8
Set

• Set
• Membership and non-membership ( ).
• Subset
• Infinite set
• Empty set

9
Set Operations

• Union ( )
• Intersection ( )
• Complement ( )
• Venn diagram

10
Sequence and tuple

• A sequence of objects is a list of these objects in some order.


E.g.:
(7, 21, 57) is not the same as (57, 7, 21).

• Similarly, repetition does matter in a sequence, but it doesn’t


matter in a set.
• Thus (7, 7, 21, 57) is different from (7, 21, 57) and (57, 7, 21).,
whereas the set {7, 21, 57} is identical to the set {7, 7, 21, 57}.

11
Tuples

• Sequences may be finite or infinite.

• Finite sequences often are called tuples.

• A sequence with k elements is a k-tuple.

• Thus (7, 21, 57) is a 3-tuple.

12
Power set

• Sets and sequences may appear as elements of other sets and


sequences.

• For example:
• The power set of A is the set of all subsets of A.
• If A is the set {0, 1}, the power set of A is the set { ∅, {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) }.

13
Cartesian Product

• If A and B are two sets, the Cartesian product or cross product


of A and B, written A × B, is the set of all ordered pairs wherein the
first element is a member of A and the second element is a
member of B.

• Example:

14
Function and Relation

• A function is an object that sets up an input–output relationship.

• A function also is called a mapping, and f(a) = b is said as f maps


a to b.
• The set of possible inputs to the function is called its domain. The
outputs of a function come from a set called its range.
• The notation for saying that f is a function with domain D and
range R is:

15
Function: example 1

16
Function: example 2

17

You might also like