Mối quan hệ giữa (E) và (C)

Một phần của tài liệu (LUẬN án TIẾN sĩ) bài toán tìm bao lồi của tập hữu hạn các điểm hoặc các hình tròn (Trang 110 - 113)

Chương 4 Ứng dụng của bài tốn tìm bao lồi cho tập điểm

4.4 Mối quan hệ giữa (E) và (C)

Chứng minh. Gọi t(tx, ty, tz) là điểm bất kỳ của P mà có hình chiếu t0(tx, ty) nằm ngồi đường trịnC (Hình 4.4). Khi đó ta có t0c2 > r2, tức là

tx−qx− α 2 2 + ty−qy− β 2 2 < αqx+βqy +α 2 4 + β2 4 +γ. (4.27) Biến đổi Bất đẳng thức (4.27) ta nhận được

(tx−qx)2+ (ty −qy)2 < αtx+βty+γ. (4.28) Bất đẳng thức (4.28) chỉ ra rằng điểmt nằm dưới mặt phẳng (abp). Trường hợp còn lại cũng được chứng minh tương tự.

Mệnh đề 4.2.5 và 4.2.6 dưới đây giúp ta xác định nhanh một điểm nằm trên hay dưới một mặt phẳng nhờ phép so sánh tọa độ.

Mệnh đề 4.2.5. Nếu điểm t(tx, ty, tz)∈P thỏa mãn một trong những điều kiện sau i) tx <minxE,

ii) tx >maxxE, iii) ty <minyE, iv) ty >maxyE,

v) tz >maxzE

thì nó nằm trên mặt phẳng (abp).

Chứng minh. Trước tiên ta chứng minh rằng tx<minxE thì hình chiếu t0(tx, ty) của t là nằm ngồi đường trịn (C). Thật vậy, rõ ràng rằng tx < minxE = cx −r do đó cx−tx > r. Mặt khác,

Suy ra,t0 nằm ngồi đường trịn (C). Như vậy, theo Mệnh đề 4.2.4 ta có thể kết luận rằng t nằm ở phía trên mặt phẳng (abp). Các trường hợp ii) - iv) được chứng minh tương tự như i). Để chứng minh v) ta giả sử rằng t(tx, ty, tz)∈P thỏa mãn

tz = (tx−qx)2+ (ty−qy)2 >maxzE = (cq+r)2.

Bởi vậy hình chiếu t0(tx, ty) của t(tx, ty, tz) thuộc (C1) với (C1) là đường trịn có tâm q(qx, qy)và bán kính r1 > cq+r hay r1−r > cq. Bất đẳng thức này chỉ ra rằng (C1) chứa (C). Do đó điểm t0

∈(C1) thì t0 nằm ngồi (C), kết hợp với Mệnh đề 4.2.4 ta có điểmt nằm phía trên (abp).

Mệnh đề 4.2.6. Nếu điểmt(tx, ty, tz)∈P thỏa mãntz <minzE và cq < rthì t nằm dưới mặt phẳng (abp).

Chứng minh. Giả sử rằng t(tx, ty, tz)∈P thỏa mãn

tz = (tx−qx)2 + (ty −qy)2 <minzE = (cq−r)2.

Bởi vậy hình chiếut0(tx, ty)∈ (C2) với (C2) là đường trịn có tâm là q(qx, qy) và bán kính làr2 <|cq−r|. Vì cq < r nên r2 < r−cq do đócq < r−r2. Bất đẳng thức này chỉ ra rằng (C2) được chứa trong (C). Do đó điểm t0

∈(C2) thì t0 nằm trong (C), kết hợp với Mệnh đề 4.2.4 ta suy ra điểmt nằm phía dưới (abp).

Nhờ Mệnh đề 4.2.5 và 4.2.6 ta có thể cải tiến Thủ tục LF(e, P) thành Thủ tục

LFRes(e, P) dưới đây.

Thủ tục 4.3 LFRes(e, P)

Đầu vào: Cho P ={pi = (xi, yi, zi) : xi, yi, zi ∈ R, zi = (xi−qx)2+ (yi−qy)2, i= 1, . . . , n}, n≥3, e:= [a, b] là một cạnh của convL(P).

Đầu ra:Một mặt F của convL(P)qua e. 1: l := 1.

2: if (pl ∈ {a, b, pl}) then đặt pl :=pl+1.

3: Xét (abpl) với pl = (plx, ply, plz), tính −→nl = (nlx, nly, nlz) = −→ab × −→apl và d =

plxnx+plyny +plznz. 4: ifnlz <0thentính các giá trịα=−nlx nlz, β =−nly nlz, γ = d nlz, cq = 1 2 p α2+β2 và r=p γ+αqx+βqy+cq2.

5: for all v ∈P \ {a, b, pl} do tính minzE = (cq−r)2.

6: if (cq < r)and (vz <minzE)then setl :=l+ 1 goto 2; 7: else tính maxzE = (cq+r)2, minxE =qx+α

2 −r, maxxE =qx+α 2 +r, minyE =qy +β

2 −r, maxyE =qy +β 2 +r.

8: if ((minxE ≤ vx ≤ maxxE) and (minyE ≤ vy ≤ maxyE) and

(vz <maxzE))and (nlxvx+nlyvy+nlzvz < d))then setl:=l+ 1

goto 2; 9: return F = (abpl).

Thuật tốn 4.4 tìm tất cả các mặt của convL(P) được cải tiến từ thuật tốn gói q. Thuật tốn này thay thủ tục tìm một mặt của bao lồi trong thuật tốn gói quà

bằng thủ tục LFRes(e, P) tìm một mặt dưới của bao lồi dưới. Vì vậy Thuật tốn 4.4 cũng có độ phức tạp tính tốn giống thuật tốn gói q là O(n2) trong trường hợp xấu nhất.

Thuật tốn 4.4 Thuật tốn tìm bao lồi dưới convL(P)

Đầu vào: Cho P ={pi = (xi, yi, zi)∈R3, i= 1, . . . , n}, n≥3.

Đầu ra:Tập Qtất cả các mặt dưới của convL(P). 1: Tìm cạnh đầu tiên e0 của convL(P).

2: Xét hàng đợi Q:=∅ và tập EL(P) :=∅.

3: Gọi LFRes(e, P) để nhận được một mặt dưới Fe qua e0. Đẩy các cạnh của Fe trừ e0 vào trongEL(P). ĐẩyFe vào trong tập Q.

4: while (Q 6=∅) do

5: LấyFe từ phía trên củaQ. 6: T := tập các cạnhFe.

7: for eache∈T ∩ EL(P) do

8: Gọi LFRes(e, P) để nhận được mặt F0

e có chung cạnh e với Fe. Đưa vàoEL(P)tất cả các cạnh e0

6

=e0 của F0

e chưa xuất hiện trong

EL(P) và xoá các cạnh đã xuất hiện trongEL(P). Đẩy F0

e vàoQ.

4.2.3 Một số kết quả tính tốn

Trong nội dung này chúng tơi thử nghiệm số cho thuật tốn trong [7] và thuật tốn vừa được trình bày ở mục trước để so sánh tốc độ của chúng. Các thuật toán này được thực thi bởi chương trình C và chạy trên PC Core i5 1.6 GHz 3M với 4 GB RAM.

Dưới đây Bảng 4.5 minh họa thời gian chạy (đơn vị tính bằng giây) của thuật tốn tính bao lồi dưới được giới thiệu bởi P. T. An và D. T. Giang trong [7] và Thuật toán 4.2 sử dụng kỹ thuật hạn chế của chúng tôi. Cột cuối cùng liệt kê tỉ lệ tăng tốc của thuật tốn của chúng tơi so với thuật tốn trong [7]. Dữ liệu đầu vào của các thuật toán là các tập điểm được tạo trên bề mặt một paraboloid (tất cả các điểm đều là đỉnh của bao lồi và bao lồi dưới) có dạng P ={pi = (xi, yi, zi) :xi, yi, zi ∈R, zi = x2

i +y2

i, i= 1, . . . , n} ⊂R3, trong đó tập{(xi, yi), xi, yi ∈R, i = 1, . . . , n} được chọn ngẫu nhiên từ phân bố đều trong hình vng cỡ 200× 200.

Hình 4.5 biểu diễn đồ thị so sánh thời gian chạy của các bộ dữ liệu của thuật tốn tìm bao lồi dưới được giới thiệu trong [7] và Thuật tốn 4.4.

Từ Bảng 4.5 và Hình 4.5 ta thấy rõ ràng Thuật toán 4.4 áp dụng cải tiến của chúng tơi tăng tốc khá nhanh so với thuật tốn được giới thiệu trong [7]. Cụ thể là thời gian chạy thuật tốn của chúng tơi nhanh gấp 1,58 đến 2,24 lần.

Bảng 4.5 Thời gian chạy tính bao lồi dưới (đơn vị: giây).Đầu vào Thuật toán trong [7] Thuật toán 4.4 Tỉ số thăng tốc Đầu vào Thuật toán trong [7] Thuật toán 4.4 Tỉ số thăng tốc

1.000 0,136 0,061 2,23 2.000 0,454 0,248 1,83 5.000 2,684 1,500 1,79 7.000 7,014 3,129 2,24 11.000 14,321 8,484 1,69 17.000 41,307 24,666 1,67 20.000 63,197 37,332 1,69 22.000 70,866 40,235 1,76 30.000 153,240 96,738 1,58 35.000 200,496 125,490 1,60 0 50 100 150 200 250

Thuật toán trong [7] Thuật toán 4.4

Một phần của tài liệu (LUẬN án TIẾN sĩ) bài toán tìm bao lồi của tập hữu hạn các điểm hoặc các hình tròn (Trang 110 - 113)

Tải bản đầy đủ (PDF)

(121 trang)