Теорема включений-исключений (TVI) используется, когда необходимо подсчитать количество элементов в объединении нескольких множеств, учитывая их пересечения. Это важно, когда элементы могут принадлежать нескольким группам одновременно, и простое сложение приведет к дублированию.
💡 Задача: Подсчитать количество уникальных пользователей, которые взаимодействовали с разными рекламными кампаниями.
🔹 Пример:
500+600−200=900500 + 600 — 200 = 900500+600−200=900
💡 Задача: Найти количество уникальных клиентов в базе, если они могут принадлежать нескольким сегментам.
🔹 Пример: В интернет-магазине клиенты покупают:
3000+4000−1000=60003000 + 4000 — 1000 = 60003000+4000−1000=6000
💡 Задача: Подсчет количества уникальных записей при объединении нескольких датафреймов.
🔹 Пример: В датасете есть пересечения клиентов из разных источников данных. TVI позволяет корректно вычислить их общее количество, не учитывая повторяющиеся записи дважды.
💡 Задача: Определение количества пациентов с определёнными симптомами.
🔹 Пример:
500+700−200=1000500 + 700 — 200 = 1000500+700−200=1000
❌ Когда множества не пересекаются – проще просто сложить их мощности.
❌ Когда порядок элементов важен – лучше использовать перестановки или размещения.
❌ Когда множества очень сложные – тогда лучше применять другие вероятностные методы.
Теорема включений-исключений — мощный инструмент в аналитике данных, маркетинге, биологии и обработке больших объемов информации. Она помогает правильно учитывать пересечения и избегать двойного счета. 🚀
Теорема включений-исключений — это принцип подсчета количества объектов с наложением различных условий. Эта теорема позволяет точно вычислять количество объектов, которые удовлетворяют хотя бы одному из нескольких условий, если эти условия могут пересекаться.
Формулировка теоремы для двух и трех множеств:
Пусть есть два множества A и B. Количество элементов, принадлежащих хотя бы одному из этих множеств, вычисляется по формуле:
|A ∪ B| = |A| + |B| — |A ∩ B|
Где:
Пусть есть три множества A, B и C. Количество элементов, которые принадлежат хотя бы одному из этих множеств, вычисляется по формуле:
|A ∪ B ∪ C| = |A| + |B| + |C| — |A ∩ B| — |A ∩ C| — |B ∩ C| + |A ∩ B ∩ C|
Где:
Пусть:
По формуле теоремы включений-исключений можно подсчитать количество студентов, которые изучают хотя бы один из этих предметов.∣M∪F∪H∣=∣M∣+∣F∣+∣H∣−∣M∩F∣−∣M∩H∣−∣F∩H∣+∣M∩F∩H∣|M \cup F \cup H| = |M| + |F| + |H| — |M \cap F| — |M \cap H| — |F \cap H| + |M \cap F \cap H|∣M∪F∪H∣=∣M∣+∣F∣+∣H∣−∣M∩F∣−∣M∩H∣−∣F∩H∣+∣M∩F∩H∣
где:
Предположим, что у нас есть данные о посещении трех веб-сайтов пользователями:
Для подсчета уникальных пользователей, которые посетили хотя бы один сайт, мы также используем теорему включений-исключений.
|A ∪ B ∪ C| = |A| + |B| + |C| — |A ∩ B| — |A ∩ C| — |B ∩ C| + |A ∩ B ∩ C|
Теперь рассмотрим, как мы можем применить теорему включений-исключений в Python, используя пример с пользователями веб-сайтов:
# Данные
A = 100 # пользователи сайта A
B = 150 # пользователи сайта B
C = 200 # пользователи сайта C
A_and_B = 50 # пользователи, посетившие A и B
A_and_C = 75 # пользователи, посетившие A и C
B_and_C = 60 # пользователи, посетившие B и C
A_and_B_and_C = 30 # пользователи, посетившие все три сайта
# Применение теоремы включений-исключений
unique_users = A + B + C - A_and_B - A_and_C - B_and_C + A_and_B_and_C
print(f"Количество уникальных пользователей: {unique_users}")
Этот код рассчитает количество уникальных пользователей, посетивших хотя бы один из трех сайтов.