Math Labs

Lớp 6

Tập hợp và các phép toán

Tập hợp là một nhóm các đối tượng được xác định rõ ràng, mỗi đối tượng gọi là một phần tử; x∈Ax \in A nghĩa là xx thuộc AA. Một tập hợp là tập con của tập khác, A⊆BA \subseteq B, khi mọi phần tử của AA đều thuộc BB. Từ hai tập hợp ta tạo ra tập mới: hợp A∪BA \cup B (phần tử thuộc AA hoặc BB), giao A∩BA \cap B (phần tử thuộc cả hai), và hiệu A∖BA \setminus B (thuộc AA nhưng không thuộc BB). Các phép toán này tuân theo các quy luật giống đại số như luật phân phối A∩(B∪C)=(A∩B)∪(A∩C)A \cap (B \cup C) = (A \cap B) \cup (A \cap C), và việc đếm số phần tử của hợp tuân theo quy tắc bù trừ ∣A∪B∣=∣A∣+∣B∣−∣A∩B∣|A \cup B| = |A| + |B| - |A \cap B|, cả hai đều được chứng minh chặt chẽ ở đây và áp dụng vào dữ liệu khảo sát cùng bộ lọc công cụ tìm kiếm.

Trực giácNhững chiếc hộp chứa đồ vật: cái gì thuộc về đâu

Hãy tưởng tượng hai chiếc hộp đồ chơi chồng lấn nhau: hộp AA đựng các khối xếp hình, hộp BB đựng xe hơi. Một số món đồ chơi là "xe-khối" nên nằm trong cả hai hộp cùng lúc. Hỏi "x∈Ax \in A?" tức là hỏi một món đồ chơi cụ thể xx có nằm trong hộp AA hay không. Hỏi "A⊆BA \subseteq B?" tức là hỏi liệu mọi món đồ chơi trong hộp AA có nằm ở đâu đó trong hộp BB hay không. Gộp hai hộp thành một đống cho ta hợp A∪BA \cup B; chỉ giữ lại đồ chơi có trong cả hai hộp cho ta giao A∩BA \cap B; lấy hộp AA rồi bỏ đi những gì cũng có trong hộp BB cho ta hiệu A∖BA \setminus B. Biểu đồ Venn bên dưới thêm hộp thứ ba CC: các phần chồng nhau của các vòng tròn là giao, còn mọi thứ nằm trong ít nhất một vòng tròn là hợp.

Biểu đồ Venn gồm ba vòng tròn A, B, C chồng lên nhau, phía trên có công thức bao hàm – loại trừ cho số phần tử của hợp.
Biểu đồ Venn của ba tập hợp A,B,CA, B, C thể hiện hợp, các phần giao đôi một, và phần giao ba A∩B∩CA\cap B\cap C ở chính giữa.

Phổ thôngĐịnh nghĩa hình thức và bảng so sánh

Định nghĩa: Tập hợp, phần tử, tập con

Một tập hợp AA là một sưu tập các đối tượng phân biệt; mỗi đối tượng xx có x∈Ax \in A được gọi là một phần tử của AA. Tập AA là tập con của tập BB, viết A⊆BA \subseteq B, khi mọi phần tử của AA cũng là phần tử của BB; hai tập hợp bằng nhau đúng khi A⊆BA \subseteq B và B⊆AB \subseteq A cùng đúng.

A∪B={x:x∈A∨x∈B}A \cup B = \{x : x \in A \lor x \in B\}

Hợp A∪B={x:x∈A∨x∈B}A \cup B = \{x : x \in A \lor x \in B\} gom vào mọi phần tử miễn là nó thuộc ít nhất một trong hai tập. Ngược lại, giao chỉ giữ lại phần tử thuộc cả hai tập.

A∩B={x:x∈A∧x∈B}A \cap B = \{x : x \in A \land x \in B\}
Các phép toán tập hợp trên A={1,2,3}A=\{1,2,3\} và B={2,3,4}B=\{2,3,4\}
Phép toánĐịnh nghĩaKết quả
Hợp A∪BA \cup BA∪B={x:x∈A∨x∈B}A \cup B = \{x : x \in A \lor x \in B\}{1,2,3,4}\{1,2,3,4\}
Giao A∩BA \cap BA∩B={x:x∈A∧x∈B}A \cap B = \{x : x \in A \land x \in B\}{2,3}\{2,3\}
Hiệu A∖BA \setminus BA∖B={x:x∈A∧x∉B}A \setminus B = \{x : x \in A \land x \notin B\}{1}\{1\}
Tập con A⊆BA \subseteq Bmọi phần tử của AA đều thuộc BBsai (1∉B1 \notin B)

Đại họcHai định lý then chốt, kèm chứng minh đầy đủ

Với ba tập hợp AA, BB, CC bất kỳ: A∩(B∪C)=(A∩B)∪(A∩C)A \cap (B \cup C) = (A \cap B) \cup (A \cap C).

Vì sao đúng?

Giống như phép nhân phân phối trên phép cộng trong đại số thông thường, phép giao phân phối trên phép hợp trong đại số tập hợp. Điều này cho phép viết lại một bộ lọc như "thuộc danh mục AA, và (đang giảm giá BB hoặc hàng mới CC)" thành hai bộ lọc riêng lẻ dễ quản lý hơn rồi hợp lại, đúng như cách bộ lập kế hoạch truy vấn của cơ sở dữ liệu và công cụ tìm kiếm đơn giản hóa các bộ lọc logic.

Chứng minh

Ta chứng minh hai tập bằng nhau bằng cách chỉ ra cả hai bao hàm thức, dùng một phần tử tùy ý x0x_0 (kỹ thuật "đuổi phần tử").

(Chiều thuận, ⊆\subseteq) Giả sử x0∈A∩(B∪C)x_0 \in A \cap (B \cup C). Theo định nghĩa của giao, điều này nghĩa là x0∈Ax_0 \in A và x0∈B∪Cx_0 \in B \cup C. Theo định nghĩa của hợp, x0∈B∪Cx_0 \in B \cup C nghĩa là x0∈Bx_0 \in B hoặc x0∈Cx_0 \in C. Xét hai trường hợp riêng. Trường hợp 1: x0∈Bx_0 \in B. Kết hợp với x0∈Ax_0 \in A, ta có x0∈A∩Bx_0 \in A \cap B. Trường hợp 2: x0∈Cx_0 \in C. Kết hợp với x0∈Ax_0 \in A, ta có x0∈A∩Cx_0 \in A \cap C. Trong cả hai trường hợp, x0x_0 nằm trong x0∈A∩Bx_0 \in A \cap B hoặc trong x0∈A∩Cx_0 \in A \cap C, do đó x0∈(A∩B)∪(A∩C)x_0 \in (A \cap B) \cup (A \cap C).

(Chiều ngược, ⊇\supseteq) Giả sử x0∈(A∩B)∪(A∩C)x_0 \in (A \cap B) \cup (A \cap C). Theo định nghĩa của hợp, điều này nghĩa là x0∈A∩Bx_0 \in A \cap B hoặc x0∈A∩Cx_0 \in A \cap C. Nếu x0∈A∩Bx_0 \in A \cap B, thì x0∈Ax_0 \in A và x0∈Bx_0 \in B, do đó x0∈B∪Cx_0 \in B \cup C (vì x0x_0 thuộc BB nên thuộc BB hoặc CC), suy ra x0∈A∩(B∪C)x_0 \in A \cap (B \cup C). Nếu thay vào đó x0∈A∩Cx_0 \in A \cap C, thì x0∈Ax_0 \in A và x0∈Cx_0 \in C, do đó x0∈B∪Cx_0 \in B \cup C, và lại suy ra x0∈A∩(B∪C)x_0 \in A \cap (B \cup C).

Vì mọi phần tử của vế trái đều nằm trong vế phải và ngược lại, hai tập chứa đúng cùng các phần tử, nên A∩(B∪C)=(A∩B)∪(A∩C)A \cap (B \cup C) = (A \cap B) \cup (A \cap C). Chứng minh hoàn tất.

Với hai tập hữu hạn AA và BB bất kỳ: ∣A∪B∣=∣A∣+∣B∣−∣A∩B∣|A \cup B| = |A| + |B| - |A \cap B|, trong đó ∣A∣|A|, ∣B∣|B|, ∣A∩B∣|A \cap B|, ∣A∪B∣|A \cup B| là số phần tử của từng tập.

Vì sao đúng?

Cộng đơn giản ∣A∣|A| và ∣B∣|B| sẽ đếm hai lần mọi phần tử thuộc cả hai tập, nên trừ đi ∣A∩B∣|A \cap B| một lần sẽ sửa lại phần đếm thừa đó. Đây chính là phép tính đằng sau việc đọc biểu đồ Venn hai vòng tròn từ dữ liệu khảo sát: những người thích cả cà phê lẫn trà không được đếm hai lần khi hỏi có bao nhiêu người thích ít nhất một trong hai.

Chứng minh

Ý tưởng then chốt là tách A∪BA \cup B thành ba phần rời nhau đôi một rồi đếm mỗi phần đúng một lần.

Trước tiên, tách mỗi tập bằng tập kia: A=(A∖B)∪(A∩B)A = (A \setminus B) \cup (A \cap B) và B=(B∖A)∪(A∩B)B = (B \setminus A) \cup (A \cap B). Trong mỗi đẳng thức, hai phần ở vế phải rời nhau, vì (A∖B)∩(A∩B)=∅(A\setminus B) \cap (A \cap B) = \varnothing (một phần tử ở ngoài BB không thể đồng thời ở trong BB) và tương tự (B∖A)∩(A∩B)=∅(B\setminus A) \cap (A \cap B) = \varnothing. Vì kích thước một tập hữu hạn bằng tổng kích thước các phần rời nhau tạo thành nó, ta có ∣A∣=∣A∖B∣+∣A∩B∣|A| = |A \setminus B| + |A \cap B| và ∣B∣=∣B∖A∣+∣A∩B∣|B| = |B \setminus A| + |A \cap B|.

Tiếp theo, để ý rằng chính A∪BA \cup B tách thành ba phần rời nhau đôi một: A∪B=(A∖B)∪(B∖A)∪(A∩B)A \cup B = (A \setminus B) \cup (B \setminus A) \cup (A \cap B). Thật vậy A∖BA\setminus B, B∖AB\setminus A, A∩BA\cap B rời nhau đôi một (một phần tử thuộc A∖BA\setminus B thì không thuộc BB, do đó không thuộc A∩BA \cap B hay B∖AB \setminus A; tương tự cho các phần còn lại), và hợp của chúng đúng bằng các phần tử thuộc AA hoặc thuộc BB. Đếm theo cách chia này cho ∣A∪B∣=∣A∖B∣+∣B∖A∣+∣A∩B∣|A \cup B| = |A \setminus B| + |B \setminus A| + |A \cap B|.

Cuối cùng thay vào: từ ∣A∣=∣A∖B∣+∣A∩B∣|A| = |A \setminus B| + |A \cap B| ta có ∣A∖B∣|A \setminus B| =∣A∣−∣A∩B∣= |A| - |A\cap B|, và từ ∣B∣=∣B∖A∣+∣A∩B∣|B| = |B \setminus A| + |A \cap B| ta có ∣B∖A∣|B \setminus A| =∣B∣−∣A∩B∣= |B| - |A\cap B|. Thay cả hai vào ∣A∪B∣=∣A∖B∣+∣B∖A∣+∣A∩B∣|A \cup B| = |A \setminus B| + |B \setminus A| + |A \cap B| cho ∣A∪B∣=(∣A∣−∣A∩B∣)+(∣B∣−∣A∩B∣)+∣A∩B∣=∣A∣+∣B∣−∣A∩B∣|A \cup B| = (|A| - |A\cap B|) + (|B| - |A\cap B|) + |A\cap B| = |A| + |B| - |A\cap B|, đúng là ∣A∪B∣=∣A∣+∣B∣−∣A∩B∣|A \cup B| = |A| + |B| - |A \cap B|. Chứng minh hoàn tất.

Đại họcỨng dụng thực tiễn và Ví dụ minh họa

Các phép toán tập hợp là xương sống của hai công cụ hằng ngày. Trong phân tích khảo sát, biểu đồ Venn hai vòng tròn về những người thích sản phẩm AA và sản phẩm BB được đọc bằng ∣A∪B∣=∣A∣+∣B∣−∣A∩B∣|A \cup B| = |A| + |B| - |A \cap B|: tổng số người quan tâm không phải là tổng thô, vì những người thuộc A∩BA \cap B sẽ bị đếm hai lần. Trong bộ lọc công cụ tìm kiếm và thương mại điện tử, kết hợp "danh mục AA" VÀ "đang giảm giá BB" chính là phép giao A∩BA \cap B, kết hợp bằng HOẶC chính là phép hợp A∪BA \cup B, và loại trừ một thẻ bằng KHÔNG chính là phép hiệu A∖BA \setminus B; luật phân phối A∩(B∪C)=(A∩B)∪(A∩C)A \cap (B \cup C) = (A \cap B) \cup (A \cap C) là điều cho phép bộ lập kế hoạch truy vấn viết lại "AA và (BB hoặc CC)" thành "(AA và BB) hoặc (AA và CC)" mà không đổi kết quả.

Ví dụ: Đọc khảo sát bằng nguyên lý bù trừ

Một trường khảo sát 120120 học sinh. 7070 em nói chơi bóng đá, 4545 em nói chơi bóng rổ, và 2525 em nói chơi cả hai. Hỏi có bao nhiêu học sinh chơi ít nhất một trong hai môn, và bao nhiêu em không chơi môn nào?

Lời giải

Gọi AA là tập học sinh chơi bóng đá và BB là tập chơi bóng rổ, nên ∣A∣=70|A| = 70, ∣B∣=45|B| = 45, ∣A∩B∣=25|A \cap B| = 25.

Theo định lý bù trừ đã chứng minh ở trên, ∣A∪B∣=∣A∣+∣B∣−∣A∩B∣|A \cup B| = |A| + |B| - |A \cap B|. Thay số: ∣A∪B∣=70+45−25=90|A \cup B| = 70 + 45 - 25 = 90. Vậy có 9090 học sinh chơi ít nhất một trong hai môn.

Vì tổng số khảo sát là 120120, số học sinh không chơi môn nào là phần bù của A∪BA \cup B trong toàn bộ nhóm 120120 học sinh: 120−90=30120 - 90 = 30.

Chú ý lỗi thường gặp là cộng đơn giản 70+45=11570+45=115: điều này đếm trùng 2525 học sinh chơi cả hai, đúng là lý do định lý phải trừ đi ∣A∩B∣|A \cap B| một lần.

Ví dụ: Đơn giản hóa bộ lọc tìm kiếm bằng luật phân phối

Danh mục của một cửa hàng trực tuyến là một tập UU các sản phẩm. Gọi AA là "thuộc danh mục Giày", BB là "đang giảm giá", CC là "hàng mới về". Bộ lọc của khách hàng là "thuộc Giày, và (đang giảm giá hoặc hàng mới về)", tức A∩(B∪C)A \cap (B \cup C). Hãy chỉ ra đây là cùng danh sách sản phẩm với việc chạy hai bộ lọc đơn giản riêng rồi gộp kết quả, và giải thích vì sao công cụ tìm kiếm ưa dùng dạng thứ hai.

Lời giải

Theo luật phân phối đã chứng minh ở trên, A∩(B∪C)=(A∩B)∪(A∩C)A \cap (B \cup C) = (A \cap B) \cup (A \cap C). Áp dụng vào đây với A=A= Giày, B=B= đang giảm giá, C=C= hàng mới về: A∩(B∪C)=(A∩B)∪(A∩C)A \cap (B \cup C) = (A \cap B) \cup (A \cap C).

Vế trái A∩(B∪C)A \cap (B \cup C) mô tả một bộ lọc gộp duy nhất: trước hết dựng tập B∪CB \cup C gồm mọi thứ đang giảm giá hoặc mới về, rồi giao với Giày. Vế phải mô tả hai bộ lọc đơn giản độc lập, "Giày đang giảm giá" (A∩BA\cap B) và "Giày mới về" (A∩CA \cap C), rồi gộp kết quả bằng phép hợp.

Vì định lý đảm bảo hai vế liệt kê đúng cùng các sản phẩm, bộ lập kế hoạch truy vấn được tự do chọn cách thực thi nhanh hơn. Chạy hai bộ lọc đơn điều kiện đơn giản (mỗi bộ có thể dùng chỉ mục dựng sẵn nhanh cho một danh mục) rồi gộp bằng hợp thường rẻ hơn so với đánh giá trực tiếp biểu thức "hoặc lồng trong và", nên các công cụ tìm kiếm thực tế viết lại truy vấn sang dạng vế phải trước khi thực thi.

Cụ thể, nếu Giày ={1,2,3,4,5}=\{1,2,3,4,5\}, đang giảm giá ={2,4,6}=\{2,4,6\}, hàng mới về ={1,4,7}=\{1,4,7\}, thì B∪C={1,2,4,6,7}B\cup C=\{1,2,4,6,7\} và A∩(B∪C)={1,2,4}A\cap(B\cup C)=\{1,2,4\}; riêng A∩B={2,4}A\cap B=\{2,4\} và A∩C={1,4}A\cap C=\{1,4\}, hợp của chúng lại là {1,2,4}\{1,2,4\}, xác nhận hai cách tính khớp nhau.

Cho A={2,4,6,8}A=\{2,4,6,8\}. Phát biểu nào đúng?

Một lớp có 3030 học sinh; 1818 em thích toán, 1515 em thích lý, và 99 em thích cả hai. Hỏi có bao nhiêu em thích ít nhất một trong hai môn?

Một trang mua sắm cho lọc "thương hiệu AA" HOẶC "dưới 50 đô (BB)". Phép toán tập hợp nào tính ra kết quả hiển thị?

Với A={1,2,3}A=\{1,2,3\}, B={2,3}B=\{2,3\}, C={3,4}C=\{3,4\}, đẳng thức A∩(B∪C)=(A∩B)∪(A∩C)A \cap (B \cup C) = (A \cap B) \cup (A \cap C) có đúng không, và giá trị chung là gì?

Tài liệu tham khảo

  1. Paul R. Halmos (1960). Naive Set Theory
  2. Kenneth H. Rosen (2019). Discrete Mathematics and Its Applications