Задача 6.
В языке запросов поискового сервера для обозначения логической операции «ИЛИ» используется символ «|», а для обозначения логической операции «И» — символ «&». В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет.
| Запрос | Найдено страниц (в тысячах) |
| Онегин & Ленский | 300 |
| Онегин & (Татьяна | Ленский) | 400 |
| Онегин & Татьяна | 350 |
Компьютер печатает количество страниц (в тысячах), которое будет найдено по следующему запросу:
Онегин & Татьяна & Ленский?
Считается, что все запросы выполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время выполнения запросов.
Решение:
Обозначим количество страниц, найденных по запросам, следующим образом:
- \(A\) — количество страниц по запросу «Онегин»
- \(B\) — количество страниц по запросу «Татьяна»
- \(C\) — количество страниц по запросу «Ленский»
Из условия задачи нам даны следующие значения:
- \(N(A \text{ & } C) = 300\) (тысяч страниц)
- \(N(A \text{ & } (B \text{ | } C)) = 400\) (тысяч страниц)
- \(N(A \text{ & } B) = 350\) (тысяч страниц)
Нам нужно найти \(N(A \text{ & } B \text{ & } C)\).
Используем формулу для объединения множеств:
\(N(X \text{ & } (Y \text{ | } Z)) = N(X \text{ & } Y) + N(X \text{ & } Z) - N(X \text{ & } Y \text{ & } Z)\)
Применим эту формулу к нашему второму запросу:
\(N(A \text{ & } (B \text{ | } C)) = N(A \text{ & } B) + N(A \text{ & } C) - N(A \text{ & } B \text{ & } C)\)
Теперь подставим известные значения из таблицы в эту формулу:
\(400 = 350 + 300 - N(A \text{ & } B \text{ & } C)\)
Выполним сложение:
\(400 = 650 - N(A \text{ & } B \text{ & } C)\)
Чтобы найти \(N(A \text{ & } B \text{ & } C)\), перенесем его в левую часть уравнения, а 400 — в правую:
\(N(A \text{ & } B \text{ & } C) = 650 - 400\)
Вычислим разность:
\(N(A \text{ & } B \text{ & } C) = 250\)
Таким образом, по запросу «Онегин & Татьяна & Ленский» будет найдено 250 тысяч страниц.
Ответ: 250
