Trước hết xin cám ơn bạn Mach2 đã chỉ ra 1 tài liệu rất lý thú.
Đọc xong thì thấy cách của tui là của Chrystal-Peirce nhưng tài liệu trình bày gọn gàng hơn nhiều lắm
Tui xin thử nói hướng làm của tui:
S: tập hợp các điểm đã cho
1) Bắt đầu: vẽ 1 đường tròn T đủ lớn để chứa tất cả các điểm thuộc S. Xét xmax, xmin, ymax, ymin => hình chữ nhựt ABCD chứa mọi điểm thuộc S: vẽ đường tròn ngoại tiếp hình chữ nhựt này
2) Thu nhỏ đường tròn T để chứa 3 điểm thuộc S:
Xét hình chữ nhựt ABCD:
a) Nếu không có đỉnh nào thuộc S: thu nhỏ T theo dây cung AB (AB là cạnh ngắn của hình chữ nhựt). Quay lại 2.
b) Nếu chỉ có đúng 1 đỉnh A thuộc S: thu nhỏ T theo dây cung AB (AB là cạnh ngắn của hình chữ nhựt). Quay lại 2.
c) Nếu chỉ có 2 đỉnh kề nhau A và B thuộc S (AB không là đường kính của T): thu nhỏ T theo dây cung AB. Quay lại 2.
d) Nếu có 2 đỉnh đối nhau A và C thuộc S (=> AB là đường kính): T chính là đường tròn cần tìm => ngưng tại đây.
3) Nếu có ít nhứt 3 điểm thuộc S nằm trên đường tròn T thì:
a) Nếu T chứa 2 điểm (thuộc S) nào đó thỏa: 2 điểm này là đường kính của T => T chính là đường tròn cần tìm => ngưng tại đây.
b) Nếu T chứa 3 điểm (thuộc S) nào đó thỏa: 3 điểm này tạo thành 1 tam giác không chứa góc tù (chỉ chứa góc vuông hoặc góc nhọn) => T chính là đường tròn cần tìm => ngưng tại đây.
c) Nếu T chứa 3 điểm (thuộc S) nào đó thỏa: 3 điểm này tạo thành 1 tam giác chứa 1 góc tù => thu nhỏ T lại (theo cạnh đối của góc tù) và lặp lại bước 3
*** thủ tục con: thu nhỏ đường tròn T theo dây cung AB (=> đường tròn mới là đường tròn nhỏ nhứt trong mọi đường tròn thỏa: đi qua A, B và chứa mọi điểm thuộc S).
Giả sử T đi qua 2 điểm A và B (không bắt buộc phải thuộc S). Đặt S2 là là tập hợp các điểm thuộc S và nhìn AB dưới 1 góc nhọn hoặc vuông.
Nếu tập hợp S2 là rỗng (mọi điểm thuộc S đều nhìn AB dưới 1 góc tù) => đường tròn mới T' sẽ lấy AB làm đường kính.
Nếu S2 không là rỗng: chọn P thuộc S2 thỏa: góc APB là nhỏ nhứt (trong tất cả các điểm thuộc S2) => đường tròn mới T' sẽ đi qua 3 điểm A, B và P.
***** Một vài điểm cần chứng minh trong thuật giải:
I) thủ tục thu nhỏ đường tròn T (chứa mọi điểm thuộc S) theo dây cung AB sẽ cho đường tròn mới T' thỏa: T' đi qua A và B và T' chứa mọi điểm thuộc S. Hơn nữa, gọi S3 là tập hợp các đường tròn đi qua A, B và chứa mọi điểm thuộc S. T' sẽ là phần tử nhỏ nhứt (và duy nhứt) trong S3. Và nếu điểm được chọn P nằm trên T thì T = T'; còn nếu điểm được chọn P nằm trong T thì T > T'
a) T' đi qua AB và T' chứa mọi điểm thuộc S.
Xét trường hợp AB là đường kính của T' (S2 là rỗng; mọi điểm thuộc S đều nhìn dây cung AB dưới 1 góc tù)
Phản chứng: giả sử có 1 điểm Q thuộc S và Q nằm ngoài T'
=> góc AQB là nhọn (những điểm nằm trên T' sẽ nhìn đường kính AB dưới 1 góc vuông; nằm trong T' => góc tù; nằm ngoài T' => góc nhọn)
=> mâu thuẫn với việc mọi điểm thuộc S đều nhìn dây cung AB dưới 1 góc tù
Xét trường hợp AB không là đường kính của T' (S2 không rỗng).
Phản chứng: giả sử có 1 điểm Q thuộc S và Q nằm ngoài T'
Nếu góc AQB là góc nhọn:
=> góc AQB < góc APB
=> mâu thuẫn với sự chọn lựa: góc APB là nhỏ nhứt trong các điểm thuộc S2
Nếu góc AQB là góc tù:
=> góc AQB > góc ARB
=> góc APB < góc ANB
= mâu thuẫn với việc P nằm trong T
b) T' là phần tử nhỏ nhứt trong S3 (tập hợp các đường tròn qua A, B và chứa mọi điểm thuộc S).
Phản chứng: giả sử có 1 đường tròn T" qua A, B, T" chứa mọi điểm thuộc S và T" < T'
Xét trường hợp AB là đường kính của T': T" chứa A và B
=> đường kính của T" phải lớn hơn AB
=> mâu thuẫn với T" < T
Xét trường hợp AB không là đường kính của T': T" chứa điểm được chọn P
=> E nằm ngoài HD
=> O' nằm ngoài HO (HO' > HO)
=> O'A (bán kính của T") > OA (bán kính của T')
=> mâu thuẫn với việc T" < T'
Vậy T' là phần tử nhỏ nhứt trong S3. Và vì T' lấy AB làm đường kính hoặc T' đi qua 3 điểm phân biệt A, B và P => T' là duy nhứt
c) T >= T':
Xét trường hợp AB là đường kính của T' (S2 là rỗng): đường kính của T >= dây cung AB của T. Mà AB là đưỡng kính của T' => T >= T
Xét trường hợp AB không là đường kính của T' (S2 không rỗng)
Nếu điểm được chọn P nằm trên T thì T = T': vì T và T' cùng đi qua 3 điểm phân biệt A, B và P
Còn nếu điểm được chọn P nằm trong T thì T > T': chứng minh tương tự như phần (Ib)
II) Thuật toán sẽ ngưng sau 1 số hữu hạn bước
* Bắt đầu ở bước 1 => sẽ rơi vô 1 trong 4 trường hợp:
2a) không có đỉnh nào thuộc S: AB là cạnh ngắn => mọi điểm trên cạnh đối CD nhìn AB dưới 1 góc nhọn. Có ít nhứt 1 điểm (thuộc S) nằm trên cạnh đối CD => thủ tục thu nhỏ đường tròn T sẽ chọn ra được ít nhứt 1 điểm P thuộc S và đường tròn mới T' đi qua điểm này => chuyển qua 2b
2b) chỉ có đúng 1 đỉnh A thuộc S: tương tự như ở 2a, vì AB là cạnh ngắn => thủ tục thu nhỏ đường tròn T sẽ chọn ra được ít nhứt 1 điểm P thuộc S và đường tròn mới T' đi qua P (và A) => chuyển qua 2c hoặc 2d
2c) chỉ có 2 đỉnh kề nhau A và B thuộc S, AB không là đường kính của T: sau khi gọi thủ tục thu nhỏ đường tròn mình sẽ rơi vào 1 trong 2 trường hợp:
mọi điểm thuộc S đều nhìn AB dưới 1 góc tù (AB sẽ là đường kính của T') => chuyển qua 2d;
hoặc chọn được điểm P thuộc S sao cho đường tròn mới đi qua P (và A, B) => chuyển qua 3
2d) A,B thuộc S và AB là đường kính của T: mình sẽ ngưng thuật toán (lời giải sẽ là T).
* Nếu mình qua được bước 3 (không ngưng ở bước 2d): đường tròn T đã chứa 3 điểm thuộc S
Gọi A, B là điểm bất kỳ thuộc S và mình sẽ thu nhỏ đường tròn theo dây cung AB. Sau thủ tục thu nhỏ đường tròn: nếu mình không ngưng (vì tam giác ABC không chứa góc tù -- tìm ra lời giải) thì mình sẽ tiếp tục thu nhỏ theo dây cung PA (hoặc PB) vì góc PBA (hoặc góc PAB) là góc tù. Khi đó PA (hoặc PB) (dây cung tiếp theo) là dài hơn AB (dây cung ban đầu). Như vậy độ dài của dây cung (mà mình sẽ dựa vào đó để thu nhỏ đường tròn) sẽ ng`y càng tăng => mình chỉ thu nhỏ đường tròn theo một dây cung AB không quá 1 lần.
Vì số điểm thuộc S là N (hữu hạn) => mình sẽ gọi thủ tục (để thu nhỏ đường tròn) tối đa là N^2 (hữu hạn) lần (một khi mình tới được bước 3)
IV) thuật toán ngưng => T chính là lời giải: theo phần chứng minh ở (I), thủ tục thu nhỏ đường tròn T (chứa mọi điểm thuộc S) theo dây cung AB sẽ cho đường tròn mới T' thỏa: T' đi qua A và B và T' chứa mọi điểm thuộc S; và T' là đường tròn nhỏ nhứt thỏa tính chất này. Thuật toán ngưng ở các bước 1d, 3a và 3b; ở các bước này A và B đều thuộc S => T' là đường tròn nhỏ nhứt chứa mọi điểm thuộc S
(viết dài, dai, dở, lộn xộn; có gì sai sót mong được góp ý, xin cám ơn)
-thân
Bookmarks