Множества и логика.

Информатика. Учебник для 9 класса (по учебнику К. Ю. Полякова, Е.А. Еремина, базовый уровень) 

§12. Множества и логика.


Множества

Ключевые слова:

• множество	
• дополнение	
• пересечение	
• объединение
• диаграмма Эйлера-Венна
• поисковый запрос

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

Чтобы определить множество, мы можем перечислить все его элементы. Например, множество, состоящее из Васи, Пети и Коли, можно записать так: {Вася, Петя, Коля}.

Запишите в виде перечисления элементов:

а) множество натуральных чисел на отрезке [-5; 5];
б) множество чётных однозначных чисел;
в) множество целых чисел, делящихся на 4, на отрезке [0; 22];
г) множество простых чисел на отрезке [5; 20].

Можно задать множество иначе: определить условие {логическое выражение), которое должно быть истинным для всех элементов множества и ложным для всех элементов, не входящих во множество. Например, можно ввести множество драконов с пятью зелёными хвостами или множество чисел, делящихся на 11.

Запишите (словами или в символьном виде) условие, которое определяет множество:

а) {1, 3, 5, 7, 9};
б) {5, 6, 7};
в) {а, е, ё, и, о, у, ы, э, ю, я};
г) {17, 34, 51, 68, 85};
д) {00, 01, 10, 11};
е) {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А, В, С};
ж) отрезок [0; 1].

Хотя множество — это математическое понятие, с множествами мы имеем дело каждый раз, когда обращаемся к поисковой системе в Интернете: ведь нас интересует множество страниц, на которых есть нужная нам информация. Задать такое множество перечислением элементов невозможно: во-первых, мы не знаем адресов этих страниц; во-вторых, их очень много. Поэтому для того, чтобы задать нужное нам множество, требуется написать поисковый запрос — логическое выражение, которое его определяет.

Диаграммы Эйлера-Венна

Множества удобно изображать графически, в виде диаграмм. Их называют диаграммами Эйлера—Венна в честь авторов этой идеи — математика Леонарда Эйлера и логика Джона Венна. На такой диаграмме каждому множеству соответствует какая-то область (круг, прямоугольник и др.) — рис. 2.34. Все элементы внутри этой области принадлежат множеству, все элементы вне области — не принадлежат.

Множества и логика.

Рис. 2.34

Вы уже знаете, что множество можно задать условием (логическим выражением), которое выполняется для всех элементов множества и не выполняется для всех элементов, не входящих в него. Дальше для сокращения записи мы будем вместо слов «множество, для которого выполняется условие А» писать просто «множество А». Тогда множество «НЕ А» на диаграмме — это все точки за границами круга (рис. 2.35).

Множества и логика.

Рис. 2.35

Такое множество называется дополнением множества А до универсального множества U, включающего все элементы некоторого класса. Например, если мы рассматриваем только целые числа и А — это множество чётных целых чисел, то А — множество нечётных целых чисел.

Можно считать, что дополнение А — это «разность» между универсальным множеством U и множеством А, т. е. все элементы из U, которые не входят в А.

Для каждого из следующих множеств выберите универсальное множество и запишите дополнение А:

а) А = {1, 3, 5, 7, 9};
б) А = {а, е, ё, и, о, у, ы, э, ю, я};
в) А = {17, 34, 51, 68, 85};
г) А = {00, 10};
д) А = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А, В, С};
е) А = отрезок [0; 1].

На диаграмме можно изображать несколько множеств, каждому из них соответствует своя область (круг). Круги на диаграмме могут пересекаться. Элементы, расположенные в общей части кругов А и В, — это пересечение множеств А и В. Для этих элементов выполняется как условие А, так и условие В, т. е. выполняется условие А и В (А • В) — рис. 2.36.

Множества и логика.

Рис. 2.36

Если круги не пересекаются (множества не содержат общих элементов), их пересечение — это пустое множество ?.

Для пары множеств определите пересечение А • В:

а) А = {1, 3, 5, 7, 9}, В = {1, 5, 6, 9, 12};
б) А = {а, б, в, г, д, е, ё, ж}, В = {а, е, ё, и, о, у, ы, э, ю, я};
в) А = {17, 34, 51, 68, 85}, В = {17, 34, 51, 68, 85};
г) А = {00, 10}, В = {01, 11};
д) А = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А, В, С}, В = {А, В, С, D, Е, F, G, Н};
е) А = [5; 15], В = [10; 20];
ж) А = [5; 15], В = [0; 20];
з) А = [5; 15], В = [10; 12];
и) А = [5; 15], В = [20; 30].

Элементы, входящие хотя бы в одно из множеств: в А или в В, образуют новое множество, которое называется объединением множеств А и В. Для всех элементов этого множества выполняется условие А или В (А + В) — рис. 2.37.

Множества и логика.

Рис. 2.37

Для пары множеств определите объединение А + В:

а) А = {1, 3, 5, 7, 9}, В = {1, 5, 6, 9, 12};
б) А = {а, б, в, г, д, е, ё, ж }, В = {а, е, ё, и, о, у, ы, э, ю, я};
в) А = {17, 34, 51, 68, 85}, В = {17, 34, 51, 68, 85};
г) А = {00, 10}, В = {01, 11};
д) А = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А, В, С}, В = {А, В, С, D, Е, F, G, И};
е) А = [5; 15], В = [10; 20];
ж) А = [5; 15], В = [0; 20];
з) А = [5; 15], В = [10; 12];
и) А = [5; 15], В = [20; 30].

Подобные диаграммы можно нарисовать для любого логического выражения, ведь каждое из них определяет некоторое множество. Например, возьмём выражение А + В. Оно равно 0 только при А = 1 и В = 0, поэтому на диаграмме незакрашенной останется только область, которая входит в круг А и не входит в круг В (рис. 2.38).

Множества и логика.

Рис. 2.38

В тетради постройте диаграммы для логических выражений:

а) А + B;
б) А • B + А • В;
в) А • B + А • B.

Диаграмма для трёх переменных содержит три круга, каждый из которых (в общем случае) пересекается с двумя другими (рис. 2.39).

Множества и логика.

Рис. 2.39

Для удобства на рис. 2.39 области пронумерованы. Запишем, для примера, логическое выражение для области 3. Эта область находится внутри кругов А и B (следовательно, выражения А и B истинны), но вне круга С, поэтому выражение С ложно. Получается условие А и B и (не С), или, в других обозначениях, А • B • C.

Запишите в тетради логические выражения для остальных областей на рис. 2.39.

Для того чтобы найти выражение для объединения двух или нескольких областей, надо сложить (используя логическое сложение — операцию ИЛИ) выражения для всех составляющих. Например, выражение для объединения областей 3 и 4 на рис. 2.39 имеет вид:

3 + 4:А • В • C + А • В • C.

Вместе с тем точки в этих областях отличаются от других тем, что они входят в область Б и не входят в область С. Поэтому справедлива более простая формула:

3 + 4: B • C.

Это означает, что логические выражения в некоторых случаях можно упростить.

Количество элементов во множестве

Предположим, что множество А содержит 10 элементов, множество B — 15 элементов, а их пересечение (множество А • B) — два элемента. Как определить, сколько элементов содержится во множестве А + В?

Попробуем рассмотреть задачу в общем виде и вывести формулу для её решения. Обозначим через Nx число элементов в области X. Далее операцию И будет обозначать символом &, а операцию ИЛИ — символом | (именно эти символы используются в поисковых запросах в Интернете).

Построим диаграмму с двумя областями — А и В. Эти области могут быть разделены (рис. 2.40, а) или пересекаться (рис. 2.40, б).

Множества и логика.

Рис. 2.40

В первом случае (рис. 2.40, а), когда области не пересекаются, получаем очевидную формулу:

NA|B = NA + NB.

Во втором случае (рис. 2.40, б) в сумму NA + NB общие элементы (элементы множества NA&B) входят дважды. Поэтому, чтобы получить количество элементов в объединении множеств, нужно из этой суммы вычесть число общих элементов:

NA|В = NA + NB — NA&B.               (*)

Эта формула, которую называют формулой включений и исключений, справедлива и для рис. 2.40, а, где NA&B = 0.

Используя формулу (*), постройте выражения для вычисления NA и NA&B

Рыбаки в посёлке ловят только лещей и судаков. 25 рыбаков ловят лещей, 12 рыбаков — судаков, причём 5 рыбаков ловят и лещей, и судаков. Сколько всего рыбаков в посёлке? Выполните формализацию задачи и решите её.

У дяди Вани живёт 30 животных: овцы и кролики. Все кролики белые, а у овец разный цвет шерсти. Известно, что у дяди Вани живёт 18 овец и 25 животных с белой шерстью. Сколько белых овец у дяди Вани? Выполните формализацию задачи и решите её.

В физико-математическом классе 27 учеников. Среди них нет таких, которые не программируют и не ходят в турпоходы. Известно, что 20 человек ходят в турпоходы, среди них 5 программистов. Сколько в классе программистов? Выполните формализацию задачи и решите её.

Сложные запросы в поисковых системах

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

Задача 1. Известно количество страниц, которые находит поисковый сервер по следующим запросам (здесь символ «&» обозначает операцию И, а «|» — операцию ИЛИ):

собаки | кошки 770

кошки 550

собаки & кошки 100

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

Введём два множества: А — множество страниц, где есть слово «собаки», В — множество страниц со словом «кошки». По формуле, которая получена в предыдущем пункте, получаем:

NA = NA|B — NB + NA&B = 770 — 550 + 100 = 320.

Известно количество страниц, которые находит поисковый сервер по следующим запросам:

незабудка 220

лилия & незабудка 100

лилия | незабудка 450

Сколько страниц найдёт этот сервер по запросу лилия?

Известно количество страниц, которые находит поисковый сервер по следующим запросам:

енот 200

кашалот 300

кашалот | енот 450

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

кашалот & енот?

Известно количество страниц, которые находит поисковый сервер по следующим запросам:

Италия 320

Франция 450

Франция & Италия 80

Сколько страниц найдёт этот сервер по запросу

Франция | Италия?

Рассмотрим теперь более сложную задачу с тремя областями.

Задача 2. Известно количество страниц, которые находит поисковый сервер по следующим запросам:

собаки & лемуры 320

кошки & лемуры 280

(кошки | собаки) & лемуры 430

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

кошки & собаки & лемуры?

Заметим, что во всех запросах есть часть & лемуры. Это означает, что область поиска во всех случаях ограничена страницами, на которых встречается слово «лемуры».

Обозначим буквами С, К и Л области (группы страниц), содержащие ключевые слова «собаки», «кошки» и «лемуры» соответственно. Нас интересует только область, выделенная фоном на рис. 2.41, а.

Множества и логика.

Рис. 2.41

Эта область образована в результате пересечения двух областей (рис. 2.41, б):

А = собаки & лемуры

В = кошки & лемуры

Поэтому задачу можно свести к задаче с двумя областями.

Известно количество страниц, которые находит поисковый сервер по следующим запросам:

А 320

В 280

А | В 430

Сколько страниц будет выдано по запросу А & В?

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

NА&B = NА + NB — NA|B = 320 + 280 — 430 = 170.

Известно количество страниц, которые находит поисковый сервер по следующим запросам:

берёза & сирень 220

берёза & сирень & арбуз 30

сирень & (берёза | арбуз) 340

Сколько страниц найдёт этот сервер по запросу

арбуз & сирень?

Известно количество страниц, которые находит поисковый сервер по следующим запросам:

яхта & диван 270

диван & пирог 350

яхта & диван & пирог 80

Сколько страниц найдёт этот сервер по запросу

(пирог | яхта) & диван?

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

Если два множества не имеют общих элементов, что можно сказать об их изображении на диаграмме Эйлера-Венна?

Задача 3. Известно количество страниц, которые находит поисковый сервер по следующим запросам:

собаки 200

кошки 250

лемуры 450

кошки | собаки 450

кошки & лемуры 40

собаки & лемуры 50

Сколько страниц найдёт этот сервер по запросу

(кошки | собаки) & лемуры?

Здесь часть & лемуры встречается не во всех запросах, поэтому свести задачу к задаче с двумя областями не удаётся. Используя те же обозначения, что и в задаче 2, построим диаграмму с тремя переменными и выделим интересующую область, которая соответствует запросу (кошки I собаки) & лемуры.

На рисунке 2.42 эта область выделена фоном.

Множества и логика.

Рис. 2.42

В общем виде задача с тремя областями очень сложна. Попробуем найти какое-нибудь упрощающее условие. Например, выделим три условия:

собаки 200

кошки 250

кошки | собаки 450

Это означает, что область кошки | собаки равна сумме областей кошки и собаки, т. е. эти области не пересекаются! Таким образом, в нашем случае диаграмма выглядит так (рис. 2.43).

Множества и логика.

Рис. 2.43

Размеры областей 1 (собаки & лемуры) и 2 (кошки & лемуры) нам известны, они составляют соответственно 40 и 50 страниц, поэтому по запросу

(кошки | собаки) & лемуры

поисковый сервер найдёт 40 + 50 = 90 страниц.

Известно количество страниц, которые находит поисковый сервер по следующим запросам:

солнце 230

крабы 220

лето 100

крабы | солнце 450

крабы & лето 60

солнце & лето 20

Сколько страниц найдёт этот сервер по запросу

крабы | солнце | лето?

Выводы

• Множество — это набор неповторяющихся элементов.
• Множество может состоять из конечного числа элементов, бесконечного числа элементов или быть пустым. Множества, с которыми работает компьютер, не могут быть бесконечными, потому что его память конечна.
• Чтобы определить множество, можно перечислить все его элементы или задать условие, которое определяет элементы множества. Для всех элементов множества это условие должно быть истинным, для элементов, не входящих во множество, — ложным.
• Дополнение множества А до универсального множества U, включающего все элементы некоторого класса, — это все элементы из U, которые не входят в А.
• Пересечение двух множеств — это множество, составленное из элементов, входящих в оба исходных множества.
• Объединение двух множеств — это множество, составленное из элементов, которые входят хотя бы в одно из этих множеств.
• Для наглядного изображения множеств используют диаграммы Эйлера-Венна, на которых каждое множество обозначается кругом или другой фигурой.
• На диаграмме Эйлера-Венна дополнение множества А — это все точки за пределами области А; пересечение множеств А и В — это общая часть областей А и В, а объединение множеств А и В — это все точки, входящие в область А или в область В.
• Количество элементов в объединении двух множеств вычисляется по формуле включений и исключений:

NA|B = NA + NB — NA&B,

где NA и NB — число элементов соответственно в множествах А и В, a NA&B — число их общих элементов.

Нарисуйте в тетради интеллект-карту этого параграфа.


Оглавление

§11. Логические выражения.

§12. Множества и логика.

§13. Модели и моделирование.