Методическое пособие по курсу

advertisement
Теория множеств
Определение:
Множество A – совокупность элементов, объединённых каким-нибудь
общим свойством.
Введём следующие обозначения. Множества будем обозначать заглавными
буквами латинского алфавита A, B,... или с подстрочным индексом A1 , A2 ,... ,
элементы множества будем обозначать строчными буквами латинского
алфавита a, b,... или с подстрочным индексом a1 , a2 ,... . Принадлежность
элемента x множеству A будем обозначать x ∈ A , если элемент не
принадлежит множеству, тогда вводится обозначение x ∉ A . Пустое
множество будем обозначать ∅ .
Определения:
1. B является подмножеством множества A , то есть B ⊆ A ⇔
x ∈ B ⇒ x ∈ A , то есть каждый элемент x ∈ B обладает свойством x ∈ A .
2. ∀A ∅ ⊆ A , то есть ∅ является подмножеством любого множества.
3. Множества A и B равны, то есть A = B , ⇔ A ⊆ B и B ⊆ A .
4. B является строгим подмножеством множества A , будем обозначать
это B ⊂ A , ⇔ B ⊆ A и B ≠ A .
5. B является собственным подмножеством множества A ⇔ B ⊂ A и
B≠∅.
Определим операции над множествами:
• Объединение множеств A и B : A ∪ B = { x | x ∈ A ∨ x ∈ B} ,
• Пересечение множеств A и B : A ∩ B = { x | x ∈ A & x ∈ B} ,
• Разность множеств A и B : A \ B = { x | x ∈ A & x ∉ B} ,
• Симметрическая разность A и B : A ∆ B = ( A \ B ) ∪ ( B \ A) ,
• Дополнение множества A относительно U , где A ⊆ U : A = U \ A .
Из определения операций над множествами можно получить следующие
свойства:
1. x ∉ A ∪ B ⇔ x ∉ A и x ∉ B ,
2. x ∉ A ∩ B ⇔ x ∉ A или x ∉ B ,
3. x ∉ A \ B ⇔ x ∉ A или x ∈ B .
Задача 1:
Доказать равенство A ∪ B = A ∪ ( B \ A)
Доказательство:
По определению, доказательство равенства эквивалентно доказательству
двух утверждений:
1. A ∪ B ⊆ A ∪ ( B \ A) ,
2. A ∪ B ⊇ A ∪ ( B \ A) .
Докажем первое утверждение:
Пусть x ∈ A ∪ B , тогда x ∈ A или x ∈ B . Рассмотрим два случая: x ∈ A и x ∉ A .
Пусть x ∈ A , тогда для любого множества C имеет место x ∈ A ∪ C , в
качестве множества C возьмём множество B \ A , тогда x ∈ A ∪ ( B \ A) .
Пусть x ∉ A , тогда x ∈ B , то есть можно записать, что x ∈ B \ A , тогда
x ∈ A ∪ ( B \ A) .
Докажем второе утверждение:
Пусть x ∈ A ∪ ( B \ A) , тогда x ∈ A или x ∈ B \ A . Рассмотрим два случая: x ∈ A
и x∉ A.
Пусть x ∈ A , тогда x ∈ A ∪ B .
Пусть x ∉ A , тогда x ∈ B \ A , то по определению разности множеств x ∈ B и
x ∉ A , следовательно x ∈ A ∪ B .
Задача 2:
Доказать утверждение A ⊆ B ∩ C ⇔ A ⊆ B и A ⊆ C .
Доказательство:
Для доказательства этого утверждения нужно доказать два следующих
следствия:
1. A ⊆ B ∩ C ⇒ A ⊆ B и A ⊆ C ,
2. A ⊆ B ∩ C ⇐ A ⊆ B и A ⊆ C .
Докажем первое следствие:
Доказательство состоит в том, что нужно доказать одновременную
принадлежность элемента x ∈ A множествам B и C . Пусть x ∈ A , тогда в
силу A ⊆ B ∩ C , следует, что x ∈ B и x ∈ C .
Докажем второе следствие:
Пусть x ∈ A , тогда в силу A ⊆ B и A ⊆ C , следует, что x ∈ B и x ∈ C , по
определению операции пересечения x ∈ B ∩ C .
Задача 3:
Существуют ли такие множества A , B , C , что A ∩ B ≠ ∅ , A ∩ C = ∅ ,
( A ∩ B) \ C = ∅ .
Решение:
Будем считать, что такие множества существуют. Тогда ∃x ∈ A ∩ B в силу
того, что A ∩ B ≠ ∅ , по определению операции пересечения x ∈ A и x ∈ B . Так
как x ∈ A и A ∩ C = ∅ , тогда x ∉ C . Так как x ∈ A , x ∈ B и x ∉ C , следовательно
x ∈ ( A ∩ B ) \ C , тогда возникает противоречие с равенством ( A ∩ B ) \ C = ∅ .
Следовательно ¬ ∃x ∈ A ∩ B , поэтому множеств удовлетворяющих условию
задачи не существует.
Задача 4:
Доказать равенство A ∩ B = A ∪ B .
Доказательство:
По определению, доказательство равенства эквивалентно доказательству
двух утверждений:
1. A ∩ B ⊆ A ∪ B ,
2. A ∩ B ⊇ A ∪ B .
Докажем первое утверждение:
Пусть x ∈ A ∩ B ⇒ x ∈ U \ ( A ∩ B ) ⇒ x ∈U и x ∉ A ∩ B ⇒ x ∈ U & x ∉ A или
x ∈ U & x ∉ B . Если x ∈ U & x ∉ A , тогда x ∈ A и следовательно x ∈ A ∪ B . Если
x ∈ U & x ∉ B , тогда x ∈ B и следовательно x ∈ A ∪ B .
Докажем второе утверждение:
Пусть x ∈ A ∪ B , тогда по определению операции объединения x ∈ A или
x ∈ B . Если x ∈ A , тогда x ∈U \ A , следовательно x ∈U и x ∉ A , если элемент не
принадлежит какому-либо множеству C , то он не будет принадлежать и
пересечению данного множества C с любым другим множеством, то есть
x ∉ A ⇒ x ∉ A ∩ B , из этого следует x ∈ U \ ( A ∩ B ) , то x ∈ A ∩ B . Аналогично
проводится доказательство для случая x ∈ B .
Задача 5:
Доказать равенство A \ ( A \ B ) = A ∩ B .
Доказательство:
Для доказательства будем использовать эквивалентные преобразования:
x ∈ A \ ( A \ B) ⇔ x ∈ A & x ∉ A \ B ⇔ x ∈ A &
x∈ A∩ B .
(x∉ A
∨ x ∈ B) ⇔ x ∈ A & x ∈ B ⇔
Задачи для самостоятельного решения
1. Доказать A ∪ ( B ∩ C ) = ( A ∪ B ) ∩ ( A ∪ C ) ,
2. Доказать A ∩ ( B ∪ C ) = ( A ∩ B ) ∪ ( A ∩ C ) ,
3. Доказать A ∪ B = A ∩ B ,
4. Верны ли утверждения:
a ∈ b, b ∈ c ⇒ a ∈ c ,
a ⊆ b, b ⊆ c ⇒ a ⊆ c ,
a ∈ b, b ⊆ c ⇒ a ⊆ c ?
Декартово произведение множеств
Определения:
1. Мощность множества A – это число его элементов A .
2. Мощность множеств всех подмножеств множества A равна P ( A ) = 2 A .
3. Декартово произведение множеств A и B – есть множество вида
A× B =
{ x, y
}
x ∈ A& x ∈ B .
4. Мощность декартова произведения множеств A и B равна A × B = A B .
Задача 6
Пусть A = {1, 2,3} и B = {a, b} . Найти декартовы произведения A × B и
B × A . Найти мощности этих декартовых произведений.
Решение:
По определению декартова произведения:
A × B = { 1, a , 1, b , 2, a , 2, b , 3, a , 3, b } ,
B × A = { a,1 , b,1 , a, 2 , b, 2 , a,3 , b, 3 } .
Очевидно, что A × B ≠ B × A . Мощности полученных декартовых произведений
A× B = B × A = A B = 3⋅ 2 = 6 .
Задача 7
Доказать равенство ( A ∪ B ) × C = ( A × C ) ∪ ( B × C ) .
Доказательство:
Для доказательства равенства докажем два утверждения:
1. ( A ∪ B ) × C ⊆ ( A × C ) ∪ ( B × C ) ,
2. ( A ∪ B ) × C ⊇ ( A × C ) ∪ ( B × C ) .
Докажем первое утверждение:
Пусть x, y ∈ ( A ∪ B ) × C , тогда x ∈ A ∪ B и y ∈ C . Если x ∈ A и y ∈ C , тогда
x, y ∈ A × C , следовательно x, y ∈ ( A × C ) ∪ ( B × C ) . Если x ∉ A , то x ∈ B и y ∈ C ,
тогда x, y ∈ B × C , следовательно x, y ∈ ( A × C ) ∪ ( B × C ) .
Докажем второе утверждение:
Пусть x, y ∈ ( A × C ) ∪ ( B × C ) , тогда
x, y ∈ A × C , тогда x ∈ A и
x, y ∈ A × C или
x, y ∈ B × C . Если
y ∈ C , следовательно x ∈ A ∪ B и
y ∈ C , тогда
x, y ∈ ( A ∪ B ) × C . Аналогично доказывается для случая x, y ∈ B × C .
Задача 8
Доказать
( A × B ) ∪ ( C × D ) ⊆ ( A ∪ C ) × ( B ∪ D ) , при каких
получается равенство?
Доказательство:
x, y ∈ ( A × B ) ∪ ( C × D ) ,
Пусть
тогда
x, y ∈ A × B
или
A, B, C , D ≠ ∅
x, y ∈ C × D ,
( x ∈ A ∨ x ∈ C ) & ( y ∈ B ∨ y ∈ D ) , из этого условия следует, что
y ∈ B ∪ D , тогда x, y ∈ ( A ∪ C ) × ( B ∪ D ) .
x∈ A∪C
то
и
Попробуем
сделать доказательство в обратную сторону. Пусть
x, y ∈ ( A ∪ C ) × ( B ∪ D ) , тогда x ∈ A ∪ C и y ∈ B ∪ D , из этого следует, что
( x ∈ A ∨ x ∈ C ) & ( y ∈ B ∨ y ∈ D ) , тогда следует рассмотреть четыре варианта:
1. x ∈ A и y ∈ B , тогда x, y ∈ A × B , следовательно x, y ∈ ( A × B ) ∪ ( C × D ) ,
2. x ∈ C и y ∈ D , тогда x, y ∈ C × D , следовательно x, y ∈ ( A × B ) ∪ ( C × D ) ,
3. x ∈ A и y ∈ D , тогда x, y ∈ A × D ,
4. x ∈ C и y ∈ B , тогда x, y ∈ C × B .
Тогда возникают дополнительные условия: D ⊆ B и C ⊆ A или B ⊆ D и A ⊆ C .
Задачи для самостоятельного решения
1. Пусть A = [ −1;1] и B = [ −1; 2] – отрезки прямых. Построить A × B .
2. Доказать A ⊆ B и C ⊆ D ⇔ A × C ⊆ B × D .
3. Доказать ( A \ B ) × C = ( A × C ) \ ( B × C ) .
4. Пусть A, B ≠ ∅ и ( A × B ) ∪ ( B × A ) = ( C × D ) . Доказать, что A = B = C = D .
Бинарные отношения, функции, порядок.
Определения:
1. Бинарное отношение между элементами множеств A и B называется
любое подмножество декартова произведения R ⊆ A × B .
2. Если A = B , то R – бинарное отношение на A .
3. Обозначение x, y ∈ R ⇔ xRy .
4.
Область определения бинарного отношения R есть множество
δ R = { x ∃y : x, y ∈ R} .
5.
Область
6.
Дополнение бинарного отношения R между элементами A и B есть
множество − R = ( A × B ) \ R .
7.
Обратное
значений
ρ R = { y ∃x : x, y ∈ R} .
R −1 =
8.
отношение
{ y, x
для
отношения
бинарного
R
есть
множество
отношения
R
есть
}
x, y ∈ R .
Произведение отношений R1 ⊆ A × B и R2 ⊆ B × C есть отношение
R1 ⋅ R2 =
9.
бинарного
{ x, y
}
∃z ∈ B : x, z ∈ R1 & z , y ∈ R2 .
Отношение f называется функцией из A в B , если
• δf = A и ρf ⊆ B,
• ∀x, y, z x, y ∈ f и x, z ∈ f ⇒ y = z .
10. Отношение f называется функцией из A на B , если
• δf = A и ρf = B,
• ∀x, y, z x, y ∈ f и x, z ∈ f ⇒ y = z .
11. Если f – функция, то x, y ∈ f обозначают y = f ( x ) .
12. Тождественная функция iA : A → A определяется iA ( x ) = x .
13. Функция
f
называется 1-1-функцией, если ∀x1 , x2 , y
y = f ( x1 )
и
y = f ( x2 ) ⇒ x1 = x2 .
14. Функция
HA
f : A 
→B
осуществляет
взаимно
однозначное
соответствие между множествами A и B , если δ f = A , ρ f = B и f
является 1-1-функцией.
15. Множества A1 , A2 ,..., Ar из P ( A) образуют разбиение множества A ,
если:
• Ai ≠ ∅, ∀i = 1, r ,
•
A = A1 ∪ A1 ∪ ... ∪ Ar ,
•
Ai ∩ A j ≠ ∅, ∀i ≠ j ,
Ai – блоки разбиения.
16. Бинарное отношение R на множестве A может иметь следующие
свойства:
• рефлексивность ∀x ∈ A x, x ∈ R ,
• иррефлексивность ∀x ∈ A x, x ∉ R ,
• симметричность ∀x, y ∈ A x, y ∈ R ⇒ y, x ∈ R ,
• антисимметричность ∀x, y x, y ∈ R и y, x ∈ R ⇒ x = y ,
• транзитивность ∀x, y, z x, y ∈ R и y, z ∈ R ⇒ x, z ∈ R ,
• дихотомия ∀x ≠ y либо x, y ∈ R , либо y, x ∈ R .
17. Эквивалентность на множестве A – это рефлексивное, симметричное
и транзитивное отношение на A .
18. Класс эквивалентности элемента x по эквивалентности R есть
множество [ x ]R = { y x, y ∈ R} .
19. Фактор множество A по R есть множество классов эквивалентности
элементов множества A и обозначается A / R .
20. Свойства классов эквивалентности:
• классы эквивалентности образуют разбиение множества A ,
• любому разбиению множества A соответствует отношение
эквивалентности, классы эквивалентности которого совпадают с
блоками указанного разбиения,
• ∀x ∈ A попадает в некоторый класс эквивалентности из A / R ,
• классы эквивалентности либо не пересекаются, либо совпадают.
21. Предпорядок на множестве A – это рефлексивное и транзитивное
отношение на A .
22. Частичный порядок на множестве A – это рефлексивное,
транзитивное и антисимметричное отношение на множестве A .
23. Линейный порядок на множестве A – это рефлексивное,
транзитивное и антисимметричное отношение на множестве A ,
удовлетворяющее условию дихотомии.
24. Пусть ≤ – отношение порядка на множестве A , тогда:
• минимальный элемент x множества A – это элемент для
которого ¬ ∃y y < x ,
• максимальный элемент x множества A – это элемент для
которого ¬ ∃y x < y ,
• наименьший элемент x множества A – это элемент для которого
∀y x ≤ y ,
• наибольший элемент x множества A – это элемент для которого
∀y y ≤ x .
25. Если между множеством A и множеством натуральных чисел N
можно установить взаимно однозначное соответствие, то множество
A – счётное множество.
Задача 9
Пусть
A = {1, 2,3}
R = { 1, a , 1, b , 2, b } .
и
B = {a, b} ,
Будет ли
R
бинарное
отношение
определим
функцией? Как изменить бинарное
отношение R , чтобы R стала функцией?
Решение:
Рассмотрим первый пункт определения функции
δ R = {1, 2} ≠ {1, 2,3} = A ,
следовательно R не является функцией. Добавим в R пару 3, a , тогда
δ R = {1, 2,3} = {1, 2,3} = A , но существуют пары 1, a
и 1, b , что противоречит
второму пункту определения функции, для этого исключим одну пару,
например 1, b и определим бинарное отношение R′ = { 1, a , 2, b , 3, a } ,
которое будет функцией.
Задача 10
Пусть A = {1, 2,3} и пусть бинарное отношение R на A имеет вид
R = { 1,1 , 2,1 , 2, 3 } .
Какими
свойствами
обладает
данное
бинарное
отношение?
Решение:
Это отношение
не обладает свойством рефлексивности, так как
∃ x = 2 ∈ A : x, x ∉ R . Также R не обладает свойствами иррефлексивности и
симметричности.
Обладает
свойствами
транзитивности
антисимметричности, так как пар вида x, y , y, z и y, x нет в R .
Задача 11
Пусть R = { x, y x, y ∈ N y mod x = 0} . Найти δ R , ρ R , R −1 , R ⋅ R, R ⋅ R −1 , R −1 ⋅ R .
и
Решение:
δ R = { x ∃y x, y ∈ R} = { x ∃y = x x mod x = 0} ,
ρ R = { y ∃x x, y ∈ R} = { y ∃x = 1 y mod1 = 0} ,
{ y, x x, y ∈ R} = { y, x y mod x = 0} ,
R ⋅ R = { x, y ∃z x, z ∈ R & z , y ∈ R} = { x, y ∃z = x x mod x = 0 & y mod x = 0} = R ,
R ⋅ R = { x, y ∃z x, z ∈ R & y , z ∈ R} = { x, y ∃z = xy ( xy ) mod x = 0 & ( xy ) mod y = 0} = N
R ⋅ R = { x, y ∃z z , x ∈ R & z , y ∈ R} = { x, y ∃z = 1 x mod1 = 0 & y mod1 = 0} = N .
R −1 =
−1
−1
2
,
2
Задача 12
Доказать ( R1 ⋅ R2 ) = R2−1 ⋅ R1−1 .
−1
Доказательство:
Пусть x, y ∈ ( R1 ⋅ R2 )
z , y ∈ R1−1 и x, z ∈ R2−1 ⇔
−1
⇔
y, x ∈ R1 ⋅ R2 ⇔ ∃z
y, z ∈ R1 и z , x ∈ R2 ⇔ ∃z
x, y ∈ R2−1 ⋅ R1−1 .
Задача 13
Для каких бинарных отношений R имеет место R −1 = − R ?
Решение:
R ⊆ A × B , тогда возможны два случая:
1. A ∩ B = ∅ .
Тогда ∃x ∈ A ∩ B . Если x, x ∈ R , тогда x, x ∈ R −1 и по условию R −1 = − R
следует x, x ∈ − R , тогда x, x ∉ R .
2. A ∩ B ≠ ∅ .
Пусть x ∈ A и y ∈ B и
x, y ∈ R , тогда
y, x ∈ R −1 , тогда по условию
R −1 = − R следует y, x ∈ − R ⇒ y ∈ A и x ∈ B , то есть x ∈ A ∩ B и y ∈ A ∩ B ,
по предположению таких x и y не существует.
Тогда можно сделать вывод, что если A, B ≠ ∅ , то R −1 ≠ − R .
Задача 14
На множестве D – всех действительных чисел определим отношение R
следующим образом: x, y ∈ R ⇔ ( x − y ) – рациональное число. Доказать, что
R – отношение эквивалентности.
Доказательство:
Для доказательства отношения эквивалентности
рефлексивность, симметричность и транзитивность.
1. рефлексивность:
∀x ∈ D x − x = 0 – рационально число,
2. симметричность:
x, y ∈ R ,
если
y − x = −( x − y) = −
то
x− y =
p
q
–
следует
рационально
доказать
число,
тогда
p
– рациональное число, тогда y, x ∈ R ,
q
3. транзитивность:
x, y ∈ R
если
и
y, z ∈ R ,
то
x− y =
p
q
и
y−z =
m
,
n
сложим
p m
np + mq
+ = x−z =
– рациональное число, тогда x, z ∈ R .
q n
nq
Следовательно R есть отношение эквивалентности.
Задача 15
HA
HA
HA
Доказать, что если f : A 
→ B и g : B 
→ C , то f ⋅ g : A 
→C .
Доказательство:
Для доказательства докажем оба пункта определения функции. Для
доказательства первого пункта необходимо доказать, что ∀x ∈ A ∃z ∈ C :
x, z ∈ f ⋅ g и ∀z ∈ C ∃x ∈ A : x, z ∈ f ⋅ g . Рассмотрим ∀x пару x, z ∈ f ⋅ g , тогда
∃y ∈ B :
x, y ∈ f
и
y, z ∈ g , такой
y
всегда найдётся по определению
функций f и g . Рассмотрим ∀z пару x, z ∈ f ⋅ g , тогда ∃y ∈ B :
x, y ∈ f и
y, z ∈ g , такой y всегда найдётся по определению функций f и g . Для
доказательства второго пункта определения предположим, что ∃z1 ≠ z2 :
x, z1 ∈ f ⋅ g
и
x, z2 ∈ f ⋅ g , тогда ∃y1 , y2 :
y2 , z2 ∈ g , по определению функций f
следует z1 = z2 .
x, y1 ∈ f ,
x, y2 ∈ f ,
y1 , z1 ∈ g
и
и g следует, что y1 = y2 , из чего
Задача 16
Разбиение плоскости D 2 состоит из лучей, выходящих из начала
координат. Выписать отношение эквивалентности R , соответствующее
данному разбиению, выписать классы эквивалентности.
y
x
Решение:
Блок разбиения совпадает с классом эквивалентности. Блоками
разбиения в данной задаче являются лучи, выходящие из начала координат.
Элементом класса эквивалентности является точка, поэтому отношение
эквивалентности состоит из пар точек. Блоки разбиения не пересекаются или
совпадают, поэтому точку ( 0;0 ) выделим в отдельный класс эквивалентности,
так как все лучи пересекаются в этой точке.
Две точки попадают в один класс эквивалентности если они лежат на
одном луче, то есть точки представимы в виде ( t cos ϕ , t sin ϕ ) . Тогда
( t1 cos ϕ , t1 sin ϕ ) , ( t2 cos ϕ , t2 sin ϕ )
∈ R , где ϕ – любой угол.
Задача 17
Плоскость M 2 состоит из лучей, выходящих из окружности, описанной
вокруг начала координат. Два точки сравнимы между собой, если они лежат
на одном луче не ближе к началу координат, чем радиус окружности, та
точка, которая ближе к началу координат является меньшей. Найти
наименьший и минимальный элемент.
y
x
Решение:
Найдём минимальный элемент – такой элемент, меньше которого не
существует элементов. Возьмём любую точку на окружности, меньше этой
точки элементов нет. Поэтому минимальный элемент – любая точка на
окружности. Наименьшего элемента не существует, так как нельзя найти
точки, которая хотя бы сравнима со всеми остальными.
Задача 18
Доказать, что если R – симметрично и антисимметрично, то оно
транзитивно, будет ли данной отношение рефлексивно?
Доказательство:
Для доказательства транзитивности рассмотрим две пары x, y ∈ R и
y, z ∈ R .Так как R – симметрично, тогда
y, x ∈ R и
z , y ∈ R . Так как R –
x, z ∈ R , то есть R
антисимметрично, тогда x = y = z . Следовательно
–
транзитивно. Отношение может быть не рефлексивным, например взяв
A = {1, 2} и R = { 1,1 } .
Задача 19
Доказать, что
∪A
i∈N
i
– счетное множество, если все Ai – счётные
множества.
Доказательство:
Представим множества Ai в виде:
A0 = {a00 , a01 , a02 ,...}
A1 = {a10 , a11 , a12 ,...}
A2 = {a20 , a21 , a22 ,...}
…
Объединение
множеств
A = ∪ Ai = {aik ∀i, k ∈ N } .
Определим
взаимно
i∈N
однозначное соответствие
f ( 0 ) = a00 ,
f (1) = a01 ,
f ( 2 ) = a10 , … (нумерация
«змейкой») между множеством натуральных чисел N и множеством A .
Таким образом A = ∪ Ai – счётное множество.
i∈N
Задача 20
Пусть
A = {a, b,..., c}
алфавит
–
конечное
множество
символов,
состоящий из k символов. A* – слова в алфавите. Доказать, что A* –счётное
множество.
Доказательство:
Упорядочим слова в алфавите по длине, а слова с одинаковой длиной
упорядочим лексикографически. Затем пронумеруем слова f ( 0 ) = "" ,
f (1) = " a " , …,
f ( k ) = "c " ,
f ( k + 1) = " aa " , … Следовательно
A* – счётное
множество.
Задачи для самостоятельного решения
1.
Пусть R = { x, y x, y ∈ N y + x ≤ 0} . Найти δ R , ρ R , R −1 , R ⋅ R, R ⋅ R −1 , R −1 ⋅ R .
2.
Доказать, что ∀R1 , R2 , R3 R1 ⋅ ( R2 ⋅ R3 ) = ( R1 ⋅ R2 ) ⋅ R3 .
3.
Доказать, что ∀R1 , R2 , Q R1 ⊆ R2 ⇔ Q ⋅ R1 ⊆ Q ⋅ R2 .
4.
Доказать, что ∀R1 , R2 , Q R1 ⊆ R2 ⇔ R1 ⋅ Q ⊆ R2 ⋅ Q .
5.
Доказать, что ∀R1 , R2 R1 ⊆ R2 ⇒ R1−1 ⊆ R2−1 .
6.
Доказать, что f ( A ∪ B ) = f ( A ) ∪ f ( B ) .
7.
8.
Доказать, что множество всех подмножеств данного множества
частично упорядоченно отношением включения ⊆ .
Доказать, что на множестве N – натуральных чисел < ⋅ < ≠ < .
9.
Доказать, что на множестве N – натуральных чисел ≤ ⋅ < =< .
10. Пусть R – это отношение эквивалентности. Доказать, что [x]R=[y]R ⇔
(x, y)∈R.
11. Пусть R – это частичный порядок, будет ли R–1 являться частичным
порядком?
12. Определим отношение R на множестве натуральных чисел
следующим образом: ⟨a,b⟩∈R (a-b) делится на 2. Доказать, что R
является
отношением
эквивалентности.
Построить
классы
эквивалентности.
13. Пусть R1 и R2 отношения эквивалентности на множестве А. Доказать,
что R1∪R2 – эквивалентность ⇔ R1∪R2 = R1 ⋅ R2.
14. Дано множество A = {a, b, c, d } , отношение < определено следующим
образом:
a<c,
b<c,
≤ = {< x, y > x < y или x = y}
c<d, a<d, b<d. Будет ли отношение
- частичным порядком. Найти наибольший,
наименьший, максимальный, минимальный элементы множества A .
Комбинаторика
Комбинаторные правила:
1. Правило суммы.
Если объект A выбирается n способами, объект B выбирается другими
k способами, то «либо A , либо B » можно выбрать n + k способами.
2. Правило произведения.
Объект A выбирается n способами, и объект B после этого выбирается
k способами, то выбрать « A , а после этого B » можно n ⋅ k способами.
Определения:
Вероятность Ρ события A – отношение числа благоприятных исходов к
общему числу исходов.
Пусть задано множество X = {1, 2,..., m} , Y = { y1 ,..., yn } пусть на Y задан
строгий
линейный порядок:
удовлетворяющее
конфигурацией.
некоторым
y1 < y2 < ... < yn .
ограничениям
Отображение
Λ,
будем
ϕ : X →Y ,
называть
Пусть Λ = ∅ , то есть отсутствуют ограничения на отображение ϕ . Тогда
каждая конфигурация ϕ определяет комбинаторную инструкцию,
называемую размещением с неограниченными повторениями объёма m из n
различных элементов. Очевидно, что число таких конфигураций U nm = n m .
Если на каждую i -ю из m позиций можно поставить один из qi элементов, то
количество таких размещений U nm ( q1 ,..., qm ) = q1 ⋅⋅⋅ qm .
Пусть Λ = Ι , где Ι – множество 1-1-функций (инъективных отображений
x1 ≠ x2 ⇒ y ( x1 ) ≠ y ( x2 ) ). В этом случае конфигурация ϕ определяет размещение
объёма
m
из n различных элементов. Число таких конфигураций
Anm = n ( n − 1) ⋅⋅⋅ ( n − m + 1) =
n!
.
( n − m )!
При
n=m
каждой
конфигурации
соответствует перестановка Pn = n ! . Если n элементов содержат qi элементов
i -го сорта, q1 + ... + qm = n и элементы одного сорта идентичны, то число таких
перестановок Pn ( q1 ,..., qm ) =
n!
.
q1 !⋅⋅⋅ qm !
Пусть Λ = Μ , где Μ – множество строго монотонных функций ϕ : X → Y
таких, что ϕ ( i ) < ϕ ( j ) при i < j . В этом случае конфигурация ϕ есть сочетание
объёма
m из n различных элементов. Число таких конфигураций
n!
Cnm =
. В случае Μ – монотонных функций, то есть таких функций ϕ ,
m !( n − m ) !
что ϕ ( i ) ≤ ϕ ( j ) при i < j , конфигурация ϕ есть сочетание объёма m из n
различных элементов с неограниченными повторениями. Число таких
сочетаний равно Cmm+ n −1 =
( m + n − 1) ! .
m !( n − 1) !
Свойства сочетаний:
n
1. Бином Ньютона ( a + b ) = ∑ Cmn a mb n −m ,
n
m =0
2. Cnm = Cnn −m ,
3. Cnm = Cnm−−11 + Cnm−1 ,
4. Cnm =
n m −1
Cn −1 ,
m
5. CnmCmk = Cnk Cnm−−kk .
Задача 21
Пусть есть m различных шаров и n различных урн. Найти число
способов раскладки шаров по урнам.
Решение:
Каждый шар может занимать одно из n мест, то есть n – число способов
размещения одного шара по n урнам, воспользуемся правилом произведения,
получим n m .
Задача 22
Сколькими способами можно разместить m одинаковых шаров по n
различным урнам?
Решение:
Каждой раскладке шаров по урнам сопоставим бинарный вектор из m + n − 1
элементов, нули – шары ( m штук), единицы – внутренние перегородки ( n − 1
штук).
000101100
Число раскладок равно числу перестановок элементов вектора без учёта
перестановок нулей и единиц, то есть Cmm+ n −1 =
( m + n − 1) ! .
m !( n − 1) !
Задача 23
Из 12 девушек и 10 юношей выбирают команду, состоящую из пяти
человек. Сколькими способами можно выбрать эту команду так, чтобы в неё
вошло не более 3 юношей?
Решение:
Воспользуемся правилом суммы и получим ответ
Задача 24
n > 2 человек садятся за круглый стол, 2 размещения по местам будем
считать совпадающими, если каждый человек имеет одних и тех же соседей в
обоих случаях. Сколько существует способов сесть за стол?
Решение:
Задача 25
Сколько можно построить функций со значениями на множестве из m
элементов, если функции зависят от n переменных x1 ,..., xn , где xi может
принимать одно из ki значений?
Решение:
Рассмотрим n = 1 , тогда для каждого аргумента из k1 можно поставить одно
из m значений, то есть m
⋅⋅⋅
m , обобщив на случай произвольного n , получим
ki
Задача 26
Из колоды (52 карты) вынули 10 карт. Найти вероятность того, что
1. выбран ровно один туз,
2. выбран хотя бы один туз,
3. не менее двух тузов.
Решение:
Так как вероятность – отношение числа благоприятных исходов к общему
числу исходов, то найдём общее число исходов, для всех подзадач оно будет
одинаковым и равным C5210 , то есть можно выбрать 10 любых карт из колоды.
1. Один туз мы можем выбрать 4-мя способами (по числу мастей в
картах). После этого выберем не из тузов оставшиеся 9 карт, это можно
сделать C489 способами, в итоге получим ответ
9
4C48
.
10
C52
2. Чтобы выбрать хотя бы один туз можно из общего числа способов
выбрать 4 карты вычесть выборки без тузов, которые можно сделать
10
C48
способами. В итоге получим ответ
10
10
C52
− C48
.
10
C52
3. Для выборки не менее двух тузов отнимем от общего числа способов
число способов выборки без тузов и с одним тузом. В итоге получим
ответ
10
10
9
C52
− C48
− 4C48
.
10
C52
Задача 27
Сколькими способами можно составить три пары из n шахматистов?
Решение:
Для формирования трёх пар выберем с учётом порядка 6 шахматистов, это
можно сделать An6 способами. Так как порядок внутри пары не важен (число
способов установить порядок внутри пар 23 ) и порядок самих пар
(перестановки 3! ) тоже не важен, то итоговый ответ будет
An6
.
23 ⋅ 3!
Задача 28
Сколько существует n -значных чисел, у которых сумма цифр равна k ,
где k < 10 , k = 10 ?
Решение:
Задача сводится к урновой схеме, где n – число различных урн и k –
количество одинаковых шариков (один шар – единица). При рассмотрении
случая, когда k < 10 мне не можем в одну из позиций положить больше
девяти шаров. Один из шаров мы положим в первую урну, так как первая
цифра числа не нуль, остаётся разложить k − 1 шар. Поэтому при k < 10 ответ
будет Cnk+−k1−2 способов.
Если k = 10 , то следует вычесть из общего числа способов варианты, когда в
одной из урн становится более 9-ти шариков. Таких вариантов может быть
только один, когда в первую урну к уже имеющемуся шарику добавляют ещё
9 шаров, поэтому ответ в случае k = 10 будет Cnk+−k1−2 − 1 .
Задача 29
Сколько существует 10-значных чисел, в которых имеется хотя бы две
одинаковые цифры?
Решение:
Для решения задачи из общего числа 10-значных чисел вычтем число чисел,
без повторов цифр. Общее количество 10-значных чисел:
В случае чисел без повторов на первую позицию выбираем одну из цифр
1,2,…,9, а на каждую оставшуюся позицию одну из оставшихся цифр – это
можно сделать 9 ⋅ 9! способами. В итоге получим ответ 9 ⋅109 − 9 ⋅ 9!.
Задача 30
Сколько слов можно составить из пяти букв А и не более чем из трёх
букв Б?
Решение:
Для получения количества слов нужно просуммировать количество слов,
полученных из 5 букв А и не одной Б, из 5 букв А и 1 буквы Б, из 5 букв А и
2 букв Б, из 5 букв А и 3 букв Б. Также следует не учитывать перестановки
одних и тех же букв. В итоге получим ответ 1 +
6!
7!
8!
+
+
= 84 .
5!⋅1! 5!⋅ 2! 5!⋅ 3!
Задача 31
В урне a белых и b чёрных шаров ( a ≥ 2 , b ≥ 2 ). Из урны без
возвращения извлекаются 2 шара. Найти вероятность того, что шары одного
цвета.
Решение:
Общее число исходов Ca2+b – выбор двух шаров из смеси шариков.
Благоприятные варианты Ca2 (выбор белых шаров) или Cb2 (выбор чёрных
шаров). В итоге получим ответ
Ca2 + Cb2
.
Ca2+b
Задача 32
Найти вероятность того, что при размещении n различных шаров по N
различным урнам заданная урна будет содержать ровно k ( 0 ≤ k ≤ n ) шаров.
Решение:
Общее число размещений шаров по урнам – урновая схема, число таких
способов N n . Сформировать заданную урну можно Cnk способами, то есть
выбрать k шариков из общего количества без учёта порядка в урне. После
этого оставшиеся n − k шариков разложим по N − 1 урнам, применим урновую
схему и правило произведения. Получим итоговый ответ
Cnk ( N − 1)
Nn
n−k
.
Задача 33
Колода из 32 карт тщательно перетасована. Найти вероятность того,
что все 4 туза лежат в колоде один за другим.
Решение:
Общее число перестановок колоды карт 32! . Представим туз одной картой, в
итоге получим 32 − 4 + 1 = 29 карт, где одна карта есть склеенные тузы, число
перестановок новой колоды 29! . Учитывая перестановки тузов 4! получим
окончательный ответ
29!⋅ 4!
.
32!
Задача 34
Какова вероятность угадать k номеров в спортлото 6 из 49?
Решение:
Общее число билетов C496 , то есть выбираем 6 чисел из 49. Для формирования
нужного билета нужно выбрать k номеров из шести C6k , а затем добрать
оставшиеся номера из 43 не выпавших чисел C436−k . В итоге получим ответ
C6k C436− k
.
C496
Задача 35
Поступающий в ВУЗ сдаёт 4 экзамена. Достаточно набрать 17 баллов.
Сколькими способами можно набрать 17 и более баллов?
Решение:
Рассмотрим варианты набора 20, 19, 18 ,17 баллов. 20 баллов можно набрать
при получении 5, 5, 5, 5 – 1 вариант. 19 баллов можно набрать при получении
5, 5, 5, 4 с учётом перестановок (получение разных оценок по разным
предметам), но без учёта перестановок пятёрок –
4!
= 4 . 18 баллов можно
3!
набрать, если получить 5, 5, 5, 3 или 5, 5, 4, 4 с учётом получения разных
оценок за разные экзамены и без учёта перестановок одинаковых оценок –
4! 4!
+
= 10 . 17 баллов можно набрать, если получить 4, 4, 4, 5 или 3, 4, 4, 5 –
3! 2!⋅ 2!
4! 4!
+ = 16 . Просуммировав варианты получим 31 способ.
2! 3!
Задача 36
Сколькими способами можно выбрать 6 карт из колоды (52 карты) так,
чтобы среди них были карты каждой масти?
Решение:
Существует два варианта формирования шести карт. Первый: выбираем
масть, которая даст три карты, затем выбираем эти три карты, потом
добираем из оставшихся мастей по любой карте – C41C133 ( C131 )
3
варианта.
Второй вариант: выбираем две масти, которые дадут по две карты, затем
выбираем из каждой масти по две карты, потом добираем оставшиеся карты
– C42 ( C132 ) ( C131 )
2
2
варианта. Воспользуемся правилом суммы и получим
итоговый ответ C41C133 ( C131 ) + C42 ( C132 ) ( C131 ) способов.
3
2
2
Задача 37
Сколько пятизначных чисел можно составить из цифр числа 75226522?
Решение:
Пятизначное число может состоять из комбинации следующих цифр,
количество таких комбинаций можно получить при использовании
перестановок с элементами одинакового сорта (одинаковые цифры в числе):
7, 2, 6, 5, 5 – Ρ (1,1,1, 2 ) ,
7, 6, 5, 2, 2 – Ρ (1,1,1, 2 ) ,
7, 2, 2, 5, 5 – Ρ (1, 2, 2 ) ,
6, 2, 2, 5, 5 – Ρ (1, 2, 2 ) ,
7, 5, 2, 2, 2 – Ρ (1,1,3) ,
7, 6, 2, 2, 2 – Ρ (1,1,3) ,
5, 6, 2, 2, 2 – Ρ (1,1,3) ,
7, 2, 2, 2, 2 – Ρ (1, 4 ) ,
5, 2, 2, 2, 2 – Ρ (1, 4 ) ,
6, 2, 2, 2, 2 – Ρ (1, 4 ) ,
5, 5, 2, 2, 2 – Ρ ( 2,3) ,
просуммировав варианты получим 265 вариантов.
Задача 38
Имеется множество C, состоящее из n элементов. Сколькими
способами можно выбрать в C два подмножества A и B так, чтобы множества
A и B не пересекались?
Решение:
Любой элемент может попасть в одно из множеств A и B или не
попасть в них. Итоговый ответ 3n .
Задача 39
Сколько существует n-значных натуральных чисел, у которых цифры
расположены в неубывающем порядке?
Решение:
Рассмотрим урновую схему, где сначала идут единицы, затем двойки и т.д.
Также возможен вариант, что каких либо цифр нет. Цифры будут служить
урнами, а разряды шариками. Получим ответ Cnn+9−1 =
( n + 8) ! .
n !⋅ 8!
Задачи для самостоятельного решения
1. Сколькими способами можно посадить за круглый стол n мужчин и n
женщин так, чтобы никакие два лица одного пола не сидели рядом?
2. Сколько существует чисел от 0 до 10n , в которые не входят две идущие
друг за другом одинаковые цифры?
3. Сколько диагоналей в выпуклом n -угольнике?
4. В футбольной команде (11 человек) нужно выбрать капитана и
ассистента. Сколькими способами можно это сделать?
5. Сколькими способами можно разбить 10 человек на две команды?
6. В классе 31 человек, сколькими способами можно выбрать команду (11
человек) так, чтобы Петя и Вася не входили в команду одновременно?
7. Множество состоит из n элементов, сколько множеств можно
построить из данного множества (мощность множеств всех
подмножеств)?
Исчисление высказываний и предикатов
Пусть дано непустое множество простых предложений Q . Расширим это
множество, присоединив к нему все те предложения, которые можно
образовать с использованием сентенциональных связок {∨, &, ¬, ⇒, ⇔} из
простых предложений. В таком случае это расширенное множество будет
обладать свойством:
Если A и B – элементы этого множества, то его элементами будут
¬A, ¬B, A & B, A ∨ B, A ⇒ B, A ⇔ B .
Будем
называть
элементы
расширенного множества – составными формулами, а элементы
первоначального множества – простыми формулами.
Каждой простой формуле сопоставляется один элемент из множества {T , F } .
Далее принимается, что не имеет значения какое из значений T или F
приписывается данной простой формуле, то есть T или F приписываются в
соответствии с конкретными условиями. Истинностное значение составной
формулы определяется индуктивным способом в соответствии с таблицами.
Таблица 1
A
B
A& B
A∨ B
A⇒ B
A⇔ B
T
T
T
T
T
T
T
F
F
T
F
F
F
T
F
T
T
F
F
F
F
F
T
T
Таблица 2
A
¬A
T
F
F
T
Для каждой формулы A можно построить таблицу истинности, при этом
если простыми компонентами служат P1 ,..., Pn , то количество строк в такой
таблице будет 2n .
Определение:
Формула, истинностное значение которой есть T при любых возможных
истинностных значениях, приписываемых её простым компонентам,
является тавтологией.
Теорема:
Пусть B – некоторая формула, B′ – формула, получаемая из B
подстановкой формулы A вместо простой компоненты P , везде, где эта
компонента встречается в B . Тогда, если B – тавтология, то B′ –
тавтология.
Задача 40
Будут
ли
тавтологиями
P & ( P ⇒ Q) ⇒ Q ,
формулы
( R ⇒ P ) & (( R ⇒ P ) ⇒ Q ) ⇒ Q ?
Решение:
Построим для первой формулы таблицу истинности.
&
( P ⇒ Q)
⇒
T
T
T
T
T
F
F
F
T
F
T
F
T
T
F
F
F
T
T
P
Q
T
P
Q
Как видно из таблицы формула принимает значение T при любых значениях
её простых компонентов. Следовательно P & ( P ⇒ Q ) ⇒ Q – тавтология.
При исследовании второй формулы легко заметить, что при замене в
формуле P & ( P ⇒ Q ) ⇒ Q простой компоненты P на сентенциональную
связку R ⇒ P получается искомая формула, в силу теоремы формула
( R ⇒ P ) & ( ( R ⇒ P ) ⇒ Q ) ⇒ Q – тавтология.
Определение:
Добавим понятие переменной. Предикат – логическая функция от
переменных. То есть n -местный предикат P ( x1 ,..., xn ) обладает тем
свойством, что если приписать переменным некоторые значения, то этот
предикат становится высказыванием от этих переменных.
Формула будет строиться следующим образом:
1. любая атомарная формула P n ( t1 ,..., tn ) – формула,
2. если A и B – формулы, то ¬A, ¬B, A & B, A ∨ B, A ⇒ B, A ⇔ B – формулы,
3. если A – формула, x – переменная, то ∀x A и ∃x A – формулы.
Определение:
Вхождение переменной в формулу называют связанным, если это
вхождение находится в области действия соответствующего квантора,
иначе она свободная.
Интерпретацией Ι называется отображение, которое сопоставляет:
• каждой предметной переменной x элемент Ι ( x ) = d x ∈ D , где d x –
значение переменной x , D – область интерпретации,
• каждому предикатному символу P поставлена в соответствие
логическая функция со значениями в {T , F } .
Простой
формуле
P ( y1 ,..., yn )
приписывается
истинностное
значение,
связанное с приписыванием элементов из D для каждой переменной y1 ,..., yn
следующим образом:
• переменным yi приписывается di ∈ D ,
• предикатному символу P ( y1 ,..., yn ) приписывается λ : D n → {T , F } .
Истинностное значение для P ( y1 ,..., yn ) будет λ ( d1 ,..., d n ) .
Задача 41
Найти истинностные значения формулы ∀x ( P ( x ) ⇒ Q ) ∨ ( Q & P ( y ) ) , где
область интерпретации фиксировано D = {a, b} , но неизвестно.
Решение:
Так как область интерпретации фиксировано, но неизвестно, тогда следует
перебрать все варианты, которые может принимать логическая функция λ .
Приведём вариант в таблице.
x
λ1 ( x )
λ2 ( x )
λ3 ( x )
λ4 ( x )
a
T
T
F
F
b
T
F
T
F
Q принимает значения T и F , y приписывается значение a или b , тогда в
таблице должно быть 4 ⋅ 2 ⋅ 2 = 16 записей.
Рассмотрим одну из строк. Пусть P ( x ) приписывается λ1 ( x ) , Q принимает
значение T , y приписывается a : ∀x ( λ1 ( x ) ⇒ T ) ∨ (T & λ1 ( a ) ) . Чтобы приписать
истинностное значение для ∀x ( λ1 ( x ) ⇒ T ) вычислим её как логическую
функцию от x .
x
λ1 ( x ) ⇒ T
a
T ⇒T
b
T ⇒T
Истинностное
значение
∀x ( λ1 ( x ) ⇒ T )
есть
T,
а
всей
формулы
∀x ( λ1 ( x ) ⇒ T ) ∨ (T & λ1 ( a ) ) также есть T . Аналогично для всех остальных
строк.
∀x ( P ( x ) ⇒ Q )
(Q & P ( y ))
P ( x)
Q
y
λ1 ( x )
T
a
T
T
T
λ1 ( x )
T
b
T
T
T
λ1 ( x )
F
a
F
F
F
λ1 ( x )
F
b
F
F
F
λ2 ( x )
T
a
T
T
T
λ2 ( x )
T
b
T
T
F
λ2 ( x )
F
a
F
F
F
λ2 ( x )
F
b
F
F
F
λ3 ( x )
T
a
T
T
F
λ3 ( x )
T
b
T
T
T
λ3 ( x )
F
a
F
F
F
λ3 ( x )
F
b
F
F
F
λ4 ( x )
T
a
T
T
F
λ4 ( x )
T
b
T
T
F
λ4 ( x )
F
a
T
T
F
λ4 ( x )
F
b
T
T
F
∨
Определения:
1. Формула общезначима в интерпретации Ι , если при каждом
приписывании предметным символам и свободным переменным она
истина.
2. Формула общезначима, если она истинна в любой интерпретации.
Задача 42
Выполнимы ли формулы:
1. ∃x P ( x ) ,
2. ∀x P ( x ) ,
3. ∃x∀y ( Q ( x, x ) & ¬Q ( x, y ) ) ,
4. ∃x∃y ( P ( x ) & ¬P ( y ) ) ,
5. ∃x∀y ( Q ( x, y ) ⇒ ∀zR ( x, y, z ) ) ?
Решение:
1. Формула ∃x P ( x ) выполнима в
число.
2. Формула ∀x P ( x ) выполнима в
N , P , где P ( x ) = T
⇔
x – простое
N , P , где P ( x ) = T – тождественно
истинный предикат.
3. Формула ∃x∀y ( Q ( x, x ) & ¬Q ( x, y ) ) невыполнима. Пусть она истина в
некоторой интерпретации, то есть ∃a : ∀y ( Q ( a, a ) & ¬Q ( a, y ) ) , тогда
должна быть истинной формула Q ( a, a ) & ¬Q ( a, a ) , таким образом
пришли к противоречию.
4. Формула ∃x∃y ( P ( x ) & ¬P ( y ) ) выполнима в N , P , где P ( x ) = T ⇔ x –
простое число.
5. Формула ∃x∀y ( Q ( x, y ) ⇒ ∀zR ( x, y, z ) )
выполнима
в
N ; Q, R ,
где
Q ( x , y ) = T ⇔ x ≥ y , R ( x, y , z ) = T ⇔ x + y ≥ z .
Задача 43
Пусть дана модель N ; S 3 , P 3 , где S 3 ( x, y, z ) = T ⇔ x + y = z , P 3 ( x, y, z ) = T
⇔ x ⋅ y = z . Записать формулу с одной свободной переменной x , истинную в
модели тогда и только тогда, когда x = 0 , x = 1 , x = 2 , x – чётно, x – нечётно,
x – простое число.
Решение:
• x = 0 – Ο ( x ) = ∀y S 3 ( x, y, y ) , то есть сумма с нулём число не изменяет,
• x = 1 – Ε ( x ) = ∀y P 3 ( x, y, y ) , то есть умножение на единицу число не
изменяет,
• x = 2 – D ( x ) = ∃z ( ∀yP 3 ( z, y, y ) & S 3 ( z , z, x ) ) , то есть существует такое z ,
умножение на которое не меняет число, а это есть единица, сумма
единиц – двойка,
• x – чётно – C ( x ) = ∃y S 3 ( y, y, x ) , то есть x представимо в виде
x = y + y = 2y ,
• x – нечётно – N ( x ) = ¬C ( x ) , то есть число нечётное,
• x – простое число – P ( x ) = ( ¬Ε ( x ) & ∀y∀z ( P ( y, z, x ) ⇒ ( Ε ( y ) ∨ Ε ( z ) ) ) ) , то
есть число не единица и если найдётся множители числа, то одно из
них будет единица, а другое, как следствие, само число.
Задачи для самостоятельного решения
1. Построить
таблицу
истинности
( R ⇒ P ) & (( R ⇒ P ) ⇒ Q ) ⇒ Q .
для
формулы
2. Пусть Μ = N ; S 3 , P3 , где S 3 ( x, y, z ) = T ⇔ x + y = z , P 3 ( x, y, z ) = T ⇔ x ⋅ y = z .
Написать формулу, выражающую следующее утверждение:
наименьшее общее кратное x и y .
z
3. Пусть Μ = N ; S 3 , P3 , где S 3 ( x, y, z ) = T ⇔ x + y = z , P 3 ( x, y, z ) = T ⇔ x ⋅ y = z .
Написать формулу, выражающую следующее
бесконечность множества простых чисел.
утверждение:
Динамическое программирование. Рекуррентные соотношения.
Задача 44
Дано n = 4 экзаменов, Y = 8 дней на подготовку, xk – число дней на
подготовку к k -му экзамену, f k ( x ) – оценка за k -й экзамен при подготовке к
нему x дней. Требуется спланировать подготовку к экзаменам для получения
максимального суммарного балла. Таблица для функции f k ( x ) имеет
следующий вид:
k\x
0
2
1
2
2
2
3
2
4
1
2
4
2
3
2
3
4
3
3
3
4
5
5
3
4
5
5
5
5
5
5
5
5
5
6
5
5
5
5
7
5
5
5
5
8
5
5
5
5
Решение:
Одно из решений данной задачи является полный перебор, количество
вариантов nY при предположении, что все дни различны,
( n + Y − 1)! , когда все
Y !⋅ ( n − 1) !
дни одинаковы. Количество вариантов слишком велико при увеличении n и
Y , поэтому требуется уменьшить число вариантов.
Запишем формулировку задачи в терминах целевой функции и ограничений.
n
∑ f ( x ) → max
i
i =1
n
∑x
i =1
i
i
– целевая функция,
= Y – ограничения или ресурс,
xi ≥ 0 – дополнительное ограничение,
( x ,..., x ) – план или решение.
*
1
*
n
Идея динамического программирования – решение задачи на k -м шаге
получаем через k − 1 шаг (рекуррентно). Введём функцию Sk ( y ) –
оптимальное значение целевой функции на k -м шаге, очевидно, что Sn (Y ) –
оптимальное значение целевой функции всей задачи, то есть Sn (Y ) = ∑ fi ( xi* ) .
n
i =1
Рассмотрим задачу для k экзаменов.
k
∑ f ( x ) → max ,
i =1
i
i
k
∑x
i =1
i
= yk* ,
xi ≥ 0 ,
yk* = Y − xk*+1 .
Справедливо рекуррентное соотношение:
S1 ( y ) = f1 ( y ) , y = 0,..., Y ;
S k ( y ) = max { f k ( x ) + S k −1 ( y − x )} , k = 2,..., n , y = 0,..., Y .
0≤ x ≤ y
Найдём по данным формулам значения Sk ( y ) .
k =1
S1 ( 0 ) = f1 ( 0 ) = 2 ,
…
S1 ( 8 ) = f1 ( 8) = 5 .
k =2
S 2 ( 0 ) = max { f 2 ( 0 ) + S1 ( 0 )} = 4
x =0
x=0
,
S2 (1) = max { f 2 ( 0 ) + S1 (1) , f 2 (1) + S1 ( 0 )} = max {4, 6} = 6
x = 0,1
x = 0,1
x =1
,
S3 ( 2 ) = max { f 2 ( 0 ) + S1 ( 2 ) , f 2 (1) + S1 (1) , f 2 ( 2 ) + S1 ( 0 )} = max {5, 6, 6} = 6
x = 0,1,2
x = 0,1,2
x = 1, 2
,
…
k =3
S3 ( 0 ) = max { f3 ( 0 ) + S 2 ( 0 )} = 6
x=0
x=0
,
S3 (1) = max { f 3 ( 0 ) + S2 (1) , f3 (1) + S2 ( 0 )} = max {8, 6} = 8
x = 0,1
x = 0,1
x=0
,
…
k =4
S 4 ( 0 ) = max { f 4 ( 0 ) + S3 ( 0 )} = 8
x =0
x=0
,
S4 (1) = max { f 4 ( 0 ) + S3 (1) , f 4 (1) + S3 ( 0 )} = max {10,9} = 10
x = 0,1
x = 0,1
x=0
,
…
По схеме рекуррентных соотношений находим значения функции Sk ( y ) и
запоминаем значение x , при котором Sk ( y ) получено. Такая информация
необходима для восстановления плана, то есть что требуется найти в данной
задаче. Приведём результирующую таблицу значений функции Sk ( y ) .
k\y
0
1
2
3
4
5
6
7
8
1
2
2
2
3
4
5
5
5
5
5
4
6
8
9
3
6
4
8
0
8
0
1
0
10
0
0
6
8
1, 2
0,1
11
1
7
9
1,3
0, 2,3
11
0,1, 2
1
11
13
3
0
11
9
1
0,3, 4
14
1
1, 2,3
12
14
10
13
3
0,1, 2
15
3
3
0,1
10
3, 4
14
16
3
0,1, 4
Максимальный балл равен 16. Восстановим решение, для этого выберем x4* –
одно из оптимальных количества дней, например x4* = 1 , отнимем от общего
количества дней 8 − 1 = 7 , S3 ( 7 ) = 13 при x3* = 3 , вычитаем из общего числа дней
x4* и x3* 8 − 1 − 3 = 4 , S2 ( 4 ) = 8 при x2* = 1 , тогда x1* = 3 – оставшиеся дни на первый
экзамен. Поступая аналогично для x4* = 0 и x4* = 4 , получим следующие планы:
1.
2.
3.
( x , x , x , x ) = ( 4,1,3, 0 ) , оценки 2, 5, 4,5 ,
( x , x , x , x ) = ( 3,1,3,1) , оценки 3, 5, 4, 4 ,
( x , x , x , x ) = ( 0,1, 3, 4 ) , оценки 5,5, 4, 2 .
*
1
*
2
*
3
*
4
*
1
*
2
*
3
*
4
*
1
*
2
*
3
*
4
Задача 45
Дано рекуррентное соотношение xn = 2.5 xn−1 − xn −2 , x0 = 1 и x1 = 0.5 . Найти
xn .
Решение:
Представим xn = ℂr n , тогда ℂr n − 2.5ℂr n−1 + ℂr n−2 = 0 . Вынесем ℂr n −2 за скобку и
получим квадратное уравнение
r 2 − 2.5r + 1 = 0 ,
r = 2,
1
2
– корни этого
уравнения, тогда общий вид n -го члена рекуррентного соотношения
ℂ1
+ ℂ 2 2n . Учитывая x0 и x1 , получим ℂ1 = 1 и ℂ 2 = 0 , следовательно
2n
1
xn = n .
2
xn =
Теория алгоритмов
Пусть N = {0,1, 2,...} – натуральные числа. Будем рассматривать функции
f n ( x1 ,..., xn ) ∈ N , где xi ∈ N , ∀i = 1, n .
Цель: построение алгоритма для вычислений функций.
Определение:
Функция f n ( x1 ,..., xn ) всюду определена, если δ f = N n .
Определим простейшие всюду определённые функции:
1. S ( x ) = x + 1 – функция следования,
2. O ( x ) = 0 – нуль-функция,
3. I mn ( x1 ,..., xm ,..., xn ) = xm – функция выбора.
Оператор суперпозиции S .
Функция h n ( x1 ,..., xn ) получается из функций g m , f1n , …, f mn с помощью
оператора суперпозиции: h n ( x1 ,..., xn ) = g m ( f1n ( x1 ,..., xn ) ,..., f mn ( x1 ,..., xn ) ) .
Оператор примитивной рекурсии ℝ .
Функция f n+1 ( x1 ,..., xn , y ) получается
из
функций
g n ( x1 ,..., xn )
и
h n + 2 ( x1 ,..., xn , y, z ) оператором примитивной рекурсии, если она может
быть задана схемой примитивной рекурсии:
f n +1 ( x1 ,..., xn , 0 ) = g n ( x1 ,..., xn ) ,
f n +1 ( x1 ,..., xn , y + 1) = h n + 2 ( x1 ,..., xn , y, f n +1 ( x1 ,..., xn , y ) ) .
Определение:
Функция f называется примитивно – рекурсивной функцией, если она
получена из простейших функций с помощью конечного числа
применений операторов суперпозиции S и примитивной рекурсии ℝ . Все
примитивно – рекурсивные функции определены на N .
Задача 46
Доказать, что следующие функции примитивно – рекурсивны:
1. f ( x ) = x + 3 ,
2. f ( x, y ) = x + y ,
3. f ( x, y ) = x ⋅ y ,
0, x = 0
,
 1, x = 1
4. sg ( x ) = 
1, x = 0
,
0, x = 1
5. sg ( x ) = 
0,
 x − 1,
6. x ÷ 1 = 
x=0
x>0
,
x≤ y
0,
,
 x − y, x > y
7. x ÷ y = 
 x, x > y
.
 y, x ≤ y
8. max ( x, y ) = 
Доказательство:
Доказательство факта, что функция примитивно – рекурсивна эквивалентна
построению схемы с использованием операторов суперпозиции и
примитивной рекурсии.
•
f ( x ) = x + 3 – функция Add 3 ( x ) ,
(
)
f ( x ) = S S ( S ( x ) ) = ( ( x + 1) + 1) + 1
•
–
трёхкратное
применение
оператора суперпозиции,
f ( x, y ) = x + y – функция Sum ( x, y ) ,
f ( x, 0 ) = x = Ι11 ( x ) ,
f ( x, y + 1) = x + y + 1 = f ( x, y ) + 1 = S ( f ( x, y ) ) .
•
f ( x, y ) = x ⋅ y – Mul ( x, y ) ,
f ( x, 0 ) = 0 = O ( x ) ,
f ( x, y + 1) = x ⋅ ( y + 1) = x ⋅ y + x = f ( x, y ) + x = Sum ( f ( x, y ) , x ) .
•
0, x = 0
sg ( x ) = 
,
 1, x = 1
sg ( 0 ) = 1 – функция от нуля аргументов – константа,
sg ( x + 1) = 1 = S ( O ( x ) ) – все остальные значения единицы.
•
1, x = 0
sg ( x ) = 
,
0, x = 1
sg ( 0 ) = 1 ,
sg ( x + 1) = 0 = O ( x ) – все остальные значения нули.
•
0,
x ÷1 = 
 x − 1,
x=0
x>0
– функция Dec ( x ) ,
Dec ( 0 ) = 0 ,
Dec ( x + 1) = x + 1 ÷ 1 = x = Ι12 ( x, Dec ( x ) ) – выбираем сам аргумент x .
•
x≤ y
0,
x÷ y = 
– функция Sub ( x, y ) ,
 x − y, x > y
Sub ( x, 0 ) = x = Ι11 ( x ) ,
Sub ( x, y + 1) = x ÷ ( y + 1) = ( x ÷ y ) ÷ 1 = Sub ( x, y ) ÷ 1 = Dec ( Sub ( x, y ) ) .
•
 x, x > y
,
max ( x, y ) = 
 y, x ≤ y
 x + y − x,
max ( x, y ) = x + ( y ÷ x ) = 
 x,
y>x
y≤x
= Sum ( x, Sub ( y, x ) ) .
Оператор минимизации Μ .
Все примитивно – рекурсивные схемы могут быть упорядочены по
длине, а при одинаковой длине упорядочены лексикографически. Пусть Gx –
ест схема с номером x , а g x – примитивно – рекурсивная функция,
определяемая этой схемой. Определим функцию h ( x ) = g x ( x ) + 1 , очевидно с
одной стороны, что эта функция вычислима. ∃x0 : h ( x0 ) = g x ( x0 ) , то есть если
0
h ( x ) – примитивно – рекурсивная функция, то будет выбрана схема Gx0 ,
определяющая h ( x ) , но тогда h ( x0 ) = g x ( x0 ) = g x ( x0 ) + 1 , что приводит к
0
0
противоречию. Поэтому можно сделать вывод:
Есть не примитивно – рекурсивные функции, то есть функции,
которые не всюду определены.
Функция
f n ( x1 ,..., xn ) получается из функции
g n +1 ( x1 ,..., xn , y ) с помощью
оператора минимизации и обозначается f n ( x1 ,..., xn ) = µ y  g n +1 ( x1 ,..., xn , y ) = 0  ,
если f n ( x1 ,..., xn ) определено и равно y ⇔ g n +1 ( x1 ,..., xn , 0 ) , …, g n+1 ( x1 ,..., xn , y − 1)
определены и не равны нулю, а g n+1 ( x1 ,..., xn , y ) = 0 .
Определение:
Функция f называется частично – рекурсивной функцией, если она
получена из простейших функций с помощью конечного числа
применений операторов суперпозиции S , примитивной рекурсии ℝ и
минимизации Μ .
Задача 47
Докажем, что следующие функции частично – рекурсивные функции:
1. функция f ( x ) нигде не определена,
 x − y, x ≥ y
.
n / d , x < y
2. f ( x, y ) = 
Доказательство:
1. Функция следования S ( x ) = x + 1 никогда не равна нулю, поэтому
f ( x ) = µ y  S ( y ) = 0  нигде не определена.
2. Пусть x ≥ y , тогда f ( x, y ) = x − y = z , будем перебирать z , пока не
выполнится условие x − y − z = 0 . На языке Си мы можем записать это
так:
unsigned int f(unsigned int x, unsigned int y)
{
unsigned int z = 0;
while( (x – y – z) != 0 ) z++;
return z;
}
Определим
(
g ( x, y , z ) = x − y − z = x − ( y + z ) = ( x ÷ ( y + z ) ) + ( ( y + z ) ÷ x ) =
)
= Sum Sub ( x, Sum ( y, z ) ) , Sub ( Sum ( y, z ) , x ) , поэтому g ( x, y, z ) – примитивно
– рекурсивная функция, в итоге получим ответ f ( x, y ) = µ z  g ( x, y, z ) = 0  .
Теория взаимодействующий процессов (Ч. Хоар)
Определения:
Алфавит процесса P – это конечное множество событий, в которых может
участвовать процесс P. Обозначается αP.
СТОПА – это процесс с алфавитом А, который не может участвовать ни в
одном событии из А.
Пусть x∈αP, тогда префиксная запись x→P описывает процесс, который
сначала участвует в событии x, а затем ведет себя как процесс P.
Следует заметить, что в записи x→P слева всегда стоит событие, справа –
процесс. Например, если мы хотим описать процесс, который участвует
только в двух событиях, то запись x→y некорректна, следует писать
x→(y→СТОПА).
Пример
αR = {мон, шок},
R = (мон→(шок→(мон→(шок→СТОПαR))))
Что описывает этот процесс? Этот процесс описывает автомат, который два
раза за монету выдает шоколадку и ломается.
Далее для удобства записи промежуточные скобки будем опускать, при этом
не забывая, что после каждого события стоит процесс:
R = мон→шок→мон→шок→СТОПαR
Чтобы описывать поведение процессов с потенциально бесконечным
функционированием, вводится рекурсивная запись. Поясним ее на примере.
Пример
αЧАСЫ = {тик, так}
ЧАСЫ = тик→так→ЧАСЫ
С помощью префиксной рекурсивной записи можно описать процессы с
«линейным» поведением. Для «разветвленного» поведения вводится
оператор выбора.
Оператор выбора
Пусть x, y – события, причем x ≠ y, тогда запись (x→P|y→Q) описывает
процесс, который сначала участвует либо в событии x, либо в событии y, а
потом ведет себя либо как процесс P, либо как процесс Q соответственно.
Пример
αT = {мон, шок, ирис, бум}
Т = (мон→(шок→Т|ирис→Т)|бум→СТОПαT)
Что описывает этот процесс? Этот процесс описывает автомат, который за
монету выдает либо шоколад, либо ирис, и ломается, если ему подают на
вход бумажку.
Определения:
Начальное меню процесса Т – это множество begin(T) = {мон, бум}
событий, которые могут произойти в начальный момент времени.
Протокол процесса P – это конечная последовательность событий, в
которых участвовал процесс Р до некоторого момента времени.
Множество всех возможных протоколов prot(P)⊆ αP*
< > – пустой протокол.
Примеры
prot(ЧАСЫ) = {< >, <тик>, <тик, так>, <тик, так, тик>, ... }
prot(СТОПА) = {< >}
prot(R) = {< >,
<мон, шок, мон, шок>}
<мон>,
<мон,
шок>,
<мон,
шок,
мон>,
prot(T) = {<
>,
<мон>,
<бум>,
<мон, шок>,
<мон, ирис>,
<мон, шок, мон>, <мон, ирис, мон>, <мон, шок, бум>, <мон, ирис, бум>,
<мон, шок, мон, шок>, <мон, шок, мон, шок, бум>, ... }
Определение:
Спецификация процесса P – это описание требуемого поведения процесса.
Спецификация может задаваться предикатом, регулярным выражением,
перечислением, словесно и т.д. Но в любом случае, спецификация
определяет множество слов sp(P) в алфавите процесса P, т.е. sp(P) ⊆ αP*.
Чем отличаются множества sp(P) и prot(P)? sp(P) – множество слов, которое
определено еще до написания процесса, prot(P) – множество слов, которое
строится по уже готовой записи процесса.
Аналогия: «Заказчик задает спецификацию того процесса, который ему
нужно получить. Исполнитель строит процесс. Этот процесс порождает
множество протоколов. Выполняется процедура проверки того,
соответствует ли построенный процесс спецификации.»
Для доказательства того, что данный процесс соответствует спецификации,
необходимо проверить равенство множеств: sp(P) = prot(P). Для этого нужно
показать, что для каждого слова из спецификации sp(P), существует
соответствующий протокол из prot(P), и для каждого протокола из prot(P),
существует слово из спецификации sp(P).
Пример
Пусть задана спецификация процесса, необходимо построить процесс.
αH = {кофе, чай, 10, 5, сд}
sp(Н) = {Построить автомат, который при обслуживании одного покупателя
на вход может получать последовательность монет достоинством 10 или 5, на
выходе может выдавать только один предмет из двух – кофе (стоимость 10),
чай (стоимость 5), и давать сдачу при необходимости. Автомат ломается,
если на его вход поступает в сумме денег строго больше 10.}
Замечание Событие «кофе» означает, что нажата кнопка кофе и автомат
выдал кофе. Только лишь нажатие кнопки не означает, что событие «кофе»
произошло.
Н = (5→(чай→H | 5→(кофе→Н | чай→сд→Н | 5→СТОПαH | 10→СТОПα
H) | 10→СТОПαH) |
10→(кофе→Н | чай→сд→Н | 5→СТОПαH | 10→СТОПαH))
Параллельное взаимодействие процессов P и Q – одновременное участие
процессов P и Q в общих событиях.
Обозначение P||Q – это процесс, который получается в результате
параллельного взаимодействия процессов P и Q.
1. Пусть αP = αQ = {мон, шок, ирис}, тогда αP||Q = αP = αQ.
P = мон→(шок→Р | ирис→Р) – торговый автомат
Q = (шок→Q | ирис→Q | мон→шок→ Q) – жадный покупатель
begin(P||Q) = begin(P)∩begin(Q)
P||Q=мон→шок→P||Q
Как переопределить процесс P, чтобы возникал дедлок? Дедлок возникает,
когда оба процесса хотя и могут участвовать в некоторых событиях, но среди
этих событий нет одинаковых. Если переопределим торговый автомат:
P = мон→(мон→шок→Р | ирис→Р), тогда возникнет дедлок:
P||Q=мон→СТОПαP||Q
2. Пусть αP ≠ αQ, тогда αP||Q = αP∪αQ.
αP = {мон, шок, ирис, звяк, щелк}
αQ = {мон, шок, ирис, ой}
P = мон→звяк→шок→щелк →Р – торговый автомат
Q = мон→(ирис→Q | ой→шок→ Q) – рассеянный покупатель
Если x∈(αP\αQ)∪(αQ\αP) и x∈αP, то Q на x не реагирует, поэтому
событие x произойдет всегда, в случае готовности процесса P в нем
участвовать. Если x∈αP∩αQ, то событие x требует участия обоих процессов.
Если это невозможно, то произойдет дедлок.
P||Q =
мон→(звяк→ой→шок→щелк→P||Q | ой→звяк→шок→щелк→P||Q)
Если αP∩αQ = ∅, то «идеальный параллелизм» – нет взаимодействий, все
события могут реализоваться. Например, торговый автомат может без
проблем выдавать шоколадки, в то время как на стене тикают часы.
Определение:
Состояние процесса – это множество событий, в которых может
участвовать процесс в данный момент.
Сети Петри
Определение:
Сеть Петри – двудольный ориентированный граф. Двудольный
ориентированный граф – граф, множество вершин которого разбивается
на два подмножества и не существует дуги, соединяющей две вершины из
одного множества.
Сеть Петри – набор N = (T , P, A ) , T ∩ P = ∅ , где T = {t1 , t2 ,..., tn } – подмножество
вершин, называющихся переходы, P = { p1 , p2 ,..., pm } – подмножество вершин,
называющихся местами, A ⊆ (T × P ) ∪ ( P × T ) – множество ориентированных
дуг. Ниже приведён пример сети Петри (рис. 1), в котором переходы
обозначены черточками, а места окружностями. Каждый переход t имеет
набор входных in {t} и набор выходных out {t} дуг. Сети Петри также могут
представляться в форме продукционных правил:
t1 :{ p1 , p3 } → { p1 , p2 , p3 }
t2 :{ p1} → { p1 , p2 }
Рис. 1
Сеть Петри можно интерпретировать по-разному. Можно представить, что
места представляют условия (значение переменной вычислено и записано в
буфер), а переходы – события (считывание значения переменной из буфера).
Состояние сети Петри в каждый текущий момент определяется системой
условий. Для того, чтобы стало возможным и удобным задавать условия типа
«в буфере находится 3 значения» в модель сети Петри добавляются фишки.
Фишки изображаются точками внутри места. Если место содержит фишку, то
место маркировано и сеть называется маркированной. Начальное
распределение фишек задаёт начальную маркировку M 0 сети. Маркировка
сети определяет её текущее состояние.
Сеть на рисунке 2 в начальном состоянии (рис. 2.а) содержит одну
фишку в месте p3 . Маркировка задаётся функцией M : P → I , I = {0,1, 2,...} , а
функция M представляется вектором, в котором i -ый компонент задаёт
маркировку места
pi .
Начальная маркировка приведённой сети
представляется вектором M 0 = {0, 0,1} .
Сеть переходит из одного состояния в другое (от одной маркировки к
другой) когда происходит событие – срабатывание перехода. Переход может
сработать, если хотя бы одна фишка находится во всех его входных местах.
Срабатывание перехода состоит из того, что из всех входных мест
забирается по одной фишке и во все выходные места добавляется по одной
фишке (пример на рис. 2.б). Если представить переход как процедуру, то она
корректно выполняется и вырабатывает значения своих выходных
переменных, если есть значения всех аргументов.
а)
б)
Рис. 2
В другой интерпретации переход может представлять некоторое устройство.
Устройство может – но не обязано! – сработать, если выполнились все
входные условия. Если одновременно несколько переходов готовы сработать,
то срабатывает один из них (любой), или некоторые из них, или все. На
рисунке 3 приведены два варианта срабатывания сети.
Рис. 3
Задача 48
Пусть заданы два процесса P1 и P2 , конкурирующие за доступ к общему
неразделяемому ресурсу. Общий ресурс изображается местом p1 . Изобразить
сеть Петри соответствующий работе двух процессов, которые запрашивают
единственный экземпляр ресурса p1 , но только одному процессу ресурс
может быть выделен, а затем им освобождён.
Решение:
Сеть Петри оказалась удобным средством для анализа такого свойства
параллельной системы процессов как наличие или отсутствия дедлоков.
Состояние дедлока возникает, когда запрос ресурсов в системе не может
быть удовлетворён и система останавливается (ни один переход не может
сработать). Существует четыре необходимых условий дедлока (если хотя бы
одно условие будет нарушено, то дедлок не возникнет):
1. Взаимное исключение,
2. Дозахват ресурса,
3. Не допускается временное освобождение ресурсов,
4. Циклическое ожидание.
На рисунке 4 изображена сеть Петри, в которой может возникнуть состояние
дедлока при следующей последовательности срабатывания переходов: t1 , t4 ,
t 2 , t5 .
Рис. 4
Задача 49
Изобразить сеть Петри соответствующую работе производителя
деталей, который оставляет их на складе вместимостью не более 10 деталей,
с которого забирает детали потребитель если они есть.
Решение:
Download