Máy tính phép toán tập hợp

Union, intersection, differences and symmetric difference of two sets of numbers or words, with the Jaccard index and a Venn diagram.

Cập nhật Ví dụ đã kiểm tra: 6

Separate items with commas, semicolons or new lines (or spaces if you use none of those). Numbers like 1 and 1.0 count as the same item.
Thử
Union A ∪ B
{1, 2, 3, 4, 5, 6, 7}
Union A ∪ B: {1, 2, 3, 4, 5, 6, 7}
Intersection A ∩ B
{4, 5}
Difference A − B
{1, 2, 3}
Difference B − A
{6, 7}
Symmetric difference A △ B
{1, 2, 3, 6, 7}
|A|
5
|B|
4
|A ∪ B|
7
|A ∩ B|
2
Jaccard index |A ∩ B| / |A ∪ B|
0.285714

A and B share 2 of the 7 distinct items (Jaccard index 0.2857); 3 are only in A and 2 only in B.

Venn diagram (counts below each region)

AB1233452672
Cách tính S
  1. The two sets

    A={1,2,3,4,5}, ∣A∣=5;B={4,5,6,7}, ∣B∣=4A = \{1, 2, 3, 4, 5\},\ |A| = 5;\qquad B = \{4, 5, 6, 7\},\ |B| = 4
  2. Union: in A or in B

    A∪B={1,2,3,4,5,6,7}A \cup B = \{1, 2, 3, 4, 5, 6, 7\}
  3. Intersection: in both

    A∩B={4,5}A \cap B = \{4, 5\}
  4. Differences: in one but not the other

    A∖B={1,2,3},B∖A={6,7}A \setminus B = \{1, 2, 3\},\qquad B \setminus A = \{6, 7\}
  5. Symmetric difference: in exactly one

    A△B=(A∖B)∪(B∖A)={1,2,3,6,7}A \mathbin{\triangle} B = (A \setminus B) \cup (B \setminus A) = \{1, 2, 3, 6, 7\}
  6. Count check (inclusion–exclusion)

    ∣A∪B∣=∣A∣+∣B∣−∣A∩B∣=5+4−2=7|A \cup B| = |A| + |B| - |A \cap B| = 5 + 4 - 2 = 7

    Jaccard index: 2 / 7 = 0.285714.

Giới thiệu Máy tính phép toán tập hợp

The calculator treats each list as a set, dropping repeats, and compares the two. The union A ∪ B holds everything in either set, the intersection A ∩ B what is in both, the differences A − B and B − A what is in one but not the other, and the symmetric difference A △ B what is in exactly one. The Jaccard index |A ∩ B| ÷ |A ∪ B| scores the overlap from 0 for disjoint sets to 1 for identical ones.

Comparing customer or email lists, finding shared tags, checking what one version of a list adds or removes, and discrete-mathematics homework are typical uses. The default sets {1, 2, 3, 4, 5} and {4, 5, 6, 7} share 2 of their 7 distinct items, so the Jaccard index is 2/7 ≈ 0.2857.

Items can be numbers or words, separated by commas, semicolons, new lines or spaces. Numbers are compared by value, so 1 and 1.0 are one item; words must match exactly, including capital letters. Results list numbers in order, then words alphabetically.

Ví dụ có lời giải

{1, 2, 3, 4, 5} and {4, 5, 6, 7}

Set A
1, 2, 3, 4, 5
Set B
4, 5, 6, 7
Union A ∪ B
{1, 2, 3, 4, 5, 6, 7}
Intersection A ∩ B
{4, 5}
Difference A − B
{1, 2, 3}
Difference B − A
{6, 7}
Symmetric difference A △ B
{1, 2, 3, 6, 7}
|A ∪ B|
7
Jaccard index |A ∩ B| / |A ∪ B|
0.285714

Nguồn đối chiếu: Python set operators |, &, -, ^ on {1,2,3,4,5} and {4,5,6,7}; 2/7 = 0.285714

Words with one item in common

Set A
apple, banana, cherry
Set B
banana, date
Union A ∪ B
{apple, banana, cherry, date}
Intersection A ∩ B
{banana}
Symmetric difference A △ B
{apple, cherry, date}
Jaccard index |A ∩ B| / |A ∪ B|
0.25

Nguồn đối chiếu: Python set operators on string sets, sorted()

Disjoint sets (edge case)

Set A
1, 3, 5
Set B
2, 4, 6
Intersection A ∩ B
∅
|A ∩ B|
0
Union A ∪ B
{1, 2, 3, 4, 5, 6}
Jaccard index |A ∩ B| / |A ∪ B|
0

Nguồn đối chiếu: Python: {1,3,5} & {2,4,6} == set()

Equal numbers written differently

Set A
1, 1.0, 2
Set B
2.00, 3
|A|
2
Intersection A ∩ B
{2}
Union A ∪ B
{1, 2, 3}

Nguồn đối chiếu: Python: {Decimal('1'), Decimal('1.0'), Decimal('2')} has 2 elements; Decimal('2.00') == Decimal('2')

Câu hỏi

What is the difference between union and intersection?

The union A ∪ B contains every element in A, in B or in both; the intersection A ∩ B contains only the elements in both. For A = {1, 2, 3, 4, 5} and B = {4, 5, 6, 7}, the union is {1, 2, 3, 4, 5, 6, 7} and the intersection is {4, 5}. The union is never smaller than either set, and the intersection never larger.

What is the symmetric difference of two sets?

The elements that are in exactly one of the two sets: A △ B = (A − B) ∪ (B − A), which is the union with the intersection removed. For {1, 2, 3, 4, 5} and {4, 5, 6, 7} it is {1, 2, 3, 6, 7}. It behaves like XOR in logic, and Python's ^ operator computes it for sets.

How do you find the number of elements in a union?

Use the inclusion–exclusion principle: |A ∪ B| = |A| + |B| − |A ∩ B|, subtracting the intersection because its elements were counted twice. With |A| = 5, |B| = 4 and |A ∩ B| = 2, the union has 5 + 4 − 2 = 7 elements. For three sets it extends to |A| + |B| + |C| − |A ∩ B| − |A ∩ C| − |B ∩ C| + |A ∩ B ∩ C|.

What is the Jaccard index?

A similarity score for two sets: the size of their intersection divided by the size of their union, from 0 for disjoint sets to 1 for identical ones. {1, 2, 3, 4, 5} and {4, 5, 6, 7} share 2 of 7 distinct items, a Jaccard index of 2/7 ≈ 0.2857. It is used to compare documents, tag sets and search results, and 1 minus the index is the Jaccard distance.

Is A − B the same as B − A?

No. A − B, also written A \ B, keeps the elements of A that are not in B, while B − A keeps the elements of B that are not in A. With A = {1, 2, 3, 4, 5} and B = {4, 5, 6, 7}, A − B = {1, 2, 3} but B − A = {6, 7}. The two differences never share an element, and together they form the symmetric difference.

“Máy tính phép toán tập hợp” chính xác đến mức nào?

Độ chính xác phụ thuộc vào dữ liệu nhập và giả định của phương pháp. Phép tính thập phân dùng 50 chữ số có nghĩa, nhưng ước lượng, phương pháp số và dữ liệu nguồn có thể kém chính xác hơn; làm tròn khi hiển thị không loại bỏ các giới hạn đó. Ví dụ có lời giải đã đối chiếu với nguồn độc lập: 6. Ví dụ, “{1, 2, 3, 4, 5} and {4, 5, 6, 7}” được kiểm tra bằng Python set operators |, &, -, ^ on {1,2,3,4,5} and {4,5,6,7}; 2/7 = 0.285714.

Phương pháp này lấy từ đâu?

Wolfram MathWorld — Union, Intersection, Set Difference, Symmetric Difference; Python documentation — set types and operations.

Về công cụ tính này

A∪B={x:x∈A∨x∈B}A∩B={x:x∈A∧x∈B}A△B=(A∖B)∪(B∖A)\begin{gathered} A \cup B = \{x : x \in A \lor x \in B\} \\[6pt] A \cap B = \{x : x \in A \land x \in B\} \\[6pt] A \mathbin{\triangle} B = (A \setminus B) \cup (B \setminus A) \end{gathered}

Nguồn

  1. Wolfram MathWorld — Union, Intersection, Set Difference, Symmetric Difference
  2. Python documentation — set types and operations

Đã đối chiếu nguồn tham khảo

Công cụ tính này có 6 ví dụ đã giải với đáp án từ các nguồn độc lập. Chúng được chạy trong bộ kiểm thử và bạn cũng có thể chạy tại đây.

Công cụ liên quan