Thuật toán chọn tâm

Một phần của tài liệu BÁO CÁO TỔNG KẾT ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP ĐẠI HỌC XỬ LÝ SONG SONG TRONG PHƯƠNG PHÁP RBF-FD GIẢI BÀI TOÁN TRUYỀN NHIỆT (Trang 29 - 32)

Chương 1 Kiến thức cơ sở

2.3. Thuật toán chọn tâm

Ý tưởng của thuật toán:

Với mỗiζ ∈Ξint, ta chọn được tậpΞζ ={ζ,ζ1, . . . ,ζn} ⊂Ξ, trong đó các điểmζ1, . . . ,ζn

được xếp theo thứ tự ngược chiều kim đồng hồ đối vớiζ. Đặt

µ(ζ1, . . . ,ζn):=

n

i=1

αi2, α(ζ1, . . . ,ζn):= min

1≤i≤nαi, α(ζ1, . . . ,ζn):= max 1≤i≤nαi,

trong đó αi là góc giữa các tia ζ ζi, ζ ζi+1 theo hướng ngược chiều kim đồng hồ, với chu trìnhζn+i:=ζi. Vì∑ni=1αi=2π, nên biểu thức ∑ni=1αi2 đạt giá trị nhỏ nhất khi các tiaζ ζi

phân bố đều hay các gócαibằng nhauα1=· · ·=αn=2π/n. Trong thực nghiệm rất khó để chọn được các điểmζ1, . . . ,ζi sao cho biểu thức∑ni=1αi2đạt giá trị nhỏ nhất đối với tập con

{ζ1, . . . ,ζn}của tập hữu hạnΞ, nên trong [10, 18] các tác giả sử dụngµ làm độ đo các góc đều khi so sánh 2 tập con cùng dạng và các thuật toán sử dụng điều kiện dừng

α(ζ1, . . . ,ζn)≤vα(ζ1, . . . ,ζn),

vớiv>1.0.

Các thuật toán đều bắt đầu vớikđiểm gần nhất, sau đó thay thế điểmζj bởi các điểm có khoảng cách lớn hơnξ ∈Ξ\Ξζ sao choµ(ζ1, . . . ,ζk)nhỏ hơn. Mặt khác, vì các điểm ở gần cũng phù hợp, nên thuật toán chọn tâm trong [18] sử dụng thêm điều kiện dừng thứ hai

kζ−ξk ≥ c 2k k ∑ j=1 kζj−ζk+kζj−ζj+1k , với hệ sốc>1.0vàξ ∈Ξ\Ξζ.

Thử nghiệm số cho thấy, các giá trịv=2.5,c=3.0được xác định là cho kết quả tốt và luôn chọnk=6để đảm bảo mật độ của ma trận hệ số (2.10) có thể so sánh với mật độ của ma trận hệ số của phương pháp phần tử hữu hạn với hàm tuyến tính, xem chi tiết trong [10].

Để tính tốn nhanh, ban đầu các thuật toán chọnm=50điểm gần nhất và nhân đơi khích thước tập được chọn khi q trình thay thế đã hết.

Nội dung của thuật toán:

Algorithm 1. [Thuật toán 1, [18]] Thuật toán ODP chọn tập các tâm hỗ trợ

Input:Ξ,ζ.

Output:Ξζ.

Các tham số:k(số điểm trongΞζ\ {ζ}),v>1.0(tham số góc đều ),c>1.0(khoảng cách), vàm>k. Các giá trị tham số được sử dụng trong thử nghiệm số k=6, v=2.5, c=3.0và m=50.

I. Tìmmđiểm gần nhấtξ1, . . . ,ξmtrongΞ\ {ζ}đếnζ, sắp xếp theo chiều tăng dần về mặt khoảng cách đếnζ, tập ban đầuΞζ :={ζ,ζ1, . . . ,ζk}={ζ,ξ1, . . . ,ξk}vài:=k+1.

II. Whilei≤m:

1. Nếukζ−ξik ≥ 2kc ∑k

j=1 kζj−ζk+kζj−ζj+1k

, thì STOP và trả vềΞζ.

2. Tính các gócα10, . . . ,αk+10 được tạo bới tập mở rộng{ζ10, . . . ,ζk+10 }={ζ1, . . . ,ζk,ξi}.

Nếu các góc giữa tia ζ ξi hai tia lân cận của nó lớn hơn góc nhỏ nhất α0 :=

α(ζ10, . . . ,ζk+10 ):

a. Tìm jsao choα0j=α0.Chọnp= j hoặc p= j+1phụ thuộc vàoα0j−1<α0j+1

hoặcα0j−1≥α0j+1.

b. Nếu µ({ζ10, . . . ,ζk+10 } \ {ζp0})<µ(ζ1, . . . ,ζk):

i) Cập nhậpΞζ :={ζ,ζ1, . . . ,ζk}={ζ,ζ10, . . . ,ζk+10 } \ {ζp0}.

ii) Nếu α(ζ1, . . . ,ζk)≤vα(ζ1, . . . ,ζk), thì STOP và trả vềΞζ. 3. Nếu i=m:

Tìm m điểm gần nhất tiếp theo ξm+1, . . . ,ξ2m trong Ξ\ {ζ} đến ζ, xếp theo chiều tăng dần về mặt khoảng cách đếnζ và đặtm:=2m.

4. Đặti:=i+1.

Khi giải bài toán (2.9)–(2.10), với mỗi ζ ∈Ξint sử dụng thuật toán ODP chọn được bộ tâm hỗ trợ tính tốn véc tơ trọng sốΞζ và tính tốn véc tơ trọng số wζ tương ứng với bộ tâm này (xem chi tiết trong [18]). Cơng đoạn này hồn tồn độc lập trên mỗiζ ∈Ξint và rất tốn thời gian, đặc biệt với các bài tốn có dữ liệu lớn, nên cần được song song hóa. Trong phần tiếp theo chúng tơi sẽ trình bày q trình song song hóa cơng đoạn nói trên và các thử nghiệm số để thấy được sự hiệu quả của quá trình này (tham khảo [3]).

Độ phức tạp của thuật toán 1:Giả sử tập các tâm rời rạc Ξcóq điểm và tập Ξint có n điểm. Khi đó độ phức tạp tính tốn của thuật tốn 1 làO(n·m·log(q)).

Thật vậy, với mỗi tâmζ ∈Ξint, chi phí tính tốn đối với các bước trong thuật tốn là: I. Chi phí tính tốn với bước I:

1. Thời gian tìmmđiểm gầnζ nhất làm·O(log(q)).

2. Thời gian sắp xếpmđiểm theo chiều tăng dần về mặt khoảng cách đếnζ làO(m2).

Áp dụng theo quy tắc cộng suy ra chi phí thời gian để xác định tập Ξζ ban đầu là

O(m·log(q)).

II. Chi phí để loại bỏ điểm "tồi" lấy điểm "tốt hơn" vớim−ktâm còn lại như sau 1. Chi phí tính tốn bước II.1 là(m−k)·O(k2).

2. Chi phí tính tốn các góc được tạo bởi các tập mở rộng ở bước II.2 làO(k+1).

a. Chi phí tính tốn bước II.2.a làO((k+1)2).

b. Chi phí tính tốn bước II.2.b làO(1).

Sử dụng quy tắc cộng ta có chi phí tính tốn của bước II.2 làO((m−k)·log(k+1)2).

3. Chi phí tính tốn bước II.3 làm·O(log(k+1)2).

4. Chi phí tính tốn bước II.4 làO(1).

Vậy chi phí tính tốn của thuật tốn theo quy tắc cộng làO(n·m·log(q)).

Một phần của tài liệu BÁO CÁO TỔNG KẾT ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP ĐẠI HỌC XỬ LÝ SONG SONG TRONG PHƯƠNG PHÁP RBF-FD GIẢI BÀI TOÁN TRUYỀN NHIỆT (Trang 29 - 32)