Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ShPOR1_16_na_1.docx
Скачиваний:
15
Добавлен:
23.09.2019
Размер:
1.45 Mб
Скачать

Принцип математической индукции

Пусть Р(п) предикат, определенный для всех натуральных чисел n.

Предположим, что

1. Р(1) истинно и

2. k≥ 1 импликация (Р(k) Р(k+1)) верна.

Тогда Р(п) истинно при любом натуральном значении n.

Пример 2.13. Докажите методом математической индукции, что равенство

справедливо при всех натуральных п.

Решение. Пусть Р(п) – предикат

В случае п=1 левая и правая части равенства равны 1.

Следовательно, Р(1) истинно.

Предположим теперь, что равенство имеет место для какого-то натурального числа k. Тогда

Таким образом, при любом натуральном kимпликация

Р(k) P(k+1)

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

Пример 2.14. Методом математической индукции докажите, что 7n–1 делится на 6 при любом натуральном показателе п.Решение. Целое числоа делится на целое число bтогда и только тогда, когда выполняется равенство а=mbпри каком-то целом числе т. Например, 51 делится на 17, поскольку 51=3×17. Кроме того, известно простое свойство делимости чисел, которое утверждает, что сумма делящихся на bчисел также делится на b.

Пусть Р(п)обозначает предикат «7n–1 делится на 6».

При п=1 имеем 7n–1=7–1=6, т.е. предикат Р(1) имеет истинное значение.

Предположим, что 7k–1 делится на 6 при каком-то натуральном k. Тогда

7k+1–1= 7(7k–1)+7–1 = 7(7k–1)+6.

Так как 7k1 делится на 6, то по упомянутому свойству делимости сумма 7(7k–1)+6 тоже делится на 6.

Итак, 7k+1–1 делится на 6, так что при любом натуральном kимпликация (Р(k) Р(k+1)) истинна.

Индуктивным рассуждением мы доказали истинность предиката Р(п) для всех натуральных п.

8

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

Пусть Р – предикат, истинный для входных данных алгоритмаА, и Q– предикат, описывающий условия, которым должны удовлетворять выходные данные. Высказывание {Р}A{Q}означает, что «если работа алгоритма А начинается с истинного значения предиката Р, то она закончится при истинном значении Q». Предикат Рназывается входным условием или предусловием, aQвыходным условием или постусловием. Высказывание {Р}A{Q}само является предикатом. Поэтому доказательство корректности алгоритма А равносильно доказательству истинности {Р}A{Q}.

Задача 1. Докажите корректность алгоритма Разность.

Разность

begin

z:=xy;

end

Решение. В данном случае предусловием Рявляются равенства: х=х1и y=y1. Постусловие Q– это z=x1y1. Предикат {Р} Разность {Q} читается как «если х=х1и у=у1, то z=х1y1». Истинность последнего предиката легко проверяется подстановкой х=х1и у=у1 в тело алгоритма, содержащего переменные z, xи у. С формальной точки зрения соотношения: z=х–у, х=х1и у=у1влекут тождество z = х1y1.

Когда в алгоритмеАпроисходит много различных действий с переменными, мы разбиваем его на подходящие отрезки А1, A2, ..., Ап и доказываем цепочку утверждений вида

{P}A1{Q1}, {Q1}A2{Q2}, ...,{Qn-1}An{Qn},

где постусловие любого отрезка служит предусловием следующего.

Задача 2 Докажите методом математической индукции корректность алгоритма Квадрат.

Квадрат

{n – натуральное число}

begin

sq:=0;

for i:= 1 to ndo

sq:=sq+2i–1;

end

{sq= n2}

Решение. Пусть Р(п)обозначает предикат «sq=n2после n-го прохода цикла», asqk– значение переменной sqпосле k;-го прохода цикла. Покажем, что

(1) sq1= 12;

(2) если sqk= k2, то sqk+i = (k+1)2.

Очевидно, что после первого прохода цикла sq1= 1 и пункт (1) выполнен. Предположим, что после k-ой петли цикла sqk= k2. Тогда после следующего прохода

sqk+1= sqk+ 2(k+1)–1 = k2+2k+1 = (k+1)2.

Таким образом, пункт (2) тоже выполняется.

Итак, мы установили, что Р(1) истинно. Кроме того, по второму пункту импликация (Р(k)Р(k+1)) справедлива при любом k1. Следовательно, согласно принципу математической индукции, Р(п) истинно для всех натуральных п.

9

Множество – это совокупность объектов, называемых элементами множества. Например,

  • {Брест, Витебск, Гомель, Гродно, Минск, Могилев};

  • {2, 3, 5, 7, 11};

  • {сыр, яйцо, молоко, сметана}

В общем случае записьаSозначает, что объект а является элементом множества S. Часто говорят, чтоа принадлежит множеству S. Если объекта не принадлежит S, то пишут: аS.

Мы не можем выписать все элементы очень больших, в особенности бесконечных множеств. В этом случае множества определяются с помощью подходящих предикатов. Формально мы пишем

S = {х: Р(х)}

для описания множества, состоящего из элементов х, для которых предикат Р(х)имеет истинное значение. Например, запись

S = {х: х – нечетное натуральное число}

описывает множество S = {1, 3, 5, 7, ...}.

1) множествоАявляется подмножествоммножества S, если каждый его элемент является элементом множества S. Говорят, что множествоА содержится в множестве S. Этот факт обозначают так: АS. На рис. 3.1 дана диаграмма Венна, которая иллюстрирует это определение.

2)Два множества считаются равными, если каждое из них содержится в другом. Поэтому для доказательства равенства множеств нам нужно показать, что они состоят из одних и тех же элементов. На формальном языке для равенства множествА=В необходимо проверить истинность двух импликаций:

{хА хВ} и {хВ хА}.

Рисуно4. Диаграмма Венна подмножестваАS

Пример 3.2. Пусть

А = {п: п2– нечетное целое число},

В = {п: п – нечетное целое число}.

Показать, чтоА= В.

Решение. Если хА, то х2– нечетное целое число, что было доказано в примере 2.11. Отсюда вытекает, что само число х – целое и нечетное. Следовательно, хВ, т.е. АВ.

С другой стороны, пусть хВ. Тогда х – нечетное целое число. Согласно примеру 2.10, в этом случае х2тоже будет нечетным целым числом, а значит, хА. В виду произвольности взятого элемента хВ мы можем утверждать, что все элементы из В принадлежат А, т.е. ВА. Итак, А = В.

1.Объединениемдвух множествАи В называется множество

АВ = {х: хАили хВ}.

Оно состоит из тех элементов, которые принадлежат либо множествуА, либо множеству В, а возможно и обоим сразу. Диаграмма Венна объединения двух множеств показана на рис. 3.2.

Рисунок ..5. Диаграмма Венна объединенияАB

2.Пересечениемдвух множеств A и Вназывается множество

АВ = {х:хАихВ}.

Оно состоит из элементов, которые принадлежат как множествуА, так и множеству В. Диаграмма Венна пересечения двух множеств приведена на рис.3.3.

Рисунок ..6. Диаграмма Венна пересеченияАB

3.ДополнениеммножестваВдо множества А или разностью множеств А и Вназывается

А\В = {х: xAиxB}.

ДополнениеА\В состоит из всех элементов множества А, которые не принадлежат В (см. рис. 3.4).

Рисунок.7. Диаграмма Венна разностиА\B

4.Симметрической разностьюдвух множествАи В называют множество

AB = {x: (xA и xB) или (xB и xA)

Оно состоит из всех тех и только тех элементов универсального множества, которые либо принадлежат A и не принадлежатВ, либо наоборот, принадлежат В, но не А. Грубо говоря, симметрическая разность состоит из элементов, лежащих либо в А, либо в В, но не одновременно в обоих множествах. Диаграмма Венна, иллюстрирующая симметрическую разность, нарисована на рис. 3.6.

Рисунок.8. Диаграмма Венна симметрической разности AB

10

Операции над множествами:

Таблица ..8

Операции над множествами

Логические операции

­

не

или

и

Пример 3.5. Докажем, что сделанное в предыдущем примере предположение справедливодля любых множествАи В.

Решение.

= {x : x(AB)} = = {x : не(x(AB))} = = {x : не((xA) и (xB))};

= {x : (xA) или (xB)} = = {x : (не (xA)) или (не (xB))}.

Сравнивая таблицы истинности, легко установить логическую эквивалентность составных предикатов не (Ри Q) и (не Р)или (не Q), где Р и Q– простые высказывания (табл.3.2.).

Таблица ..9

P

Q

P и Q

не (P и Q)

не P

не Q

(не Р)или (не Q)

И

И

И

Л

Л

Л

Л

И

Л

Л

И

Л

И

И

Л

И

Л

И

И

Л

И

Л

Л

Л

И

И

И

И

Опираясь теперь на соответствие между логическими операциями и операциями над множествами (табл. 3.1), можно увидеть, что предикат не (Р и Q) соответствует множеству , а (не Р) или (не Q) – множеству . Следовательно, .

законом двойственности, замена на,  на Uи наоборот.

Таблица.10. Законы алгебры множеств

Законы ассоциативности

A(ВС) = (AВ)С

А(ВС) = (АВ)С

Законы коммутативности

AB= BA

АВ = ВА

Законы тождества

A = A

AU = U

AU = A

А =

Законы идемпотентности

АА = А

АА = А

Законы дистрибутивности

А(ВС) = (АВ)(АС)

A(ВС) = (AВ)(AС)

Законы дополнения

A = U

=

= A

A =

= U (дополнение пустого множества)

= A

Законы де Моргана

Пример 3.7. Уравнение ( B)(AC) = . Определить взаимные включения множеств A, B и C.

Решение. Очевидно, что B=  и A C= . Следовательно, BA. A C = (AC)  =  (AC) B.

Т .к. BA, то CB.Итак, диагирамма Венна взаимного включения множеств A, B и Cимеет вид:

Мощностью конечного множества Sназывается число его элементов. Она обозначается символом |S|.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]