При расчёте union трёх set вы посчитали |A union B union C| = |A| + |B| + |C| - |A intersection B| - |A intersection C| - |B intersection C|, но не добавили |A intersection B intersection C|. Какое смещение в оценке union вы получите?

AПереоцените union, это станет верхняя граница.
BНедооцените union, потому что тройной overlap нужно добавить обратно; без него получается нижняя граница.
CОценка не изменится, тройной intersection всегда равен 0.
DНедооцените intersection, но union останется точным.
Правильный ответ. В включение–исключение для трёх set тройной intersection добавляют, иначе union получается заниженным.

Разбор

Тройной overlap входит в каждое одиночное множество и в каждое парное intersection, поэтому при вычитании парных пересечений он обнуляется. Но в union он должен учитываться один раз, поэтому его нужно добавить обратно. Если тройной intersection неизвестен, выражение без него даёт нижняя граница для union. Это типичный проверка здравого смысла при работе с тремя channel.

Проверь себя · 1/3разбор после ответа
Чтобы посчитать unique users в union двух set A и B, зная |A|, |B| и |A intersection B|, какую формулу включение–исключение нужно использовать?
Открыть Карьерник в Telegram

Ещё вопросы по теме «Теория множеств и дедупликация»