Круги Эйлера и поисковые запросы
В задании 8 дана таблица: поисковые запросы и число страниц, найденных по каждому. Нужно вычислить, сколько страниц найдётся по ещё одному запросу. Все такие задачи решает одна мысль: страницы, которые попали в два запроса сразу, нельзя считать дважды. Круги Эйлера — способ эту мысль нарисовать.
Теория
Что значат знаки в запросе
- «|» — логическое ИЛИ. По запросу «A | B» находятся страницы, на которых есть хотя бы одно из слов: только A, только B или оба.
- «&» — логическое И. По запросу «A & B» находятся страницы, на которых есть оба слова.
- N(запрос) — так удобно обозначать число страниц, найденных по запросу.
Круги Эйлера
Нарисуй два пересекающихся круга. Левый круг — все страницы со словом A, правый — все страницы со словом B. Общая часть кругов — страницы, где есть оба слова: это запрос «A & B». Всё, что накрыто хотя бы одним кругом, — запрос «A | B».
Рисунок делит страницы на три части: только A, оба слова, только B. Если подписать в каждой части число страниц, ответ на любой вопрос получается сложением нужных частей.
Формула для двух слов
N(A | B) = N(A) + N(B) − N(A & B).
Откуда вычитание: в сумме N(A) + N(B) страницы с обоими словами посчитаны дважды — и в круге A, и в круге B. Один раз их нужно убрать. В формуле четыре числа; три даны в таблице, четвёртое из неё выражают.
- N(A & B) = N(A) + N(B) − N(A | B).
- N(A) = N(A | B) − N(B) + N(A & B).
- Проверка ответа: N(A & B) не больше каждого из чисел N(A) и N(B), а N(A | B) не меньше каждого из них.
Три слова, одно стоит в каждом запросе
Это форма демоверсии 2027 года: в таблице запросы «C & (A | B)», «C & A», «C & A & B», а найти нужно «C & B» — или наоборот. Слово C есть везде, значит, все запросы идут внутри страниц со словом C. Среди них работает та же формула, только вместо слов A и B стоят пары «C & A» и «C & B»:
N(C & (A | B)) = N(C & A) + N(C & B) − N(C & A & B).
Три слова в общем случае
Для трёх кругов из суммы вычитают три попарные общие части, а страницы со всеми тремя словами прибавляют обратно:
N(A | B | C) = N(A) + N(B) + N(C) − N(A & B) − N(A & C) − N(B & C) + N(A & B & C).
Это формула включений и исключений. В заданиях её упрощают: если по запросу из двух слов найдено 0 страниц, эти слова вместе не встречаются — значит, и страниц со всеми тремя словами нет, и два слагаемых из формулы пропадают.
Когда всё это применимо
- Все числа в таблице — в одних единицах. Обычно это тысячи страниц, и ответ записывают так же, без дописанных нулей.
- В условии сказано, что запросы выполнялись практически одновременно: набор страниц за это время не менялся. Без этой оговорки числа из разных строк нельзя было бы складывать и вычитать.
Решённые примеры
Примеры взяты из тренажёра: там такие же задания, только числа и слова каждый раз новые.
1. Два слова: найти запрос с «|»
Даны оба слова по отдельности и общая часть — формула применяется напрямую.
В языке запросов поискового сервера логическая операция «ИЛИ» обозначается символом «|», а логическая операция «И» — символом «&». В таблице приведены запросы и количество страниц, которые нашёл по ним сервер в некотором сегменте сети Интернет.
| Запрос | Найдено страниц (в тысячах) |
|---|---|
| малина & смородина | 220 |
| смородина | 400 |
| малина | 310 |
Какое количество страниц (в тысячах) будет найдено по запросу «малина | смородина»? Считается, что все запросы выполнялись практически одновременно: набор страниц с искомыми словами за это время не менялся.
Решение
- Страницы, на которых есть оба слова, попадают и в запрос «малина», и в запрос «смородина». Если просто сложить эти два числа, такие страницы посчитаются дважды, поэтому один раз их вычитают: N(малина | смородина) = N(малина) + N(смородина) − N(малина & смородина).
- Подставь числа из таблицы: 310 + 400 − 220 = 490
Ответ: 490
Если получилось другое число
- 710 — Страницы, где есть оба слова, посчитаны дважды — и в «малина», и в «смородина». Вычти 220.
- 930 — Общие страницы нужно не прибавить, а вычесть: в сумме 310 + 400 они и так посчитаны дважды.
- 270 — Вычесть 220 нужно один раз. Сейчас страницы с обоими словами не посчитаны совсем.
2. Два слова: найти запрос с «&»
Известно объединение. Общая часть — то, на сколько сумма двух запросов больше объединения.
В языке запросов поискового сервера логическая операция «ИЛИ» обозначается символом «|», а логическая операция «И» — символом «&». В таблице приведены запросы и количество страниц, которые нашёл по ним сервер в некотором сегменте сети Интернет.
| Запрос | Найдено страниц (в тысячах) |
|---|---|
| Тула | Рязань | 1310 |
| Тула | 720 |
| Рязань | 720 |
Какое количество страниц (в тысячах) будет найдено по запросу «Тула & Рязань»? Считается, что все запросы выполнялись практически одновременно: набор страниц с искомыми словами за это время не менялся.
Решение
- Страницы, на которых есть оба слова, попадают и в запрос «Тула», и в запрос «Рязань». Если просто сложить эти два числа, такие страницы посчитаются дважды, поэтому один раз их вычитают: N(Тула | Рязань) = N(Тула) + N(Рязань) − N(Тула & Рязань).
- Подставь числа из таблицы: 1310 = 720 + 720 − N(Тула & Рязань).
- Отсюда N(Тула & Рязань) = 720 + 720 − 1310 = 130
Ответ: 130
Если получилось другое число
- 590 — Это страницы, на которых есть «Рязань», но нет слова «Тула». А нужны страницы с обоими словами: сложи 720 и 720 и вычти 1310.
- 1440 — Это сумма двух запросов, а не их общая часть. Сравни её с запросом, где стоит «|».
3. Два слова: найти одно слово
Из формулы выражают N(A): общую часть здесь прибавляют, а не вычитают.
В языке запросов поискового сервера логическая операция «ИЛИ» обозначается символом «|», а логическая операция «И» — символом «&». В таблице приведены запросы и количество страниц, которые нашёл по ним сервер в некотором сегменте сети Интернет.
| Запрос | Найдено страниц (в тысячах) |
|---|---|
| дятел | синица | 730 |
| дятел & синица | 250 |
| синица | 340 |
Какое количество страниц (в тысячах) будет найдено по запросу «дятел»? Считается, что все запросы выполнялись практически одновременно: набор страниц с искомыми словами за это время не менялся.
Решение
- Страницы, на которых есть оба слова, попадают и в запрос «дятел», и в запрос «синица». Если просто сложить эти два числа, такие страницы посчитаются дважды, поэтому один раз их вычитают: N(дятел | синица) = N(дятел) + N(синица) − N(дятел & синица).
- Подставь числа из таблицы: 730 = N(дятел) + 340 − 250.
- Отсюда N(дятел) = 730 − 340 + 250 = 640
Ответ: 640
Если получилось другое число
- 390 — Это страницы, на которых есть «дятел», но нет слова «синица». По запросу «дятел» найдутся ещё и страницы с обоими словами — прибавь 250.
- 140 — Страницы с обоими словами тоже содержат «дятел»: их нужно прибавить, а не вычесть.
- 480 — Это страницы, на которых есть только одно из двух слов. Вырази N(дятел) из формулы для запроса с «|».
4. Три слова: одно стоит в каждом запросе
Форма демоверсии 2027 года. Общее слово мысленно выносят — остаётся формула для двух слов.
В языке запросов поискового сервера логическая операция «ИЛИ» обозначается символом «|», а логическая операция «И» — символом «&». В таблице приведены запросы и количество страниц, которые нашёл по ним сервер в некотором сегменте сети Интернет.
| Запрос | Найдено страниц (в тысячах) |
|---|---|
| Тула & Рязань & Калуга | 200 |
| Тула & Калуга | 370 |
| Тула & (Рязань | Калуга) | 860 |
Какое количество страниц (в тысячах) будет найдено по запросу «Тула & Рязань»? Считается, что все запросы выполнялись практически одновременно: набор страниц с искомыми словами за это время не менялся.
Решение
- Слово «Тула» есть в каждом запросе, значит, считаем только страницы с этим словом. Среди них запрос «Тула & (Рязань | Калуга)» находит страницы, где есть «Рязань» или «Калуга».
- Страницы со всеми тремя словами попадают и в «Тула & Рязань», и в «Тула & Калуга», поэтому один раз их вычитают: N(Тула & (Рязань | Калуга)) = N(Тула & Рязань) + N(Тула & Калуга) − N(Тула & Рязань & Калуга).
- Подставь числа из таблицы: 860 = N(Тула & Рязань) + 370 − 200.
- Отсюда N(Тула & Рязань) = 860 − 370 + 200 = 690
Ответ: 690
Если получилось другое число
- 490 — Это страницы, где есть «Тула» и «Рязань», но нет слова «Калуга». Запрос «Тула & Рязань» находит ещё и страницы со всеми тремя словами — прибавь 200.
- 290 — Страницы со всеми тремя словами тоже подходят под запрос «Тула & Рязань»: их нужно прибавить, а не вычесть.
- 660 — Это страницы, где рядом со словом «Тула» стоит только одно из двух других слов. Вырази N(Тула & Рязань) из формулы.
5. Три слова, два из них вместе не встречаются
Запрос с нулём страниц убирает из формулы два слагаемых.
В языке запросов поискового сервера логическая операция «ИЛИ» обозначается символом «|», а логическая операция «И» — символом «&». В таблице приведены запросы и количество страниц, которые нашёл по ним сервер в некотором сегменте сети Интернет.
| Запрос | Найдено страниц (в тысячах) |
|---|---|
| снегирь & дятел | 240 |
| снегирь | 710 |
| дятел | 510 |
| синица & дятел | 0 |
| синица & снегирь | 130 |
| синица | 580 |
Какое количество страниц (в тысячах) будет найдено по запросу «синица | снегирь | дятел»? Считается, что все запросы выполнялись практически одновременно: набор страниц с искомыми словами за это время не менялся.
Решение
- По запросу «синица & дятел» не найдено ни одной страницы: слова «синица» и «дятел» вместе не встречаются. Значит, страниц со всеми тремя словами тоже нет.
- Сложи запросы по отдельным словам и вычти общие части — страницы с двумя словами посчитаны в сумме дважды: N(синица | снегирь | дятел) = N(синица) + N(снегирь) + N(дятел) − N(синица & снегирь) − N(снегирь & дятел).
- Подставь числа из таблицы: 580 + 710 + 510 − 130 − 240 = 1430
Ответ: 1430
Если получилось другое число
- 1800 — Страницы с двумя словами посчитаны дважды. Вычти общие части: 130 и 240.
- 1670 — Общих частей две: «синица & снегирь» и «снегирь & дятел». Вторую, 240, тоже нужно вычесть.
- 1560 — Общих частей две: «синица & снегирь» и «снегирь & дятел». Первую, 130, тоже нужно вычесть.
Типичные ошибки
- Складывают два запроса и не вычитают общую часть.
- Вычитают общую часть, когда ищут N(A): страницы с обоими словами в запрос «A» входят, их нужно прибавить.
- Путают знаки: «|» читают как «и», «&» — как «или».
- Берут число не из той строки: запросы в таблице похожи, а порядок строк случайный.
- Получают, что по запросу с «&» найдено больше страниц, чем по одному из его слов, и не перепроверяют.
- Дописывают к ответу три нуля. Числа в таблице уже даны в тысячах.
Где встречается на экзамене
- Задание 8 — число страниц по запросу с «|» и «&».
- Логические выражения — те же операции И и ИЛИ в высказываниях.
Вопросы и ответы
Что такое круги Эйлера?
Рисунок, на котором множества изображены кругами. В задачах про запросы круг — это все страницы с одним словом, общая часть двух кругов — страницы с обоими словами.
Какая формула нужна для 8 задания?
N(A | B) = N(A) + N(B) − N(A & B). Задачи с тремя словами сводятся к ней же или к формуле включений и исключений для трёх множеств.
Можно ли решить задание без кругов?
Да, по формуле. Рисунок нужен, чтобы увидеть, какая часть страниц посчитана дважды, и не перепутать, что прибавлять и что вычитать.
По какому запросу найдётся больше страниц — с «|» или с «&»?
По запросу с «|» страниц не меньше, чем по каждому из слов, а по запросу с «&» — не больше.
Нужно ли писать в ответе тысячи?
Нет. Если в таблице числа даны в тысячах, в ответ записывают такое же число без дополнительных нулей.
Соседние темы
Теория — школьная программа 7–9 классов; задания составлены нами, числа и слова в тренажёре каждый раз новые. Факты об экзамене — из демоверсии, спецификации и кодификатора ФИПИ для ОГЭ 2027 года; на день обновления документы опубликованы как проект. Обновлено 11.10.2026.