Tải bản đầy đủ (.ppt) (34 trang)

Automata and Formal language docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (168.56 KB, 34 trang )

Automata and formal language
Dr. Huỳnh Trung Hiếu
Faculty of Information Technology
HoChiMinh City University of Industry
Welcome to ATM&NNHT

GV: TS. Huỳnh Trung Hiếu

Khoa CNTT

Email:

Thông tin môn học:

Số tín chỉ: 3

Lên lớp: 45 tiết

Tự học: 90 tiết

Yêu cầu:

Dự lớp trên 75%

Làm bài tập trên lớp và ở nhà

Thảo luận theo nhóm

Làm tiểu luận

Thi giữa học phần



Thi kết thúc học phần
3
Formal Languages & Automata
A formal language:

Is an abstraction of the general characteristics of programming languages.

Consists of a set of symbols and some formation rules by which these symbols can be
combined into sentences.
4
Formal Languages & Automata
An automaton:

Is a construction that possesses all the indispensable features of a digital computer.

Accepts input, produces output, may have some temporary storage, and can make
decisions in transforming the input into the output.
5
Formal Languages & Automata

Digital design

Programming languages

Compilers
Some immediate and important applications.
Tài liệu

Giáo trình lý thuyết automat và ngôn ngữ hình thức.

Hồ Văn Quân

An introduction to formal languages and automata.
Peter Linz

Introduction to automata theory, languages, and computation.
John Hopcroft & Jeffrey Ullman
Mục tiêu môn học

Xây dựng mô hình trừu tượng cho máy tính.

Lý thuyết cung cấp cho chúng ta những khái niệm giúp ta đi đến những ứng dụng như :

Thiết kế kỹ thuật số.

Ngôn ngữ lập trình.

Trình biên dịch.

Nhận dạng ngôn ngữ,….
Nội dung môn học

Phần 1:Giới thiệu khái niệm, dẫn nhập.

Phần 2: Automat hữu hạn.

Phần 3:
Ngôn ngữ và văn phạm chính quy.

Phần 4: Các tính chất của ngôn ngữ chính quy


Phần 5: Ngôn ngữ phi ngữ cảnh

Phần 6: Đơn giản văn phạm vi ngữ cảnh

Phần 7: Automat đẩy xống

Phần 9: Máy Turing
GiỚI THIỆU KHÁI NiỆM, DẪN NHẬP
10
Three Basic Concepts

Languages

Grammars

Automata
11
Languages

Là một hệ thống thích hợp nhằm để diễn tả những ý kiến, sự kiện, khái niệm chắc
chắn. Chúng bao gồm tập hợp các ký hiệu và quy luật
12
Languages

Alphabet: a finte and nonempty set of symbols
Σ = {a, b}

String: finite sequence of symbols from Σ
w = abaaa

Độ dài chuỗi |w|, chính là số ký tự trong chuỗi.
λ: empty string
Σ
*
: the set of all strings on Σ (Σ
+
= Σ
*
− {λ})
13
Languages

Language: a subset L of Σ
*

Word or Sentence: a string in L
14
Languages

Example 1:
Σ = {a, b}
Σ
*
= {λ, a, b, aa, ab, ba, aaa, }
L1 = {a, aa, aab} (finite language)
L2 = {a
n
b
n
| n ≥ 0} = {λ, ab, aabb, }

Các chuỗi aabb, aaaabbbb là các từ trên
ngôn ngữ L
2
, nhưng chuỗi abb thì không.
15
Languages

Language concatenation:
L1L2 = {xy | x∈L1, y∈L2}
L
n
= L L L (n times)
L
0
= {λ}
16
Languages

Example 2:
L = {a
n
b
n
| n ≥ 0}
L
2
= {a
n
b
n

a
m
b
m
| n ≥ 0, m ≥ 0}
17
Languages

Star-closure:
L
*
= L
0
∪ L
1
∪ L
2


Positive closure:
L
+
= L
1
∪ L
2

18
Grammars


A grammar for a natural language tells us whether a particular sentence is well-formed or
not.
<sentence> → <noun-phrase><predicate>
<noun-phrase> → <article><noun>
<predicate> → <verb>
<article> → a | the
<noun> → boy | dog
<verb> → runs | walks
khi đó ta có những câu như: "a boy
runs" và "the dog walks" là có
"dạng đúng" có nghĩa là được sinh
ra từ văn phạm trên.
19
Grammars

Formal grammar:
G = (V, T, S, P)
V: finite set of variables (tập biến)
T: finite set of terminal symbols (tập ký hiệu kết thúc)
S∈V: start variable (tập biến bắt đầu)
P: finite set of productions (luật sinh)
20
Grammars

Productions: Điểm chủ yếu của văn phạm
x → y
x∈(V∪T)
+
y∈(V∪T)
*


w = uxv derives (dẫn xuất ra) z = uyv
w ⇒ z
w1 ⇒
*
wn (w1 ⇒ w2 ⇒ ⇒ wn | w1 = wn)
w1 ⇒
+
wn
kí hiệu * cho biết dẫn xuất đến wn thì qua một số bước (số bước có thể = 0)
21
Grammars

Generated language:
Cho G = (V, T, S, P) là 1 văn phạm thì tập:
L(G) = {w∈T
*
| S ⇒
*
w} là ngôn ngữ được sinh ra bởi G

Derivation: nếu w∈L(G) thì tồn tại dẫn xuất:
S ⇒ w1 ⇒ w2 ⇒ ⇒ wn ⇒ w

Sentential forms: S, w1, w2, , wn (containing variables)
22
Grammars

Example 3:
G = ({S}, {a, b}, S, P)

P: S → aSb
S → λ
S ⇒ aSb ⇒ aaSbb ⇒ aabb
aabb: sentence aaSbb: sentential form
23
Grammars

Example 3:
G = ({S}, {a, b}, S, P)
P: S → aSb
S → λ
L(G) = {a
n
b
n
| n ≥ 0}
24
Grammars

Example 4:
G1 = ({A, S}, {a, b}, S, P1)
P
1
: S → aAb | λ
A → aAb | λ
25
Grammars

Example 4:
G1 = ({A, S}, {a, b}, S, P1)

P1: S → aAb | λ
A → aAb | λ
L(G1) = {a
n
b
n
| n ≥ 0}
G and G1 are equivalent

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×