phân hoạch các tập số nguyên dương thành hai tập có tổng các phần tử bằng nhau phân hoạch các tập số nguyên dương thành hai tập có tổng các phần tử bằng nhau phân hoạch các tập số nguyên dương thành hai tập có tổng các phần tử bằng nhau phân hoạch các tập số nguyên dương thành hai tập có tổng các phần tử bằng nhau phân hoạch các tập số nguyên dương thành hai tập có tổng các phần tử bằng nhau
Trang 1VỀ PHÂN HOẠCH TẬP CÁC SỐ NGUYÊN DƯƠNG THÀNH HAI TẬP
CÓ TỔNG CÁC PHẦN TỬ BẰNG NHAU.
Nguyễn Hải Đăng – Nguyễn Thành Khang – Nguyễn Văn Lợi
Trong bài báo này, ta chỉ ra được rằng chỉ cần thỏa mãn một số điều kiện biểu diễn đơn giản, chúng
ta có thể xây dựng một cầu trung chuyển giữa thuật toán xếp ba lô và thuât toán tham ăn Do đó một loạt các kết quả về việc phân hoạch các tập số nguyên dương thành hai tập có tổng các phần tử bằng nhau đã được chứng minh trọn vẹn
Bắt đầu từ những năm 1990, các nghiên cứu các bài toán tối ưu của toán học rời rạc bắt đầu phát triển Trong việc phân bổ các tập hợp con theo những điều
kiện cho trước, rất nhiều lần thuật toán xếp ba lô và thuật toán tham ăn được sử dụng Bài toán xếp ba lô được phát biểu như sau: tìm cách chọn các đồ vật để xếp vào hai chiếc ba lô làm sao các ba lô chứa được nhiều đồ nhất Thuật toán
xếp ba lô dùng để giải bài toán trên có thể được diễn giải như sau: Đầu tiên ta
sắp xếp đồ vật theo thứ tự giảm dần về khối lượng Sau đó lần lượt chúng ta xếp vào mỗi ba lô một vật Sau mỗi lần xếp, người ta lại kiểm tra xem ba lô nào còn nhiều chỗ hơn, thì sẽ được ưu tiên xếp trước Cứ tiếp tục quá trình như vậy ta sẽ
nhận được một cách sắp xếp tối ưu Về thuật toán tham ăn, nội dung của nó là:
ta cứ xếp vào các ba lô cho đến khi không còn bỏ thêm được nữa, sau đó mới bắt đầu thay đổi vị trí các đồ vật từ ba lô này sang ba lô kia, để hợp lý hóa công việc sắp xếp Trong bài báo này, chúng tôi sử dụng một phương pháp trung gian lưu chuyển giữa hai thuật toán này Trước khi sắp xếp chúng ta lựa chọn ra những đồ vật nhỏ nhất thành một tập hợp K, với mục đích: khi đã “tham ăn” tương đối đầy các ba lô, thì ta dùng tập các đồ vật nhỏ từ K, để tiếp tục chèn vào những lỗ hổng, cho đến khi đầy chặt ba lô Một tập hợp các vật nhỏ như vậy
được gọi là biểu diễn được đến k, nếu các vật nặng từ 1 (nhỏ) đến k (đủ nặng)
đều có thể biểu diễn được bằng tổng các đồ vật lấy từ tập K
I. Mở đầu.
Trước tiên, chúng ta sẽ làm quen với khái niệm về đơn tập hợp và đa tập hợp
Một tập A được gọi là đơn tập hợp nếu mỗi phần tử trong A là đôi một phân
biệt Khái niệm tập hợp được sử dụng trong chương trình toán phổ thông chính
là đơn tập hợp Một tập A được gọi là đa tập hợp nếu mỗi phần tử trong A được
phép xuất hiện nhiều hơn một lần
Ví dụ: là một đơn tập hợp, là một đa tập hợp
Trong phạm vi bài viết này, các tập hợp được xét đều là các đa tập hợp và chúng
ta chỉ làm việc với đa tập hợp hữu hạn các số nguyên dương Một kết quả quen thuộc được sử dụng nhiều trong quá trình chứng minh
Trang 2BỔ ĐỀ 1.1 Từ n số nguyên cho trước, luôn chọn được một vài số để tổng của
chúng chia hết cho n
ĐỊNH LÝ 1.2 (Định lý EGZ) Từ số nguyên cho trước, luôn chọn được n số
sao cho tổng của chúng chia hết cho n.
Định lý EGZ (Erdős Pál, Abraham Ginzburg, Abraham Ziv) đã được chứng minh năm 1961
BỔ ĐỀ 1.3 Với số nguyên dương bất kì, mà không tồn tại một vài số nào, để
tổng của chúng chia hết cho n, thì số đó sẽ có cùng số dư khi chia cho n.
Chứng minh: Gọi số đó là: Giả sử phản chứng rằng tồn tại 2 số không có cùng
số dư khi chia cho n, không mất tính tổng quát, giả sử là
Đặt: với
Xét n số , ta thấy không có số nào trong n số đó chia hết cho n
Suy ra tồn tại 2 số có cùng số dư khi chia cho n (ta đã có: (mod n)) Lấy hiệu 2
số này sẽ nhận được một số số có tổng chia hết cho n Vô lý
Vậy số đã cho sẽ có cùng số dư khi chia cho n
Một vấn đề được đặt ra là: Cho một tập hợp A có k phần tử là các số nguyên dương không lớn hơn N và tổng của các số này bằng 2N
Bài toán lớn: Tồn tại hay không giá trị K nhỏ nhất để với mọi k ≥ K, tập A luôn có thể phân hoạch thành 2 tập con có tổng các phần từ mỗi tập bằng N.
Trong các chứng minh dưới đây ta sẽ thống nhất sử dụng các ký hiệu sau:
Tập với
Ta ký hiệu tập A thỏa mãn các điều kiện trên là
Ký hiệu: là số nguyên dương bé nhất không nhỏ hơn x.
Ví dụ:
Định lý sau sẽ cho một chặn trên của của số K, và trong trường hợp N lẻ thì giá trị cũng là giá trị nhỏ nhất cần tìm
ĐỊNH LÝ 1.4 Với số nguyên dương không lớn hơn N, có tổng là 2N, luôn
phân hoạch được thành hai tập con, mỗi tập có tổng là N.
Chứng minh Từ số đã cho lấy N số bất kì, khi đó theo Bổ đề 1.1 ta có thể chọn
từ N số này một vài số có tổng chia hết cho N Tổng này nhỏ hơn 2N và dương
vì vậy chỉ có thể là N Phần bù của tập nêu trên cũng sẽ có tổng là N
Trang 3Ghi chú: Nếu N lẻ, và số phần tử k=N, xét tập Tổng các số của A bằng 2N,
nhưng vì tất cả các phần tử của A là chẵn, nên A không thể phân hoạch thành hai tập con có tổng bằng N (là số lẻ) Điều này cũng chứng tỏ là giá trị cần tìm khi N là số lẻ
Trường hợp N là số chẵn, tình hình phức tạp hơn hẳn Ta có thể bắt đầu từ những trường hợp N nhỏ
• Với N=2, dễ thấy K=2
• Với N=4, ta chứng minh K=4
Xét tập , nhận thấy không tồn tại tập con nào của A có tổng các phần tử của A bằng 4, từ đó suy ra được
Xét 4 số với Ta sẽ chứng minh: tồn tại một số số có tổng bằng 4
Nếu , xong
Nếu
Nếu , xong
Vậy với N=4 thì K=4
Dưới đây, ta sẽ xét cho trường hợp chẵn và
MỆNH ĐỀ 1.5 Với N=2n và A là tập hợp 2n-1 số nguyên dương không lớn
hơn N và có tổng là 2N, thì A luôn có thể phân hoạch được thành hai tập con, mỗi tập có tổng các phần tử là N
Chứng minh Theo định lý EGZ, tồn tại n số thuộc A và có tổng chia hết cho n.
Tổng các số này chỉ có thể đạt giá trị là n hoặc 2n hoặc 3n
Nếu tổng các số này bằng 2n=N thì ta đã phân hoạch được A thành 2 tập con có tổng các phần từ bằng N
Ta chỉ cần xét các trường hợp còn lại
Gọi n số có tổng chia hết cho n đó là: và n-1 số còn lại trong A là
Đặt và
*) Trường hợp 1: a=n và b=3n Khi đó ta có
Vì b=3n nên
• Nếu thì ta có thể chọn và một số số 1 để được các số có tổng bằng N
• Nếu thì sẽ có tổng các phần tử bằng n
Xét n số Theo Bổ đề 1.1, ta sẽ chọn được tập C gồm một số số có tổng chia hết cho n Nhận thấy, tổng các phần tử của C bằng n hoặc 2n
Nếu tổng các phần tử của C là 2n, ta phân hoạch A thành C và A\C, mỗi tập con đều có tổng các phần tử bằng N
Nếu tổng các phần tử của C là n, ta phân hoạch A thành và A\D, mỗi tập con đều có tổng các phần tử bằng N
*) Trường hợp 2: a=3n và b=n Khi đó, và Xét số bất kỳ trong n số
• Nếu chọn được một số số trong đó có tổng chia hết cho n, thì tổng các số được chọn sẽ bằng n hoặc bằng 2n
Trang 4 Nếu tổng các số được chọn bằng 2n, thì tập các số đó tạo thành một tập con của A có tổng các phần tử là 2n=N
Nếu tổng các số được chọn bằng n, thì tập các số đó cùng với tập sẽ hợp thành một tập con của A có tổng các phần tử là 2n=N
• Nếu trong số bất kỳ, không chọn được một số số nào có tổng chia hết cho n, thì theo Bổ đề 1.3, số đó sẽ có cùng số dư khi chia cho n Chọn bộ số khác, bằng cách lập luận tương tự, ta nhận được (mod n) với mọi
Nếu (mod n) với mọi thì và Khi đó tập sẽ có tổng các phần tử bằng 2n=N
Nếu (mod n) với mọi thì và Khi đó tập sẽ có tổng các phần tử bằng 2n=N
Nếu (mod n) với mọi thì Khi đó dễ dàng chọn được tập con của A có tổng các phần tử bằng 2n=N
Để ý rằng trong quá trình chứng minh MỆNH ĐỀ 1.5, ta đã sử dụng thuật toán
ăn tham Từ MỆNH ĐỀ 1.5, ta có thể suy ra giá trị K cần tìm sẽ thỏa mãn trong trường hợp N chẵn, tuy nhiên việc đi tìm giá trị của K vẫn còn rất nhiều khó khăn
Dưới đây ta sẽ chỉ ra một số chặn dưới của K
Một số ví dụ:
• Với thì
Phản ví dụ với , chọn tập Khi đó mọi phân hoạch của tập A sẽ cho ta một tập con có tổng các phần tử chia hết cho 3 và tập con còn lại có tổng các phần tử chia cho 3 dư 1
Điều này chứng tỏ
• Với thì
Phản ví dụ với , chọn tập Khi đó mọi phân hoạch của tập A sẽ cho ta một tập con có tổng các phần tử chia hết cho 3 và tập con còn lại có tổng các phần tử chia cho 3 dư 2
Điều này chứng tỏ
• Với thì
Phản ví dụ với , chọn tập Khi đó không tồn tại tập con nào của A có tổng các phần tử bằng
Điều này chứng tỏ
Để tiếp tục nghiên cứu các khả năng phân hoạch của 2N, chúng ta phải đi sâu hơn nữa vào sự có mặt của các phần tử tạo thành của tập A
II Cấu trúc của các tập số và khả năng phân hoạch chia đôi (công cụ biểu diễn hoàn chỉnh).
Trang 5Trong phần này chúng ta sẽ xây dựng một lý thuyết nhỏ để làm cầu nối giữa hai
hai thuật toán: Thuật toán xếp ba lô và thuật toán ăn tham Bí quyết của thuật
toán này là việc xem xét giá trị của các phần tử nhỏ nhất của A, qua đó kết hợp 2 thuật toán trên để giải quyết bài toán
Tập A các số nguyên dương gọi là biểu diễn được đến s nếu với mọi số nguyên
dương t không vượt quá s thì tồn tại tập con của A có tổng các phần tử bằng t
Tập A được gọi là hoàn chỉnh nếu a là tổng các phần tử của A, thì A biểu diễn
được đến a
BỔ ĐỀ 2.1 Cho A là tập k số nguyên dương không vượt quá N thỏa mãn tập A
biểu diễn được đến N Khi đó A sẽ là tập hoàn chỉnh.
Chứng minh: Giả sử và
Ta sẽ chứng minh bổ đề bằng quy nạp theo N
Với N=1, suy ra Khi đó dễ thấy A là tập hoàn chỉnh
Giả sử bổ đề đúng với N, ta chứng minh bổ đề đúng với N+1
Xét là tập gồm k số nguyên dương không vượt quá N+1
Nếu trong A không có số nào bằng N+1, thì theo giả thiết quy nạp, A sẽ là tập hoàn chỉnh
Nếu trong A có một số số bằng N+1
Giả sử
Đặt
Nhận thấy khi biểu diễn một số nguyên dương thành tổng của một số số trong A thì sẽ không có số nào bằng xuất hiện trong tổng đó, nên suy ra tập là tập số nguyên dương không vượt quá N, và biểu diễn được đến N
Xét số nguyên dương s bất kỳ, với
Với , theo giả thiết quy nạp, biểu diễn được thành tổng của một số số trong B Với Khi đó sẽ tồn tại sao cho: , với
Dễ thấy , vì ngược lại
Trang 6Ta có biểu diễn được thành tổng của một số số trong , khi đó ta chỉ cần bổ sung thêm vào đó số sẽ được một số số trong có tổng bằng
Vậy A là tập hoàn chỉnh với mọi
Từ bổ đề 2.1 ta dễ dàng chứng minh được mệnh đề sau:
MỆNH ĐỀ 2.2: Nếu A và B là hai tập hoàn chỉnh thì cũng là tập hoàn chỉnh.
Nhận thấy: tồn tại ít nhất một tập con hoàn chỉnh của A
Gọi H là hợp của tất cả các tập con hoàn chỉnh của A Khi đó theo mệnh đề 2.2,
H cũng là một tập con hoàn chỉnh của A Đồng thời H là tập con hoàn chỉnh có
số phần tử lớn nhất của A Từ đó, ta có kết quả sau:
MỆNH ĐỀ 2.3 Cho A là tập các số nguyên dương và Khi đó, tồn tại duy nhất
một tập con hoàn chỉnh của A có số phần tử lớn nhất Gọi tập hoàn chỉnh này là
H và h là tổng các phần tử của H Nếu tất cả các phần tử của A đều không vượt quá h thì H=A Nếu và thì
Chứng minh: Vi nếu a=h+1 thi H U {a} hoàn chỉnh, trái với tính lớn nhất của
H
MỆNH ĐỀ 2.4 Nếu tập với thì A có ít nhất 3 phần tử có giá trị nhỏ hơn 4
Chứng minh: Giả sử phản chứng rằng có ít nhất phần tử của A không bé hơn 4.
Khi đó ta có: , vô lý
Vậy có ít nhất 3 phần tử của A có giá trị nhỏ hơn 4
Vì là 3 phần tử bé nhất của A, khi đó:
ĐỊNH LÝ 2.5 Cho với và Gọi H là tập con hoàn chỉnh có số phần tử lớn
nhất của A Nếu H biểu diễn được đến 3 thì tập A phân hoạch được thành 2 tập
có tổng các phần tử bằng N.
Chứng minh: Với , thì theo mệnh đề 2.2, suy ra H=A, từ đó có thể phân hoạch tập A thành 2 tập con có tổng các phần tử bằng N
Ta xét trường hợp
Gọi S là tổng các phần tử của H và
Khi đó, theo mệnh đề 2.3, ta có: và
Trang 7Gọi q là số phần tử của H, khi đó ta có: và
Ta có:
Ta có:
, với
Kết hợp với , ta suy ra được
Khi đó ta có:
Nếu , vô lý
Vậy suy ra
Với và
Ta có:
Mà H là tập con hoàn chỉnh của A nên sẽ có tập con của H có tổng các phần tử
là Khi đó sẽ là tập con của A có tổng các phần tử bằng N
Vậy ta có thể phân hoạch được A thành 2 tập con có tổng các phần tử bằng nhau
Nếu , kết hợp với mệnh đề 2.3 thì ta có
Trang 8
ĐỊNH LÝ 2.6 Cho với ; và thì A có thể phân hoạch được thành 2 tập con có
tổng các phần tử là N.
Nhận thấy: trong định lý 2.6 thì với tập mà ; và và A biểu diễn được đến 3, thì
A có thể phân hoạch được thành 2 tập con có tổng các phần tử là N
Ta sẽ tiến hành xem xét khả năng phân hoạch tập A thành 2 tập con có tổng các phần tử bằng N khi
MỆNH ĐỀ 2.7 Cho tập với và , khi đó 2 số bất kỳ của A có tổng không vượt
quá N.
Chứng minh: Ta chỉ cần chứng minh:
Thật vậy ta có:
Từ đó suy ra:
ĐỊNH LÝ 2.8 Cho tập với ; N chẵn và Khi đó ta có thể phân hoạch tập A
thành 2 tập con có tổng bằng N.
Chứng minh: Thực hiện phân hoạch , trong đó là tập tất cả các số chẵn của A và
là tập tất cả các số lẻ của A
Khi đó ta có: và là số chẵn Đặt
Tập được xác định như sau: với và với
Nếu , vô lý
Vậy , và vì thế
Từ đó suy ra 3 phần tử bé nhất của B sẽ là (1;1;1) hoặc (1;1;2) hoặc (1;1;3) Nhận thấy tổng các phần tử của B bằng N và theo mệnh đề 2.7 thì mọi phần tử của B đều không vượt quá
Để áp dụng định lý 2.6 cho tập B, ta cần chứng minh:
Ta có:
nếu N chia hêt cho 4 thì : u+t
Trang 9
nếu n không chia hêt cho 4 thi = ( vi N chẵn) khi đó :
vi u+t nguyên, nên
Vậy áp dụng định lý 2.6 cho tập với thì B có thể phân hoạch thành 2 tập con có tổng các phần tử bằng
Từ đó A cũng sẽ phân hoạch được thành 2 tập con có tổng các phần tử bằng N
Kết hợp các kết quả của các định lý 2.4, 2.5, 2.6 và 2.8 ta có định lý quan trọng sau:
ĐỊNH LÝ 2.9 Cho tập với ; N chẵn và Khi đó ta có thể phân hoạch tập A
thành 2 tập con có tổng bằng N.
III Áp dụng.
Trong phần này ta quay lại chứng minh những trường hợp tổng quát, không phụ thuộc cấu trúc phân bổ của tập hợp số, chi phụ thuộc vào 2N (tổng các số),
và K (có bao nhiêu số tham gia)
HỆ QUẢ 3.1 Cho tập A(2N;k) với và k=4m+3 Tập A(2N,k) có thể phân
hoạch được thành hai tập con có tổng các phần tử bằng nhau.
Chứng minh: Ta có:
Nếu , vô lý Từ đó suy ra:
Áp dụng định lý 2.9 thì A có thể phân hoạch được thành 2 tập con có tổng các phần tử bằng N
HỆ QUẢ 3.2 Cho tập A(2N;k) với N=6m+4 và k=4m+4 Tập A(2N,k) có thể
phân hoạch được thành hai tập con có tổng các phần tử bằng nhau.
Chứng minh: Ta có:
Nếu Từ đó suy ra: Khi đó ta có thể dễ dàng phân hoạch tập A thành 2 tập con
có tổng các phần tử bằng N
Ta xét trường hợp: Khi đó ta có:
Trang 10Áp dụng định lý 2.9 thì A có thể phân hoạch được thành 2 tập con có tổng các phần tử bằng N
HỆ QUẢ 3.3 Cho tập A(2N;k) với N=6m và k=3m+2 Tập A(2N,k) có thể phân
hoạch được thành hai tập con có tổng các phần tử bằng nhau.
Chứng minh Nếu , áp dụng định lý 2.9 thì A có thể phân hoạch được thành 2 tập
con có tổng các phần tử bằng N
Nếu ta sẽ chứng minh
Nếu , vô lý Từ đó suy ra:
Ta sẽ phân hoạch , trong đó là tập các số chia hết cho 3 của A và là tập các số không chia hết cho 3 của A
Khi đó ta có:
Ta tiến hành phân hoạch sao cho tổng các phần tử của chia hết cho 3 với mọi i
và t lớn nhất có thể Theo Bổ đề 1.1 thì trong 3 số nguyên bất kỳ sẽ tồn tại một
số số có tổng chia hết cho 3 nên , với Từ đó suy ra:
Giả sử tổng các phần tử của là , với
Tập được xác định như sau: với và với
Vì nên 3 phần tử bé nhất của B sẽ là (1;1;1)
Nhận thấy tổng các phần tử của B bằng 4m Ta sẽ chứng minh , với
Thật vậy, ta chỉ cần chứng minh
Khi đó
Ta có:
Suy ra:
Để áp dụng định lý 2.6 cho tập B, ta cần chứng minh:
Ta có:
Vậy áp dụng định lý 2.6 cho tập với thì B có thể phân hoạch thành 2 tập con có tổng các phần tử bằng
Từ đó A cũng sẽ phân hoạch được thành 2 tập con có tổng các phần tử bằng N