Поисковые запросы - Поиск информации - ИНФОРМАЦИОННЫЕ И КОММУНИКАЦИОННЫЕ ТЕХНОЛОГИИ

Информатика - Новый полный справочник для подготовки к ОГЭ

Поисковые запросы - Поиск информации - ИНФОРМАЦИОННЫЕ И КОММУНИКАЦИОННЫЕ ТЕХНОЛОГИИ

Конспект

При использовании всемирной компьютерной сети Интернет достаточно часто требуется найти в ней сайт или страницу, которую вы раньше не посещали, но которая, возможно, содержит нужную вам информацию. Для этого существуют специальные поисковые службы, называемые поисковые серверы. Наиболее известные из них — yandex.ru, google.ru и другие.

Тот текст, который пользователь пишет в специальное поле поиска, называется поисковым запросом. Полезно понимать, что в тот момент, когда пользователь отправляет поисковый запрос на поисковый сервер, тот не начинает в этот момент рыскать по всем просторам Интернета в поисках нужной информации. Поиск осуществляется только в базе ключевых слов, которая хранится в поисковой системе. Поисковая система анализирует слова, написанные в поисковом запросе, выделяет из них важные (ключевые) слова и по ним уже осуществляет поиск в собственных хранилищах. Ссылки на найденные страницы выдаются пользователю в качестве результата поискового запроса.

Откуда же при этом поисковая система знает эту информацию (ключевые слова и ссылки), которая хранится у неё?

Для этого работают две основные технологии.

Первая — владельцы сайтов, которые хотят, чтобы их сайты/страницы часто посещались и приносили соответствующий доход/престиж/предоставляли информационные услуги, сами регистрируют в поисковых системах свои сайты/страницы по ключевым словам.

Вторая — поисковые системы сами “просматривают” сайты и страницы сети Интернет, анализируя их, выделяя ключевые слова и сохраняя ссылки на них. Но, ещё раз уточним, что это происходит не в момент обращения пользователя.

Для того чтобы обеспечить гибкость поиска, поисковые серверы позволяют указывать ключевые слова, по которым осуществляется поиск с использованием различных логических операций.

Среди логических операций нас будут интересовать:

- логическое ИЛИ (дизъюнкция), обозначаемая в поисковых запросах символом “|” (вертикальная черта);

- логическое И (конъюнкция), обозначаемая в поисковых запросах символом “&”.

Рассмотрим влияние этих логических операций на результат (количество найденных страниц) поискового запроса.

Для начала сделаем это на примере двух ключевых слов — “красный” и “синий”.

Запрос каждого из этих слов по отдельности выдаёт страницы, которые содержат, соответственно, те, где встречается слово “красный” и те, где встречается слово “синий”. Нужно понимать, что есть страницы, которые содержат слово “красный”, но не содержат слово “синий”; есть те, которые, наоборот, содержат только слово “синий” и не содержат слово “красный”; а есть такие, которые содержат и то, и другое слово вместе.

Изобразим множества этих страниц при помощи диаграммы:

На диаграмме можно видеть, что множества страниц, содержащих слова “красный” и “синий” частично пересекаются.

Рассмотрим результат операции логическое И на примере результата запроса “красный & синий”. Это те страницы, которые одновременно содержат слова и “красный” и “синий”. На диаграмме это та область, которая одновременно входит в оба нарисованных овала. Заштрихуем область “красный” левой штриховкой, а область “синий” правой штриховкой. Операция логическое И требует одновременного наличия обоих слов. То есть, нас интересует пересечение штриховок:

А именно, та область, которая лежит на пересечении между ними:

Важно понимать, что операция логическое И (&) приводит к уменьшению количества найденных страниц (требуется найти страницы, удовлетворяющие более строгому условию).

Теперь рассмотрим результат операции логическое ИЛИ на примере результата запроса “красный | синий”. Это те страницы, которые содержат или только слово “красный”, или только слово “синий”, или слова “красный” и “синий” одновременно. На диаграмме это та область, которая входит хотя бы в один нарисованный овал. Также заштрихуем область “красный” и область “синий”. Только теперь будем штриховать с наклоном в одну сторону (при операции логическое ИЛИ необходимо объединять области, поэтому можно выбрать одинаковую штриховку).

Объединение областей даст такой результат:

Важно понимать, что операция логическое ИЛИ (|) приводит к увеличению количества найденных страниц (требуется найти страницы, которые содержат хотя бы одно из условий).

Возможно, вам известно из курса математики, что приведённые диаграммы называются диаграммами Эйлера-Венна.

Разбор типовых задач

Задача 1. Приведены запросы к поисковому серверу. Для каждого запроса указан его код — соответствующая буква от А до В. Запишите в таблицу коды запросов слева направо в порядке возрастания количества страниц, которые нашёл поисковый сервер по каждому запросу. По всем запросам было найдено разное количество страниц.

Для обозначения логической операции ИЛИ в запросе используется символ “|”, а для логической операции “И” — символ “&”.

Код

Запрос

А

кошка мышка

Б

кошка & мышка

В

кошка

Решение

• Первый способ решения задачи.

Используем диаграммы Эйлера-Венна.

Построим их для каждого из запросов и сравним площади заштрихованных областей.

А. кошка | мышка

Б. кошка & мышка

Это логическое ИЛИ — объединение. В результат попадут все области, которые входят хотя бы в один овал.

Это логическое И — пересечение. В результат попадёт только область, которая входит в оба овала.

В. кошка

Это просто овал, соответствующий “кошке”.

Соотносим размеры заштрихованных областей и понимаем, что наименьшая площадь — у области Б, следующая — у области В, и самая большая — у области А. Получаем ответ: БВА.

Ответ: БВА.

• Второй способ решения задачи.

Составим таблицу истинности для каждого выражения.

В качестве столбцов-аргументов используем “кошка” и “мышка”. В качестве результатов этих столбцов используем 0 для обозначения того, что это слово не присутствует на страницы, и 1, если присутствует. В таблице будут два столбца исходных данных (в запросе только два различных слова — “кошка” и “мышка”), столбец для результата операции А (“кошка | мышка”) и столбец для результата операции Б (“кошка & мышка”). Отдельного столбца для операции В (“кошка”) не требуется, потому что он такой же, как первый столбец. Заполняем таблицу и вычисляем результаты операций.

кошка

мышка

кошка | мышка

кошка & мышка

0

0

0

0

0

1

1

0

1

0

1

0

1

1

1

1

В


А

Б

Теперь подсчитываем количество единиц в каждом интересующем нас столбце:

В


А

Б

2


3

1

Эти количества располагаем, как требуется в условии задачи, в порядке возрастания: 1-2-3 и записываем в качестве ответа соответствующие им коды запросов: БВА.

Ответ: БВА.

• Третий вариант решения.

Быстрый, но не очень надёжный. Рекомендуется только при высоком навыке решения подобных задач.

Просто анализируем варианты запросов на предмет логическое И/ логическое ИЛИ. Понимаем, что логическое И уменьшает количество найденных страниц, а логическое ИЛИ — увеличивает. Получаем, что меньше всего страниц будет найдено для логического И. Значит, этот запрос нужно ставить в ответе на первое место (требуется упорядочить запросы по возрастанию). А больше всего страниц будет найдено для логического ИЛИ. Значит, этот запрос нужно ставить в ответе на последнее место. Посередине остаётся просто запрос “кошка”.

Ответ: БВА.

Возможно, при чтении вариантов решения у вас возник вопрос, что делать, если решение не однозначно. Например, при построении диаграмм Эйлера-Венна необходимо сравнивать площади областей, не вложенных друг в друга или при подсчёте числа единиц в таблице истинности получаются одинаковые количества в разных столбцах. Однако, такая ситуация не случится, потому что подобная задача не имеет чёткого решения. Например, нельзя решить задачу, отвечая на вопрос, какой запрос выдаст большее количество страниц — “красный” или “синий”. Возможно и так, и так, в зависимости от текущей ситуации. В общем, если у вас получился один или другой перечисленный случай — ищите ошибку в решении (или, если это не на экзамене, спросите у составителя задачи, не ошибся ли он).

Также заметим, что решение задачи для четырёх переменных при помощи диаграмм Эйлера-Венна существенно сложнее, чем для трёх переменных, потому что корректно построить в этом случае диаграмму не очень просто. Впрочем, решение задачи для четырёх переменных при помощи таблицы истинности тоже трудоёмко. Ведь при этом количество строк в таблице становится равно 16 (= 24).

Задача 2. Приведены запросы к поисковому серверу. Для каждого запроса указан его код — соответствующая буква от А до Г. Запишите в таблицу коды запросов слева направо в порядке убывания количества страниц, которые нашел поисковый сервер по каждому запросу. По всем запросам было найдено разное количество страниц.

Для обозначения логической операции “ИЛИ” в запросе используется символ “|”, а для логической операции “И” — символ “&”.

Код

Запрос

А

яблоки | груши | сливы

Б

яблоки | сливы

В

(яблоки | груши) & сливы

Г

сливы | (сливы & груши)

Решение (1 способ)

Построим диаграммы Эйлера-Венна для каждого случая. В запросах Б и В используется только по два различных слова — “яблоки” и “сливы” в запросе Б, “сливы” и “груши” в запросе В. При этом в запросах А и Г используется уже по три слова. Чтобы после построения всех диаграмм можно было удобно сопоставить площади заштрихованных областей, рекомендуем во всех четырёх случаях рисовать диаграммы сразу для всех трёх слов.

Построение диаграмм для запросов А и Б не представляет никакой сложности — это обычные диаграммы для операции логическое ИЛИ.

• Случай А.

Рисуем овалы для всех трёх слов. Причём так, чтобы они частично пересекались друг с другом. Обратите внимание — каждый овал должен частично пересекаться с каждым другим овалом.

Теперь заштрихуем каждый из овалов. Можно осуществлять штриховку в одну сторону, ведь их все равно в результате операции логическое ИЛИ нужно будет объединять.

• Случай Б.

Построим те же частично пересекающиеся три овала, как сделали это в случае А. Только теперь заштрихуем только те области, которые нужны нам в запросе Б (“яблоки” и “сливы”).

• Случай В.

Как и ранее, начинаем с рисования точно таких же трёх частично пересекающихся овалов, как и в случаях А и Б. Но теперь у нас в поисковом запросе одновременно встречается оба действия — логическое И и логическое ИЛИ. Решаем задачу по действиям. Сначала выполним операцию в скобках. То есть, заштрихуем область для “яблоки | груши” с помощью обычной штриховки в одну сторону.

Теперь нужно пересечь эту область по “сливами”. То есть, выполнить действие “(...) & сливы”. Для этого заштрихуем “сливы” линиями в другую сторону.

Интересующая нас область лежит на пересечении штриховок. Это область:

• Случай Г.

Как и ранее, строим сначала все три частично пересекающиеся области. Здесь тоже используются обе логические операции. Будем делать задание по действиям. Сначала строим выражение в скобках (“сливы & груши”). Закрасим левой и правой штриховками области “сливы” и “груши”.

Интересующая нас область лежит на пересечении штриховок. То есть:

Теперь сделаем вторую операцию — “сливы & (...)”. Для этого заштрихуем область “сливы” в ту же сторону и найдём область, которая будет заштрихована.

Получилось, что заштрихованная область совпадает с областью “сливы”.

Результатом является область:

Сравниваем между собой области, полученные во всех четырех случаях:

Нам нужно расположить запросы в порядке убывания количества найденных страниц. Значит, сначала нужны области большей площади, а потом меньшей.

Самая большая площадь в случае А. Затем — в случае Б. Затем — в случае Г. Самая маленькая — в случае В. Получаем ответ: АБГВ.

(2 способ)

Второй способ решения задачи — построение таблицы истинности. Так как в запросах встречается три различных слова, таблица будет содержать 8 строк (= 23).

Каждый из запросов будем строить последовательно. В запросе А две операции. Обе операции — логическое ИЛИ. Выполняем их слева направо, сначала “(яблоки | груши)”, затем “(...) | сливы”.


(1)


яблоки

груши

сливы

яблоки | груши

(1) | сливы

0

0

0

0

0

0

0

1

0

1

0

1

0

1

1

0

1

1

1

1

1

0

0

1

1

1

0

1

1

1

1

1

0

1

1

1

1

1

1

1

Операция в запросе Б самая простая. Это просто логическое ИЛИ для столбцов “яблоки” и “сливы”.

яблоки

груши

сливы

яблоки | сливы

0

0

0

0

0

0

1

1

0

1

0

0

0

1

1

1

1

0

0

1

1

0

1

1

1

1

0

1

1

1

1

1

В запросе В выполняем сначала операцию в скобках “(яблоки | груши)”, затем “(...)& сливы”.


(1)


яблоки

груши

сливы

яблоки | груши

(1) & сливы

0

0

0

0

0

0

0

1

0

0

0

1

0

1

0

0

1

1

1

1

1

0

0

1

0

1

0

1

1

1

1

1

0

1

0

1

1

1

1

1

В запросе Г также сначала выполняем операцию в скобках “сливы & груши”. Затем “сливы | (...)”.


(2)


яблоки

груши

сливы

сливы & груши

сливы | (2)

0

0

0

0

0

0

0

1

0

1

0

1

0

0

0

0

1

1

1

1

1

0

0

0

0

1

0

1

0

1

1

1

0

0

0

1

1

1

1

1

Мы привели все четыре таблицы по отдельности, чтобы понятнее было, как это делается по действиям. В действительности гораздо удобнее (и быстрее) строить одну общую таблицу сразу для всех четырёх запросов.


(1)


(2)


яблоки

груши

сливы

яблоки I груши

(1) | сливы

яблоки| сливы

(1) & сливы

сливы & груши

сливы | (2)

0

0

0

0

0

0

0

0

0

0

0

1

0

1

1

0

0

1

0

1

0

1

1

0

0

0

0

0

1

1

1

1

1

1

1

1

1

0

0

1

1

1

0

0

0

1

0

1

1

1

1

1

0

1

1

1

0

1

1

1

0

0

0

1

1

1

1

1

1

1

1

1





А

Б

В


Г

Подсчитываем количество единиц в каждом запросе:





А

Б

В


Г





7

6

3


4

Располагаем коды запросов в порядке убывания чисел (7-6-4-3).

Ответ: АБГВ.

Решение этой задачи устно, исходя из соображений больше страниц при логическом ИЛИ/меньше страниц при логическом И, чревато потенциальными ошибками. Потому что запросы В и Г достаточно сложны для устного решения.

Задача 3. Приведены запросы к поисковому серверу. Для каждого запроса указан его код — соответствующая буква от А до Г. Запишите в таблицу коды запросов слева направо в порядке возрастания количества страниц, которые нашёл поисковый сервер по каждому запросу. По всем запросам было найдено разное количество страниц.

Для обозначения логической операции ИЛИ в запросе используется символ “|”, а для логической операции И — символ “&”.

Код

Запрос

А

солнце & воздух

Б

солнце | воздух | вода

В

солнце | воздух | вода | огонь

Г

солнце | воздух

Решение

Построение диаграмм Эйлера-Венна в данном случае трудоёмко и не очень целесообразно. В запросах используется четыре различных слова. Диаграмма будет сложной. А запросы при этом даны простые.

Решим задачу построением таблицы истинности. В ней нужно строить 16 (= 24) строк.

По условию в каждом запросе встречается только одно действие. Они легко выполняются слева направо. Единственная неприятность — долго строить саму таблицу.


(1)

(2)


солнце

воздух

вода

огонь

солнце & воздух

солнце | воздух

(1) | вода

(2) | огонь

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

1

0

0

1

0

0

0

1

1

0

0

1

1

0

0

1

1

0

1

0

0

0

1

1

1

0

1

0

1

0

1

1

1

0

1

1

0

0

1

1

1

0

1

1

1

0

1

1

1

1

0

0

0

0

1

1

1

1

0

0

1

0

1

1

1

1

0

1

0

0

1

1

1

1

0

1

1

0

1

1

1

1

1

0

0

1

1

1

1

1

1

0

1

1

1

1

1

1

1

1

0

1

1

1

1

1

1

1

1

1

1

1

1





А

Г

Б

В

Количество единиц в запросе

4

12

14

15

Количество единиц в порядке возрастания: 4-12-14-15.

Ответ: АГБВ.

Заметим, что ввиду простоты запросов, используемых в приведённой задаче, тот же результат можно легко и быстро получить, исходя из тех соображений, что логическое ИЛИ увеличивает количество найденных страниц, а логическое И — уменьшает. Чем больше слов объединяет логическое ИЛИ, тем больше страниц будет найдено. Чем больше слов пересекает логическое И, тем меньше страниц будет найдено.

В данном случае, пересечение (логическое И) только в одном запросе. Это даст самое меньшее количество страниц. Остальные запросы нужно расположить в порядке увеличения количества объединяемых операцией логическое ИЛИ поисковых слов. То есть:

солнце & воздух

А

солнце воздух

Г

солнце воздух вода

Б

солнце | воздух вода | огонь

В

Ответ: АГБВ.