2.4 Cấu hình không thứ tự
2.4.2 Tập hợp kiểu DS
Bây giờ ta sẽ trình bày một số bài tốn về tập hợp thú vị theo quan điểm so sánh tổng của các phần tử của các tập con của chúng với các tập khác. Ta nói rằng tập hữu hạn X ⊆ N thuộc kiểu DS nếu tổng các phần tử của hai tập con khác nhau bất kỳ củaX khác nhau.
Bài 2.4.4. Chứng minh rằng với mỗi n ≥ 1 tồn tại tập n phần tử thuộc kiểu DS.
Giải.Tập các số nguyên{1, 10, 102, . . . , 10n−1}thuộc kiểu DS vì biểu diễn thập phân của tổng của một số các phần tử của nó chỉ chứa số 0 và 1, và các vị trí bị chiếm bởi số 1 xác định duy nhất các số được cộng lại. Tương tự, dựa vào biểu diễn nhị phân ta có thể đưa ra tập n phần tử
{1, 2, 22, . . . , 2n−1}là một ví dụ khác của tập thuộc kiểu DS.
Bài 2.4.5. Chứng minh rằng tập X = {220, 310, 401, 540, 604, 902}thuộc kiểu DS.
Giải.Ta viết các kí tự của các các sốx1,x2, . . . ,x6 ∈ Xdưới dạng bảng sao cho các hàng chứa các kí tự cùng vị trí (đơn vị, hàng chục, hàng trăm):
x1 x2 x3 x4 x5 x6
102 2 3 4 5 6 9
101 2 1 0 4 0 0
100 0 0 1 0 4 2
(2.9)
Ký hiệu S là tổng của các phần tử của tập con Y ⊂ X được chọn tùy ý. Từ bảng (2.9) ta thấy rằng kí tự cuối cùng của S nhiều nhất là 7; nếu ta viết 7 dưới biểu diễn nhị phân, ta xác định Y ∩ {x3,x5,x6}. Tương tự,
với hàng trục của S ta xác định Y∩ {x1,x2,x4}. Do đó tập Y được xác định nhất bởi tổng S.Điều này có nghĩa X thuộc kiểu DS.
Bài 2.4.6. Giả sử các số a1,a2, . . . ,am ∈ N được cho trước. Chứng minh rằng tồn tại tập X thuộc kiểu DS với ít hơn 2m phần tử sao cho trong số các tổng của các phần tử của tập con của nó xuất hiện mọi sốa1,a2, . . . ,am.
Giải.Cho trước các số a1,a2, . . . ,am, đầu tiên ta tìm một số nguyênk sao choai < 2k+1đúng với mọii = 1, 2, . . . ,m.Khi đó tậpX = {1, 2, 4, . . . , 2k}
thuộc kiểu DS có tính chất rằng trong những tổng các phần tử của các tập con của nó ta có thể tìm mọi số ngunx ∈ {1, 2, 3, . . . , 2k+1−1}, và nói riêng mọi số nguyên ai (1 ≤ i ≤ m). Ta viết chúng thành biểu diễn bất kỳ
ai = c(i)k ·2k+c(i)k−1·2k−1+· · ·+c(i)1 ·2+c(i)0 , (2.10) trong đó c(i)j ∈ {0, 1}, 0 ≤ j ≤ k, 1 ≤ i ≤ m. Nếu |X| = k+1 < 2m, thì chứng minh xong. Do đó trong phần tiếp theo ta đặt k +1 ≥ 2m. Ta tiến hành rút gọn số phần tử của tập X dựa theo kỹ thuật sau: Nếu
y1,y2, . . . ,ys là các phần tử phân biệt của tập Y thuộc kiểu DS, s > 1,
thì y1+y2+· · ·+ys ∈/ Y; nếu ta thay họ các phần tử y1,y2, . . . ,ys trong Y bằng số y1 +y2 +· · · +ys, một lần nữa ta thu được một tập thuộc kiểu DS. Do vậy ta cần phải trả lời câu hỏi: Họ nào của các phần tử
2j1, 2j2, . . . , 2js của tập X ta có thể thay bằng tổng của chúng sao cho các
số a1,a2, . . . ,am nằm trong tổng các phần tử của tập con? Chúng rõ ràng
là các họ2j1, 2j2, . . . , 2js sao cho c(i)j
1 = c(i)j
2 = · · · = c(i)js với mỗii = 1, 2, . . . ,m, (2.11) trong đóc(i)j là các kí tự trong biểu diễn (2.10). Điều kiện (2.11) được thỏa mãn khi và chỉ khi mọi dãy cj = c(1)j ,c(2)j , . . . ,c(m)j , j ∈ {j1,j2, . . . ,js}
giống nhau. Cho nên ta tiến hành rút gọn tập X như sau: Đầu tiên xóa các phần tử 2j khỏi X và cj = (0, 0, . . . , 0), vì chúng khơng ảnh hưởng
tổng a1,a2, . . . ,am. Sau đó ta chia các phần tử 2j còn lại của X thành các
lớp được xác định bởi quan hệ tương đương 2i ∼ 2j ⇔ ci = cj. Vì mỗi dãy cj có độ dài m và bao gồm các kí tự 0, 1, ta thu được nhiều nhất 2m −1 lớp. Tổng của các phần tử trong các lớp riêng biệt tạo thành một
tập thuộc kiểu DS với tính chất yêu cầu.