Инфознайка
Главная

Информация вокруг нас

Виды информации
Измерения информации
Алфавитный подход
Содержательный подход
Файловая система
Кодирование графики
Кодирование звука
Скорость передачи
Электронная таблица Excel
Графы
Система счисления
Кодирование информации
Логика
Адресация в Интернете
Поиск в Интернете
Алгоритмы
Кумир
Массивы

Тема: Составление запросов для поисковых систем

Коротко о главном

  • таблицы истинности логических операций «И», «ИЛИ», «НЕ»
  • если в выражении нет скобок, сначала выполняются все операции «НЕ», затем – «И», затем  – «ИЛИ»
  • логическое произведение ABC∙… равно 1 (выражение истинно) только тогда, когда все сомножители равны 1 (а в остальных случаях равно 0)
  • логическая сумма A+B+C+…равна 0 (выражение ложно) только тогда, когда все слагаемые равны 0 (в остальных случаях равна 1)
  •  правила преобразования логических выражений (законы алгебры логики):

Закон

Для И

Для ИЛИ

двойного отрицания

исключения третьего

исключения констант

A · 1 = A A · 0 = 0

A + 0 = A A + 1 = 1

повторения

A · A = A

A + A = A

поглощения

A · (A + B) = A

A + A · B = A

переместительный

A · B = B · A

A + B = B + A

сочетательный

A · (B · C) = (A · B) · C

A + (B + C) = (A + B) + C

распределительный

A + B · C = (A + B) · (A + C)

A · (B + C) = A · B + A · C

де Моргана

·        ввод какого-то слова (скажем, кергуду) в запросе поисковой системы означает, что пользователь ищет Web-страницы, на которых встречается это слово

·       операция «И» всегда ограничивает поиск, то есть, в ответ на запрос кергуду И бамбарбия поисковый сервер выдаст меньше страниц, чем на запрос кергуду, потому что будет искать страницы, на которых есть оба этих слова одновременно

·       операция «ИЛИ» всегда расширяет поиск, то есть, в ответ на запрос
кергуду ИЛИ бамбарбия поисковый сервер выдаст больше страниц, чем на запрос кергуду, потому что будет искать страницы, на которых есть хотя бы одно из этих слов (или оба одновременно)

·       если в запросе вводится фраза в кавычках, поисковый сервер ищет страницы, на которых есть в точности эта фраза, а не просто отдельные слова; взятие словосочетания в кавычки ограничивает поиск, то есть, в ответ на запрос "кергуду бамбарбия" поисковый сервер выдаст меньше страниц, чем на запрос кергуду бамбарбия, потому что будет искать только те страницы, на которых эти слова стоят одно за другим

 Пример задания:

В таблице приведены запросы к поисковому серверу. Расположите номера запросов в порядке возрастания количества страниц, которые найдет поисковый сервер по каждому запросу. Для обозначения логической операции «ИЛИ» в запросе используется символ |, а для логической операции «И» – &.

 

1)  принтеры & сканеры & продажа

2)  принтеры & продажа

3)  принтеры | продажа

4)  принтеры | сканеры | продажа

Решение (вариант 1, рассуждение с использованием свойств операций «И» и «ИЛИ»):

 

1)      меньше всего результатов выдаст запрос с наибольшими ограничениями первый (нужны одновременно принтеры, сканеры и продажа)

2)      на втором месте второй запрос (одновременно принтеры и продажа)

3)      далее – третий запрос (принтеры или продажа)

4)      четвертый запрос дает наибольшее количество результатов (принтеры или сканеры или продажа)

5)      таким образом, верный ответ – 1234 .

 

Возможные проблемы:

·    нужно внимательно читать условие, так как в некоторых задачах требуется перечислить запросы в порядке убывания количества результатов, а в некоторых – в порядке возрастания

·    можно ошибиться в непривычных значках: «И» = &, «ИЛИ» = | (эти обозначения привычны для тех, кто программирует на языке Си)

·    можно перепутать значение операций «И» и «ИЛИ», а также порядок выполнения цепочки операций (сначала – «И», потом – «ИЛИ»)

·    для сложных запросов не всегда удастся так просто расположить запросы по возрастанию (или убыванию) ограничений

Решение (вариант 2, через таблицы истинности):

 

1)      каждое из условий можно рассматривать как сложное высказывание

2)      обозначим  отдельные простые высказывания буквами:

A: принтеры        (на странице есть слово «принтеры»)

B: сканеры

C: продажа

3)      запишем все выражения-запросы через логические операции

Х1 = А×В×СХ2 = А×В  ,   Х3 = А+В  ,   Х4 = А+В+С

4)      здесь присутствуют три переменные: А, B и C (хотя второе и третье выражения от С не зависят!), поэтому для составления таблицы истинности нужно рассмотреть 8 = 23 всевозможных комбинаций этих логических значений

5)      выражение Х1 = А×В×С  равно 1 (истинно) только при А = В = С = 1 , в остальных случаях – равно 0 (ложно)

6)      выражение Х2 = А×В  равно 1 только при  А = В = 1 , в остальных случаях – равно 0

7)      выражение Х3 = А+В равно 0 только при А = В = 0 , в остальных случаях – равно 1

8)      выражение Х4 = А+В+С  равно 0 только при А = В = С = 0 , в остальных случаях –  1

9)      запишем результаты пп. 5-8 в виде таблицы истинности

A

B

C

0

0

0

0

0

0

0

0

0

1

0

0

0

1

0

1

0

0

0

1

1

0

1

1

0

0

1

1

1

0

0

0

0

1

1

1

0

1

0

0

1

1

1

1

0

0

1

1

1

1

1

1

1

1

1

1

 

10)   по таблице видим, что наименьшая «область действия» у первого выражения, поисковый сервер выдаст наименьшее число запросов

11)   область, где Х2 = 1 , включает в себя всю область, где Х1 = 1  и еще один вариант, поэтому «поисковик» выдаст больше запросов, чем для первого случая

12)   аналогично делаем вывод, что область Х3 = 1  включает всю область Х2 = 1  и расширяет ее, а область Х4 = 1  – это расширение области Х3 = 1

13)   таким образом, верный ответ – 1234 .

Возможные проблемы:

·    решение достаточно громоздко, хотя позволяет с помощью простых операций решить задачу, не рискуя ошибиться при вычислениях «в уме» в сложных случаях

·    если переменных более трех, таблица получается большая, хотя заполняется несложно

 Еще пример задания:

Некоторый сегмент сети Интернет состоит из 1000 сайтов. Поисковый сервер в автоматическом режиме составил таблицу ключевых слов для сайтов этого сегмента. Вот ее фрагмент:

Ключевое слово

Количество сайтов, для которых данное слово является ключевым

сканер

200

принтер

250

монитор

450

Сколько сайтов будет найдено по запросу

(принтер | сканер) & монитор

если по запросу  принтер | сканер было найдено 450 сайтов, по запросу принтер & монитор – 40, а по запросу сканер & монитор – 50.

Решение (вариант 1, рассуждение с использованием свойств операций «И» и «ИЛИ»):

1)      обратим внимание на такой факт (справа указано количество сайтов по каждому запросу)

сканер               200

принтер              250

принтер | сканер     450

поскольку последнее число равно сумме двух предыдущих, можно сразу же придти к выводу, что в этом сегменте сети нет сайтов, на которых ключевыми словами являются одновременно принтер и сканер:

принтер & сканер          0

2)      с этого момента все просто: для того, чтобы определить, сколько сайтов удовлетворяют заданному условию

достаточно просто сложить числа, соответствующие запросам принтер & монитор и
сканер & монитор

3)      таким образом, правильный ответ: 40 + 50 = 90.

Возможные проблемы:

·    обратите внимание, что в условии была лишняя информация: мы нигде не использовали количество сайтов в данном сегменте Интернета (1000) и количество сайтов с ключевым словом монитор (450)

·    не всегда удается «раскрутить» задачу в уме, здесь это несложно благодаря «удачному» условию

Решение (вариант 2, таблицы истинности):

1)      для сокращения записи обозначим через C, П, М высказывания «ключевое слово на сайте – сканер» (соответственно принтер, монитор)

2)      если рассматривать задачу с точки зрения математической логики, здесь есть три переменных, с помощью которых можно составить всего 8 запросов, выдающих различные результаты 

 

С

П

М

?

0

0

0

?

0

0

1

?

0

1

0

?

0

1

1

?

1

0

0

?

1

0

1

?

1

1

0

?

1

1

1

всего

200

250

450

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

4)      сумма в последней строчке получается в результате сложения всех чисел из тех строк первого столбца, где в данном столбце стоят единицы. Например, сумма в столбце С – складывается из четырех чисел в последних четырех строчках первого столбца. Мы пока не знаем, сколько результатов возвращает каждый из восьми запросов отдельно, поэтому в первом столбце стоят знаки вопроса

5)      добавим в таблицу истинности остальные запросы, которые есть в условии, в том числе и тот, который нас интересует:

П | С = принтер | сканер       450

П & М = принтер & монитор      40

C & М = сканер & монитор       50

(П | C) & М = (принтер | сканер) & монитор     ?

 

С

П

М

П | С

П & М

C & М

(П | C) & М

?

0

0

0

0

 

 

 

?

0

0

1

0

 

 

 

?

0

1

0

1

 

 

 

?

0

1

1

1

 

 

 

?

1

0

0

1

 

 

 

?

1

0

1

1

 

 

 

0

1

1

0

1

 

 

 

0

1

1

1

1

 

 

 

всего

200

250

450

450

 

 

 

6)      проанализируем столбец П | С в этой таблице: его сумма (450) складывается из суммы столбцов С (200) и П (250) – выделены ярким зеленым цветом – плюс последние две строчки (голубой фон), то есть, 450 = 200 + 250 + X, откуда сразу получаем, что X = 0, то есть, последним двум строчкам (запросам) не удовлетворяет ни одного сайта

7)      теперь составим таблицы истинности для остальных запросов, отбросив заведомо «нулевые» варианты:

 

С

П

М

П | С

П & М

C & М

(П | C) & М

?

0

0

0

0

0

0

0

?

0

0

1

0

0

0

0

?

0

1

0

1

0

0

0

40

0

1

1

1

1

0

1

?

1

0

0

1

0

0

0

50

1

0

1

1

0

1

1

всего

200

250

450

450

40

50

90

из оставшихся шести строк таблицы запросы П | М и С | М затрагивают только по одной строчке, поэтому сразу можем вписать соответствующие числа в первый столбец; в последнем запросе, который нас интересует, присутствуют именно эти две строки, то есть, для получения нужно сложить 40 и 50

8)      таким образом, правильный ответ: 40 + 50 = 90.

 

Решение (вариант 3, через диаграммы):

 

1)      для сокращения записи обозначим через C, П, М высказывания «ключевое слово на сайте – сканер» (соответственно принтер, монитор) и нарисуем эти области виде диаграммы (кругов Эйлера); интересующему нас запросу (П | C) & M соответствует объединение областей 4, 5 и 6 («зеленая зона» на рисунке)

2)      количество сайтов, удовлетворяющих запросу в области i, будем обозначать через Ni

3)      составляем уравнения, которые определяют запросы, заданные в условии:

сканер               N1 + N2 + N4 + N5 = 200

принтер              N2 + N3 + N5 + N6 = 250

принтер | сканер          N1 + N2 + N4 + N5 + N3 + N6 = 450

из первого и третьего уравнений сразу следует

200 + N3 + N6 = 450   Þ   N3 + N6 = 250

далее из второго уравнения

N2 + N5 + 250 = 250   Þ   N2 + N5 = 0

поскольку количество сайтов не может быть отрицательной величиной, N2 = N5 = 0

4)      посмотрим, что еще мы знаем (учитываем, что N5 = 0):

принтер & монитор    N5 + N6 = 40    Þ   N6 = 40

сканер & монитор          N4 + N5 = 50    Þ   N4 = 50

5)      окончательный результат:

(принтер | сканер) & монитор   N4 + N5 + N6 = N4 + N6 = 40 + 50 = 90

6)      таким образом, правильный ответ 90.

Возможные проблемы:

·    внимательнее с индексами переменных, очень легко по невнимательности написать N5 вместо N6 и получить совершенно другой результат

·    этот метод ярко демонстрирует, что в общем случае мы получаем систему уравнения с семью неизвестными (или даже с восемью, если задействована еще и область вне всех кругов); решать такую систему вручную достаточно сложно, поэтому на экзамене всегда будет какое-то условие, сильно упрощающее дело, ищите его

 

Проверочные задания

  1. В таблице приведены запросы к поисковому серверу. Расположите обозначения запросов в порядке возрастания количества страниц, которые найдет поисковый сервер по каждому запросу.

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

    А

    Литература & Экзамен

    Б

    Литература | Экзамен | Билеты

    В

    Литература | Билеты

    Г

    Литература & Экзамен & Билеты

      АБВГ
      БВАГ
      ВГБА
      ГАВБ

     

  2. В таблице приведены запросы к поисковому серверу. Расположите обозначения запросов в порядке возрастания количества страниц, которые найдет поисковый сервер по каждому запросу.

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

    А

    Пушкин

    Б

    Пушкин & Лермонтов & Жуковский

    В

    Пушкин & Лермонтов

    Г

    Пушкин |  Лермонтов

    АБВГ
    БВАГ
    ВГАБ
    ГАВБ

  3. В таблице приведены запросы к поисковому серверу. Расположите обозначения запросов в порядке возрастания количества страниц, которые найдет поисковый сервер по каждому запросу.

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

    1

    Франция | Испания | История

    2

    Франция & Карта & История

    3

    Франция | История

    4

    Франция & История

    1234
    2341
    2431
    3412

  4. В таблице приведены запросы к поисковому серверу. Расположите обозначения запросов в порядке возрастания количества страниц, которые найдет поисковый сервер по каждому запросу.

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

    А  

    Лермонтов

    Б

    Лермонтов & Пушкин

    В

    Лермонтов |  Пушкин

    Г

    Лермонтов |  Пушкин | Баратынский

    АБВГ
    ВБГА
    ГАВБ
    БАВГ

      

  5. Некоторый сегмент сети Интернет состоит из 1000 сайтов. Поисковый сервер в автоматическом режиме составил таблицу ключевых слов для сайтов этого сегмента. Вот ее фрагмент:

    Ключевое слово

    Количество сайтов, для которых данное слово является ключевым

    сомики

    250

    меченосцы

    200

    гуппи

    500

    Сколько сайтов будет найдено по запросу

    сомики | меченосцы | гуппи

    если по запросу  сомики & гуппи было найдено 0 сайтов, по запросу
    сомики & меченосцы – 20, а по запросу меченосцы & гуппи – 10.

    920
    950
     980
    1000