Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 49 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
49
Dung lượng
1,14 MB
Nội dung
Header Page of 133 MỞ ĐẦU Nhiều toán thực tế dẫn đến phương trình, hệ phương trình tuyến tính với hệ số nguyên mà ta phải tìm nghiệm nguyên phương trình hệ phương trình Phương trình thường gọi phương trình Đi-ôphăng tuyến tính Đây chủ đề quan trọng chương trình phổ thông Trong lịch sử toán học có nhiều nhà toán học nghiên cứu chủ đề Tuy nhiên, số lượng vấn đề cần giải nhiều Luận văn có mục đích tìm hiểu trình bày thuật toán tìm nghiệm nguyên phương trình hệ phương trình tuyến tính với hệ số nguyên Nội dung luận văn chia thành chương: Chương "Kiến thức chuẩn bị” nhắc lại khái niệm ước số phần dư phép chia hai số nguyên, số nguyên tố hợp số, ước chung lớn hai hay nhiều số nguyên, thuật toán Ơ-clít tìm ước chung lớn nhất, đề cập tới khái niệm đồng dư toán tìm nghiệm nguyên phương trình Đi-ô-phăng tuyến tính hai hay nhiều biến số, điều kiện tồn nghiệm nguyên phương trình Chương "Phương trình tuyến tính" đề cập tới khái niệm nghiệm nguyên riêng nghiệm nguyên tổng quát phương trình tuyến tính với hệ số nguyên hai hay nhiều biến số Trình bày hai thuật toán tìm nghiệm nguyên riêng nghiệm nguyên tổng quát phương trình tuyến tính chứng minh tính đắn thuật toán giải, với ví dụ số minh họa cho thuật toán Chương "Hệ phương trình tuyến tính" đề cập tới toán thực tế dẫn tới hệ phương trình tuyến tính với hệ số nguyên trình bày thuật toán giải hệ phương trình tuyến tính, chứng minh tính đắn thuật toán giải, với ứng dụng có liên quan toán xét Tìm nghiệm nguyên dương hệ phương trình tuyến tính với hệ số nguyên Footer Page of 133 Header Page of 133 Do thời gian kiến thức hạn chế nên chắn luận văn có thiếu sót định, kính mong quí thầy cô bạn đóng góp ý kiến để tác giả tiếp tục hoàn thiện luận văn sau Nhân dịp này, tác giả luận văn xin bày tỏ lòng biết ơn sâu sắc tới GS.TS Trần Vũ Thiệu, tận tình giúp đỡ suốt trình làm luận văn Tác giả xin chân thành cảm ơn thầy, cô giáo Bộ môn toán nhiệt tình giảng dạy, cán Phòng sau đại học quản lý khoa học, Ban giám hiệu Trường đại học Thăng Long quan tâm, động viên tạo điều kiện thuận lợi trình tác giả học tập nghiên cứu Trường Hà Nội, tháng 05 năm 2016 Tác giả Lê Minh Quỳnh Hoa Footer Page of 133 Thang Long University Library Header Page of 133 Chương KIẾN THỨC CHUẨN BỊ Chương nhắc lại khái niệm phần dư phép chia hai số nguyên, ước chung lớn hai hay nhiều số nguyên, thuật toán Ơ-clit tìm ước chung lớn đề cập tới toán tìm nghiệm nguyên phương trình tuyến tính với hệ số nguyên hai hay nhiều biến số, điều kiện tồn nghiệm nguyên phương trình Nội dung chương tham khảo từ tài liệu [1], [2] [4] 1.1 ƯỚC CHUNG LỚN NHẤT 1.1.1 Ước số phần dư Xét tập số nguyên ℤ = {0, 1, 2, } Từ lý thuyết số, ta có kết sau Định lý 1.1.(Thuật toán chia) Với a, b ℤ, b 0, tồn q, r ℤ, r < |b|, cho a = bq + r (Chia a cho b q thương số, r phần dư) Ví dụ 1.1 a) Với a = 23, b = ta có q = 4, r = 3, 23 = 54 + b) Với a = 17, b = - ta có q = - 5, r = 2, 17 = (- 3)(- 5) + c) Với a = - 11, b = ta có q = - 6, r = 1, - 11 = 2(- 6) + d) Với a = - 9, b = - ta có q = 3, r = 3, - = (- 4)3 + Định nghĩa 1.1 Với a, b ℤ, ta nói a ước (divisor) b tồn số nguyên x cho a.x = b Trong trường hợp ta nói b chia hết (divisible) cho a hay b bội (multiple) a viết a | b (đọc a ước b) Trái lại, ta nói a không ước b viết a ∤ b Ví dụ 1.2 Do - ước nên ta viết | - | Nhưng không ước nên ta viết ∤ Bài tập 1.1 Giả sử a, b, c, m, n ℤ Nếu a | b a | c a | (mb + nc) Định nghĩa 1.2 Với a ℤ, điều sau đúng: | a, - | a, a | a, - a | a Footer Page of 133 Header Page of 133 Ta nói 1, - 1, a - a ước tầm thường (trivial divisors) a; -1 gọi đơn vị (units), ước khác a gọi ước thực (proper divisors) 1.1.2 Số nguyên tố hợp số Định nghĩa 1.3 Số nguyên dương a > gọi số nguyên tố (prime) a ước thực Số nguyên dương a gọi hợp số (composite) a có ước thực Nếu a số nguyên dương số nguyên tố p1, p2, , pk thỏa mãn p1p2 pk = a tích p1p2 pk gọi phân tích thừa số nguyên tố (prime factorization) a Ví dụ 1.3 Các số nguyên tố < 40: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37 Định lý 1.2 (Định lý số học) Mọi số a ℤ, a > 1, có phân tích thừa số nguyên tố (không kể sai khác thứ tự thừa số) Ví dụ 1.4 12 = 223; 18 = 232; 231 = 3711 Định nghĩa 1.4 Cho a, b ℤ Ta định nghĩa ước chung lớn (greatest common divisor) a b số nguyên lớn d mà a b chia hết cho d: d | a d | b Ước chung lớn ký hiệu (a, b) = d gcd (a, b) = d Ta sử dụng (a, b) để ước chung lớn a b Ví dụ 1.5 Hãy tìm ước chung lớn 20 Ta thấy ước ±1, ±2, ±4, ±8; ước 20 ±1, ±2, ±4, ±5, ±10 Từ đó, ước chung 20 ±1, ±2, ±4 Vì thế, ước chung lớn 20 Ta viết gcd (8, 20) = (8, 20) = Có thể kiểm tra lại (12, - 9) = 3; (- 15, 20) = 5; (- 3, - 7) = Định nghĩa 1.5 Nếu ước chung lớn (a, b) = ta nói hai số nguyên a b nguyên tố (relatively prime) Định lý 1.3 Nếu a, b ℤ (a, b) = d (a/d, b/d) = Ví dụ 1.6 Hãy tìm ước chung lớn 20 45 Bằng cách phân tích thừa số nguyên tố ta có 20 = 22×5 45 = 32×5 Từ đó, ta tìm ước chung lớn 20 45 5, tức (20, 45) = Ta thấy Footer Page of 133 Thang Long University Library Header Page of 133 (20/5, 45/5) = (4, 9) = Định lý 1.4 Nếu a, b, c ℤ cho a | bc a, b nguyên tố a | c Định lý 1.5 Cho a, b, c ℤ Khi (a + cb, b) = (a, b) Ví dụ 1.7 Xét ba số: a = 110, b = 44, c = 22 Theo Định lý 1.4, ta có (110 + 22×44, 44) = (110, 44) hay (1078, 44) = (110, 44) Để kiểm tra đẳng thức này, ta cần tính (1078, 44) (110, 44) Ta thấy 44 = 22×11, 110 = 2×5×11 1078 = 2×72×11 Từ suy (1078, 44) = (110, 44) = 22 Kết kiểm tra Định nghĩa 1.6 Cho a, b ℤ Tổ hợp tuyến tính (linear combination) a b tổng có dạng ax + by, x, y ℤ Định lý 1.6 Cho hai số a, b ℤ Khi d = (a, b) số nguyên dương nhỏ biểu diễn dạng d = ax + by với x, y ℤ Ví dụ 1.8 Giả sử a = 51 b = 187 Ta thấy 51 = 3×17 187 = 11×17 Từ (51, 187) = 17 Nếu chọn x = 4, y = - 1, ta có 51×4 - 187×1 = 204 - 187 = 17 = (51, 187) Định lý 1.7 Nếu a, b, m, n ℤ c ước số chung a b c ước số ma + nb, nghĩa (c | a c | b) ⇒ c | (ma + nb) Ví dụ 1.9 Giả sử a = 21, b = 39, c = Ta có 21 = 3×7 39 = 3×13 Vì thế, 21 39 chia hết cho Giả sử m = 7, n = - Khi 7×21 - 3×39 = 147 - 117 = 30 Rõ ràng ước 30, 30 = 3×10 Định lý 1.8 Nếu a, b số nguyên dương tập hợp tổ hợp tuyến tính a b tập bội nguyên (a, b) Ví dụ 1.10 Giả sử a = 52, b = 117 Ta thấy 52 = 22×13 117 = 32×13 Footer Page of 133 Header Page of 133 Do (52, 117) = 13 Với x, y ∈ ℤ tìm số nguyên k nghiệm phương trình 52x + 117y = 13k Tìm x y cho ta k = 2, tức x, y thỏa mãn 52x + 117y = 13×2 = 26 Chia hai vế cho 13, phương trình rút gọn 4x + 9y = Ta tìm x = y = - 2, 4×5 - 9×2 = 20 - 18 = 1.1.3 Ước chung lớn nhiều số nguyên Định nghĩa 1.7 Ta mở rộng định nghĩa ước chung lớn cho n số nguyên với n ≥ Xét n số nguyên, không Ta định nghĩa ước chung lớn chúng số lớn ước chung n số viết (a1, a2, , an) Ví dụ 1.11 Có thể thấy (2, 6, 14) = (7, 21, 49) = Tuy nhiên, ta gặp nhiều ba số nguyên nhiều số phức tạp mà ta dễ dàng tìm ước chung chúng Trong trường hợp thế, ta dùng định lý sau Định lý 1.9 Nếu a1, a2, , an số nguyên, không 0, (a1, a2, , an-1, an) = (a1, a2, , (an-1, an)) Ví dụ 1.12 Tìm ước chung lớn 96, 405, 693 1989 Phân tích số nguyên thừa số nguyên tố dùng Định lý 1.9, ta thấy 96 = 25×3, 405 = 34×5, 693 = 32×7×11, 1989 = 32×13×17 (96, 405, 693, 1989) = (96, 405 (693, 1989)) = (96, 405, 9) = (96, (405, 9)) = (96, 9) = Định lý 1.10 Nếu c, d ℤ c = dq + r, với q, r ℤ (c, d) = (r, d) Ví dụ 1.13 Xét đẳng thức 48 = 9×5 + Nếu phân tích đẳng thức theo Định lý 1.10, ta thấy c = 48, d = 9, q = r = Footer Page of 133 Thang Long University Library Header Page of 133 Ta có 48 = 24×3 = 32 Áp dụng định lý ta (48, 9) = (3, 9) = 1.2 ĐỒNG DƯ Định nghĩa 1.8 Cho a, b ℤ Ta nói a đồng dư với b (congruent to) modulo m (viết tắt mod m) m | (a - b) Ta ký hiệu a b (mod m) Nhận xét 1.1 Lưu ý ta biểu diễn m | a a (mod m) Bài tập 1.2 Với a ℤ ta có: a a (mod m); Nếu a b (mod m) b a (mod m); Nếu a b (mod m) b c (mod m) a c (mod m) Nếu a b (mod m) ta có: a + c b + c (mod m); ac bc (mod m) Nếu có thêm c d (mod m) ta có: a + c b + d (mod m); ac bd (mod m) Ngoài ra, ac bd (mod m) c, m nguyên tố a b (mod m) Bây ta phân loại số nguyên thành lớp dựa quan hệ đồng dư modulo m chúng, với số nguyên m đó, m > 1, cách đặt số nguyên đồng dư với vào lớp Mỗi số nguyên đặt lớp cặp số nguyên x, y lấy từ lớp thỏa mãn x y (mod m) Các lớp gọi lớp thặng dư modulo m (residue classes), ký hiệu a m , a phần tử lớp Một tập chứa phần tử lớp thặng dư viết thành ℤ/mℤ Ví dụ m = 4, ta viết ℤ/4ℤ = {0, 1, 2, 3} Với số phép toán, cụ thể cộng, trừ, nhân lũy thừa, phần tử lớp đại diện cho lớp, nghĩa thực phép toán Footer Page of 133 Header Page of 133 phần tử đại diện hai lớp cho kết lớp thặng dư giống áp dụng cho phần tử lớp Với phép toán khác, ví dụ ước chung lớn nhất, không Nhận xét 1.2 Ta tùy ý thay đổi biểu thức đồng dư biểu thức đại số số Chẳng hạn, phát biểu "n có dạng 4k + 1" tương đương với cách nói n (mod 4) Định lý 1.11 Nếu m, n nguyên tố m có nghịch đảo phép nhân modulo n Chứng minh Vì m, n nguyên tố nên ước chung lớn (m, n) = = am + bn với a, b ℤ theo Định lý 1.6 Xét phương trình đồng dư (modulo n): am + bn (mod n) ⇒ am + am (mod n) Do m có nghịch đảo phép nhân modulo n 1.3 THUẬT TOÁN Ơ-CLIT VÀ MỞ RỘNG Mục đề cập tới thuật toán Ơ–clít quen thuộc để tìm ước chung lớn hai số nguyên dương Đó thuật toán nhanh để tìm ước chung lớn Định lý 1.12 (Thuật toán Ơ–clít) Để tìm ước chung lớn hai số a b ta đặt r- = a, r0 = b, tính liên tiếp thương qi+1 số dư ri+1 theo ri-1 = riqi+1 + ri+1 với i = 0, 1, 2, gặp số dư rn+1 = Khi đó, số dư khác không cuối rn ước chung lớn a b Ví dụ 1.14 Ta minh họa thuật toán Ơ-clít qua việc tìm (246, 699) Lần lượt thực phép chia sau: 699 = 246×2 + 207 246 = 207×1 + 39 207 = 39×5 + 12 Footer Page of 133 Thang Long University Library Header Page of 133 39 = 12×3 + 12 = 3×4 + Thuật toán Ơ-clít nói ước chung lớn hai số số dư khác cuối Ở ví dụ trên, số dư khác cuối nên (246, 699) = Nếu muốn tìm ước chung lớn nhiều hai số ta sử dụng thuật toán Ơ-clít, kết hợp với Định lý 1.9 Ví dụ 1.15 Sử dụng thuật toán Ơ-clít tìm (33, 176, 275, 352, 539, 1331) • Trước hết tìm (539, 1331) cách sử dụng thuật toán Ơ-clít Ta có 1331 = 539×2 + 253 539 = 253×2 + 33 253 = 33×7 + 22 33 = 22×1 + 11 22 = 11×2 + Số dư khác cuối 11 Vì thế, (539, 1331) = 11 • Tiếp theo tìm (33, 176, 275, 352, 11) = (33, 176, 275, (352, 11)) Ta có 352 = 11×32 + Số dư 0, (352, 11) = 11 • Tiếp theo ta tìm (33, 176, 275, 11) = (33, 176, (275, 11)) Ta có 275 = 11×25 + 0, tức 275 bội 11 (275, 11) = 11 • Tiếp theo tìm (33, 176, 11) = (33, (176, 11)) Do 176 = 11×16 + nên (176, 11) = 11 • Cuối cùng, tìm (33, 11) = (11×3, 11) = 11 Kết (33, 176, 275, 352, 539, 1331) = 11 Biểu diễn d = (a, b) dạng tổ hợp tuyến tính a b Ta biết cách tìm ước chung lớn hai số nguyên thuật toán Ơ-clít Giả sử rn = (a, b), a > b, rn-2 = rn-1×qn + rn rn-1 = rn×qn+1 + Footer Page of 133 Header Page 10 of 133 Khi ta muốn viết ước chung lớn hai số nguyên dạng tổ hợp tuyến tính số nguyên này, ta sử dụng quy trình sau Đẳng thức (a, b) = rn = rn-2 - rn-1×qn cho thấy (a, b) tổ hợp tuyến tính rn-2 rn-1 Từ đẳng thức trước rn-3 = rn-2×qn-1 + rn-1 suy rn-1 = rn-3 - rn-2×qn-1 Vì vậy, ta nhận rn = rn-2 - (rn-3 - rn-2×qn-1)×qn = rn-2(1 + qn-1×qn) - qn×rn-3 Biểu thức cuối cho thấy rn tổ hợp tuyến tính rn-2 rn-3 Ta tiếp tục trình "biểu diễn (a, b) tổ hợp tuyến tính cặp số dư" tìm (a, b) tổ hợp tuyến tính a b Với cặp số dư ri ri-1 ta có biểu diễn (a, b) = k×ri + m×ri-1 Do ri = ri-2 - ri-1×qi nên ta có (a, b) = k×(ri-2 - ri-1×qi) + m×ri-1 = k×ri-2 + (m - k×qi)ri-1 Tiếp tục đẳng thức đầu a = b×q1 + r1, ta tìm (a, b) tổ hợp tuyến tính a b Định lý sau đưa phương pháp quy nạp để tìm (a, b) dạng tổ hợp tuyến tính a b Định lý 1.13 Cho a, b hai số nguyên dương Khi đó, ta có biểu diễn d = (a, b) = kn×a + mn×b với kn mn số hạng thứ n dãy số xác định theo đệ quy k -1 = 1, m -1 = 0, k0 = 0, m0 = ki = ki -2 - ki -1×qi, mi = mi -2 - mi -1×qi với i = 1, 2, , n, qi thương số phép chia thứ i thuật toán Ơ-clít tìm ước chung lớn a b Footer Page 10 of 133 10 Thang Long University Library Header Page 35 of 133 (P2) k i(1) = f i( 2) (k 1( 2) , , k (n2)2 ), i = 1, 2, , n - 1, f i( 2) hàm tuyến tính afin với hệ số nguyên (Nếu trình thực thuật toán ta gặp phương trình nghiệm nguyên hệ ban đầu nghiệm nguyên dừng thuật toán) Trường hợp tất phương trình giải có nghiệm nguyên bước j, j r (với r hạng ma trận A) ta có (Pj) k i( j1) = f i( j) (k 1( j) , , k (nj) j ), i = 1, 2, , n - j + 1, f i( j) hàm tuyến tính afin với hệ số nguyên k i0 = xi, i = 1, , n Cuối cùng, sau r bước phương trình giải có nghiệm nguyên, ta nhận nghiệm nguyên phương trình lại với n - r + ẩn số Hệ ban đầu có nghiệm nguyên phương trình lại bước r có nghiệm nguyên Nếu có, nghiệm nguyên tổng quát ký hiệu (Pr) k i( r 1) = f i( r ) (k 1( r ) , , k (nr )r ), i = 1, 2, , n - r + 1, f i( r ) hàm tuyến tính afin với hệ số nguyên Bây ta cần thực trình thay ngược sau Thay giá trị k i( r 1) = f i( r ) (k 1( r ) , , k (nr )r ), i = 1, 2, , n - r + có bước r vào biểu thức k i( r ) = f i( r 1) (k 1( r 1) , , k (nrr1)1 ), i = 1, 2, , n - r + 2, bước r - nhận k i( r ) = f i( r 1) ( f i( r ) (k 1( r ) , , k (nr )r ), , f (nr)r 1 (k 1( r ) , , k (nr )r )) = g i( r 1) (k 1( r ) , , k (nr )r ), i = 1, 2, , n - r + 2, g i( r 1) hàm tuyến tính afin với hệ số nguyên Tiếp tục làm ta thay giá trị k i(1) = g i( 2) (k 1( r ) , , k (nr )r ), i = 1, 2, , n - nhận (P2) vào biểu thức xi (P1) nhận Footer Page 35 of 133 35 Header Page 36 of 133 (r) (r) (r) (r) xi = f i(1) (g 1( 2) (k , , k nr ), , g (n2 )1 (k , , k nr )) (r) (r) = g i(1) (k , , k nr ), i = 1, 2, , n g i(1) hàm tuyến tính afin với hệ số nguyên Như thường lệ, để đơn giản ký hiệu ta viết lại xi = gi(k1, , kn-r), i = 1, , n, gi hàm tuyến tính afin với hệ số nguyên Đó nghiệm tổng quát hệ phương trình ban đầu Định lý 3.3 Thuật toán thay đắn Chứng minh Thuật toán hữu hạn gồm r lần giải phương trình r - lần thay ngược Rõ ràng phương trình hệ ban đầu nghiệm nguyên toàn hệ nghiệm nguyên Ký hiệu (S) hệ ban đầu (Sj) hệ thu bước (Pj), j r - Khi chuyển từ (Pj) sang (Pj+1), ta chuyển từ hệ (Sj) tới hệ (Sj+1) tương đương theo nghĩa có nghiệm nguyên, tức k i( j1) = t i0 , (i = 1, , n - j + 1) nghiệm nguyên riêng hệ (Sj) k i( j) = h i0 , (i = 1, , n - j) nghiệm nguyên riêng hệ (Sj+1), k i0 = f i( j1) (t 10 , , t 0n j1 ), i = 1, 2, , n - j Do nghiệm nguyên tổng quát chúng tương đương (xét phép này) Như cuối việc giải hệ ban đầu (S) tương đương với giải phương trình (của hệ gồm phương trình (Sr-1) với hệ số nguyên Suy hệ (S) có nghiệm nguyên hệ (Sj) có nghiệm nguyên Để minh họa thuật toán, ta xét ví dụ đơn giản sau Ví dụ 3.1 Dùng Thuật toán thay tìm nghiệm nguyên hệ phương trình: (S) Footer Page 36 of 133 5x y 2z w 6, x y 3z 11w 0, 36 Thang Long University Library Header Page 37 of 133 Giải Ta giải phương trình thứ để tìm nghiệm nguyên Ta nhận nghiệm nguyên tổng quát (P1) x t1 2t yt z t t 3t w t t1, t2, t3 ℤ Thế vào phương trình thứ hai, ta nhận hệ (S1) 5t1 23t2 + 2t3 + = Giải phương trình này, ta nhận nghiệm nguyên tổng quát (P2) t k1 t k 2k t 9k 23k 3 k1, k2 ℤ Ngược trở lại, (P2) vào (P1) ta nhận x 3k1 4k 2, y k , z 31k1 79k 23, w 9k1 23k 7, k1, k2 ℤ Đó nghiệm nguyên tổng quát hệ (S) ban đầu: 3.3 THUẬT TOÁN DÙNG PHÉP ĐỒNG DƯ Đầu vào: Hệ phương trình tuyến tính Ax = b Đầu ra: Cho biết hệ có nghiệm nguyên hay không Nếu có cho nghiệm nguyên tổng quát hệ Thuật toán gồm bước sau: Bước Đặt t = 1, h = p = Footer Page 37 of 133 37 Header Page 38 of 133 Bước (A) Chia phương trình cho ước chung lớn hệ số biến Nếu không nhận thương số nguyên phương trình hệ nghiệm nguyên.Dừng thuật toán (B) Nếu có bất phương trình hệ hệ nghiệm nguyên Dừng thuật toán (C) Nếu có nhiều phương trình trùng giữ lại loại bỏ đồng thức khỏi hệ có Bước Nếu có (i0, j0) cho | a i0 j0 | = nhận giá trị biến x j0 từ phương trình i0; hệ thức (Tt) Thế hệ thức (nếu có thể) vào phương trình khác hệ vào hệ thức (Tt-1), (Hh) (Pp) với t, h p Đặt t := t + 1, loại phương trình i0 khỏi hệ Nếu không cặp chuyển sang Bước Bước Hệ lại có biến? Nếu có xét liệu chuyển tới Bước Nếu trái lại viết nghiệm nguyên tổng quát hệ phương trình cách thay k1, k2, … cho tất biến kể từ số hạng bên phải biểu thức biểu diễn giá trị ẩn số hệ ban đầu Dừng thuật toán Bước Tính a = {|r| : a ij1 r (mod a ij2 ), < |r| < a ij2 } i , j1 , j2 xác định số i, j1, j2 với r đạt giá trị cực tiểu a (nếu có nhiều khả chọn khả bất kỳ) a ij r Bước Đặt x j2 = th x j1 , hệ thức (Hh) a ij2 Thế hệ thức (nếu có thể) vào phương trình hệ vào hệ thức (Tt-1), (Hh) (Pp) với t, h p Bước (A) Nếu a đặt x j2 := th , h := h + quay lại Bước (B) Nếu a = ta nhận giá trị x j1 từ phương trình (i), biểu thức (Pp) Footer Page 38 of 133 38 Thang Long University Library Header Page 39 of 133 Thế hệ thức (nếu có thể) vào phương trình khác hệ vào hệ thức (Tt-1), (Hh) (Pp) với t, h p Loại phương trình (i) khỏi hệ Đặt h := h + 1, p := p + quay lại Bước Để chứng minh tính đắn thuật toán ta cần bổ đề sau Bổ đề 3.1 Xét Bước thuật toán Đặt M = {|r| : a ij1 r (mod a ij2 ), < |r| < a ij2 , i, j1, j2 = 1, 2, 3, } Khi đó, M Chứng minh Rõ ràng, M hữu hạn M ℕ* Khi M có cực tiểu M Giả sử phản chứng: M = Khi đó, a ij1 (mod a ij2 ), i, j1, j2 Từ suy a ij2 (mod a ij1 ), i, j1, j2 Nghĩa | a ij1 | = | a ij2 |, i, j1, j2 Xét số i0 tùy ý cố định Rõ ràng ( a i01 , , a i0n ) = a i0 j 0, j (vì thuật toán chạy qua bước 2(B) 2(C)) Do thuật toán qua Bước | a i0 j | 1, j, trước thuật toán qua bước 2(A) nên kết | a i0 j | = 1, j Mâu thuẫn cho thấy giả thiết phản chứng sai Bổ đề 3.2 Xét a i0 j1 r (mod a ij2 ) Thế j r x j2 = th x j1 a i0 j2 vào hệ (A) ta nhận hệ (B) Khi xj = x 0j , j = 1, , n nghiệm nguyên riêng (A) xj = x 0j , j j2 th = x 0j2 a i0 j1 r a i0 j2 nghiệm nguyên riêng (B) Bổ đề 3.3 Giả sử a1 a2 nhận Bước Khi đó, < a2 < a1 Chứng minh Chỉ cần chứng tỏ a1 < |aij|, i, j Giả sử a i0 j0 có tính chất | a i0 j0 | a1 Do a1 | a i0 jm | = {| a i0 j |} Giả sử a i0 js với | a i0 js | > | a i0 jm | Có phần Footer Page 39 of 133 39 Header Page 40 of 133 tử | a i0 jm | hệ số nhỏ trị tuyệt đối | a i0 j |, j = 1, , n, Ngoài hệ số a i0 jm ta chọn a i ˆj với a i ˆj k a i0 jm 0 Xét q0 = [ a i ˆj / a i0 jm ] ℤ r0 = a i ˆj - q0 a i0 jm ℤ Ta có a i ˆj r0 (mod a i0 jm ) 0 < |r0| < | a i0 jm | < | a i0 j0 | a1 Như ta r0 với |r0| < a1, mâu thuẫn với định nghĩa a1 Vậy a1 < |aij|, i, j Bổ đề 3.4 Thuật toán nêu hữu hạn Chứng minh Mục tiêu thuật toán chuyển hệ m phương trình n ẩn số hệ m1 phương trình n1 ẩn số với m1 < m, n1 < n Như cuối đưa tới phương trình tuyến tính với n - r + ẩn số, r = rank A Phương trình giải thuật toán Nghiệm nguyên tổng quát hệ phụ thuộc n - tham số nguyên độc lập tuyến tính Việc rút gọn hệ phương trình thực Bước 2, 7(B), Các bước giảm phương trình hệ, với điều kiện định Quan trọng tìm nghiệm hệ Bước 7(B), bước giảm phương trình hệ Do số phương trình hữu hạn nên ta tới tìm nghiệm nguyên phương trình Ta cần việc chuyển từ hệ mini tới hệ mi+1ni+1 thực khoảng thời gian hữu hạn: Bước phép thay biến thường xuyên tiến hành a = Định lý 3.4 Thuật toán nêu cho nghiệm nguyên tổng quát hệ phương trình tuyến tính Chứng minh Theo Bổ đề 3.4, thuật toán hữu hạn Các bước rõ ràng có mục đích đơn giản hóa tính toán đến mức tối đa Bước kiểm tra điều kiện dừng thuật toán Việc thay tham số k1, k2, mang tính hệ thống hóa thẩm mỹ Các biến t, h, p biến đếm (kể từ Bước 1) dùng để đếm hệ thức dạng T, H, P (đánh số theo yêu cầu phép thể bước và 7(B)), h đếm biến phụ đưa vào thời điểm phân nhỏ hệ Phép từ bước không ảnh hưởng tới nghiệm nguyên tổng quát hệ (theo Bổ Footer Page 40 of 133 40 Thang Long University Library Header Page 41 of 133 đề 3.2) Bổ đề 3.1 cho thấy bước tìm a M ℕ* Thuật toán thực biến đổi hệ mini thành hệ tương đương mi+1ni+1 có nghiệm nguyên tổng quát (Bổ đề 3.2) Ví dụ 3.2 Tìm nghiệm nguyên hệ phương trình: 12x 7y + 9z = 12, 5y + 8z + 10w = 0, 15x + 21z + 69w = Giải Ta áp dụng thuật toán II (Ta có chủ đích chọn ví dụ qua bước thuật toán) Đặt t = 1, h = p =1 (A) Phương trình thứ tư trở thành 5x + 7z + 23w = (B) (C) Không Chuyển sang Bước 5 a = 2, i = 1, j1 = 2, j2 = r = z = t1 + y, hệ thức (H1) Thay hệ thức vào hệ ban đầu ta 12x + 2y + 9t1 = 12, 3y + 8t1 + 10w = 0, 5x + 7y + 7t1 + 23w = a 1, đặt z = t1, h := quay lại Bước 2 Không Chuyển sang Bước 5 a = 1, i = 2, j1 = 4, j2 = r = y = t2 3w, hệ thức (H2) Thế vào hệ trước ta Footer Page 41 of 133 41 Header Page 42 of 133 12x + 2t2 + 9t1 6w = 12, 3t2 + 8t1 + w = 0, 5x + 7t2 + 7t1 + 2w = Thế vào hệ thức (H1) ta z = t1 + t2 3w, hệ thức (H1)' w = 3t2 8t1, hệ thức (P1) Thệ (P1) vào hệ ta 12x + 20t2 + 57t1 = 12, 5x + t2 9t1 = Thế tiếp vào hệ thức khác ta z = 10t2 + 25t1, hệ thức (H1)" y = 10t2 + 24t1, hệ thức (H2)' h := 3, p := quay lại Bước 4 Còn biến x, t1, t2 t2 = 5x + 9t1, hệ thức (T1) Thế hệ thức (vào nơi có thể) ta 112x + 237t1 = (hệ mới) z = 10 50x + 115t1, hệ thức (H1)"' y = 10 50x + 114t1, hệ thức (H2)" w = + 15x 35t1, hệ thức (P1)' Đặt t := chuyển sang Bước 4 Hệ biến x t1 Quay lại Bước 2 Không Chuyển sang Bước 5 a = 13 (one three), i = 1, j1 = 2, j2 = r = 13 x = t3 + 2t1, hệ thức (H3) Sau thay ta nhận được: Footer Page 42 of 133 42 Thang Long University Library Header Page 43 of 133 112t3 + 13t1 = (hệ mới) z = 10 50t3 + 15t1, hệ thức (H1)iv y = 10 50t3 + 14t1, hệ thức (H2)"' w = + 15t3 35t1, hệ thức (P1)" t2 = 5t3 t1, hệ thức (T1)' Đặt x := t3, h := quay lại Bước 2 Không Chuyển sang Bước 5 a = 13, i = 1, j1 = 1, j2 = r = t1 = t4 + 9t3, hệ thức (H4) Sau thay ta nhận được: 5t3 + 13t4 = (hệ phương trình) z = 10 + 85t3 + 15t4, hệ thức (H1)v y = 10 + 76t3 + 14t4, hệ thức (H2)iv x= 19t3 + 2t4, hệ thức (H3)' w = 30t3 5t4, hệ thức (P1)"' t2 = 14t3 t4, hệ thức (T1)" Đặt t1 := t4, h := quay lại Bước 2 Không Chuyển sang Bước 5 a = 2, i = 1, j1 = 2, j2 = r = - t3 = t5 3t4, hệ thức (H5) Sau thay ta nhận được: 5t5 2t4 = (hệ phương trình) z = 10 + 85t5 240t4, hệ thức (H1)vi y = 10 + 76t5 214t4, hệ thức (H2)v x= Footer Page 43 of 133 19t5 55t4, hệ thức (H3)" 43 Header Page 44 of 133 w = 30t5 85t4, hệ thức (P1)iv t2 = 14t5 41t4, hệ thức (T1)"' t1 = 9t5 + 26t4, hệ thức (H4)' Đặt t3 := t6, h := quay lại Bước 2 Không Chuyển sang Bước 5 a = 1, i = 1, j1 = 2, j2 = r = t4 = t6 + 2t5, hệ thức (H5) Sau thay ta nhận được: t5 2t6 = (hệ phương trình) z = 10 395t5 240t6, hệ thức (H1)vii y = 10 392t5 214t6, hệ thức (H2)vi x= 91t5 55t6, hệ thức (H3)"' w = 3 140t5 85t6, hệ thức (P1)v t2 = + 68t5 41t6, hệ thức (T1)iv t1 = 43t5 26t6, hệ thức (H4)" t3 = 5t5 3t6, hệ thức (H5) Phương trình có hệ số biến 1, suy t5 = 2t6 hệ thức (P2) Thế hệ thức vào hệ phương trình ta nhận = Thế tiếp vào hệ thức lại cho ta z = 240t6 + 3170, y = 918t6 + 2826, x = 237t6 + 728, w= 365t6 1123, t2 = 177t6 543, t1 = 112t6 + 344, (các hệ thức không quan trọng) t3 = 13t6 + 40, t4 = 5t6, 16 Footer Page 44 of 133 44 Thang Long University Library Header Page 45 of 133 Đặt h := 7, p := quay lại Bước với t6 ℤ Phương trình hết biến Vậy nghiệm nguyên tổng quát hệ ban đầu là: x = - 237k1 + 728, y = - 918k1 + 2826, z = 1030k1 + 3170, w = 365k1 - 1123, k1 tham số nguyên Dừng thuật toán 3.4 NGHIỆM NGUYÊN DƯƠNG CỦA HỆ ĐI-Ô-PHĂNG Trong nhiều toán thực tế người ta cần tìm nghiệm nguyên dương (chứ không đơn nghiệm nguyên) hệ phương trình Đi-ô-phăng tuyến tính Ax = b, A ∈ ℝm×n ma trận nguyên rank (A) = m, b ∈ ℝm véctơ nguyên Trong toán thế, dùng thuật toán trình bày để tìm nghiệm nguyên dương hệ phương trình cần giải Sau số ví dụ áp dụng thuật toán Ví dụ 3.3 (Bài toán cổ "Trăm trâu, trăm bó cỏ") Tổng đàn trâu có 100 con, gồm ba loại: trâu đứng, trâu nằm trâu già Đàn trâu ăn hết 100 bó cỏ Cho biết: trâu đứng ăn 5, trâu nằm ăn 3, lụ khụ trâu già bó Hỏi loại có trâu? Giải Gọi số trâu đứng x1, số trâu nằm x2 số trâu già x3 Theo đầu ta có hệ phương trình ẩn số: x1 + x2 + x3 = 100, 5x1 + 3x2 + x3/3 = 100 Vì số trâu phải số nguyên dương nên ta cần tìm nghiệm nguyên dương hệ phương trình Ta đưa hệ dạng có hệ số nguyên, cách nhân hai vế phương trình sau với ta nhận hệ tương đương: Footer Page 45 of 133 45 Header Page 46 of 133 x1 + x2 + x3 = 100, 15x1 + 9x2 + x3 = 300 Dùng thuật toán thay thế, ta nhận nghiêm nguyên hệ x1 = - 100 + 4k, x2 = 200 - 7k, x3 = 3k với k ∈ ℤ Muốn có nghiệm nguyên dương, ta cần tìm k ∈ ℤ thỏa mãn x1 = - 100 + 4k > ⇔ k > 25, x2 = 200 - 7k > ⇔ k < 200/7 ⇒ k ≤ 28, x3 = 3k > ⇔ k > Có giá trị k thỏa mãn điều kiện này: k = 26, k = 27 k = 28 • Với k = 26 ⇒ x1 = trâu đứng, x2 = 18 trâu năm, x3 = 78 trâu già • Với k = 27 ⇒ x1 = trâu đứng, x2 = 11 trâu nằm, x3 = 81 trâu già • Với k = 28 ⇒ x1 = 12 trâu đứng, x2 = trâu nằm, x3 = 84 trâu già Kiểm tra lại cho thấy nghiệm thỏa mãn điều kiện toán Ví dụ 3.4 (Bài toán dân gian "Trăm bánh, trăm người ăn") Trong lễ hội, có 100 bánh dành cho 100 người ăn Đàn ông ăn 3, đàn bà ăn 2, lai dai hai trẻ ăn Hỏi có đàn ông, đàn bà trẻ tham dự? Giải Gọi x1 số đàn ông, x2 số đàn bà x3 số trẻ Theo đầu ta có phương trình ẩn số: x1 + x2 + x3 = 100, (1) 6x1 + 4x2 + x3 = 200 (2) Giải theo thuật toán sử dụng phép dồng dư, kết ta nhận nghiệm nguyên tổng quát hệ là: x1 = - 100 + 3k, x2 = 200 - 5k, x3 = 2k, k ∈ ℤ Có giá trị nguyên k cho nghiệm nguyên dương: 34 ≤ k ≤ 39 Các nghiệm nguyên dương toán ghi bảng sau: Footer Page 46 of 133 46 Thang Long University Library Header Page 47 of 133 k x1: đàn ông x2 : đàn bà x3 : trẻ 34 30 68 35 25 70 36 20 72 37 11 15 74 38 14 10 76 39 17 78 Kiểm tra lại cho thấy nghiệm thỏa mãn điều kiện toán Tóm lại chương trình bày điều kiện cần đủ để hệ phương trình tuyến tính có nghiệm nguyên giới thiệu thuật toán thay thuật toán đồng dư đề xuất [2], để tìm nghiệm nguyên hệ phương trình tuyến tính với hệ số nguyên (hệ phương trình Đi-ô-phăng tuyến tính), kèm theo chứng minh tính đắn thuật toán ví dụ minh họa Cuối chương đề cập tới toán tìm nghiệm nguyên dương hệ phương trình Đi-ô-phăng tuyến tính Footer Page 47 of 133 47 Header Page 48 of 133 KẾT LUẬN Luận văn tìm hiểu trình bày số thuật toán biết đến để tìm nghiệm nguyên phương trình hệ phương trình tuyến tính với hệ số nguyên (phương trình hệ phương trình Đi-ô-phăng tuyến tính) Nội dung luận văn đề cập tới nội dung cụ thể sau đây: Một số khái niệm lý thuyết số như: ước số phần dư phép chia hai số nguyên, số nguyên tố hợp số, ước chung lớn hai hay nhiều số nguyên, thuật toán Ơ-clít tìm ước chung lớn Khái niệm đồng dư toán tìm nghiệm nguyên phương trình Đi-ô-phăng tuyến tính hai hay nhiều biến số, điều kiện tồn nghiệm nguyên phương trình Nghiệm nguyên riêng nghiệm nguyên tổng quát phương trình tuyến tính với hệ số nguyên hai hay nhiều biến số Hai thuật toán tìm nghiệm nguyên riêng nghiệm nguyên tổng quát phương trình tuyến tính chứng minh tính đắn thuật toán giải, với ví dụ số minh họa cho thuật toán Bài toán tìm nghiệm nguyên hệ phương trình tuyến tính với hệ số nguyên hai thuật toán giải hệ phương trình tuyến tính, chứng minh tính đắn thuật toán giải, với ứng dụng toán xét Tìm nghiệm nguyên dương hệ phương trình tuyến tính với hệ số nguyên Footer Page 48 of 133 48 Thang Long University Library Header Page 49 of 133 TÀI LIỆU THAM KHẢO [1] Adamchik V (2005), "Integer Divisibility", 21-127: Concepts of Mathematics, Lecture [2] Smarandache F (1995), "Integer Algorithms to Solve Diophantine Linear Equations and Systems", in the book “Collected Papers”, Vol 1, by F Smarandache, , Bucharest, pp 99-177, 1995 [3] Davis T (2006), "Introduction to Diophantine Equations", tomrdavis@earthlink.net: http://www.geometer.org/mathcircles, Sept 7, 2006 [4] A Schrijver A (1986), Theory of Linear and Integer Programming John Wiley & Son, New York Footer Page 49 of 133 49 ... Chương GIẢI PHƯƠNG TRÌNH TUYẾN TÍNH HỆ SỐ NGUYÊN Chương đề cập tới khái niệm nghiệm nguyên riêng nghiệm nguyên tổng quát phương trình tuyến tính với hệ số nguyên hai hay nhiều biến số Tiếp trình bày... Ơ-clit tìm nghiệm nguyên riêng nghiệm nguyên tổng quát phương trình tuyến tính với hệ số nguyên hai hay nhiều biến số Tiếp trình bày hai thuật toán khác tìm nghiệm nguyên tổng quát phương trình. .. DƯ Mục trình bày thuật toán khác tìm nghiệm nguyên phương trình tuyến tính với hệ số nguyên, dựa phép tính đồng dư Chứng minh tính đắn thuật toán nêu ví dụ minh họa Xét phương trình tuyến tính: