Ngôn ngữ Lindenmayer lan truyền.

Một phần của tài liệu Một số lớp ngôn ngữ lindenmayer nguyên (Trang 30 - 32)

ngôn ngữ lindenmayer nguyên một phía.

3.1.Ngôn ngữ Lindenmayer lan truyền.

3.1.1.Định nghĩa. Một l-ợc đồ Lindenmayer là một cặp S = <X, P>, trong đó X là một tập hợp hữu hạn (gọi là một bảng chữ cái của S) và P là một tập con hữu hạn khác rỗng của XX* ( gọi là tập các quy tắc thay thế của S) sao cho

Pa a X X a     ,   : , . Khi đó ta sẽ viết  P

a hay a thay cho "<a , > trong P".

L-ợc đồ Lindenmayer S = <X, P> đ-ợc gọi là lan truyền nếu trong P không có các quy tắc thay thế dạng a.

3.1.2.Định nghĩa. Giả sử S = <X, P> là một l-ợc đồ Lindenmayer, x = a1a2...am với m ≥ 0 và aj  X với j = 1,...,m và giả sử rằng y  X*. Khi đó ta nói rằng x sinh trực tiếp ra y (trong S), ký hiệu x

S

 y nếu và chỉ nếu tồn tại 1,...,mX

sao cho (a1 1),...,(am m) và y = 1...m

Rõ ràng nếu trực tiếp sinh ra y khi và chỉ khi y = .

3.1.3.Định nghĩa. Cho l-ợc đồ Lindenmayer S = <X, P>, x  X* tùy ý và n là số nguyên không âm bất kỳ. Chúng ta định nghĩa ngôn ngữ hữu hạn Ln(S, x) bằng quy nạp theo n : L0(S , x) = {x} Ln+1(S , x) = {y/z  X*: z  Ln(S , x) và z S  y} 3.1.4.Định nghĩa. Một hệ thống Lindenmayer là một bộ ba G = <X, P, >, trong đó S = <X, P> là một l-ợc đồ Lindenmayer (gọi là l-ợc đồ của G ) và là một từ trên X (gọi là tiên đề của G). G đ-ợc gọi là lan truyền nếu S lan truyền và

 

3.1.5.Định nghĩa. Giả sử G = <X , P ,> là một hệ thống Lindenmayer. Khi đó tập hợp L(G) = {x/ x

S

*

 , trong đó S = (X , P) đ-ợc gọi là ngôn ngữ của G hoặc

ngôn ngữ đ-ợc sinh ra bởi G.

Ngôn ngữ L(G) đ-ợc gọi là ngôn ngữ Lindenmayer lan truyền nếu hệ thống Lindenmayer lan truyền .

Tập hợp các ngôn ngữ Lindenmayer đ-ợc ký hiệu là F(OL) và tập hợp các ngôn ngữ Lindenmayer lan truyền đ-ợc ký hiệu là F(POL).

3.1.6.Định lý. Bài toán tập hợp đối với hệ thống POL là giải đ-ợc .

Chứng minh. Giả sử G là một hệ thống Lindenmayer lan truyền cho tr-ớc và x là một xâu cho tr-ớc. Định nghĩa đối với mọi n:

Kn(G):= {w / w  Lm(G) với m nào đó, m  {0 , 1 ,...,n} và wx} Chú ý rằng vì G lan truyền nên với mọi n, có

Kn+1(G) = Kn(G)  { w / y  Kn(G): y  w và wx}

Từ đó chúng ta có thể tạo ra các tập hữu hạn : K0(G), K1(G),… Vì chỉ có một số từ hữu hạn w  X* sao cho w < x nên tìm đ-ợc số nguyên không âm t sao cho Km(G) = Kt(G) với mọi m  t. Thế thì : x  L(G) nếu và chỉ nếu x ( )

1Ki G

t i

 

Nh- vậy quá trình mô tả trên có thể đ-ơc sử dụng để khẳng đinh x thuộc L(G) hay không qua một số b-ớc hữu hạn .Điều này chứng minh Định lý. .

Một phần của tài liệu Một số lớp ngôn ngữ lindenmayer nguyên (Trang 30 - 32)