MỞ ĐẦU Với sự phát triển nhanh chóng của công nghệ thông tin và truyền thông, các phương tiện - thiết bị dạy học hiện đại đã và đang được sử dụng một cách có hiệu quả trong giáo dục. Phần mềm dạy học là một trong những phương tiện dạy học hỗ trợ giáo viên thực hiện được phần nào các ý tưởng sư phạm của mình. Maple là một phần mềm toán học tạo ra một cách tiếp cận mới sinh động và sáng tạo. Ngoài các câu lệnh có chức năng kiểm tra, tính toán, minh hoạ hình ảnh,…nó còn cho phép các giáo viên có thể sử dụng ngôn ngữ lập trình của Maple để tạo các công cụ mới, các gói câu lệnh mới. Vì thế, Maple có khả năng đầy đủ để giảng dạy và học tập từ bậc phổ thông (các gói chức năng về đại số, số học, giải tích, hình học,…) lên đại học (đại số tuyến tính, phương trình vi phân, hình học cao cấp, đại số hiện đại,…). Xuất phát từ ý tưởng rằng có rất nhiều định lý hình học hoàn toàn được mô tả bằng các khái niệm đại số bằng cách biểu diễn các hình hình học trong toạ độ Đề-các vuông góc. Khi đó, hầu hết các hình hình học và biên của nó có thể xem là tập không điểm của các đa thức, và các quan hệ giữa chúng đều có thể mô tả bằng các phương trình đa thức cũng như tập không điểm phải xét trên trường số thực. Như vậy, để kiểm tra tính đúng - sai của một giả thuyết hay một định lý hình học nào đó hoàn toàn có thể thực hiện được nhờ những kết quả quan trọng liên quan đến khái niệm cơ sở Groebner được nhà toán học Bruno Buchberger đưa ra năm 1965 trong luận án phó tiến sĩ của mình. Tính toán hình thức hay còn gọi là Đại số máy tính, xuất hiện khoảng ba chục năm nay và gần đây trở thành một chuyên ngành độc lập. Đây là một chuyên ngành kết hợp chặt chẽ toán học và khoa học máy tính. Nó được ra đời dưới ảnh hưởng của sự phát triển và phổ cập máy tính cá nhân. Một mặt, sự phát triển này đòi hỏi phải xây dựng các lý thuyết toán học làm cơ sở cho việc thiết lập thuật toán và các phần mềm toán học. Mặt khác, khả năng tính toán mỗi ngày một tăng của máy tính giúp triển khai tính toán thực sự nhiều thuật toán. Sự phát triển của Đại số máy tính cũng có tác dụng tích cực trở lại trong nghiên cứu toán học lý thuyết. Nhiều kết quả lý thuyết đã được phán đoán hoặc có được phản ví dụ nhờ sử dụng máy tính. Hầu hết những vấn đề mà lý thuyết cơ sở Groebner cho lời giải bằng thuật toán đã được biết trước đó, đó là tính giải được. Tuy nhiên giữa việc chứng minh tính giải được và thực hiện tính toán trên thực tế là khoảng cách lớn. Hơn nữa, nhiều đối tượng trong các ngành khá trừu tượng như Đại số giao hoán và Hình học đại số có thể tính toán thông qua cơ sở Groebner chứng tỏ có một tầm quan trọng của lý thuyết này. Mục đích của luận văn là giới thiệu thuật toán tính cơ sở Groebner cho các Iđêan đa thức, để trình bày một số ứng dụng của lý thuyết cơ sở Groebner trong tính toán hình thức bằng máy tính là Đại số giao hoán và Hình học đại số. Hiện nay, có nhiều phần mềm xử lý toán học như Maple, Macaulay, CoCoA ... để phục vụ cho việc tính toán. Nhưng luận văn này chọn phần mềm Maple để trình bày cách đại số hóa bài toán hình học và chứng minh định lý hình học bằng máy tính. Tuy nhiên, nếu chỉ đơn thuần sử dụng gói công cụ Groebner của Maple thì giáo viên nhiều khi khó thực hiện được kịch bản sư phạm của mình. Giải pháp cho vấn đề này là giáo viên sử dụng ngôn ngữ lập trình của Maple để xây dựng các gói công cụ phù hợp. Do đó, chúng tôi đã xây dựng gói GeoProver để hỗ trợ chứng minh một số định lý hình học sơ cấp.
Trang 1ĐẠI HỌC THÁI NGUYÊN
Trang 2ĐẠI HỌC THÁI NGUYÊN
LUẬN VĂN THẠC SĨ TOÁN HỌC
Người hướng dẫn khoa học: TS Nguyễn Danh Nam
THÁI NGUYÊN, 2015
Trang 3Công trình được hoàn thành tại Trường Đại học Khoa học – Đại học Thái Nguyên
Người hướng dẫn khoa học: TS Nguyễn Danh Nam
Phản biện 1: PGS.TS Nguyễn Việt Hải
Phản biện 2: PGS.TS Trịnh Thanh Hải
Luận văn sẽ được bảo vệ trước hội đồng chấm luận văn họp tại:
Trường Đại học Khoa học – Đại học Thái Nguyên
Ngày 31 tháng 5 năm 2015
Có thể tìm hiểu tại:
Thư viện Trường Đại học Khoa học và Trung tâm Học liệu - Đại học Thái Nguyên
Trang 4MỤC LỤC
Trang
MỤC LỤC 1
MỞ ĐẦU 2
CHƯƠNG 1: CƠ SỞ GROEBNER 4
1.1 Thứ tự từ 5
1.2 Iđêan khởi đầu và cơ sở Groebner 6
1.3 Định lý Hilbert về không điểm 10
CHƯƠNG 2: PHẦN MỀM MAPLE VÀ GÓI LỆNH GEOPROVER 12
2.1 Phần mềm Maple 12
2.2 Gói câu lệnh GeoProver 13
CHƯƠNG 3: CHỨNG MINH ĐỊNH LÝ HÌNH HỌC BẰNG MÁY TÍNH 16
3.1 Đại số hóa giả thiết và kết luận của định lý 16
3.2 Quy trình chứng minh định lý hình học bằng máy tính 20
3.3 Chứng minh một số định lý hình học 25
KẾT LUẬN 56
TÀI LIỆU THAM KHẢO 57
Trang 5MỞ ĐẦU
Với sự phát triển nhanh chóng của công nghệ thông tin và truyền thông, các phương tiện - thiết bị dạy học hiện đại đã và đang được sử dụng một cách có hiệu quả trong giáo dục Phần mềm dạy học là một trong những phương tiện dạy học hỗ trợ giáo viên thực hiện được phần nào các ý tưởng sư phạm của mình Maple là một phần mềm toán học tạo ra một cách tiếp cận mới sinh động và sáng tạo Ngoài các câu lệnh có chức năng kiểm tra, tính toán, minh hoạ hình ảnh,…nó còn cho phép các giáo viên có thể sử dụng ngôn ngữ lập trình của Maple để tạo các công cụ mới, các gói câu lệnh mới Vì thế, Maple có khả năng đầy đủ để giảng dạy và học tập từ bậc phổ thông (các gói chức năng về đại số, số học, giải tích, hình học,…) lên đại học (đại số tuyến tính, phương trình vi phân, hình học cao cấp, đại số hiện đại,…)
Xuất phát từ ý tưởng rằng có rất nhiều định lý hình học hoàn toàn được mô
tả bằng các khái niệm đại số bằng cách biểu diễn các hình hình học trong toạ độ Đề-các vuông góc Khi đó, hầu hết các hình hình học và biên của nó có thể xem là tập không điểm của các đa thức, và các quan hệ giữa chúng đều có thể mô tả bằng các phương trình đa thức cũng như tập không điểm phải xét trên trường số thực Như vậy, để kiểm tra tính đúng - sai của một giả thuyết hay một định lý hình học nào đó hoàn toàn có thể thực hiện được nhờ những kết quả quan trọng liên quan đến khái niệm cơ sở Groebner được nhà toán học Bruno Buchberger đưa ra năm
1965 trong luận án phó tiến sĩ của mình
Tính toán hình thức hay còn gọi là Đại số máy tính, xuất hiện khoảng ba chục năm nay và gần đây trở thành một chuyên ngành độc lập Đây là một chuyên ngành kết hợp chặt chẽ toán học và khoa học máy tính Nó được ra đời dưới ảnh hưởng của sự phát triển và phổ cập máy tính cá nhân Một mặt, sự phát triển này đòi hỏi phải xây dựng các lý thuyết toán học làm cơ sở cho việc thiết lập thuật toán
và các phần mềm toán học Mặt khác, khả năng tính toán mỗi ngày một tăng của máy tính giúp triển khai tính toán thực sự nhiều thuật toán Sự phát triển của Đại số máy tính cũng có tác dụng tích cực trở lại trong nghiên cứu toán học lý thuyết
Trang 6Nhiều kết quả lý thuyết đã được phán đoán hoặc có được phản ví dụ nhờ sử dụng máy tính
Hầu hết những vấn đề mà lý thuyết cơ sở Groebner cho lời giải bằng thuật toán đã được biết trước đó, đó là tính giải được Tuy nhiên giữa việc chứng minh tính giải được và thực hiện tính toán trên thực tế là khoảng cách lớn Hơn nữa, nhiều đối tượng trong các ngành khá trừu tượng như Đại số giao hoán và Hình học đại số có thể tính toán thông qua cơ sở Groebner chứng tỏ có một tầm quan trọng của lý thuyết này
Mục đích của luận văn là giới thiệu thuật toán tính cơ sở Groebner cho các Iđêan đa thức, để trình bày một số ứng dụng của lý thuyết cơ sở Groebner trong tính toán hình thức bằng máy tính là Đại số giao hoán và Hình học đại số Hiện nay, có nhiều phần mềm xử lý toán học như Maple, Macaulay, CoCoA để phục
vụ cho việc tính toán Nhưng luận văn này chọn phần mềm Maple để trình bày cách
đại số hóa bài toán hình học và chứng minh định lý hình học bằng máy tính Tuy
nhiên, nếu chỉ đơn thuần sử dụng gói công cụ Groebner của Maple thì giáo viên nhiều khi khó thực hiện được kịch bản sư phạm của mình Giải pháp cho vấn đề này là giáo viên sử dụng ngôn ngữ lập trình của Maple để xây dựng các gói công cụ
phù hợp Do đó, chúng tôi đã xây dựng gói GeoProver để hỗ trợ chứng minh một
số định lý hình học sơ cấp
Trang 7Chương 1
CƠ SỞ GROEBNER
Khái niệm cơ sở Groebner ra đời trong những năm 1970 để giải quyết bài toán chia đa thức Sau hơn 20 năm khái niệm này đã có những ứng dụng to lớn trong nhiều chuyên ngành toán học khác nhau từ Đại số đến Hình học, Tô pô, Tổ hợp và Tối ưu [9]
Việc sử dụng các hệ đa thức giống như cơ sở Groebner đã xuất hiện từ đầu thế kỉ này với các công trình của Gordan, Macaulay, Hilbert Người đầu tiên thấy được tầm quan trọng của thuật toán chia là nhà toán học người Áo Broebner Ông
đã đặt vấn đề tính cơ sở Groebner làm một đề tài luận án phó tiến sĩ cho học trò của ông là Buchberger Năm 1970, Buchberger tìm thấy một thuật toán hữu hiệu để tính
cơ sở Groebner Sau này người ta mới phát hiện ra rằng Groebner đã biết những nét
cơ bản của thuật toán này từ những năm 50 Cùng thời gian này cũng xuất hiện những kĩ thuật tương tự giống như thuật toán chia trong các công trình của Hironaka về giải kì dị, của Grauert trong Giải tích phức và của Cohn trong Lý thuyết vành không giao hoán [9]
Cơ sở Groebner được nghiên cứu đúng thời kì máy tính cá nhân ra đời và bắt đầu trở nên phổ cập Ngay lập tức người ta thấy rằng có thể lập trình thuật toán chia
để giải quyết các bài toán với các biến số mà ngày nay được gọi là tính toán hình thức (symbol computation) Bản thân thuật toán chia đã chứa đựng những thuận lợi
cơ bản cho việc lập trình như:
(1) Việc sắp xếp thứ tự các hạng tử của một đa thức cho phép ta biểu diễn một đa thức như một véc-tơ các hệ số và do đó ta có thể đưa dữ liệu về các đa thức vào trong máy tính một cách dễ dàng
(2) Việc xét hạng tử lớn nhất của các đa thức cho phép máy tính chỉ cần thử tọa độ đầu tiên của các véc-tơ tương ứng
Về mặt lý thuyết khái niệm cơ sở Groebner cũng đưa ra những phương pháp
và vấn đề nghiên cứu mới Trước tiên, người ta thấy rằng nhiều khi chỉ cần xét tập hợp các hạng tử đầu của cơ sở Groebner là đủ để có các thông tin cần thiết về hệ đa
Trang 8thức ban đầu Có thể thay các hạng tử này bằng các đơn thức nên thực chất là ta phải xét một số hữu hạn các bộ số tự nhiên ứng với các số mũ của các biến trong đơn thức Ta có thể coi các bộ số tự nhiên này như những điểm nguyên là các điểm
có tọa độ là các số nguyên Vì vậy, nhiều bài toán Hình học và Đại số có thể quy về việc xét các tính chất tổ hợp hay tô pô của một tập hợp hữu hạn các điểm nguyên
Sau đây luận văn trình bày một số kiến thức cơ bản về cơ sở Groebner trước khi đưa ra thuật toán để chứng minh định lý hình học
x x x x nếu thành phần đầu tiên khác không kể từ bên trái của véctơ
1 1 , , n n là một số âm Nói cách khác, nếu tồn tại 0 i n sao cho
Trang 9và thành phần đầu tiên khác không kể từ bên phải của véctơ 1 1, , n nlà
Mệnh đề 1.1 Ba thứ tự kể trên là các thứ tự từ
1.2 IĐÊAN KHỞI ĐẦU VÀ CƠ SỞ GROEBNER
1.2.1 Từ khởi đầu, đơn thức khởi đầu
Định nghĩa 1.5 Cho là một thứ tự từ và f R K x1 , ,x n Từ khởi đầu của f , kí hiệu là in f , là từ lớn nhất của đa thức f đối với thứ tự từ
, 0
in f x K , thì lc f được gọi là hệ số đầu và
lm f x là đơn thức đầu của f đối với thứ tự từ
Nếu thứ tự từ đã được ngầm hiểu, ta sẽ viết in f (tương ứng lc f ,
l m f ) thay cho in f (tương ứng lc f , lm f )
Từ khởi đầu của đa thức 0 được xem là không xác định (có thể nhận giá trị tuỳ ý)
Từ khởi đầu còn gọi là từ đầu hay từ đầu tiên Như vậy nếu trong biểu diễn chính tắc của đa thức f ta viết các từ theo thứ tự giảm dần, thì in f sẽ xuất hiện đầu tiên Đương nhiên cách viết này cũng như từ khởi đầu của f phụ thuộc vào thứ
tự từ đã chọn
Trang 101.2.2 Iđêan khởi đầu và cơ sở Groebner
Định nghĩa 1.6 Cho I là iđêan của R và là một thứ tự từ, Iđêan khởi đầu của I, kí hiệu là in I , là iđêan của R sinh bởi các từ khởi đầu của các phần tử của
i n I f f I nên in I là iđêan đơn thức
Vấn đề đặt ra là làm thế nào để xác định được iđêan khởi đầu in I của một
iđêan I cho trước Cách tốt nhất là tìm một hệ sinh tối tiểu của nó Tuy nhiên, mọi
iđêan đơn thức đều có một tập sinh đơn thức và tập đó hữu hạn Do đó ta có thể đưa vào khái niệm quan trọng sau đây:
Định nghĩa 1.7 Cho là một thứ tự từ và I là iđêan của R Tập hữu hạn các
đa thức khác không g1, ,g s I được gọi là một cơ sở Groebner của I đối với thứ
tự từ , nếu:
Tập g1, ,g s I được gọi là một cơ sở Groebner, nếu nó là cơ sở Groebner của
iđêan sinh bởi chính các phần tử này
Mệnh đề 1.2 Cho I là một iđêan tuỳ ý của R Nếu g1, ,g s I là cơ sở Groebner của I đối với một thứ tự từ nào đó, thì g1, ,g s là cơ sở của I
Định nghĩa 1.8 Cơ sở Groebner rút gọn của iđêan I đối với một thứ tự từ đã
cho là một cơ sở Groebner G của I thoả mãn các tính chất sau:
i) lc g 1 với mọi g G
ii) Với mọi g G và mọi từ m của g không tồn tại g' G \ g để
in g m
Mệnh đề 1.3 Cho I 0 Khi đó đối với mỗi thứ tự từ, I có duy nhất một cơ
sở Groebner rút gọn Mọi cơ sở Groebner rút gọn đều là cơ sở Groebner tối tiểu
Trang 11Định nghĩa 1.9 Cho I là iđêan của vành R Tập hợp:
lập thành một iđêan Iđêan này được gọi là căn của I
Rõ ràng I I Nếu I I thì I được gọi là một iđêan căn
1.2.3 Một số tính chất của cơ sở Groebner
Cơ sở Groebner có một số tính chất sau:
(i) Cho I là một iđêan tuỳ ý của R Nếu g1, ,g s là cơ sở Groebner của I đối với một thứ tự từ nào đó thì g1, ,g s là cơ sở của iđêan I
(ii) Cho là một thứ tự từ Khi đó mọi iđêan đều có cơ sở Groebner tối tiểu
và mọi cơ sở Groebner tối tiểu của cùng một iđêan đều chung số lượng phần tử và chung tập từ khởi đầu
(iii) Cho I 0 Khi đó đối với mỗi thứ tự từ, I có duy nhất một cơ sở Groebner rút gọn
(iv) Cho trước s là một số nguyên dương Khi đó tồn tại iđêan I sinh tối tiểu bởi f1, , f s nhưng i n I( ) thực sự chứa (i n( f1) , ,i n( f s) )
Định lý 1.1 Cho G I là một cơ sở hữu hạn của iđêan I Khi đó, G là cơ
sở Groebner của I nếu và chỉ nếu với mọi f I , i n( f ) chia hết cho i n g( ) với
g G nào đó
Chứng minh G là cơ sở Groebner của I i n I( ) (i n g( 1) , ,i n g( s) ) (với G g1 , ,g s) Cần chứng minh i n I( ) (i n g( 1) , ,i n g( s) )khi và chỉ khi với mọi f I , i n( f )chia hết cho i n g( )với g I nào đó
Thuận: Với mọi f I , doI (g1, ,g s) nên
Trang 12tự toàn phần Cần chứng minh nó là giả thứ tự tốt Giả sử nó không là giả thứ tự tốt suy
ra tồn tại tập A gồm các đa thức trên R và A không có phần tử nhỏ nhất theo
Gọi m i là đơn thức thứ i của A i , i = 1, 2, … m1 m2 m n
Điều này mâu thuẫn với M(A) tập các đơn thức của các đa thức của A là có
phần tử nhỏ nhất
Trang 13Định lý 1.3 Cho I là iđêan của vành R = K[x] Trên R cố định một thứ tự từ và
cho T i n I( ) là một từ nào đó Khi đó tập các đa thức f I với i n( f ) T chỉ có một phần tử tối tiểu (theo giả thứ tự định nghĩa như ở Định lý 1.2)
Chứng minh Theo Định lý 1.2 thì tập đó có phần tử tối tiểu Bây giờ chứng
minh nó duy nhất Thật vậy, giả sử ngược lại, tập đó có ít nhất 2 phần tử tối tiểu khác nhau f và g Khi đó chúng có dạng:
Điều này mâu thuẫn với f, g là phần tử tối tiểu
1.3 ĐỊNH LÝ HILBERT VỀ KHÔNG ĐIỂM
Không gian afin n - chiều trên trường K là tập n
1 , , n
x x còn gọi là các toạ độ của không gian n
Trang 14Với mỗi tập A K x , kí hiệu Z A là tập nghiệm chung của các đa thức
f A trong không gian n
A :
Mỗi phần tử của tập này còn được gọi là không điểm của tập đa thức A
Định lý 1.4 (Định lý Hilbert về không điểm) Cho K là trường, K là bao đóng đại số của K và f, f1 , , f n K x Các điều khẳng định sau tương đương:
i) Với mọi n, 1 n 0
K
a A f a f a suy ra f a 0 ii) Tồn tại 0 s N sao cho f s f1 , , f n
Chú ý rằng hai điều kiện trên có thể diễn đạt như sau:
i) Z f1 , , f n Z f , trong đó các tập không điểm xét trong n
K
A ii) f f1, , f n
Định lý 1.5 Cho I f1 , , f n là iđêan và f là đa thức của K x Gọi G
là cơ sở Groebner của iđêan f1 , , f n,1 fy trong vành K x y, , trong đó y là biến mới Khi đó các điều kiện sau tương đương:
i) f I
ii) G chứa một đa thức hằng
iii) f1 , , f n,1 fy K x y,
Hệ quả Cho I f1 , , f n là iđêan và f là đa thức của K x Khi đó, ta
có f I khi và chỉ khi 1 là cơ sở Groebner rút gọn của iđêan
Trang 15Chương 2 PHẦN MỀM MAPLE VÀ GÓI LỆNH GEOPROVER
2.1 PHẦN MỀM MAPLE
Một thực tế là những bài toán đặt ra trong thực tiễn thường là không thể giải quyết bằng những mẹo mực tính toán mang tính thủ công, mà phải dùng tới năng lực tính toán của máy tính điện tử Phần mềm tính toán ra đời nhằm đáp ứng nhu cầu của thực tiễn, đưa các tính toán phức tạp trở thành công cụ làm việc dễ dàng cho mọi người
Phần mềm Maple là kết quả nghiên cứu của nhóm các nhà khoa học Trường Đại học Waterloo (Canada) và là một trong những bộ phần mềm toán học được sử dụng rỗng rãi nhất hiện nay Maple là phần mềm có môi trường tính toán khá phong phú, hỗ trợ hầu hết các lĩnh vực của toán học như: Giải tích số, đồ thị, đại số hình thức, do đó ta dễ dàng tính được các giá trị gần đúng, rút gọn biểu thức, giải phương trình, bất phương trình, hệ phương trình, tính giới hạn, đạo hàm, tích phân của hàm số, vẽ đồ thị, tính diện tích, thể tích, số phức, và lập trình giải các bài toán với cấu trúc chương trình đơn giản Ngoài ra, với phần mềm này ta dễ dàng biên soạn các sách giáo khoa điện tử với chức năng Hyperlink tạo các siêu liên kết văn bản rất đơn giản mà không cần đến sự hỗ trợ của bất kì một phần mềm nào khác (chẳng hạn Page Text, Word, FrontPage ) Với các chức năng trên, Maple là công
cụ hỗ trợ đắc lực cho những người làm Toán
Phân mềm Maple tích hợp gói Groebner làm công cụ khai thác những ứng dụng của cơ sở Groebner trong giải một số bài toán hình học phẳng Một thứ tự từ
được gọi là một termorder Khi xét các thứ tự từ dễ sử dụng nhất là thứ tự từ điển ngược Thứ tự từ điển được gọi là plex (tức pure lexicographic) và thứ tự từ điển ngược được gọi là tdeg (tức total degree) Maple cần biết termorder muốn dùng plex hay tdeg và một danh sách các biến Các lệnh sử dụng phổ biến trong gói Groebner của Maple là normalf để thực hiện thuật toán chia và gbasis để tính một
cơ sở Groebner Kết quả là phần dư của đa thức f trong phép chia cho các đa thức thuộc danh sách polylist sử dụng thứ tự từ quy định bởi termorder
Trang 16Nếu sử dụng các đa thức với hệ số nguyên hay hữu tỷ trong normalf hay gbasic, Maple sẽ giả định rằng ta đang thực hiện trên trường ℚ Chú ý rằng ở đây không giới hạn trên kích thước của các hệ số Để Maple cố định một biến trong trường cơ sở (một tham số), ta chỉ cần bỏ qua nó trong danh sách các biến trong
termorder
Ta thấy Maple là một ngôn ngữ lập trình bậc cao, rất mạnh nhưng cũng dễ tiếp cận Về lập trình tính toán vượt xa các ngôn ngữ khác trên cả hai phương diện: mạnh và đơn giản, bởi vì mỗi hàm của nó tương đương với cả một gói chương trình con Nắm được phần này, người đọc có thể tự mình thiết lập nhưng gói chương
trình phục vụ cho mục đích riêng của mình (chưa sẵn có trong Maple) Maple cho
ta công cụ lý tưởng để soạn giáo trình và giáo án điện tử Tóm lại, đây là phương tiện để người thầy thiết lập công cụ hỗ trợ cho phương pháp và phong cách giảng dạy của mình, không bị lệ thuộc vào những gì có sẵn
2.2 GÓI LỆNH GEOPROVER
Gói Groebner trong Maple chưa cung cấp đủ những câu lệnh đủ mạnh giúp
đại số hoá các định lý hình học Vì vậy, gói GeoProver được xây dựng dựa trên
ngôn ngữ lập trình Maple để giải quyết vấn đề này, từ đó ta có thể dùng máy tính để kiểm tra tính đúng sai của một giả thuyết hình học Sau đây là các câu lệnh được sử dụng trong gói:
[> restart: with(Groebner):
[> read(“D:/Maple/GeoProver.mpl”): with(geoprover):
Để sử dụng gói này, chúng ta phải chú ý đường dẫn đến file GeoProver.mpl
trong câu lệnh trên Cần chú ý, kết quả trả lại của các câu lệnh trong gói này là 0
nếu giả thiết đưa ra luôn đúng
Sau đây là một số câu lệnh cơ bản trong gói câu lệnh GeoProver:
Kiểm tra ba điểm thẳng hàng:
[> A:= Point(x1, x2): B:= Point(x3, x4): C:= Point(x5, x6):
[> is_collinear(A, B, C);
x1x4 – x1x6 – x3x2 + x5x2 – x5x4
Trang 17Điều trên có nghĩa là với điều kiện ba điểm A, B, C thẳng hàng thì ta có đa
thức trên
Kiểm tra ba đường thẳng đồng quy:
[> D_:= Point(1, 2): E:= Point(3, 0): F:= Point(0, 1):
[> is_concurrent(pp_line(A, B), pp_line(C, D_), pp_line(E, F));
– 16x 2 x 1 x 4 + 16x 3 x 4
Kiểm tra hai đường tròn tiếp xúc với nhau:
[> is_cc_tangent(p3_circle(D_, E, F), p3_circle(Point(0, 0), Point(-1, 0), C));
Trang 18Kiểm tra khoảng cách bằng nhau (AB = EF), hai góc bằng nhau:
và bán kính đường tròn nội tiếp, tâm và bán kính đường tròn ngoại tiếp, đường tròn Ơle, đường thẳng qua một điểm và vuông góc (song song) với một đường thẳng, góc giữa hai đường thẳng (hoặc góc xác định bởi ba điểm), khoảng cách, diện tích tam giác, điểm đối xứng qua một điểm (đường thẳng, đường tròn), điểm ngẫu nhiên, giao điểm của hai đường thẳng, giao điểm thứ hai (khác giao điểm đã cho) của hai đường tròn (đường thẳng và đường tròn), vẽ đồ thị Với các câu lệnh trên,
về cơ bản ta có thể đại số hóa được hầu hết các bài toán hình học trong mặt phẳng
và kiểm nghiệm tính đúng sai của nó
Trang 19Chương 3 CHỨNG MINH ĐỊNH LÝ HÌNH HỌC BẰNG MÁY TÍNH
3.1 ĐẠI SỐ HÓA ĐỊNH LÝ HÌNH HỌC
3.1.1 Các bước đại số hóa định lý hình học
Người ta nhận thấy rằng rất nhiều định lý hình học hoàn toàn được mô tả bằng các khái niệm đại số Khi biểu diễn các hình hình học trong toạ độ Đề-các vuông góc thì hầu hết các hình hình học và biên của nó có thể xem là tập không điểm của các đa thức, và các quan hệ giữa chúng đều có thể mô tả bằng các phương trình đa thức cũng như tập không điểm phải xét trên trường số thực
Quy trình chứng minh định lý hình học trên Maple được tóm tắt thông qua các bước sau đây:
Bước l: Đại số hóa bài toán hình học
Bước 2: Chạy trên phần mềm Maple tìm cơ sở Groebner của iđêan (f1 = 0, ,
fs, 1 - yg) với chú ý xem các biến độc lập như tham số
Bước 3: Cơ sở Groebner của iđêan (f1 = 0, , fs, 1 - yg) chứa các đa thức 1 khi và chỉ khi định lý hình học cần chứng minh là đúng
Nếu tại bước 2 ta vẫn xem các biến độc lập là biến, thì tại bước 3 nếu cơ sở Groebner của iđêan (f1 = 0, , fs, 1 - yg) chứa đa thức 1 hoặc chứa đa thức chỉ chứa biến độc lập, thì ta vẫn kết luận được định lý hình học cần chứng minh là đúng Tuy nhiên điều ngược lại chỉ đúng nếu ta chọn thứ tự từ khử đối với các biến không
độc lập và y (chẳng hạn dùng plex và xếp các biến độc lập ở sau cùng)
3.1.2 Đại số hóa một số định lý hình học
Giả sử cho định lý hình học với:
Giả thiết: Được mô tả bởi hệ phương trình 𝑓1 = ⋯ = 𝑓𝑠 = 0
Kết luận: Khi đó mọi nghiệm thực của nó phải thoả mãn hệ phương trình
𝑔1 = ⋯ = 𝑔𝑟 = 0 với 𝑓1, … , 𝑓𝑠, 𝑔1, … , 𝑔𝑟 ∈ ℝ 𝑢1, … , 𝑢𝑡, 𝑥1, … , 𝑥𝑛 là những đa thức với hệ số thực Các biến 𝑢1, … , 𝑢𝑡 độc lập đại số (tức là toạ độ của các điểm tương ứng với các biến này có thể chọn tuỳ ý), còn các biến 𝑥1, … , 𝑥𝑛 là phụ thuộc, nghĩa
là từng biến trong danh sách này phải xuất hiện trong ít nhất một đa thức f i nào đó
Trang 20Ta sử dụng ngôn ngữ đại số để mô tả một số định lý hình học sau đây:
Ví dụ 3.1 Trong một tam giác, ba đường trung trực đồng quy
Hình 3.1
Đại số hóa định lý trên như sau: Không mất tính chất tổng quát, ta có thể đặt
tọa độ các điểm A(0, 0), B(c, 0) và điểm C(a, b) Giả sử các đường trung trực của các cạnh AB và BC cắt nhau tại điểm O 1 (x 1 , y 1) Các đường trung trực hoàn toàn
được xác định bởi các điểm A, B, C và O 1 và ta có các phương trình sau đây:
Ví dụ 3.2 (Định lý con bướm) Cho đường tròn tâm O Các điểm A, B, C, D
thuộc đường tròn trên Gọi P là giao điểm của AC và BD Gọi F, G tương ứng là giao điểm của đường thẳng đi qua P và vuông góc với OP với đường thẳng AB,
CD Khi đó P là trung điểm của FG
Trang 21Chứng minh Ta chọn hệ trục toạ độ Đề-các với điểm P là gốc toạ độ, trục
hoành nằm trên đoạn thẳng OP Khai báo tọa độ các điểm như sau:
Hình 3.2
[> P:= Point(0, 0): O_:= Point(u1, 0):
[> A:= Point(u2, u3): B:= Point(u4, x1):
[> C:= Point(x2, x3): D_:= Point(x4, x5):
[> F:= Point(0, x6): G:= Point(0, x7):
Ta khai báo đường tròn tâm O, bán kính OA:
[> c:= pc_circle(O_, A):
Từ giả thiết B, C, D thuộc đường tròn tâm O ta có:
[> on_circle(B, c), on_circle(C, c), on_circle(D_, c);
u 4 2 + x 1 2 – 2u 1 u 4 + 2u 2 u 1 – u 2 2 – u 3 2 , x 2 2 + x 3 2 – 2u 1 x 2 + 2u 2 u 1 – u 2 2 – u 3 2 ,
x 4 2 + x 5 2 – 2u 1 u 4 + 2u 2 u 1 – u 2 2 – u 3 2
Từ giả thiết P là giao điểm của AC và BD, F thuộc AB và G thuộc CD, ta có:
[> on_line(P, pp_line(A, C)), on_line(P, pp_line(B, D_)),
on_line(F, pp_line(A, B)), on_line(G, pp_line(D_, C));
u 3 x 2 – u 2 x 3 , x 1 x 4 – u 4 x 5 , x 6 u 2 – x 6 u 4 + u 3 u 4 – u 2 x 1 , x 7 x 4 – x 7 x 2 + x 2 x 5 – x 3 x 4 Kết luận điểm P là trung điểm của đoạn thẳng FG được cho bởi đa thức:
[> numer(sqrdist(P, midpoint(F, G)));
(x 7 + x 6)2
Trang 22Ví dụ 3.3 (Định lý về điểm Phéc-ma) Cho tam giác ABC Lấy BC, CA, AB
làm cạnh dựng các tam giác cân đồng dạng BCP, CAQ, ABR ra phía ngoài tam giác Khi đó các đường thẳng AP, BQ, CR đồng quy tại một điểm Điểm đó được gọi là điểm Phéc-ma
Ta chọn hệ trục toạ độ Đề-các với điểm A là gốc toạ độ, trục hoành nằm trên đoạn thẳng AB:
[> A:= Point(0, 0): B:= Point(u1, 0):
[> con:=is_concurrent(pp_line(A, P), pp_line(B, Q), pp_line(C, R));
Trang 23con:=x 2 u 1 u 3 x 5 – x 2 u 1 x 6 u 2 – x 2 x 3 u 3 x 5 + x 2 x 3 x 6 u 2 + x 2 u 2 x 4 u 1 – x 2 u 1 x 4 x 5 + x 1 x 4 u 3 x 5 –
x 1 x 4 x 6 u 2 + x 1 x 4 u 1 x 6 – x 1 u 1 x 4 u 3 Trong ba ví dụ trên, các biến u i là các biến độc lập, các biến x i là các biến phụ
thuộc Chúng ta phải phân biệt các biến này để tìm các trường hợp suy biến của
định lý (hay là các trường hợp mà định lý không còn đúng)
3.2 QUY TRÌNH CHỨNG MINH ĐỊNH LÝ BẰNG MÁY TÍNH
3.2.1 Các bước chứng minh định lý hình học bằng máy tính
Để chứng minh định lý hình học bằng cơ sở Groebner với sự hỗ trợ của phần mềm Maple ta phải tiến hành theo các bước sau:
Bước 1: Chọn hệ trục toạ độ để biểu diễn các điểm và các dữ kiện của định
lý Ta chọn sao cho số lượng các biến trong cơ sở Groebner là ít nhất bởi vì số lượng biến càng nhiều, thời gian tính toán trên máy tính càng lâu
Bước 2: Đại số hoá giả thiết và kết luận của định lý
Bước 3: Liệt kê một danh sách bao gồm các đa thức giả thiết và một đa thức
kết luận được nhân với một biến phụ thuộc mới, sau đó trừ đi 1
Bước 4: Tìm đa thức dư của đa thức 1 cho các đa thức trong danh sách trên
bằng lệnh: [> normalf(1, WL, T), trong đó WL là danh sách các đa thức, T là một thứ tự từ Nếu kết quả trả lại bằng 0 thì định lý luôn đúng Ngược lại chúng ta tiếp tục tìm cơ sở Groebner rút gọn của iđêan sinh bởi WL
Bước 5: Tìm cơ sở Groebner rút gọn G của WL
Bước 6: Tìm iđêan khử bằng các dòng lệnh sau:
[> for j from 1 to nops(G) do
k[j]:= degree(leadterm(G[j], plex(T’)), {T’}):
if k[j] = 0 then print(G[j]); fi: od;
Trong đó T là một thứ tự từ đối với các biến phụ thuộc
Bước 7: Giải các phương trình đa thức sinh ra iđêan khử để tìm ra các trường
hợp suy biến
Chú ý rằng khi đại số hoá giả thiết và kết luận của định lý ta không tránh khỏi kết quả của các phép tính toán không là một đa thức Lúc đó, ta dùng câu lệnh
Trang 24numer() để lấy phần tử thức Còn phần mẫu thức bằng 0 chúng ta coi như một
trường hợp suy biến, cần xét thêm
Sau đây là một số nhận xét về các bước trên:
(1) Phương pháp trình bày ở trên có thể đòi hỏi tính toán cồng kềnh so với chứng minh bằng hình học, nhưng phương pháp này có lợi thế là có thể thực hiện
được bằng máy tính và không đòi hỏi sự lắt léo nào (như vẽ thêm đường, chọn thêm điểm) Khi đã đại số hoá được bài toán thì thời gian chạy máy tính không đáng kể
(2) Khi đại số hoá bài toán hình học phải đảm bảo để các toạ độ u 1 , ,u t được
chọn tuỳ ý, hay nói cách khác chúng độc lập đại số trên Z(f 1 , ,f s ) Chú ý rằng có
nhiều cách đại số hoá một bài toán hình học, và do đó có thể nhận được nhiều bài toán T tương ứng mà độ phức tạp của lời giải có thể rất khác nhau
(3) Bằng phương pháp này ta có thể xây dựng các giả thuyết hình học Sau
đó ta đại số hoá và tìm các trường hợp suy biến Từ đó, chúng ta có thể khẳng định
được nhìn chung giả thuyết đó có đúng hay không? Điều này cũng đem lại một lợi thế khác: tìm phản ví dụ dựa trên các trường hợp suy biến cho một số bài toán hình học
3.2.2 Xét các trường hợp suy biến của định lý
Không phải bài toán nào cũng tương đương với phát biểu hình học của nó, bởi vì khi xét tập không điểm của các đa thức trong giả thiết, ta không hề phân biệt
đâu là biến độc lập, đâu là biến phụ thuộc Như vậy có thể có một số điểm nào đó sẽ ứng với một hình hình học ngoại lai, hay như thông thường vẫn nói là trường hợp suy biến.
Ví dụ 3.4 Nếu ABCD là một hình thoi thì hai đường chéo AC và BD vuông
góc với nhau và cắt nhau tại điểm N là trung điểm của mỗi đường chéo
Sau đây ta sẽ đại số hoá định lý trên Ta chọn hệ trục toạ độ Đề-các mà gốc
toạ độ là A và trục hoành trùng với tia AB (nhằm hạn chế tối đa các biến độc lập)
Ta sẽ dùng phần mềm Maple để thiết lập các hệ phương trình giả thiết và kết luận Trong Maple, khi khai báo các điểm mà toạ độ của nó chứa tham số và sử dụng các câu lệnh để thực hiện các phép tính trên các điểm đó thì bao giờ Maple cũng yêu
Trang 25cầu các điểm đó phải thoả mãn một số điều kiện nhất định để thực hiện được phép tính
Khi dùng lệnh khai báo một đường thẳng đi qua hai điểm có toạ độ cho trước dưới dạng tham số thì Maple sẽ đưa ra một thông báo là hai điểm đó phải là hai
điểm phân biệt (tức là chúng ta phải đưa ra câu lệnh giả thiết rằng hai điểm đó là phân biệt trước khi khai báo đường thẳng) Với mỗi thủ tục đó khi thực hiện phép
tính sẽ rất phức tạp mà nhiều khi chưa chắc đã làm được Do vậy, vấn đề xây dựng một gói công cụ mới dựa trên ngôn ngữ lập trình Maple để giải quyết vấn đề trên là không thể thiếu được Sau đây là các câu lệnh để đưa ra hệ phương trình giả thiết và kết luận của định lý:
Ta tiến hành khai báo các điểm:
[> A:=Point(0, 0): B:=Point(u1, 0): C:=Point(u2, u3): D_:=Point(x1, x2): N:=Point(x3, x4):
Hình 3.4
Các biến u 1 , u 2 , u 3 là các biến độc lập, còn các biến x 1 , x 2 , x 3 , x 4 là các biến phụ thuộc và nó bị ràng buộc bởi điều kiện ABCD là hình thoi và N là giao điểm của
hai đường chéo
Từ giả thiết AB = AD và N A C N, B D ta có các phương trình:
Trang 26Từ kết luận A C B D và N là trung điểm của AC, BD ta có:
[> is_orthogonal(pp_line(C, A), pp_line(D_, B)) = 0;
Trang 27(N là trung điểm của AC và BD)
Bây giờ ta sử dụng phần mềm Maple đối với iđêan I 1 để kiểm định kết luận thứ nhất g 1:
Ta tìm đa thức dư của đa thức 1 khi chia cho các đa thức trong danh sách L 1
đối với thứ tự từ điển trên:
Dựa trên cơ sở Groebner trên, ta khai báo các biến phụ thuộc vào danh sách
L 3 và sử dụng các câu lệnh của Maple để đưa ra 𝐼1′ :
cách khác điểm C nằm trên trục hoành của hệ trục tọa độ đã chọn và khi đó hình
thoi suy biến thành một đường thẳng
Ta tiếp tục kiểm định đối với kết luận g 2:
Trang 28Dựa trên cơ sở Groebner trên, ta khai báo các biến phụ thuộc vào danh sách
𝐿′3 và sử dụng các câu lệnh của Maple để đưa ra iđêan khử 𝐼2′ :
đó bằng toán học và phát triển thêm các bài toán khác
Trang 29Định lý 1 (Đường thẳng Ơle) Gọi O, H, G lần lượt là tâm của đường tròn
ngoại tiếp, trực tâm và trọng tâm của ABC cho trước Khi đó, ba điểm O, H, G thẳng hàng và điểm G chia đoạn thẳng OH theo tỉ số 1:3
Trước tiên, trong hệ tọa độ Đề-các vuông góc ta tiến hành khai báo tọa độ của các điểm như sau:
[> A:=Point(a1, a2): B:=Point(b1, b2): C:=Point(c1, c2):
0
Cả hai câu lệnh trên đều cho kết quả bằng 0 Điều đó có nghĩa là định lý trên
là đúng Bây giờ ta chứng minh bằng toán học như sau:
Chứng minh Gọi A’, B’, C’ lần lượt là trung điểm của các cạnh BC, CA,
AB Ta chứng minh giao điểm của đường thẳng HO và đường thẳng AA’ chính là trọng tâm G của ABC Thật vậy, ta có: HA = 2OA' và HA // OA' ⇒ 𝐺𝐴
𝐺𝐴′= 𝐻𝐴
𝑂𝐴′ = 2,
suy ra G là trọng tâm ABC Từ đó ta suy ra H, G, O thẳng hàng
Trang 30= −2𝐺𝑂
Định lý 2 (Đường tròn Ơle) Trong tam giác ba trung điểm của ba cạnh, ba
chân các đường cao, ba trung điểm của ba đoạn thẳng nối trực tâm với các đỉnh của tam giác là 9 điểm nằm trên một đường tròn với tâm O 9 là trung điểm của đoạn thẳng OH Đường tròn này được gọi là đường tròn Ơle
Trong hệ tọa độ Đề-các vuông góc ta có thể chọn tọa độ các điểm với A là gốc tọa độ và trục Ox với đơn vị là điểm B Điểm C là điểm tùy ý
[> A:=Point(0, 0): B:=Point(u1, 0): C:=Point(u2, u3) :
Gọi O 9 là trung điểm của đoạn thẳng OH Ta xác định tọa độ của các điểm O,