Thuật toán Oleg&Oanh Ố 2011

Một phần của tài liệu Nghiên cứu một số thuật toán chọn K láng giếng gần trong 2D và áp dụng cho phương pháp RBF FD giải phương trình Poisson (Trang 40 - 47)

2.3.1. Ý tưởng

Thuật toán OLEGOANH-2011 là phương phương pháp không lưới nhằm mục đắch chọn bộ tâm ửz thỏa mãn các tâm phân bố "đều" nhất như có thể xung quanh

z và "gần" z nhất như có thể. Thuật toán cố gắng đảm bảo sự thỏa hiệp giữa hai điều kiện trên.

2.3.2. Ni dung Cho tập hợp các điểm ử và điểm zịử. Chọn tập con ửz thỏa mãn: Cho tập hợp các điểm ử và điểm zịử. Chọn tập con ửz thỏa mãn: Cho tập hợp các điểm ử và điểm zịử. Chọn tập con ửz thỏa mãn: \ , z z z ử ịX ộ ử ịử Giả sử ử =z { , ,z z z1 2,..., }zk chứa x và các điểm z z1, ,...,2 zk được sắp xếp theo chiều kim đồng hồ với tâm là z . Ta xét hàm chi phắ:

2 1 2 1 ( , , ,..., k) : k i i m z z z z a = =ạ

Trong đó, ai là góc được tạo bởi hai tia zz zzi, i+1theo chiều kim đồng hồ với

: k i i z + =z Gọia z z( , ,..., ) min{ ,1 2 zk = a a1 2,..., }ak , a z z( , ,..., ) min{ , ,..., }1 2 zk = a a1 2 ak Do 1 2 k i i a p = = ạ nên biểu thức 2 1 k i i a =

ạ đạt giá trị min khi: 1 2 ... k 2 /k

a =a = =a = p

Tuy nhiên những điểm này phải nằm trong tập chỉ định ử, do vậy mục tiêu của giải thuật dưới đây là chọn z z1, ,...,2 zkịử, thỏa mãn điều kiện m z z( , ,...,1 2 zk) đạt giá trị min trong khi vẫn giữ được giá trị các khoảng cách z zi - nhỏ nhất có thể. Để cân bằng giữa việc đạt giá trị min của mvà các khoảng cách, chúng ta sẽ hạn chế rằng zi phải nằm trong m điểm gần nhất tới z và kết thúc thuật toán nếu tập { , , ,..., }z z z1 2 zk thỏa mãn điều kiện:

1 2 1 2

( , ,..., )k u. ( , ,..., )k

a z z za z z z ,

2.3.3. Thut toán

Input: X,z

Output:Xz

Các tham biến: k là số các điểm xi cần thiết trong tập Xz,m k> (số các các tâm nằm trong lân cận của z ) và u > 1 (giới hạn góc đều mà có thể chấp nhận được). Các giá trị tham biến được sử dụng trong các thử nghiệm của chúng tôi:

k = 6, m = 30, u = 3.0.

1. Tìm m điểm x x1, ,...,2 xm gần z nhất với điều kiện x x1, ,...,2 xm thuộc

{ }

\ z

X ,sắp xếp các điểm x x1, ,...,2 xmtheo chiều tăng dần theo khoảng cách

đến z , tập Xz ban đầu chứa z và k điểm đầu tiên, X =z {z x x, , ...,1 2 xk}.

Nếu a x x( 1, ,...,2 xk)ẳua x x( 1, ,...,2 xk) thì STOP: trả về Xz . 2. For i = k +1, Ẩ,m :

a) Tắnh các góc a a1ằ ằ, 2,...akằ+1 được tạo thành bởi tập mở rộng

{x x1ằ ằ, ,...,2 xkằ =} {x x1, ,..., ,2 x xk i}

b) Nếu góc giữa zxi và góc giữa hai tia lân cận của nó đều lớn hơn góc nhỏ

nhất a a x xằ = { 1, ,..., ,2 x xk i}thì:

i) Tìm j sao cho aj =aằ Chọn p = j hoặc p = j + 1 phụ thuộc vào aj-1<aj+1 hoặc aj-1³aj+1

Nếu m x x{ 1ằ ằ, ,...,2 xkằ+1}\{ }xpằ <m x x{ 1, ,...,2 xk} thì: ii) Cập nhật {x x1, ,...,2 xk} {= x x1ằ ằ, ,...,2 xkằ+1}\{ }xpằ .

Nếu a x x( 1, ,...,2 xk)ẳua x x( 1, ,...,2 xk) thì

STOP: trả về tập hiện hành X =z {z x x, , ...,1 2 xk}.

3. Chú ý rằng trong trường hợp thuật toán không kết thúc sớm và

( , ,..., ) u ( , ,..., )

thỏa mãn tập hiện hành X =z {z x x, , ...,1 2 xk}. Tìm j sao cho aj =a x x( 1, ,...,2 xk) Chọn p

= j hoặc p = j + 1 phụ thuộc vào aj-1<aj+1hoặc aj-1³aj+1. STOP: trả về X =z {z x x, , ...,1 2 xk}\{ }xp .

*Đánh giá độ phức tạp của thuật toán

Mnh đề: Cho N là số các tâm rời rạc X, Nintlà số các tâm thuộc tập Xint, k là

số tâm trong bộ tâm cho hệ số nội suy RBF Xz và m (m > k) là số tâm gần z nhất. Khi đó, độ phức tạp tắnh toán của Thuật Toán 1 là O(Nint.m.log(N)).

Đối với mỗi z ịXint

1. Tắnh chi phắ tắnh toán đối với bước 1.

a) Thời gian tìm m điểm x x1, ,...,2 xm gần z nhất là m.O(log(N))

b) Thời gian sắp xếp m điểm , i = l, 2,... ,m theo chiều tăng dần của khoảng cách từ xi đến z là O(m2).

c) Thời gian xác định k điểm đầu tiên là O(k).

Vì vậy chi phắ thời gian để xác định tập Xz ban đầu từ bước 1 đến bước 3. theo quy tắc cộng là O(m.log(N)).

2. Chi phắ tắnh toán để loại bỏ điểm Ềxấu Ề và kết nạp điểm ỀtốtỂ trong m-k

tâm còn lại , theo nghĩa các tia liền kề zxizxi+1 tạo thành các góc đều nhất như

có thể và đồng thời các tâm xi với i = 1, 2,... ,k -1 gần tâm z nhất như có thể

a) Chi phắ tắnh toán đối với bước 2. a. là O(k + l). b) Chi phắ tắnh toán đối với bước 2.b.i. là O(k + l)2).

Chi phắ tắnh toán đối với bước 2.b.ii. là O(l).

Vì vậy chi phắ tắnh toán đối với bước II. là O((m- k).log((k + l)2)).

3. Chi phắ tắnh toán cần thiết khi thuật toán không kết thúc sớm là O(k2 ).

Vì vậy, độ phức tạp thuật toán của đoạn chương trình từ bước 1. đến bước 3 là theo quy tắc cộng. Nên nó chắnh là độ phức tạp của bước 1 và nó là O(m.log(N)).

Hơn nữa, Nint là số nút trong tập Xintnên độ phức tạp của thuật toán là

O(Nint.m.log(N)). Vì vậy mệnh đềđược chứng minh.

2.3.4. Vắ d

- Miền là miền hình chữ L [ ]2 1,1

ị -

- Số tâm trên miền là 450

- Các tâm được phân bố như trong hình 2.12

Hình 2.13: Sốđiểm gần tâm z nhất

2.3.5. Ưu, nhược đim

Ưu điểm: Thuật toán hiệu quả trong những trường hợp tập ử quá bất thường. Vắ dụ tất cả m điểm gần nhất với z tập trung ở một nửa mặt phẳng so với z , thuật toán OLEGOANH-2011 hữu hiệu hơn so với các thuật toán khác đã được công bố, đặc biệt đối với miền hình học phức tạp.

Nhược điểm: Cài đặt thuật toán phức tạp và tốn nhiều thời gian hơn so với các thuật toán khác.

Chương 3

ÁP DỤNG THUẬT TOÁN CHỌN K-LÁNG GIỀNG GẦN CHO PHƯƠNG PHÁP RBF-FD TRONG KHÔNG GIAN 2D

Một phần của tài liệu Nghiên cứu một số thuật toán chọn K láng giếng gần trong 2D và áp dụng cho phương pháp RBF FD giải phương trình Poisson (Trang 40 - 47)