Teori Bahasa dan Automata Lecture 1: Course Overview and Introduction

Slides:



Advertisements
Similar presentations
Copyright © Cengage Learning. All rights reserved. CHAPTER 1 SPEAKING MATHEMATICALLY SPEAKING MATHEMATICALLY.
Advertisements

January 5, 2015CS21 Lecture 11 CS21 Decidability and Tractability Lecture 1 January 5, 2015.
Mathematical Methods in Linguistics. Basic Concepts of Set Theory.
CS5371 Theory of Computation Lecture 1: Mathematics Review I (Basic Terminology)
CS 454 Theory of Computation Sonoma State University, Fall 2011 Instructor: B. (Ravi) Ravikumar Office: 116 I Darwin Hall Original slides by Vahid and.
1 Lecture 11 Studying structure of REC –Complexity theory overview –Automata theory preview Motivating Problem –string searching.
 2004 SDU Introduction to the Theory of Computation My name: 冯好娣 My office: 计算中心 430
Introduction to the Theory of Computation
Introduction Chapter 0. Three Central Areas 1.Automata 2.Computability 3.Complexity.
CS/IT 138 THEORY OF COMPUTATION Chapter 1 Introduction to the Theory of Computation.
INTRODUCTION TO THE THEORY OF COMPUTATION INTRODUCTION MICHAEL SIPSER, SECOND EDITION 1.
L ECTURE 1 T HEORY OF C OMPUTATION Yasir Imtiaz Khan.
Lecture 1 Computation and Languages CS311 Fall 2012.
CSCI 2670 Introduction to Theory of Computing Instructor: Shelby Funk.
CS 103 Discrete Structures Lecture 10 Basic Structures: Sets (1)
Discrete Structure Sets. 2 Set Theory Set: Collection of objects (“elements”) a  A “a is an element of A” “a is a member of A” a  A “a is not an element.
CS201: Data Structures and Discrete Mathematics I
MATH 224 – Discrete Mathematics
Copyright © Cengage Learning. All rights reserved.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
THEORY OF COMPUTATION Komate AMPHAWAN 1. 2.
Chapter 2 With Question/Answer Animations. Section 2.1.
Introduction Episode 0 What is TOC (Theory of Computation) about? Giorgi Japaridze Theory of Computability Subject: The fundamental mathematical properties.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
CMPT 308 — Computability and Complexity Fall 2004 Instructor: Andrei Bulatov, TA: Ramsay Dyer, Learning.
CSCI 2670 Introduction to Theory of Computing October 13, 2005.
Donghyun (David) Kim Department of Mathematics and Physics North Carolina Central University 1 Chapter 0 Introduction Some slides are in courtesy of Prof.
Theory of computation Introduction theory of computation: It comprises the fundamental mathematical properties of computer hardware, software,
Module #3 - Sets 3/2/2016(c) , Michael P. Frank 2. Sets and Set Operations.
Introduction to Graph Theory & its Applications
Thinking Mathematically Venn Diagrams and Set Operations.
Computation Theory Asia Mahdi. Textbooks Programs, Machines and Computation: An Introduction to the Theory of Computing - Authors: Keith Clark and Don.
Theory of Computation. Introduction We study this course in order to answer the following questions: What are the fundamental capabilities and limitations.
Chapter 2 Sets and Functions.
The Language of Sets If S is a set, then
Introduction Chapter 0.
Formal Language & Automata Theory
Relations and Functions
Computable Functions.
BCS2143 – Theory of Computer Science
Introduction to the Theory of Computation
Set, Combinatorics, Probability & Number Theory
Lecture 1 Theory of Automata
Copyright © Cengage Learning. All rights reserved.
MATH 224 – Discrete Mathematics
Ch. 11 Theory of Computation
Taibah University College of Computer Science & Engineering Course Title: Discrete Mathematics Code: CS 103 Chapter 2 Sets Slides are adopted from “Discrete.
Computer Science Department
Jaya Krishna, M.Tech, Assistant Professor
Algebra 1 Section 1.1.
Alternating tree Automata and Parity games
INTRODUCTION TO THE THEORY OF COMPUTATION
Functions Introduction.
Advanced Algorithms Analysis and Design
CSCI-2400 Models of Computation.
Linear Algebra Lecture 1: Introduction
Teori Bahasa dan Automata Lecture 1: Course Overview and Introduction
Discrete Mathematics Lecture 6: Set and Function
Introduction Chapter 0.
Teori Bahasa dan Automata Lecture 9: Contex-Free Grammars
Copyright © Cengage Learning. All rights reserved.
2.1 – Symbols and Terminology
Chapter 1 Introduction to the Theory of Computation
Teori Bahasa dan Automata Lecture 4: Non-deterministic Finite Automata
Copyright © Cengage Learning. All rights reserved.
SETS, RELATIONS, FUNCTIONS
Copyright © Cengage Learning. All rights reserved.
Teori Bahasa dan Automata Lecture 6: Regular Expression
Terminology and Symbols
Numerical Method Lecture 1: Introduction
Presentation transcript:

Teori Bahasa dan Automata Lecture 1: Course Overview and Introduction By: Nur Uddin, Ph.D

Lecturer Name: Nur Uddin, PhD. Email: nur.uddin@upj.ac.id Education: PhD in Eng. Cybernetics, NTNU, Norway (April 2016) M. Eng in Mechanical Eng., GSNU, South Korea (Feb 2009) B. Eng in Aeronautics Eng., ITB, Indonesia (Mar 2002)

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

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.

Complexity (Cont’d) Several options to confront a computationally hard problem Find the root of the difficulty. Finding solutions that only approximate the perfect solution. Some problems are hard only in the worst case situation. Consider alternative types of computation. E.g.: randomized computation can speed up certain tasks.

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.

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.

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.

Mathematical Notations and Terminology

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

Set Operations Union ( ) Intersection ( ) Complement ( ) Venn diagram

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}.

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.

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) }.

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:

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:

Function: example 1

Function: example 2