54
Математические основы методов решений систем логических уравнений (28.10.2016) Максименкова Ольга Вениаминовна, старший преподаватель департамента программной инженерии факультета компьютерных наук НИУ ВШЭ © Максименкова О.В., ДПИ ФКН НИУ ВШЭ 1

Математические основы методов решений систем логических уравнений

Embed Size (px)

Citation preview

Page 1: Математические основы методов решений систем логических уравнений

Математические основы методов решений систем логических

уравнений(28.10.2016)

Максименкова Ольга Вениаминовна, старший преподаватель департамента программной инженерии факультета компьютерных наук НИУ ВШЭ

© Максименкова О.В., ДПИ ФКН НИУ ВШЭ 1

Page 2: Математические основы методов решений систем логических уравнений

Прохождение квеста ЕГЭ 23

1. Соглашения о нотации

2. Обзор необходимых знаний по математике

3. Алгоритм решения систем однородных логических уравнений.

© Максименкова О.В., Незнанов А.А., ДПИ и ДАдиИИ ФКН НИУ ВШЭ 2

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

Page 3: Математические основы методов решений систем логических уравнений

Будем знакомы

© Максименкова О.В., Незнанов А.А., ДПИ и ДАдиИИ ФКН НИУ ВШЭ 3

Ведущий вебинара:

Ольга Вениаминовна МаксименковаE-mail: [email protected]: http://hse.ru/staff/maksimenkovaBlog: http://stoptoscale.blogspot.ru(RU)

Page 4: Математические основы методов решений систем логических уравнений

Что вам нужно знать, уметь и понимать?

• Основные понятия

• Законы алгебры логики

• ДНФ, КНФ и СДНФ и СКНФ

• Перемножение матриц

• Основы теории графов

4© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Page 5: Математические основы методов решений систем логических уравнений

Алгебра логикиСоглашения о нотации и терминологии

Логические функции

КНФ, ДНФ, СКНФ и СДНФ

© Максименкова О.В., Незнанов А.А., ДПИ и ДАдиИИ ФКН НИУ ВШЭ 5

Page 6: Математические основы методов решений систем логических уравнений

Алгебра логики. Соглашения о нотации

Обозначение Название операции Пример

· Конъюнкция, логическое умножение 𝑨 ∙ 𝑩

+ Дизъюнкция, логическое сложение 𝑨 + 𝑩

¯ (черта сверху)

Логическое отрицание ഥ𝑨

→ Импликация 𝑨 → 𝑩

⊕ Строгая дизъюнкция, строгое логическое сложение 𝑨⊕𝑩

↔ Эквиваленция 𝑨 ↔ 𝑩

≡ Тождество 𝑨 ≡ 𝑩

© Максименкова О.В., ДПИ, ФКН НИУ ВШЭ 6

Page 7: Математические основы методов решений систем логических уравнений

Основные понятие алгебры логики

Логическая функция – это функция логических переменных X1, X2, X3, …, XN

F = F(X1, X2, X3, …, XN),

которая может принимать только два значения: истина (1) и ложь (0)

Область определения логической функции – это количество S возможных наборов значений аргументов

S = 2N, где N – количество переменных.

7© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Page 8: Математические основы методов решений систем логических уравнений

Алгебра логики: Основные понятия

Логическая функция имеет нормальную форму, если в ней используются только три логические операции: дизъюнкции, конъюнкции и отрицания переменных. Двойное отрицание или отрицание выражений не используется.

Элементарная конъюнкция – логическое произведение аргументов или их отрицаний.

Элементарная дизъюнкция – логическая сумма аргументов или их отрицаний.

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

8© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Page 9: Математические основы методов решений систем логических уравнений

Примеры

• Элементарные конъюнкции• 𝐴 ∙ ത𝐵 ∙ 𝐶• ҧ𝐴 ∙ 𝐵 ∙ 𝐶 ∙ ഥ𝐷

• Элементарные дизъюнкции• 𝐴 + ത𝐵 + 𝐶

• ҧ𝐴 + 𝐵 + 𝐶 + ഥ𝐷

• Выберите номера выражений, содержащий НЕ элементарные конъюнкции и дизъюнкции:1. ഥ𝑨 ∙ ഥ𝑩 ∙ ഥ𝑪2. 𝑨 + 𝑩 ∙ 𝑪

3. 𝑨 + ഥ𝑩4. 𝑨 + ഥ𝑩 + ഥ𝑪5. 𝑨 ∙ 𝑩

9© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Напишите в чате!!!

Page 10: Математические основы методов решений систем логических уравнений

Алгебра логики: ДНФ и КНФ

• Дизъюнктивная нормальная форма (ДНФ) – это дизъюнкция попарно различных правильных элементарных конъюнкций (логическая сумма логических произведений)

• 𝐴 ∙ 𝐵 ∙ ҧ𝐶 + 𝐵 ∙ 𝐶 + ҧ𝐴 ∙ ത𝐵

• 𝑋 ∙ 𝑌 + ത𝑋 ∙ 𝑌 ∙ 𝑍 + 𝑋 ∙ ത𝑌 ∙ 𝑍

• Конъюнктивная нормальная форма (КНФ) – это конъюнкция попарно различных правильных элементарных дизъюнкций (логическое произведение логических сумм)

• 𝐴 + 𝐵 + 𝐶 ∙ 𝐴 + ത𝐵 + 𝐶

• 𝑋 + 𝑌 ∙ ത𝑋 + 𝑌 + 𝑍 ∙ 𝑋 + ത𝑌 + 𝑍

10© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Page 11: Математические основы методов решений систем логических уравнений

Алгоритм приведения логической функции к ДНФ или КНФ

1. Избавиться от импликации, эквиваленции, исключающего или;

2. Избавиться от отрицаний над сложными выражениями (з-н де Моргана, закон двойного отрицания);

3. Раскрыть скобки (дистрибутивные з-ны);

4. Уменьшить количество вхождений переменных (з-ны алгебры логики)

11© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Page 12: Математические основы методов решений систем логических уравнений

Алгебра логики: СКНФ и СДНФ

• Совершенной конъюнктивной нормальной формой (СКНФ) логической функции называется конъюнкция попарно различных полных правильных элементарных дизъюнкций, равных нулю на тех же наборах, что и функция.

• Совершенной дизъюнктивной нормальной формой (СДНФ) логической функции называется дизъюнкция попарно различных полных правильных элементарных конъюнкций, равных единице на тех же наборах, что и функция.

12© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Page 13: Математические основы методов решений систем логических уравнений

Способы построения СКНФ и СДНФ

• По таблице истинности• СДНФ

1. Отметить наборы переменных, на которых значение функции равно единице.

2. Для каждой такой строки строим полную конъюнкцию.

3. Записываем дизъюнкцию конъюнкций.

• СКНФ1. Отметить наборы переменных с нулевыми значениями функции.

2. Для каждого такого набора написать полную дизъюнкцию.

3. Все дизъюнкции связываются операциями конъюнкции.

13© Максименкова О.В ДПИ ФКН НИУ ВШЭ

A B C F(A,B,C)

1 0 1 1

A B C F(A,B,C)

1 1 0 0

𝑨 ∙ ഥ𝑩 ∙ 𝑪

ഥ𝑨 + ഥ𝑩 + 𝑪

Page 14: Математические основы методов решений систем логических уравнений

Построение СКНФ и СДНФ по таблицам истинности: пример

A B C F(A,B,C)

0 0 0 0

0 0 1 0

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 1

1 1 0 0

1 1 1 1

• Единиц в таблице истинности меньше, удобнее строить СДНФ

14© Максименкова О.В ДПИ ФКН НИУ ВШЭ

ഥ𝑨 ∙ 𝑩 ∙ 𝑪

𝑨 ∙ ഥ𝑩 ∙ 𝑪

𝑨 ∙ 𝑩 ∙ 𝑪

+

+

𝑭 𝑨,𝑩, 𝑪 = ഥ𝑨 ∙ 𝑩 ∙ 𝑪 + 𝑨 ∙ ഥ𝑩 ∙ 𝑪 + 𝑨 ∙ 𝑩 ∙ 𝑪

Page 15: Математические основы методов решений систем логических уравнений

Построение СКНФ и СДНФ по таблицам истинности: пример

A B C F(A,B,C)

0 0 0 1

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 1

1 0 1 1

1 1 0 0

1 1 1 0

• Нулей в таблице истинности меньше, удобнее строить СКНФ

15© Максименкова О.В ДПИ ФКН НИУ ВШЭ

ഥ𝑨 + ഥ𝑩 + 𝑪

𝑨 + ഥ𝑩 + 𝑪

ഥ𝑨 + ഥ𝑩 + ഥ𝑪

𝑭 𝑨,𝑩, 𝑪 = 𝑨 + ഥ𝑩 + 𝑪 ∙ ഥ𝑨 + ഥ𝑩 + 𝑪 ∙ (ഥ𝑨 + ഥ𝑩 + ഥ𝑪)

×

×

Page 16: Математические основы методов решений систем логических уравнений

Аналитический способ построения СДНФ

1. Переходим к ДНФ по алгоритму со слайда…

2. Неполные конъюнкции, чтобы получить полные, умножить на выражение вида (𝑋 + ത𝑋 = 1)

3. Применить закон идемпотентности (𝑋 + 𝑋 = 𝑋), чтобы исключить повторяющиеся конъюнкции.

Количество полных элементарных конъюнкций в СДНФ соответствует количеству единиц в таблице истинности.

16© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Page 17: Математические основы методов решений систем логических уравнений

Аналитический способ построения СДНФ: пример

• Определить количество решений логического уравнения:𝑨 ∙ ഥ𝑩 + 𝑨 ∙ ഥ𝑪 + 𝑨 ∙ 𝑩 ∙ 𝑪 = 𝟏

• Рассуждения и выкладки:1. Функция уже приведена к ДНФ

2. Домножим неполные конъюнкции на выражение вида (𝑋 + ത𝑋 = 1):𝐴 ∙ ത𝐵 ∙ 𝐶 + ҧ𝐶 + 𝐴 ∙ ҧ𝐶 ∙ 𝐵 + ത𝐵 + 𝐴 ∙ 𝐵 ∙ 𝐶 = 1

3. Раскроем скобки:𝐴 ∙ ത𝐵 ∙ 𝐶 + 𝐴 ∙ ത𝐵 ∙ ҧ𝐶 + 𝐴 ∙ 𝐵 ∙ ҧ𝐶 + 𝐴 ∙ ത𝐵 ∙ ҧ𝐶 + 𝐴 ∙ 𝐵 ∙ 𝐶 = 1

4. Применим закон идемпотентности:𝐴 ∙ ത𝐵 ∙ 𝐶 + 𝐴 ∙ 𝐵 ∙ ҧ𝐶 + 𝐴 ∙ ത𝐵 ∙ ҧ𝐶 + 𝐴 ∙ 𝐵 ∙ 𝐶 = 1

5. Получена СКНФ, состоящая из четырёх элементарных полных конъюнкций. Количество решений логического уравнения: 4

17© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Page 18: Математические основы методов решений систем логических уравнений

Логические уравнения и системы логических уравнений

• Логическое уравнение вида:𝐹 𝑋1, 𝑋2, … , 𝑋𝑁 = 1

• Система из К логических уравнений N переменных:𝐹1 𝑋1, 𝑋2, … , 𝑋𝑁 = 1𝐹2 𝑋1, 𝑋2, … , 𝑋𝑁 = 1𝐹3 𝑋1, 𝑋2, … , 𝑋𝑁 = 1…𝐹𝐾 𝑋1, 𝑋2, … , 𝑋𝑁 = 1

• Такая система может быть сведена к уравнению:𝐹1 𝑋1, 𝑋2, … , 𝑋𝑁 𝐹2 𝑋1, 𝑋2, … , 𝑋𝑁 …𝐹𝐾 𝑋1, 𝑋2, … , 𝑋𝑁 = 1

18© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Page 19: Математические основы методов решений систем логических уравнений

Методы решения

1. Метод рассуждений• Для несложных уравнений

2. Построение таблицы истинности• Малое количество переменных (для N переменных число строк в таблице

2N)

3. Построение дерева решений• Когда уравнение можно решать последовательным добавлением

логических переменных.

4. Построение СДНФ заданного выражения

19© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Page 20: Математические основы методов решений систем логических уравнений

Логические уравнения и системы логических уравнений

• Логическое уравнение вида:𝐹 𝑋1, 𝑋2, … , 𝑋𝑁 = 0

• Методы решения1. Построить СКНФ – число сомножителей равно количеству нулевых

значений в таблице истинности, то есть количеству решений уравнения;

2. Получить количество решений R уравнение вида 𝐹 𝑋1, 𝑋2, … , 𝑋𝑁 = 1, тогда ответ будет равен общему количеству наборов, минус R: 2N-R

3. Добавить отрицание к обеим частям уравнения: 𝐹 𝑋1, 𝑋2, … , 𝑋𝑁 = 1

20© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Page 21: Математические основы методов решений систем логических уравнений

Логические уравнения и системы логических уравнений

• Отметим, что для решения систем вида:𝐹1 𝑋1, 𝑋2, … , 𝑋𝑁 = 0𝐹2 𝑋1, 𝑋2, … , 𝑋𝑁 = 0𝐹3 𝑋1, 𝑋2, … , 𝑋𝑁 = 0…𝐹𝐾 𝑋1, 𝑋2, … , 𝑋𝑁 = 0

Применим только третий метод с предыдущего слайда.

21© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Page 22: Математические основы методов решений систем логических уравнений

Общие методы решения логических уравнений и систем логических уравнений

1. Метод отображений (авт. Мирончик Е.А.)*

2. Метод битовых векторов/цепочек (авт. Поляков К.Ю., Ройтберг М.А.)*

3. Метод решения систем однородных логических уравнений (авт. Авдошин С.М., Ахметсафина Р.З.)

• Операции над матрицами

• Рекуррентные формулы

• Многодольные графы и поиск количества путей в многодольных графах

22© Максименкова О.В ДПИ ФКН НИУ ВШЭ

*Ссылки на описание метода отображений и метода битовых векторов см. на слайде «Использованная

литература»

Page 23: Математические основы методов решений систем логических уравнений

Элементы теории матрицЧто такое матрицы

Операции над матрицами

23© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Page 24: Математические основы методов решений систем логических уравнений

Основные понятия и определения

24© Максименкова О.В., ДПИ ФКН НИУ ВШЭ

𝑎11 𝑎12 … 𝑎1𝑛𝑎21 𝑎22 … 𝑎2𝑛… . . . … …𝑎𝑚1 𝑎𝑚2 … 𝑎𝑚𝑛

Пусть дано некоторое числовое поле K. Прямоугольную таблицу чисел из

поля K будем называть матрицей.

Под числовым полем понимают любую совокупность чисел, в пределах которой всегда выполнимы и однозначны

четыре операции: сложение, вычитание, умножение и деление на число, отличное от нуля.

В общем случае матрица называется прямоугольной (с размерами

mxn).

Page 25: Математические основы методов решений систем логических уравнений

Примеры матриц

25© Максименкова О.В ДПИ ФКН НИУ ВШЭ

𝐴 =

0 3 71 −1 0

0 02

3

111

2−2

𝐵 =

2𝑖 + 9 1 14

−𝑖 +2

2𝑖 −1

𝐶 =1 1 10 1 10 0 1

Напишите в чате!!!

Какие из матриц можно перемножить?

Page 26: Математические основы методов решений систем логических уравнений

Элементы матрицы

26© Максименкова О.В ДПИ ФКН НИУ ВШЭ

𝑎11 𝑎12 … 𝑎1𝑛𝑎21 𝑎22 … 𝑎2𝑛… . . . … …𝑎𝑚1 𝑎𝑚2 … 𝑎𝑚𝑛

Первый индекс -номер строки

Второй индекс-номер столбца

Числа, составляющие матрицу, называются её элементами и характеризуются

своим положением в таблице.

Page 27: Математические основы методов решений систем логических уравнений

Особые случаи

27© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Матрица размером mx1 называется вектор-столбцом.

Матрица размером 1xn называется вектор-строкой.

𝐴 =

𝑎1𝑎2⋮𝑎𝑚

𝐴 = 𝑎1 𝑎2 ⋯ 𝑎𝑛

Page 28: Математические основы методов решений систем логических уравнений

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

• Суммой двух матриц A и B одинакового размера mxnназывается матрица C того же размера, каждый элемент которой равен сумме соответствующих элементов (то есть стоящих в тех же позициях) исходных матриц.

𝑐𝑖𝑗 = 𝑎𝑖𝑗 + 𝑏𝑖𝑗 , 𝑖 = 1,2,… ,𝑚; 𝑗 = 1,2,… 𝑛.

• Свойства сложения• Коммутативность 𝐴 + 𝐵 = 𝐵 + 𝐴

• Ассоциативность 𝐴 + 𝐵 + 𝐶 = 𝐴 + (𝐵 + 𝐶)1 23 4

+5 67 8

=1 + 5 2 + 63 + 7 4 + 8

=6 810 12

28© Максименкова О.В ДПИ ФКН НИУ ВШЭ

a21 b21 C21=a21+b21

Page 29: Математические основы методов решений систем логических уравнений

Операции над матрицами: умножение на константу и разность

• Произведением матрицы A размера mxn и константы Cназывается матрица B того же размера, каждый элемент которой равен произведению C и элемента матрицы A, стоящему в той же позиции.

𝑏𝑖𝑗 = 𝐶 ∙ 𝑎𝑖𝑗 , 𝑖 = 1,2,… ,𝑚; 𝑗 = 1,2,…𝑛.

• Разность двух матриц A и В вычисляется как сумма матриц A и−B.

𝑐𝑖𝑗 = 𝑎𝑖𝑗 − 𝑏𝑖𝑗 , 𝑖 = 1,2,… ,𝑚; 𝑗 = 1,2,…𝑛.

29© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Page 30: Математические основы методов решений систем логических уравнений

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

• Произведением двух матриц А размера (m q) и B размера (q n), в которых количество столбцов матрицы А равно количеству строк матрицы В, называется матрица С размера (m n), у которой количество строк m равно количеству строк первой матрицы, а количество столбцов n равно количеству столбцов второй. Каждый элемент сij матрицы С равен сумме попарных произведений элементов соответствующей строки первой матрицы и элементов соответствующего столбца второй.

𝑐𝑖𝑗 = 𝑎𝑖1 ∙ 𝑏1𝑗 + 𝑎𝑖2 ∙ 𝑏2𝑗 +⋯𝑎𝑖𝑞 ∙ 𝑏𝑞𝑗 =

𝑘=1

𝑞

𝑎𝑖𝑘 ∙ 𝑏𝑘𝑗 ,

𝑖 = 1, 2, … ,𝑚, 𝑗 = 1, 2,… , 𝑛

• Произведение матриц, вообще говоря, не коммутативно𝐴 ∙ 𝐵 ≠ 𝐵 ∙ 𝐴

30© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Page 31: Математические основы методов решений систем логических уравнений

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

31© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Page 32: Математические основы методов решений систем логических уравнений

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

32© Максименкова О.В ДПИ ФКН НИУ ВШЭ

𝑎11 𝑎12 𝑎13𝑎21 𝑎22 𝑎23

𝑏11 𝑏12𝑏21 𝑏22𝑏31 𝑏32

=𝑎11𝑏11 + 𝑎12𝑏21 + 𝑎13𝑏31 𝑎11𝑏12 + 𝑎12𝑏22 + 𝑎13𝑏32𝑎21𝑏11 + 𝑎22𝑏21 + 𝑎23𝑏31 𝑎21𝑏12 + 𝑎22𝑏22 + 𝑎23𝑏32

Произведение матриц – это несложное механическое действие, которое требует выработки навыка.

Самостоятельно после вебинара порешайте задачи:• OnlineMSchool (http://ru.onlinemschool.com/math/practice/matrix/multiply/)• KHANACADEMY (https://www.khanacademy.org/math/precalculus/precalc-

matrices/multiplying-matrices-by-matrices/e/multiplying_a_matrix_by_a_matrix) • Math worksheets 4 Kids

(http://www.mathworksheets4kids.com/matrices/multiplication/7.pdf) (http://www.mathworksheets4kids.com/matrices/multiplication/8.pdf)

Page 33: Математические основы методов решений систем логических уравнений

Проверим понимание: вопросы

1. Что будет результатом произведениям вектора-строки А (1xq)на матрицу B размера qxm?

2. Что будет результатом произведения матрицы A размера mxqи вектор-столбца B размерности qx1?

3. Что будет результатом произведения вектора-строки А (1xq) и вектора строки В (qx1)?

4. Что будет результатом произведения вектора-столбца А (qx1) на вектор-строку В (1xp)?

33© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Напишите в чате!!!

Page 34: Математические основы методов решений систем логических уравнений

Проверим понимание: ответы

1. Что будет результатом произведениям вектора-строки А (1xq)на матрицу B размерности qxm?

• Вектор-строка (1xm)

2. Что будет результатом произведения матрицы A размерности mxq и вектор-столбца B размерности qx1?

• Вектор-столбец (mx1)

3. Что будет результатом произведения вектора-строки А (1xq) и вектора строки В (qx1)?

• число

4. Что будет результатом произведения вектора-столбца А (qx1) на вектор-строку В (1xp)?

• Матрица (qxp)

34© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Page 35: Математические основы методов решений систем логических уравнений

Дополнительное задание: для тех, кто любит программирование

• Напишите программу, позволяющую перемножать вещественные матрицы (размеры по измерениям не превосходят 10).

• Программа должна проверять соотношение размерностей матриц.

• Печать исходные матрицы и матрицу-произведение.

• Для некорректных данных выводить сообщения.

35© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Page 36: Математические основы методов решений систем логических уравнений

Рекуррентные последовательности

36© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Page 37: Математические основы методов решений систем логических уравнений

Рекуррентная последовательность

37© Максименкова О.В ДПИ ФКН НИУ ВШЭ

• Последовательности, в которых каждый член определяется как некоторая функция предыдущих, называются рекуррентными(возвратными)

• Процесс последовательного определения элементов таких последовательностей называется рекуррентным процессом

Page 38: Математические основы методов решений систем логических уравнений

Рекуррентная формула

• Рекуррентная формула - формула, сводящая вычисление n-гочлена какой-либо последовательности (чаще всего числовой) к вычислению нескольких предыдущих её членов.

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

𝑎𝑛 = 𝑓 𝑛, 𝑎𝑛−1, 𝑎𝑛−2, … , 𝑎𝑛−𝑘• Примеры

𝑅𝑘 = 𝑅𝑘−1 + 3 𝑘 − 1 , 𝑅1 = 0

0, 3, 9, 18, 30, …𝑆𝑛 = 34 ∙ 𝑆𝑛−1 − 𝑆𝑛−2 + 2, 𝑆0 = 0, 𝑆1 = 1

0, 1, 36, 1225, 41616,…

38© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Page 39: Математические основы методов решений систем логических уравнений

Теория графов

39© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Page 40: Математические основы методов решений систем логических уравнений

Соглашения о терминологии

• Обозначение графа: G = (V, E), где идентификаторами (номерами) вершин иребер выступают числа натурального ряда:

V = {v1, v2, … , vp} = {0, 1, … , p1}, p = |V| – число вершин;

E = {e1, e2, … , eq} = {0, 1, … , q1}, q = |E| – число ребер.

• Граф – неориентированный граф без петель и кратных рёбер.

• Мультиграф – граф, содержащий кратные рёбра.

• Кратными (или мультирёбрами) называются рёбра, инцидентные одной и той же паре вершин.

• Петля – ребро, инцидентное только одной вершине (соединяет вершину с самой собой).

• Две вершины смежны, если они соединены ребром.

• Два ребра смежны, если они имеют общую вершину.

40© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Page 41: Математические основы методов решений систем логических уравнений

Соглашения о терминологии

• Маршрут – чередующаяся последовательность a = v0, e1, v1, e2, …, vn-1, en, vn = b вершин и ребер графа такая, что ei = {vi-1, vi}, 1 i n. Вершины a и b– концевые вершины (концы) маршрута.

• Цепь – маршрут, все рёбра которого различны. Если все вершины цепи различны, то цепь простая, иначе – составная.

• Длина цепи – число рёбер в ней.

• Цикл – цепь, в которой первая и последняя вершины совпадают. Если все вершины цикла, кроме концевых, различны, то цикл простой, иначе – составной.

• Одна вершина достижима из другой, если есть цепь, их соединяющая.

• Граф связный, если из одной вершины достижимы все остальные, иначе граф несвязный и состоит из компонент связности

41© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Page 42: Математические основы методов решений систем логических уравнений

Способы представления графов: матрица смежности

42© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Матрица смежности графа – квадратная матрица A с числом строк и столбцов, равным p. Элемент Ai j = 1, если существует дуга (i, j), в противном случае Ai j = 0. Для мультиграфов вместо 1 заносится кратность мультиребра.

0 1 0 0 1 1 0 1 1 1 0 1 0 1 0 0 1 1 0 1 1 1 0 1 0

12345

1 2 3 4 5

5

1

2

34

1

7

23

4

5

6

5 2

34

4

7

12

3

5

6

9

8

0 1 0 0 1 1 0 2 0 1 0 2 0 2 0 0 0 2 0 2 1 1 0 2 0

12345

1 2 3 4 5

Page 43: Математические основы методов решений систем логических уравнений

Многодольные графы: двудольный

• Двудольный граф, если G = (AB, E) и каждое ребро соединяет вершину из A с вершиной B.

43© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Page 44: Математические основы методов решений систем логических уравнений

Многодольные графы: двудольный

• Для описания двудольного графа можно использовать матрицу двудольного графа

44© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Page 45: Математические основы методов решений систем логических уравнений

Количество рёбер между долями графа

• Общее количество рёбер между долями графа определяется суммой элементов матрицы двудольного графа:

1. Умножаем единичную вектор-строку из пяти элементов на матрицу двудольного графа:

1 1 1 1 1 ∙

1 0 1 00 1 0 00 0 1 10 0 0 10 0 1 1

= 1 1 3 3

2. Полученную вектор-строку умножаем на единичный вектор-столбец из четырёх элементов:

1 1 3 3 ∙

1111

= 1 ∙ 1 + 1 ∙ 1 + 1 ∙ 3 + 1 ∙ 3 = 8

45© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Page 46: Математические основы методов решений систем логических уравнений

Многодольный граф

• Рассмотрим граф, состоящий из последовательности двудольных графов. Такой граф называют многодольнымграфом порядка t, где t – количество долей.

46© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Page 47: Математические основы методов решений систем логических уравнений

Матрицы долей многодольного графа

47© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Page 48: Математические основы методов решений систем логических уравнений

Определение количества путей

1. Для определения количества путей из каждой вершины первой доли в каждую вершину третьей доли надо перемножить матрицы двудольных графов M1 и M2. Элементы полученной матрицы M = M1·M2 соответствуют количеству путей из вершины ai в вершину сj, где i – номер строки, j – номер столбца матрицы M.

48© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Page 49: Математические основы методов решений систем логических уравнений

Определение количества путей

2. Для определения количества путей из всех вершин первой доли в каждую вершину третьей доли надо умножить единичную вектор-строку размерности 4 на матрицу M. В полученном векторе-строке i-й элемент соответствует общему количеству путей из первой доли в вершину сi

49© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Page 50: Математические основы методов решений систем логических уравнений

Определение количества путей

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

1 + 5 + 2 + 3 = 11

50© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Осталось разобраться с многодольным графом, состоящим из К одинаковых двудольных графов.

Page 51: Математические основы методов решений систем логических уравнений

Постановка задачи: обозначения

• K – количество одинаковых двудольных графов, составляющих многодольный граф;

• Q – количество вершин в каждой доле;

• F0 – единичная вектор-строка размерности Q;

• FK – вектор-строка размерности Q, элементами которой являются количества путей из первой доли в каждую вершину K-ой доли.

• I – единичный вектор-столбец размерности Q;

51© Максименкова О.В ДПИ ФКН НИУ ВШЭ

Page 52: Математические основы методов решений систем логических уравнений

Постановка задачи: определение числа путей

• R – общее количество путей из всех вершин первой доли многодольного графа во все вершины K-й доли.

• Тогда можно записать: 𝑅=𝐹0×𝑀𝐾×𝐼• Или в виде рекуррентной формулы 𝐹𝑖=𝐹𝑖−1×𝑀, 𝑖=1,2,…,𝐾𝑅=𝐹𝐾×𝐼

52© Максименкова О.В ДПИ ФКН НИУ ВШЭ

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

Page 53: Математические основы методов решений систем логических уравнений

Время вопросов

© Максименкова О.В., ДПИ ФКН НИУ ВШЭ 53

Page 54: Математические основы методов решений систем логических уравнений

Использованная литература

1. Авдошин С. М., Ахметсафина Р. З., Максименкова О. В. Информатика: Логика и алгоритмы. Эффективные методы решения задач: Пособие для самостоятельной подготовки.-- М., СПб.: Просвещение, 2013.

2. Авдошин С.М., Ахметсафина Р.З., и др. Информатика и ИКТ: ЕГЭ: Учебно-справочные материалы (Серия «Итоговый контроль: ЕГЭ»).– М.; СПб.: Просвещение, 2012. – 295 с.

3. Незнанов А.А., Кохов В.А. Алгоритмизация решения переборных задач анализа графов.– М.: Издательский дом МЭИ, 2007. – 80 с.

4. Гантмахер Ф.Р. Теория матриц.-- М.: Наука, 1967.5. Мирончик Е.А., Метод отображения // Информатика, № 10, 2013, с. 18-26.6. Е.А. Мирончик. Люблю ЕГЭ за В15, или Ещё раз про метод отображения //

Информатика, № 7-8, 2014, с. 26-32.7. К.Ю. Поляков [http://kpolyakov.spb.ru/school/ege.htm] 8. К.Ю. Поляков, М.А. Ройтберг. Системы логических уравнений: решение с

помощью битовых цепочек // Информатика, № 12, 2014, с. 4-12. [http://andr7791.ucoz.ru/eg/logicheskie_uravnenija_poljakov.pdf]

54© Максименкова О.В ДПИ ФКН НИУ ВШЭ