SlideShare a Scribd company logo
1 of 54
Download to read offline
Математические основы методов
решений систем логических
уравнений
(28.10.2016)
Максименкова Ольга Вениаминовна, старший преподаватель
департамента программной инженерии факультета
компьютерных наук НИУ ВШЭ
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ 1
Прохождение квеста ЕГЭ 23
1. Соглашения о нотации
2. Обзор необходимых знаний по математике
3. Алгоритм решения систем однородных логических уравнений.
© Максименкова О.В., Незнанов А.А., ДПИ и ДАдиИИ ФКН НИУ ВШЭ 2
НО: Решение задачи не сводится к механическому выполнению действий.
Поскольку все выкладки должны производится безошибочно, то только
понимание и точное применение понятий , лежащих в основе метода даст вам
возможность быстро и аккуратно проверять собственное решение.
Будем знакомы
© Максименкова О.В., Незнанов А.А., ДПИ и ДАдиИИ ФКН НИУ ВШЭ 3
Ведущий вебинара:
Ольга Вениаминовна Максименкова
E-mail: omaksimenkova@hse.ru
Web-site:
http://hse.ru/staff/maksimenkova
Blog: http://stoptoscale.blogspot.ru
(RU)
Что вам нужно знать, уметь и понимать?
• Основные понятия
• Законы алгебры логики
• ДНФ, КНФ и СДНФ и СКНФ
• Перемножение матриц
• Основы теории графов
4© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Алгебра логики
Соглашения о нотации и терминологии
Логические функции
КНФ, ДНФ, СКНФ и СДНФ
© Максименкова О.В., Незнанов А.А., ДПИ и ДАдиИИ ФКН НИУ ВШЭ 5
Алгебра логики.
Соглашения о нотации
Обозначение Название операции Пример
· Конъюнкция, логическое умножение 𝑨 ∙ 𝑩
+ Дизъюнкция, логическое сложение 𝑨 + 𝑩
¯
(черта сверху)
Логическое отрицание ഥ𝑨
→ Импликация 𝑨 → 𝑩
⊕ Строгая дизъюнкция, строгое логическое сложение 𝑨 ⊕ 𝑩
↔ Эквиваленция 𝑨 ↔ 𝑩
≡ Тождество 𝑨 ≡ 𝑩
© Максименкова О.В., ДПИ, ФКН НИУ ВШЭ 6
Основные понятие алгебры логики
Логическая функция – это функция логических переменных X1, X2, X3, …, XN
F = F(X1, X2, X3, …, XN),
которая может принимать только два значения: истина (1) и ложь (0)
Область определения логической функции – это количество S возможных
наборов значений аргументов
S = 2N, где N – количество переменных.
7© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Алгебра логики: Основные понятия
Логическая функция имеет нормальную форму, если в ней
используются только три логические операции: дизъюнкции,
конъюнкции и отрицания переменных. Двойное отрицание или
отрицание выражений не используется.
Элементарная конъюнкция – логическое произведение
аргументов или их отрицаний.
Элементарная дизъюнкция – логическая сумма аргументов или
их отрицаний.
Конъюнкция (дизъюнкция) называется правильной
элементарной конъюнкцией, если каждый аргумент входит в неё
не более одного раза.
8© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Примеры
• Элементарные конъюнкции
• 𝐴 ∙ ത𝐵 ∙ 𝐶
• ҧ𝐴 ∙ 𝐵 ∙ 𝐶 ∙ ഥ𝐷
• Элементарные дизъюнкции
• 𝐴 + ത𝐵 + 𝐶
• ҧ𝐴 + 𝐵 + 𝐶 + ഥ𝐷
• Выберите номера выражений, содержащий НЕ элементарные
конъюнкции и дизъюнкции:
1. ഥ𝑨 ∙ ഥ𝑩 ∙ ഥ𝑪
2. 𝑨 + 𝑩 ∙ 𝑪
3. 𝑨 + ഥ𝑩
4. 𝑨 + ഥ𝑩 + ഥ𝑪
5. 𝑨 ∙ 𝑩
9© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Напишите в чате!!!
Алгебра логики: ДНФ и КНФ
• Дизъюнктивная нормальная форма (ДНФ) – это дизъюнкция
попарно различных правильных элементарных конъюнкций
(логическая сумма логических произведений)
• 𝐴 ∙ 𝐵 ∙ ҧ𝐶 + 𝐵 ∙ 𝐶 + ҧ𝐴 ∙ ത𝐵
• 𝑋 ∙ 𝑌 + ത𝑋 ∙ 𝑌 ∙ 𝑍 + 𝑋 ∙ ത𝑌 ∙ 𝑍
• Конъюнктивная нормальная форма (КНФ) – это конъюнкция
попарно различных правильных элементарных дизъюнкций
(логическое произведение логических сумм)
• 𝐴 + 𝐵 + 𝐶 ∙ 𝐴 + ത𝐵 + 𝐶
• 𝑋 + 𝑌 ∙ ത𝑋 + 𝑌 + 𝑍 ∙ 𝑋 + ത𝑌 + 𝑍
10© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Алгоритм приведения логической
функции к ДНФ или КНФ
1. Избавиться от импликации, эквиваленции, исключающего
или;
2. Избавиться от отрицаний над сложными выражениями (з-н де
Моргана, закон двойного отрицания);
3. Раскрыть скобки (дистрибутивные з-ны);
4. Уменьшить количество вхождений переменных (з-ны алгебры
логики)
11© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Алгебра логики: СКНФ и СДНФ
• Совершенной конъюнктивной нормальной формой (СКНФ)
логической функции называется конъюнкция попарно
различных полных правильных элементарных дизъюнкций,
равных нулю на тех же наборах, что и функция.
• Совершенной дизъюнктивной нормальной формой (СДНФ)
логической функции называется дизъюнкция попарно
различных полных правильных элементарных конъюнкций,
равных единице на тех же наборах, что и функция.
12© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Способы построения СКНФ и СДНФ
• По таблице истинности
• СДНФ
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
𝑨 ∙ ഥ𝑩 ∙ 𝑪
ഥ𝑨 + ഥ𝑩 + 𝑪
Построение СКНФ и СДНФ по таблицам
истинности: пример
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© Максименкова О.В ДПИ ФКН НИУ ВШЭ
ഥ𝑨 ∙ 𝑩 ∙ 𝑪
𝑨 ∙ ഥ𝑩 ∙ 𝑪
𝑨 ∙ 𝑩 ∙ 𝑪
+
+
𝑭 𝑨, 𝑩, 𝑪 = ഥ𝑨 ∙ 𝑩 ∙ 𝑪 + 𝑨 ∙ ഥ𝑩 ∙ 𝑪 + 𝑨 ∙ 𝑩 ∙ 𝑪
Построение СКНФ и СДНФ по таблицам
истинности: пример
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© Максименкова О.В ДПИ ФКН НИУ ВШЭ
ഥ𝑨 + ഥ𝑩 + 𝑪
𝑨 + ഥ𝑩 + 𝑪
ഥ𝑨 + ഥ𝑩 + ഥ𝑪
𝑭 𝑨, 𝑩, 𝑪 = 𝑨 + ഥ𝑩 + 𝑪 ∙ ഥ𝑨 + ഥ𝑩 + 𝑪 ∙ (ഥ𝑨 + ഥ𝑩 + ഥ𝑪)
×
×
Аналитический способ построения СДНФ
1. Переходим к ДНФ по алгоритму со слайда…
2. Неполные конъюнкции, чтобы получить полные, умножить на
выражение вида (𝑋 + ത𝑋 = 1)
3. Применить закон идемпотентности (𝑋 + 𝑋 = 𝑋), чтобы
исключить повторяющиеся конъюнкции.
Количество полных элементарных конъюнкций в СДНФ
соответствует количеству единиц в таблице истинности.
16© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Аналитический способ построения
СДНФ: пример
• Определить количество решений логического уравнения:
𝑨 ∙ ഥ𝑩 + 𝑨 ∙ ഥ𝑪 + 𝑨 ∙ 𝑩 ∙ 𝑪 = 𝟏
• Рассуждения и выкладки:
1. Функция уже приведена к ДНФ
2. Домножим неполные конъюнкции на выражение вида (𝑋 + ത𝑋 = 1):
𝐴 ∙ ത𝐵 ∙ 𝐶 + ҧ𝐶 + 𝐴 ∙ ҧ𝐶 ∙ 𝐵 + ത𝐵 + 𝐴 ∙ 𝐵 ∙ 𝐶 = 1
3. Раскроем скобки:
𝐴 ∙ ത𝐵 ∙ 𝐶 + 𝐴 ∙ ത𝐵 ∙ ҧ𝐶 + 𝐴 ∙ 𝐵 ∙ ҧ𝐶 + 𝐴 ∙ ത𝐵 ∙ ҧ𝐶 + 𝐴 ∙ 𝐵 ∙ 𝐶 = 1
4. Применим закон идемпотентности:
𝐴 ∙ ത𝐵 ∙ 𝐶 + 𝐴 ∙ 𝐵 ∙ ҧ𝐶 + 𝐴 ∙ ത𝐵 ∙ ҧ𝐶 + 𝐴 ∙ 𝐵 ∙ 𝐶 = 1
5. Получена СКНФ, состоящая из четырёх элементарных полных
конъюнкций. Количество решений логического уравнения: 4
17© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Логические уравнения и системы
логических уравнений
• Логическое уравнение вида:
𝐹 𝑋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© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Методы решения
1. Метод рассуждений
• Для несложных уравнений
2. Построение таблицы истинности
• Малое количество переменных (для N переменных число строк в таблице
2N)
3. Построение дерева решений
• Когда уравнение можно решать последовательным добавлением
логических переменных.
4. Построение СДНФ заданного выражения
19© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Логические уравнения и системы
логических уравнений
• Логическое уравнение вида:
𝐹 𝑋1, 𝑋2, … , 𝑋 𝑁 = 0
• Методы решения
1. Построить СКНФ – число сомножителей равно количеству нулевых
значений в таблице истинности, то есть количеству решений
уравнения;
2. Получить количество решений R уравнение вида 𝐹 𝑋1, 𝑋2, … , 𝑋 𝑁 = 1,
тогда ответ будет равен общему количеству наборов, минус R: 2N-R
3. Добавить отрицание к обеим частям уравнения: 𝐹 𝑋1, 𝑋2, … , 𝑋 𝑁 = 1
20© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Логические уравнения и системы
логических уравнений
• Отметим, что для решения систем вида:
𝐹1 𝑋1, 𝑋2, … , 𝑋 𝑁 = 0
𝐹2 𝑋1, 𝑋2, … , 𝑋 𝑁 = 0
𝐹3 𝑋1, 𝑋2, … , 𝑋 𝑁 = 0
…
𝐹 𝐾 𝑋1, 𝑋2, … , 𝑋 𝑁 = 0
Применим только третий метод с предыдущего слайда.
21© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Общие методы решения логических
уравнений и систем логических уравнений
1. Метод отображений (авт. Мирончик Е.А.)*
2. Метод битовых векторов/цепочек (авт. Поляков К.Ю.,
Ройтберг М.А.)*
3. Метод решения систем однородных логических уравнений
(авт. Авдошин С.М., Ахметсафина Р.З.)
• Операции над матрицами
• Рекуррентные формулы
• Многодольные графы и поиск количества путей в многодольных графах
22© Максименкова О.В ДПИ ФКН НИУ ВШЭ
*Ссылки на описание метода отображений и метода битовых векторов см. на слайде «Использованная
литература»
Элементы теории матриц
Что такое матрицы
Операции над матрицами
23© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Основные понятия и определения
24© Максименкова О.В., ДПИ ФКН НИУ ВШЭ
𝑎11 𝑎12 … 𝑎1𝑛
𝑎21 𝑎22 … 𝑎2𝑛
… . . . … …
𝑎 𝑚1 𝑎 𝑚2 … 𝑎 𝑚𝑛
Пусть дано некоторое числовое поле K. Прямоугольную таблицу чисел из
поля K будем называть матрицей.
Под числовым полем понимают любую совокупность чисел, в пределах которой всегда выполнимы и однозначны
четыре операции: сложение, вычитание, умножение и деление на число, отличное от нуля.
В общем случае матрица называется прямоугольной (с размерами
mxn).
Примеры матриц
25© Максименкова О.В ДПИ ФКН НИУ ВШЭ
𝐴 =
0 3 7
1 −1 0
0 0
2
3
11
1
2
−2
𝐵 =
2𝑖 + 9 1 14
−𝑖 +
2
2
𝑖 −1
𝐶 =
1 1 1
0 1 1
0 0 1
Напишите в чате!!!
Какие из матриц можно перемножить?
Элементы матрицы
26© Максименкова О.В ДПИ ФКН НИУ ВШЭ
𝑎11 𝑎12 … 𝑎1𝑛
𝑎21 𝑎22 … 𝑎2𝑛
… . . . … …
𝑎 𝑚1 𝑎 𝑚2 … 𝑎 𝑚𝑛
Первый индекс
-номер строки
Второй индекс-
номер столбца
Числа, составляющие матрицу, называются её элементами и характеризуются
своим положением в таблице.
Особые случаи
27© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Матрица размером mx1 называется вектор-столбцом.
Матрица размером 1xn называется вектор-строкой.
𝐴 =
𝑎1
𝑎2
⋮
𝑎 𝑚
𝐴 = 𝑎1 𝑎2 ⋯ 𝑎 𝑛
Операции над матрицами: сложение
• Суммой двух матриц A и B одинакового размера mxn
называется матрица C того же размера, каждый элемент
которой равен сумме соответствующих элементов (то есть
стоящих в тех же позициях) исходных матриц.
𝑐𝑖𝑗 = 𝑎𝑖𝑗 + 𝑏𝑖𝑗, 𝑖 = 1,2, … , 𝑚; 𝑗 = 1,2, … 𝑛.
• Свойства сложения
• Коммутативность 𝐴 + 𝐵 = 𝐵 + 𝐴
• Ассоциативность 𝐴 + 𝐵 + 𝐶 = 𝐴 + (𝐵 + 𝐶)
1 2
3 4
+
5 6
7 8
=
1 + 5 2 + 6
3 + 7 4 + 8
=
6 8
10 12
28© Максименкова О.В ДПИ ФКН НИУ ВШЭ
a21 b21 C21=a21+b21
Операции над матрицами: умножение на
константу и разность
• Произведением матрицы A размера mxn и константы C
называется матрица B того же размера, каждый элемент
которой равен произведению C и элемента матрицы A,
стоящему в той же позиции.
𝑏𝑖𝑗 = 𝐶 ∙ 𝑎𝑖𝑗, 𝑖 = 1,2, … , 𝑚; 𝑗 = 1,2, … 𝑛.
• Разность двух матриц A и В вычисляется как сумма матриц A и
−B.
𝑐𝑖𝑗 = 𝑎𝑖𝑗 − 𝑏𝑖𝑗, 𝑖 = 1,2, … , 𝑚; 𝑗 = 1,2, … 𝑛.
29© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Операции над матрицами: произведение
• Произведением двух матриц А размера (m  q) и B размера
(q  n), в которых количество столбцов матрицы А равно
количеству строк матрицы В, называется матрица С размера
(m  n), у которой количество строк m равно количеству строк
первой матрицы, а количество столбцов n равно количеству
столбцов второй. Каждый элемент сij матрицы С равен сумме
попарных произведений элементов соответствующей строки
первой матрицы и элементов соответствующего столбца второй.
𝑐𝑖𝑗 = 𝑎𝑖1 ∙ 𝑏1𝑗 + 𝑎𝑖2 ∙ 𝑏2𝑗 + ⋯ 𝑎𝑖𝑞 ∙ 𝑏 𝑞𝑗 = ෍
𝑘=1
𝑞
𝑎𝑖𝑘 ∙ 𝑏 𝑘𝑗 ,
𝑖 = 1, 2, … , 𝑚, 𝑗 = 1, 2, … , 𝑛
• Произведение матриц, вообще говоря, не коммутативно
𝐴 ∙ 𝐵 ≠ 𝐵 ∙ 𝐴
30© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Операции над матрицами: произведение
31© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Операции над матрицами: произведение
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)
Проверим понимание: вопросы
1. Что будет результатом произведениям вектора-строки А (1xq)
на матрицу B размера qxm?
2. Что будет результатом произведения матрицы A размера mxq
и вектор-столбца B размерности qx1?
3. Что будет результатом произведения вектора-строки А (1xq) и
вектора строки В (qx1)?
4. Что будет результатом произведения вектора-столбца А (qx1)
на вектор-строку В (1xp)?
33© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Напишите в чате!!!
Проверим понимание: ответы
1. Что будет результатом произведениям вектора-строки А (1xq)
на матрицу B размерности qxm?
• Вектор-строка (1xm)
2. Что будет результатом произведения матрицы A размерности
mxq и вектор-столбца B размерности qx1?
• Вектор-столбец (mx1)
3. Что будет результатом произведения вектора-строки А (1xq) и
вектора строки В (qx1)?
• число
4. Что будет результатом произведения вектора-столбца А (qx1)
на вектор-строку В (1xp)?
• Матрица (qxp)
34© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Дополнительное задание: для тех, кто
любит программирование
• Напишите программу, позволяющую перемножать
вещественные матрицы (размеры по измерениям не
превосходят 10).
• Программа должна проверять соотношение размерностей матриц.
• Печать исходные матрицы и матрицу-произведение.
• Для некорректных данных выводить сообщения.
35© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Рекуррентные
последовательности
36© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Рекуррентная последовательность
37© Максименкова О.В ДПИ ФКН НИУ ВШЭ
• Последовательности, в которых каждый член определяется как
некоторая функция предыдущих, называются рекуррентными
(возвратными)
• Процесс последовательного определения элементов таких
последовательностей называется рекуррентным процессом
Рекуррентная формула
• Рекуррентная формула - формула, сводящая вычисление 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© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Теория графов
39© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Соглашения о терминологии
• Обозначение графа: G = (V, E), где идентификаторами (номерами) вершин и
ребер выступают числа натурального ряда:
 V = {v1, v2, … , vp} = {0, 1, … , p1}, p = |V| – число вершин;
 E = {e1, e2, … , eq} = {0, 1, … , q1}, q = |E| – число ребер.
• Граф – неориентированный граф без петель и кратных рёбер.
• Мультиграф – граф, содержащий кратные рёбра.
• Кратными (или мультирёбрами) называются рёбра, инцидентные одной и
той же паре вершин.
• Петля – ребро, инцидентное только одной вершине (соединяет вершину с
самой собой).
• Две вершины смежны, если они соединены ребром.
• Два ребра смежны, если они имеют общую вершину.
40© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Соглашения о терминологии
• Маршрут – чередующаяся последовательность
a = v0, e1, v1, e2, …, vn-1, en, vn = b
вершин и ребер графа такая, что ei = {vi-1, vi}, 1  i  n. Вершины a и b
– концевые вершины (концы) маршрута.
• Цепь – маршрут, все рёбра которого различны. Если все вершины
цепи различны, то цепь простая, иначе – составная.
• Длина цепи – число рёбер в ней.
• Цикл – цепь, в которой первая и последняя вершины совпадают. Если
все вершины цикла, кроме концевых, различны, то цикл простой,
иначе – составной.
• Одна вершина достижима из другой, если есть цепь, их
соединяющая.
• Граф связный, если из одной вершины достижимы все остальные,
иначе граф несвязный и состоит из компонент связности
41© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Способы представления графов: матрица
смежности
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
1
2
3
4
5
1 2 3 4 5
5
1
2
34
1
7
2
3
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
1
2
3
4
5
1 2 3 4 5
Многодольные графы: двудольный
• Двудольный граф, если G = (AB, E) и каждое ребро соединяет
вершину из A с вершиной B.
43© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Многодольные графы: двудольный
• Для описания двудольного графа можно использовать матрицу
двудольного графа
44© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Количество рёбер между долями графа
• Общее количество рёбер между долями графа определяется
суммой элементов матрицы двудольного графа:
1. Умножаем единичную вектор-строку из пяти элементов на матрицу
двудольного графа:
1 1 1 1 1 ∙
1 0 1 0
0 1 0 0
0 0 1 1
0 0 0 1
0 0 1 1
= 1 1 3 3
2. Полученную вектор-строку умножаем на единичный вектор-столбец из
четырёх элементов:
1 1 3 3 ∙
1
1
1
1
= 1 ∙ 1 + 1 ∙ 1 + 1 ∙ 3 + 1 ∙ 3 = 8
45© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Многодольный граф
• Рассмотрим граф, состоящий из последовательности
двудольных графов. Такой граф называют многодольным
графом порядка t, где t – количество долей.
46© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Матрицы долей многодольного графа
47© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Определение количества путей
1. Для определения количества путей из каждой вершины
первой доли в каждую вершину третьей доли надо
перемножить матрицы двудольных графов M1 и M2.
Элементы полученной матрицы M = M1·M2 соответствуют
количеству путей из вершины ai в вершину сj, где i – номер
строки, j – номер столбца матрицы M.
48© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Определение количества путей
2. Для определения количества путей из всех вершин первой
доли в каждую вершину третьей доли надо умножить
единичную вектор-строку размерности 4 на матрицу M. В
полученном векторе-строке i-й элемент соответствует общему
количеству путей из первой доли в вершину сi
49© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Определение количества путей
3. Для определения количества путей из всех вершин первой
доли во все вершины третьей доли надо умножить вектор-
строку, полученную на шаге 2, на единичный вектор-столбец.
1 + 5 + 2 + 3 = 11
50© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Осталось разобраться с многодольным графом, состоящим из К одинаковых
двудольных графов.
Постановка задачи: обозначения
• K – количество одинаковых двудольных графов, составляющих
многодольный граф;
• Q – количество вершин в каждой доле;
• F0 – единичная вектор-строка размерности Q;
• FK – вектор-строка размерности Q, элементами которой
являются количества путей из первой доли в каждую вершину K-
ой доли.
• I – единичный вектор-столбец размерности Q;
51© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Постановка задачи: определение числа
путей
• R – общее количество путей из всех вершин первой доли
многодольного графа во все вершины K-й доли.
• Тогда можно записать: 𝑅=𝐹0×𝑀 𝐾×𝐼
• Или в виде рекуррентной формулы
𝐹𝑖=𝐹𝑖−1×𝑀, 𝑖=1,2,…,𝐾
𝑅=𝐹 𝐾×𝐼
52© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Пример использования этого метода и общий алгоритм решения систем
однородных логических уравнений мы рассмотрим в следующий раз.
Время вопросов
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ 53
Использованная литература
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© Максименкова О.В ДПИ ФКН НИУ ВШЭ

More Related Content

What's hot

Mnogougolniki 2
Mnogougolniki 2Mnogougolniki 2
Mnogougolniki 2Ivanchik5
 
показательная функция. решение показательных уравнений
показательная функция. решение показательных уравненийпоказательная функция. решение показательных уравнений
показательная функция. решение показательных уравненийermolaeva_mv
 
Корреляция и МНК
Корреляция и МНККорреляция и МНК
Корреляция и МНКKurbatskiy Alexey
 
решение уравнений с параметрами
решение уравнений с параметрамирешение уравнений с параметрами
решение уравнений с параметрамиЕлена Гришко
 
Сравнение выборок
Сравнение выборокСравнение выборок
Сравнение выборокKurbatskiy Alexey
 
Лекция 6. Совместный закон распределения
Лекция 6. Совместный закон распределенияЛекция 6. Совместный закон распределения
Лекция 6. Совместный закон распределенияKurbatskiy Alexey
 
задачи с параметрами (граф.)
задачи с параметрами  (граф.)задачи с параметрами  (граф.)
задачи с параметрами (граф.)NovikovaOG
 
Neravenstva i ih_sistemy
Neravenstva i ih_sistemyNeravenstva i ih_sistemy
Neravenstva i ih_sistemyIvanchik5
 
Prikladnye zadachi na_jekstremumy
Prikladnye zadachi na_jekstremumyPrikladnye zadachi na_jekstremumy
Prikladnye zadachi na_jekstremumyDimon4
 
уравнения с-параметрами (логарифм,показат,тригон)
уравнения с-параметрами (логарифм,показат,тригон)уравнения с-параметрами (логарифм,показат,тригон)
уравнения с-параметрами (логарифм,показат,тригон)Елена Гришко
 
задачи с параметрами (аналит.)
задачи с параметрами (аналит.)задачи с параметрами (аналит.)
задачи с параметрами (аналит.)NovikovaOG
 
лин уравнения с параметрами
лин уравнения с параметрамилин уравнения с параметрами
лин уравнения с параметрамиЕлена Гришко
 
Mnogougolniki 1
Mnogougolniki 1Mnogougolniki 1
Mnogougolniki 1Ivanchik5
 
Primenenie svojstv funkcij_k_resheniyu_uravnenij_i
Primenenie svojstv funkcij_k_resheniyu_uravnenij_iPrimenenie svojstv funkcij_k_resheniyu_uravnenij_i
Primenenie svojstv funkcij_k_resheniyu_uravnenij_iDimon4
 
8 клас скорочення дробів
8 клас скорочення дробів8 клас скорочення дробів
8 клас скорочення дробівjasperwtf
 
Gia 2013 god_modul_algebra_zadacha_8
Gia 2013 god_modul_algebra_zadacha_8Gia 2013 god_modul_algebra_zadacha_8
Gia 2013 god_modul_algebra_zadacha_8Иван Иванов
 
слау. кононова ес
слау. кононова есслау. кононова ес
слау. кононова есkononova_kate
 

What's hot (19)

Mnogougolniki 2
Mnogougolniki 2Mnogougolniki 2
Mnogougolniki 2
 
показательная функция. решение показательных уравнений
показательная функция. решение показательных уравненийпоказательная функция. решение показательных уравнений
показательная функция. решение показательных уравнений
 
Корреляция и МНК
Корреляция и МНККорреляция и МНК
Корреляция и МНК
 
решение уравнений с параметрами
решение уравнений с параметрамирешение уравнений с параметрами
решение уравнений с параметрами
 
Сравнение выборок
Сравнение выборокСравнение выборок
Сравнение выборок
 
Лекция 6. Совместный закон распределения
Лекция 6. Совместный закон распределенияЛекция 6. Совместный закон распределения
Лекция 6. Совместный закон распределения
 
задачи с параметрами (граф.)
задачи с параметрами  (граф.)задачи с параметрами  (граф.)
задачи с параметрами (граф.)
 
Neravenstva i ih_sistemy
Neravenstva i ih_sistemyNeravenstva i ih_sistemy
Neravenstva i ih_sistemy
 
Prikladnye zadachi na_jekstremumy
Prikladnye zadachi na_jekstremumyPrikladnye zadachi na_jekstremumy
Prikladnye zadachi na_jekstremumy
 
уравнения с-параметрами (логарифм,показат,тригон)
уравнения с-параметрами (логарифм,показат,тригон)уравнения с-параметрами (логарифм,показат,тригон)
уравнения с-параметрами (логарифм,показат,тригон)
 
задачи с параметрами (аналит.)
задачи с параметрами (аналит.)задачи с параметрами (аналит.)
задачи с параметрами (аналит.)
 
лин уравнения с параметрами
лин уравнения с параметрамилин уравнения с параметрами
лин уравнения с параметрами
 
Mnogougolniki 1
Mnogougolniki 1Mnogougolniki 1
Mnogougolniki 1
 
Primenenie svojstv funkcij_k_resheniyu_uravnenij_i
Primenenie svojstv funkcij_k_resheniyu_uravnenij_iPrimenenie svojstv funkcij_k_resheniyu_uravnenij_i
Primenenie svojstv funkcij_k_resheniyu_uravnenij_i
 
8 клас скорочення дробів
8 клас скорочення дробів8 клас скорочення дробів
8 клас скорочення дробів
 
Gia 2013 god_modul_algebra_zadacha_8
Gia 2013 god_modul_algebra_zadacha_8Gia 2013 god_modul_algebra_zadacha_8
Gia 2013 god_modul_algebra_zadacha_8
 
ГИА модуль алгебра 2
ГИА  модуль  алгебра 2ГИА  модуль  алгебра 2
ГИА модуль алгебра 2
 
111
111111
111
 
слау. кононова ес
слау. кононова есслау. кононова ес
слау. кононова ес
 

Viewers also liked

Основы С++ (операторы, типы данных, функции)
Основы С++ (операторы, типы данных, функции)Основы С++ (операторы, типы данных, функции)
Основы С++ (операторы, типы данных, функции)Olga Maksimenkova
 
Абстрактные типы данных, контейнеры и списки
Абстрактные типы данных, контейнеры и спискиАбстрактные типы данных, контейнеры и списки
Абстрактные типы данных, контейнеры и спискиOlga Maksimenkova
 
Современные образовательные технологии в области компьютерных наук
Современные образовательные технологии в области компьютерных наукСовременные образовательные технологии в области компьютерных наук
Современные образовательные технологии в области компьютерных наукOlga Maksimenkova
 
Абстрактные типы данных. Списки
Абстрактные типы данных. СпискиАбстрактные типы данных. Списки
Абстрактные типы данных. СпискиOlga Maksimenkova
 
[Maksimenkova_Neznanov] Peer Assessment to Programmers & Peer Assessment Syst...
[Maksimenkova_Neznanov] Peer Assessment to Programmers & Peer Assessment Syst...[Maksimenkova_Neznanov] Peer Assessment to Programmers & Peer Assessment Syst...
[Maksimenkova_Neznanov] Peer Assessment to Programmers & Peer Assessment Syst...Olga Maksimenkova
 
Абстрактные типы данных, последовательности, списки
Абстрактные типы данных, последовательности, спискиАбстрактные типы данных, последовательности, списки
Абстрактные типы данных, последовательности, спискиOlga Maksimenkova
 
Основы С++ (массивы, указатели). Задачи с массивами
Основы С++ (массивы, указатели). Задачи с массивамиОсновы С++ (массивы, указатели). Задачи с массивами
Основы С++ (массивы, указатели). Задачи с массивамиOlga Maksimenkova
 
4. Многомерные массивы и массивы массивов в C#
4. Многомерные массивы и массивы массивов в C#4. Многомерные массивы и массивы массивов в C#
4. Многомерные массивы и массивы массивов в C#Olga Maksimenkova
 
Очистка данных на практике: мифы и легенты Excel и R
Очистка данных на практике: мифы и легенты Excel и RОчистка данных на практике: мифы и легенты Excel и R
Очистка данных на практике: мифы и легенты Excel и ROlga Maksimenkova
 
1. Типы данных. Операции. Ввод и вывод C#
1. Типы данных. Операции. Ввод и вывод C#1. Типы данных. Операции. Ввод и вывод C#
1. Типы данных. Операции. Ввод и вывод C#Olga Maksimenkova
 

Viewers also liked (11)

Основы С++ (операторы, типы данных, функции)
Основы С++ (операторы, типы данных, функции)Основы С++ (операторы, типы данных, функции)
Основы С++ (операторы, типы данных, функции)
 
Абстрактные типы данных, контейнеры и списки
Абстрактные типы данных, контейнеры и спискиАбстрактные типы данных, контейнеры и списки
Абстрактные типы данных, контейнеры и списки
 
Современные образовательные технологии в области компьютерных наук
Современные образовательные технологии в области компьютерных наукСовременные образовательные технологии в области компьютерных наук
Современные образовательные технологии в области компьютерных наук
 
Абстрактные типы данных. Списки
Абстрактные типы данных. СпискиАбстрактные типы данных. Списки
Абстрактные типы данных. Списки
 
[Maksimenkova_Neznanov] Peer Assessment to Programmers & Peer Assessment Syst...
[Maksimenkova_Neznanov] Peer Assessment to Programmers & Peer Assessment Syst...[Maksimenkova_Neznanov] Peer Assessment to Programmers & Peer Assessment Syst...
[Maksimenkova_Neznanov] Peer Assessment to Programmers & Peer Assessment Syst...
 
Абстрактные типы данных, последовательности, списки
Абстрактные типы данных, последовательности, спискиАбстрактные типы данных, последовательности, списки
Абстрактные типы данных, последовательности, списки
 
Основы С++ (массивы, указатели). Задачи с массивами
Основы С++ (массивы, указатели). Задачи с массивамиОсновы С++ (массивы, указатели). Задачи с массивами
Основы С++ (массивы, указатели). Задачи с массивами
 
4. Многомерные массивы и массивы массивов в C#
4. Многомерные массивы и массивы массивов в C#4. Многомерные массивы и массивы массивов в C#
4. Многомерные массивы и массивы массивов в C#
 
Очистка данных на практике: мифы и легенты Excel и R
Очистка данных на практике: мифы и легенты Excel и RОчистка данных на практике: мифы и легенты Excel и R
Очистка данных на практике: мифы и легенты Excel и R
 
3. Массивы в C#
3. Массивы в C#3. Массивы в C#
3. Массивы в C#
 
1. Типы данных. Операции. Ввод и вывод C#
1. Типы данных. Операции. Ввод и вывод C#1. Типы данных. Операции. Ввод и вывод C#
1. Типы данных. Операции. Ввод и вывод C#
 

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

Алгоритмы и структуры данных осень 2013 лекция 1
Алгоритмы и структуры данных осень 2013 лекция 1Алгоритмы и структуры данных осень 2013 лекция 1
Алгоритмы и структуры данных осень 2013 лекция 1Technopark
 
пугач му по матлогике 2015
пугач му по матлогике 2015пугач му по матлогике 2015
пугач му по матлогике 2015LIPugach
 
Тензорная алгебра и тензорный анализ Горлач.pdf
Тензорная алгебра и тензорный анализ Горлач.pdfТензорная алгебра и тензорный анализ Горлач.pdf
Тензорная алгебра и тензорный анализ Горлач.pdffuad163089
 
Reshenie sistem uravnenij_vtoroj_stepeni
Reshenie sistem uravnenij_vtoroj_stepeniReshenie sistem uravnenij_vtoroj_stepeni
Reshenie sistem uravnenij_vtoroj_stepenidimonz9
 
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...Positive Hack Days
 
Структурные формулы и функциональные схемы
Структурные формулы и функциональные схемыСтруктурные формулы и функциональные схемы
Структурные формулы и функциональные схемыaleksashka3
 
Metody resheniya irracionalnyh_uravnenij
Metody resheniya irracionalnyh_uravnenijMetody resheniya irracionalnyh_uravnenij
Metody resheniya irracionalnyh_uravnenijIvanchik5
 
Методы решения иррациональных уравнений
Методы решения иррациональных уравненийМетоды решения иррациональных уравнений
Методы решения иррациональных уравненийVadim Vadim
 
В поисках математики. Михаил Денисенко, Нигма
В поисках математики. Михаил Денисенко, НигмаВ поисках математики. Михаил Денисенко, Нигма
В поисках математики. Михаил Денисенко, Нигмаyaevents
 
Прикладная эконометрика. Лекция 3.
Прикладная эконометрика. Лекция 3.Прикладная эконометрика. Лекция 3.
Прикладная эконометрика. Лекция 3.Vladimir Tcherniak
 
Исследование операций и методы оптимизации
Исследование операций и методы оптимизацииИсследование операций и методы оптимизации
Исследование операций и методы оптимизацииJakobow
 
Физическая задача. Виды. Методы решения.
Физическая задача. Виды. Методы решения.Физическая задача. Виды. Методы решения.
Физическая задача. Виды. Методы решения.Наталья Ларионова
 
Михаил Александров, Индуктивное моделирование
Михаил Александров, Индуктивное моделированиеМихаил Александров, Индуктивное моделирование
Михаил Александров, Индуктивное моделированиеLidia Pivovarova
 
Эконометрика: тема 7
Эконометрика: тема 7Эконометрика: тема 7
Эконометрика: тема 7Nikita V. Artamonov
 
Lecture 06. Рекуррентные соотношения и числа Фибоначчи.
Lecture 06. Рекуррентные соотношения и числа Фибоначчи.Lecture 06. Рекуррентные соотношения и числа Фибоначчи.
Lecture 06. Рекуррентные соотношения и числа Фибоначчи.Vladimir Tcherniak
 
Прогнозирование - Лекция 3. Множественная регрессия
Прогнозирование - Лекция 3. Множественная регрессияПрогнозирование - Лекция 3. Множественная регрессия
Прогнозирование - Лекция 3. Множественная регрессияGleb Zakhodiakin
 
иррациональные уравнения лекция 2
иррациональные уравнения лекция 2иррациональные уравнения лекция 2
иррациональные уравнения лекция 2ludmilka88888
 
иррациональные уравнения лекция 2
иррациональные уравнения лекция 2иррациональные уравнения лекция 2
иррациональные уравнения лекция 2ludmilka88888
 

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

Алгоритмы и структуры данных осень 2013 лекция 1
Алгоритмы и структуры данных осень 2013 лекция 1Алгоритмы и структуры данных осень 2013 лекция 1
Алгоритмы и структуры данных осень 2013 лекция 1
 
пугач му по матлогике 2015
пугач му по матлогике 2015пугач му по матлогике 2015
пугач му по матлогике 2015
 
Тензорная алгебра и тензорный анализ Горлач.pdf
Тензорная алгебра и тензорный анализ Горлач.pdfТензорная алгебра и тензорный анализ Горлач.pdf
Тензорная алгебра и тензорный анализ Горлач.pdf
 
Reshenie sistem uravnenij_vtoroj_stepeni
Reshenie sistem uravnenij_vtoroj_stepeniReshenie sistem uravnenij_vtoroj_stepeni
Reshenie sistem uravnenij_vtoroj_stepeni
 
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...
 
Структурные формулы и функциональные схемы
Структурные формулы и функциональные схемыСтруктурные формулы и функциональные схемы
Структурные формулы и функциональные схемы
 
Metody resheniya irracionalnyh_uravnenij
Metody resheniya irracionalnyh_uravnenijMetody resheniya irracionalnyh_uravnenij
Metody resheniya irracionalnyh_uravnenij
 
Методы решения иррациональных уравнений
Методы решения иррациональных уравненийМетоды решения иррациональных уравнений
Методы решения иррациональных уравнений
 
В поисках математики. Михаил Денисенко, Нигма
В поисках математики. Михаил Денисенко, НигмаВ поисках математики. Михаил Денисенко, Нигма
В поисках математики. Михаил Денисенко, Нигма
 
Сложение отрицательных чисел
Сложение отрицательных чиселСложение отрицательных чисел
Сложение отрицательных чисел
 
Прикладная эконометрика. Лекция 3.
Прикладная эконометрика. Лекция 3.Прикладная эконометрика. Лекция 3.
Прикладная эконометрика. Лекция 3.
 
Введение в алгоритмы и структуры данных
Введение в алгоритмы и структуры данныхВведение в алгоритмы и структуры данных
Введение в алгоритмы и структуры данных
 
Исследование операций и методы оптимизации
Исследование операций и методы оптимизацииИсследование операций и методы оптимизации
Исследование операций и методы оптимизации
 
Физическая задача. Виды. Методы решения.
Физическая задача. Виды. Методы решения.Физическая задача. Виды. Методы решения.
Физическая задача. Виды. Методы решения.
 
Михаил Александров, Индуктивное моделирование
Михаил Александров, Индуктивное моделированиеМихаил Александров, Индуктивное моделирование
Михаил Александров, Индуктивное моделирование
 
Эконометрика: тема 7
Эконометрика: тема 7Эконометрика: тема 7
Эконометрика: тема 7
 
Lecture 06. Рекуррентные соотношения и числа Фибоначчи.
Lecture 06. Рекуррентные соотношения и числа Фибоначчи.Lecture 06. Рекуррентные соотношения и числа Фибоначчи.
Lecture 06. Рекуррентные соотношения и числа Фибоначчи.
 
Прогнозирование - Лекция 3. Множественная регрессия
Прогнозирование - Лекция 3. Множественная регрессияПрогнозирование - Лекция 3. Множественная регрессия
Прогнозирование - Лекция 3. Множественная регрессия
 
иррациональные уравнения лекция 2
иррациональные уравнения лекция 2иррациональные уравнения лекция 2
иррациональные уравнения лекция 2
 
иррациональные уравнения лекция 2
иррациональные уравнения лекция 2иррациональные уравнения лекция 2
иррациональные уравнения лекция 2
 

More from Olga Maksimenkova

Информатика в школе: методы и технологии активного обучения
Информатика в школе: методы и технологии активного обученияИнформатика в школе: методы и технологии активного обучения
Информатика в школе: методы и технологии активного обученияOlga Maksimenkova
 
Взаимное оценивание в дисцилине "Программирование"
Взаимное оценивание в дисцилине "Программирование"Взаимное оценивание в дисцилине "Программирование"
Взаимное оценивание в дисцилине "Программирование"Olga Maksimenkova
 
2020 maksimenkova-dist learning
2020 maksimenkova-dist learning2020 maksimenkova-dist learning
2020 maksimenkova-dist learningOlga Maksimenkova
 
Intelligent Virtual Reality Tutoring Systems as a New Generation of Simulator...
Intelligent Virtual Reality Tutoring Systems as a New Generation of Simulator...Intelligent Virtual Reality Tutoring Systems as a New Generation of Simulator...
Intelligent Virtual Reality Tutoring Systems as a New Generation of Simulator...Olga Maksimenkova
 
Геймификация образования: фан, мотивация и преодоление себя
Геймификация образования: фан, мотивация и преодоление себяГеймификация образования: фан, мотивация и преодоление себя
Геймификация образования: фан, мотивация и преодоление себяOlga Maksimenkova
 
2019-01-11-Digital Transformation of Education
2019-01-11-Digital Transformation of Education2019-01-11-Digital Transformation of Education
2019-01-11-Digital Transformation of EducationOlga Maksimenkova
 
Providing Cognitive Scaffolding within Computer-Supported Adaptive Learning E...
Providing Cognitive Scaffolding within Computer-Supported Adaptive Learning E...Providing Cognitive Scaffolding within Computer-Supported Adaptive Learning E...
Providing Cognitive Scaffolding within Computer-Supported Adaptive Learning E...Olga Maksimenkova
 
Collaborative Learning in Data Science Education: a Data Expedition as a Form...
Collaborative Learning in Data Science Education: a Data Expedition as a Form...Collaborative Learning in Data Science Education: a Data Expedition as a Form...
Collaborative Learning in Data Science Education: a Data Expedition as a Form...Olga Maksimenkova
 
Инженерия Хаоса или научите меня геймдеву
Инженерия Хаоса или научите меня геймдевуИнженерия Хаоса или научите меня геймдеву
Инженерия Хаоса или научите меня геймдевуOlga Maksimenkova
 
Maksimenkova edu infosystems-2018-05-25
Maksimenkova edu infosystems-2018-05-25Maksimenkova edu infosystems-2018-05-25
Maksimenkova edu infosystems-2018-05-25Olga Maksimenkova
 
Lec 04. The way to production: game testing and analytics
Lec 04. The way to production: game testing and analyticsLec 04. The way to production: game testing and analytics
Lec 04. The way to production: game testing and analyticsOlga Maksimenkova
 
Lec 03. The fates of the Games. Game engines, development
Lec 03. The fates of the Games. Game engines, developmentLec 03. The fates of the Games. Game engines, development
Lec 03. The fates of the Games. Game engines, developmentOlga Maksimenkova
 
Lec 01. Mobile games development
Lec 01. Mobile games developmentLec 01. Mobile games development
Lec 01. Mobile games developmentOlga Maksimenkova
 
[Maksimenkova_ Neznanov]apkit 2017
[Maksimenkova_ Neznanov]apkit 2017[Maksimenkova_ Neznanov]apkit 2017
[Maksimenkova_ Neznanov]apkit 2017Olga Maksimenkova
 
Что скрывают открытые образовательные ресурсы?
Что скрывают открытые образовательные ресурсы?Что скрывают открытые образовательные ресурсы?
Что скрывают открытые образовательные ресурсы?Olga Maksimenkova
 
2. Операторы языка C#
2. Операторы языка C#2. Операторы языка C#
2. Операторы языка C#Olga Maksimenkova
 
Представление графов в памяти компьютера (c++).
Представление графов в памяти компьютера (c++).Представление графов в памяти компьютера (c++).
Представление графов в памяти компьютера (c++).Olga Maksimenkova
 

More from Olga Maksimenkova (18)

Информатика в школе: методы и технологии активного обучения
Информатика в школе: методы и технологии активного обученияИнформатика в школе: методы и технологии активного обучения
Информатика в школе: методы и технологии активного обучения
 
Взаимное оценивание в дисцилине "Программирование"
Взаимное оценивание в дисцилине "Программирование"Взаимное оценивание в дисцилине "Программирование"
Взаимное оценивание в дисцилине "Программирование"
 
2020 maksimenkova-dist learning
2020 maksimenkova-dist learning2020 maksimenkova-dist learning
2020 maksimenkova-dist learning
 
Intelligent Virtual Reality Tutoring Systems as a New Generation of Simulator...
Intelligent Virtual Reality Tutoring Systems as a New Generation of Simulator...Intelligent Virtual Reality Tutoring Systems as a New Generation of Simulator...
Intelligent Virtual Reality Tutoring Systems as a New Generation of Simulator...
 
Геймификация образования: фан, мотивация и преодоление себя
Геймификация образования: фан, мотивация и преодоление себяГеймификация образования: фан, мотивация и преодоление себя
Геймификация образования: фан, мотивация и преодоление себя
 
2019-01-11-Digital Transformation of Education
2019-01-11-Digital Transformation of Education2019-01-11-Digital Transformation of Education
2019-01-11-Digital Transformation of Education
 
Providing Cognitive Scaffolding within Computer-Supported Adaptive Learning E...
Providing Cognitive Scaffolding within Computer-Supported Adaptive Learning E...Providing Cognitive Scaffolding within Computer-Supported Adaptive Learning E...
Providing Cognitive Scaffolding within Computer-Supported Adaptive Learning E...
 
Collaborative Learning in Data Science Education: a Data Expedition as a Form...
Collaborative Learning in Data Science Education: a Data Expedition as a Form...Collaborative Learning in Data Science Education: a Data Expedition as a Form...
Collaborative Learning in Data Science Education: a Data Expedition as a Form...
 
Инженерия Хаоса или научите меня геймдеву
Инженерия Хаоса или научите меня геймдевуИнженерия Хаоса или научите меня геймдеву
Инженерия Хаоса или научите меня геймдеву
 
Video Game Design History
Video Game Design HistoryVideo Game Design History
Video Game Design History
 
Maksimenkova edu infosystems-2018-05-25
Maksimenkova edu infosystems-2018-05-25Maksimenkova edu infosystems-2018-05-25
Maksimenkova edu infosystems-2018-05-25
 
Lec 04. The way to production: game testing and analytics
Lec 04. The way to production: game testing and analyticsLec 04. The way to production: game testing and analytics
Lec 04. The way to production: game testing and analytics
 
Lec 03. The fates of the Games. Game engines, development
Lec 03. The fates of the Games. Game engines, developmentLec 03. The fates of the Games. Game engines, development
Lec 03. The fates of the Games. Game engines, development
 
Lec 01. Mobile games development
Lec 01. Mobile games developmentLec 01. Mobile games development
Lec 01. Mobile games development
 
[Maksimenkova_ Neznanov]apkit 2017
[Maksimenkova_ Neznanov]apkit 2017[Maksimenkova_ Neznanov]apkit 2017
[Maksimenkova_ Neznanov]apkit 2017
 
Что скрывают открытые образовательные ресурсы?
Что скрывают открытые образовательные ресурсы?Что скрывают открытые образовательные ресурсы?
Что скрывают открытые образовательные ресурсы?
 
2. Операторы языка C#
2. Операторы языка C#2. Операторы языка C#
2. Операторы языка C#
 
Представление графов в памяти компьютера (c++).
Представление графов в памяти компьютера (c++).Представление графов в памяти компьютера (c++).
Представление графов в памяти компьютера (c++).
 

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

  • 1. Математические основы методов решений систем логических уравнений (28.10.2016) Максименкова Ольга Вениаминовна, старший преподаватель департамента программной инженерии факультета компьютерных наук НИУ ВШЭ © Максименкова О.В., ДПИ ФКН НИУ ВШЭ 1
  • 2. Прохождение квеста ЕГЭ 23 1. Соглашения о нотации 2. Обзор необходимых знаний по математике 3. Алгоритм решения систем однородных логических уравнений. © Максименкова О.В., Незнанов А.А., ДПИ и ДАдиИИ ФКН НИУ ВШЭ 2 НО: Решение задачи не сводится к механическому выполнению действий. Поскольку все выкладки должны производится безошибочно, то только понимание и точное применение понятий , лежащих в основе метода даст вам возможность быстро и аккуратно проверять собственное решение.
  • 3. Будем знакомы © Максименкова О.В., Незнанов А.А., ДПИ и ДАдиИИ ФКН НИУ ВШЭ 3 Ведущий вебинара: Ольга Вениаминовна Максименкова E-mail: omaksimenkova@hse.ru Web-site: http://hse.ru/staff/maksimenkova Blog: http://stoptoscale.blogspot.ru (RU)
  • 4. Что вам нужно знать, уметь и понимать? • Основные понятия • Законы алгебры логики • ДНФ, КНФ и СДНФ и СКНФ • Перемножение матриц • Основы теории графов 4© Максименкова О.В ДПИ ФКН НИУ ВШЭ
  • 5. Алгебра логики Соглашения о нотации и терминологии Логические функции КНФ, ДНФ, СКНФ и СДНФ © Максименкова О.В., Незнанов А.А., ДПИ и ДАдиИИ ФКН НИУ ВШЭ 5
  • 6. Алгебра логики. Соглашения о нотации Обозначение Название операции Пример · Конъюнкция, логическое умножение 𝑨 ∙ 𝑩 + Дизъюнкция, логическое сложение 𝑨 + 𝑩 ¯ (черта сверху) Логическое отрицание ഥ𝑨 → Импликация 𝑨 → 𝑩 ⊕ Строгая дизъюнкция, строгое логическое сложение 𝑨 ⊕ 𝑩 ↔ Эквиваленция 𝑨 ↔ 𝑩 ≡ Тождество 𝑨 ≡ 𝑩 © Максименкова О.В., ДПИ, ФКН НИУ ВШЭ 6
  • 7. Основные понятие алгебры логики Логическая функция – это функция логических переменных X1, X2, X3, …, XN F = F(X1, X2, X3, …, XN), которая может принимать только два значения: истина (1) и ложь (0) Область определения логической функции – это количество S возможных наборов значений аргументов S = 2N, где N – количество переменных. 7© Максименкова О.В ДПИ ФКН НИУ ВШЭ
  • 8. Алгебра логики: Основные понятия Логическая функция имеет нормальную форму, если в ней используются только три логические операции: дизъюнкции, конъюнкции и отрицания переменных. Двойное отрицание или отрицание выражений не используется. Элементарная конъюнкция – логическое произведение аргументов или их отрицаний. Элементарная дизъюнкция – логическая сумма аргументов или их отрицаний. Конъюнкция (дизъюнкция) называется правильной элементарной конъюнкцией, если каждый аргумент входит в неё не более одного раза. 8© Максименкова О.В ДПИ ФКН НИУ ВШЭ
  • 9. Примеры • Элементарные конъюнкции • 𝐴 ∙ ത𝐵 ∙ 𝐶 • ҧ𝐴 ∙ 𝐵 ∙ 𝐶 ∙ ഥ𝐷 • Элементарные дизъюнкции • 𝐴 + ത𝐵 + 𝐶 • ҧ𝐴 + 𝐵 + 𝐶 + ഥ𝐷 • Выберите номера выражений, содержащий НЕ элементарные конъюнкции и дизъюнкции: 1. ഥ𝑨 ∙ ഥ𝑩 ∙ ഥ𝑪 2. 𝑨 + 𝑩 ∙ 𝑪 3. 𝑨 + ഥ𝑩 4. 𝑨 + ഥ𝑩 + ഥ𝑪 5. 𝑨 ∙ 𝑩 9© Максименкова О.В ДПИ ФКН НИУ ВШЭ Напишите в чате!!!
  • 10. Алгебра логики: ДНФ и КНФ • Дизъюнктивная нормальная форма (ДНФ) – это дизъюнкция попарно различных правильных элементарных конъюнкций (логическая сумма логических произведений) • 𝐴 ∙ 𝐵 ∙ ҧ𝐶 + 𝐵 ∙ 𝐶 + ҧ𝐴 ∙ ത𝐵 • 𝑋 ∙ 𝑌 + ത𝑋 ∙ 𝑌 ∙ 𝑍 + 𝑋 ∙ ത𝑌 ∙ 𝑍 • Конъюнктивная нормальная форма (КНФ) – это конъюнкция попарно различных правильных элементарных дизъюнкций (логическое произведение логических сумм) • 𝐴 + 𝐵 + 𝐶 ∙ 𝐴 + ത𝐵 + 𝐶 • 𝑋 + 𝑌 ∙ ത𝑋 + 𝑌 + 𝑍 ∙ 𝑋 + ത𝑌 + 𝑍 10© Максименкова О.В ДПИ ФКН НИУ ВШЭ
  • 11. Алгоритм приведения логической функции к ДНФ или КНФ 1. Избавиться от импликации, эквиваленции, исключающего или; 2. Избавиться от отрицаний над сложными выражениями (з-н де Моргана, закон двойного отрицания); 3. Раскрыть скобки (дистрибутивные з-ны); 4. Уменьшить количество вхождений переменных (з-ны алгебры логики) 11© Максименкова О.В ДПИ ФКН НИУ ВШЭ
  • 12. Алгебра логики: СКНФ и СДНФ • Совершенной конъюнктивной нормальной формой (СКНФ) логической функции называется конъюнкция попарно различных полных правильных элементарных дизъюнкций, равных нулю на тех же наборах, что и функция. • Совершенной дизъюнктивной нормальной формой (СДНФ) логической функции называется дизъюнкция попарно различных полных правильных элементарных конъюнкций, равных единице на тех же наборах, что и функция. 12© Максименкова О.В ДПИ ФКН НИУ ВШЭ
  • 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 𝑨 ∙ ഥ𝑩 ∙ 𝑪 ഥ𝑨 + ഥ𝑩 + 𝑪
  • 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© Максименкова О.В ДПИ ФКН НИУ ВШЭ ഥ𝑨 ∙ 𝑩 ∙ 𝑪 𝑨 ∙ ഥ𝑩 ∙ 𝑪 𝑨 ∙ 𝑩 ∙ 𝑪 + + 𝑭 𝑨, 𝑩, 𝑪 = ഥ𝑨 ∙ 𝑩 ∙ 𝑪 + 𝑨 ∙ ഥ𝑩 ∙ 𝑪 + 𝑨 ∙ 𝑩 ∙ 𝑪
  • 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© Максименкова О.В ДПИ ФКН НИУ ВШЭ ഥ𝑨 + ഥ𝑩 + 𝑪 𝑨 + ഥ𝑩 + 𝑪 ഥ𝑨 + ഥ𝑩 + ഥ𝑪 𝑭 𝑨, 𝑩, 𝑪 = 𝑨 + ഥ𝑩 + 𝑪 ∙ ഥ𝑨 + ഥ𝑩 + 𝑪 ∙ (ഥ𝑨 + ഥ𝑩 + ഥ𝑪) × ×
  • 16. Аналитический способ построения СДНФ 1. Переходим к ДНФ по алгоритму со слайда… 2. Неполные конъюнкции, чтобы получить полные, умножить на выражение вида (𝑋 + ത𝑋 = 1) 3. Применить закон идемпотентности (𝑋 + 𝑋 = 𝑋), чтобы исключить повторяющиеся конъюнкции. Количество полных элементарных конъюнкций в СДНФ соответствует количеству единиц в таблице истинности. 16© Максименкова О.В ДПИ ФКН НИУ ВШЭ
  • 17. Аналитический способ построения СДНФ: пример • Определить количество решений логического уравнения: 𝑨 ∙ ഥ𝑩 + 𝑨 ∙ ഥ𝑪 + 𝑨 ∙ 𝑩 ∙ 𝑪 = 𝟏 • Рассуждения и выкладки: 1. Функция уже приведена к ДНФ 2. Домножим неполные конъюнкции на выражение вида (𝑋 + ത𝑋 = 1): 𝐴 ∙ ത𝐵 ∙ 𝐶 + ҧ𝐶 + 𝐴 ∙ ҧ𝐶 ∙ 𝐵 + ത𝐵 + 𝐴 ∙ 𝐵 ∙ 𝐶 = 1 3. Раскроем скобки: 𝐴 ∙ ത𝐵 ∙ 𝐶 + 𝐴 ∙ ത𝐵 ∙ ҧ𝐶 + 𝐴 ∙ 𝐵 ∙ ҧ𝐶 + 𝐴 ∙ ത𝐵 ∙ ҧ𝐶 + 𝐴 ∙ 𝐵 ∙ 𝐶 = 1 4. Применим закон идемпотентности: 𝐴 ∙ ത𝐵 ∙ 𝐶 + 𝐴 ∙ 𝐵 ∙ ҧ𝐶 + 𝐴 ∙ ത𝐵 ∙ ҧ𝐶 + 𝐴 ∙ 𝐵 ∙ 𝐶 = 1 5. Получена СКНФ, состоящая из четырёх элементарных полных конъюнкций. Количество решений логического уравнения: 4 17© Максименкова О.В ДПИ ФКН НИУ ВШЭ
  • 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© Максименкова О.В ДПИ ФКН НИУ ВШЭ
  • 19. Методы решения 1. Метод рассуждений • Для несложных уравнений 2. Построение таблицы истинности • Малое количество переменных (для N переменных число строк в таблице 2N) 3. Построение дерева решений • Когда уравнение можно решать последовательным добавлением логических переменных. 4. Построение СДНФ заданного выражения 19© Максименкова О.В ДПИ ФКН НИУ ВШЭ
  • 20. Логические уравнения и системы логических уравнений • Логическое уравнение вида: 𝐹 𝑋1, 𝑋2, … , 𝑋 𝑁 = 0 • Методы решения 1. Построить СКНФ – число сомножителей равно количеству нулевых значений в таблице истинности, то есть количеству решений уравнения; 2. Получить количество решений R уравнение вида 𝐹 𝑋1, 𝑋2, … , 𝑋 𝑁 = 1, тогда ответ будет равен общему количеству наборов, минус R: 2N-R 3. Добавить отрицание к обеим частям уравнения: 𝐹 𝑋1, 𝑋2, … , 𝑋 𝑁 = 1 20© Максименкова О.В ДПИ ФКН НИУ ВШЭ
  • 21. Логические уравнения и системы логических уравнений • Отметим, что для решения систем вида: 𝐹1 𝑋1, 𝑋2, … , 𝑋 𝑁 = 0 𝐹2 𝑋1, 𝑋2, … , 𝑋 𝑁 = 0 𝐹3 𝑋1, 𝑋2, … , 𝑋 𝑁 = 0 … 𝐹 𝐾 𝑋1, 𝑋2, … , 𝑋 𝑁 = 0 Применим только третий метод с предыдущего слайда. 21© Максименкова О.В ДПИ ФКН НИУ ВШЭ
  • 22. Общие методы решения логических уравнений и систем логических уравнений 1. Метод отображений (авт. Мирончик Е.А.)* 2. Метод битовых векторов/цепочек (авт. Поляков К.Ю., Ройтберг М.А.)* 3. Метод решения систем однородных логических уравнений (авт. Авдошин С.М., Ахметсафина Р.З.) • Операции над матрицами • Рекуррентные формулы • Многодольные графы и поиск количества путей в многодольных графах 22© Максименкова О.В ДПИ ФКН НИУ ВШЭ *Ссылки на описание метода отображений и метода битовых векторов см. на слайде «Использованная литература»
  • 23. Элементы теории матриц Что такое матрицы Операции над матрицами 23© Максименкова О.В ДПИ ФКН НИУ ВШЭ
  • 24. Основные понятия и определения 24© Максименкова О.В., ДПИ ФКН НИУ ВШЭ 𝑎11 𝑎12 … 𝑎1𝑛 𝑎21 𝑎22 … 𝑎2𝑛 … . . . … … 𝑎 𝑚1 𝑎 𝑚2 … 𝑎 𝑚𝑛 Пусть дано некоторое числовое поле K. Прямоугольную таблицу чисел из поля K будем называть матрицей. Под числовым полем понимают любую совокупность чисел, в пределах которой всегда выполнимы и однозначны четыре операции: сложение, вычитание, умножение и деление на число, отличное от нуля. В общем случае матрица называется прямоугольной (с размерами mxn).
  • 25. Примеры матриц 25© Максименкова О.В ДПИ ФКН НИУ ВШЭ 𝐴 = 0 3 7 1 −1 0 0 0 2 3 11 1 2 −2 𝐵 = 2𝑖 + 9 1 14 −𝑖 + 2 2 𝑖 −1 𝐶 = 1 1 1 0 1 1 0 0 1 Напишите в чате!!! Какие из матриц можно перемножить?
  • 26. Элементы матрицы 26© Максименкова О.В ДПИ ФКН НИУ ВШЭ 𝑎11 𝑎12 … 𝑎1𝑛 𝑎21 𝑎22 … 𝑎2𝑛 … . . . … … 𝑎 𝑚1 𝑎 𝑚2 … 𝑎 𝑚𝑛 Первый индекс -номер строки Второй индекс- номер столбца Числа, составляющие матрицу, называются её элементами и характеризуются своим положением в таблице.
  • 27. Особые случаи 27© Максименкова О.В ДПИ ФКН НИУ ВШЭ Матрица размером mx1 называется вектор-столбцом. Матрица размером 1xn называется вектор-строкой. 𝐴 = 𝑎1 𝑎2 ⋮ 𝑎 𝑚 𝐴 = 𝑎1 𝑎2 ⋯ 𝑎 𝑛
  • 28. Операции над матрицами: сложение • Суммой двух матриц A и B одинакового размера mxn называется матрица C того же размера, каждый элемент которой равен сумме соответствующих элементов (то есть стоящих в тех же позициях) исходных матриц. 𝑐𝑖𝑗 = 𝑎𝑖𝑗 + 𝑏𝑖𝑗, 𝑖 = 1,2, … , 𝑚; 𝑗 = 1,2, … 𝑛. • Свойства сложения • Коммутативность 𝐴 + 𝐵 = 𝐵 + 𝐴 • Ассоциативность 𝐴 + 𝐵 + 𝐶 = 𝐴 + (𝐵 + 𝐶) 1 2 3 4 + 5 6 7 8 = 1 + 5 2 + 6 3 + 7 4 + 8 = 6 8 10 12 28© Максименкова О.В ДПИ ФКН НИУ ВШЭ a21 b21 C21=a21+b21
  • 29. Операции над матрицами: умножение на константу и разность • Произведением матрицы A размера mxn и константы C называется матрица B того же размера, каждый элемент которой равен произведению C и элемента матрицы A, стоящему в той же позиции. 𝑏𝑖𝑗 = 𝐶 ∙ 𝑎𝑖𝑗, 𝑖 = 1,2, … , 𝑚; 𝑗 = 1,2, … 𝑛. • Разность двух матриц A и В вычисляется как сумма матриц A и −B. 𝑐𝑖𝑗 = 𝑎𝑖𝑗 − 𝑏𝑖𝑗, 𝑖 = 1,2, … , 𝑚; 𝑗 = 1,2, … 𝑛. 29© Максименкова О.В ДПИ ФКН НИУ ВШЭ
  • 30. Операции над матрицами: произведение • Произведением двух матриц А размера (m  q) и B размера (q  n), в которых количество столбцов матрицы А равно количеству строк матрицы В, называется матрица С размера (m  n), у которой количество строк m равно количеству строк первой матрицы, а количество столбцов n равно количеству столбцов второй. Каждый элемент сij матрицы С равен сумме попарных произведений элементов соответствующей строки первой матрицы и элементов соответствующего столбца второй. 𝑐𝑖𝑗 = 𝑎𝑖1 ∙ 𝑏1𝑗 + 𝑎𝑖2 ∙ 𝑏2𝑗 + ⋯ 𝑎𝑖𝑞 ∙ 𝑏 𝑞𝑗 = ෍ 𝑘=1 𝑞 𝑎𝑖𝑘 ∙ 𝑏 𝑘𝑗 , 𝑖 = 1, 2, … , 𝑚, 𝑗 = 1, 2, … , 𝑛 • Произведение матриц, вообще говоря, не коммутативно 𝐴 ∙ 𝐵 ≠ 𝐵 ∙ 𝐴 30© Максименкова О.В ДПИ ФКН НИУ ВШЭ
  • 31. Операции над матрицами: произведение 31© Максименкова О.В ДПИ ФКН НИУ ВШЭ
  • 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)
  • 33. Проверим понимание: вопросы 1. Что будет результатом произведениям вектора-строки А (1xq) на матрицу B размера qxm? 2. Что будет результатом произведения матрицы A размера mxq и вектор-столбца B размерности qx1? 3. Что будет результатом произведения вектора-строки А (1xq) и вектора строки В (qx1)? 4. Что будет результатом произведения вектора-столбца А (qx1) на вектор-строку В (1xp)? 33© Максименкова О.В ДПИ ФКН НИУ ВШЭ Напишите в чате!!!
  • 34. Проверим понимание: ответы 1. Что будет результатом произведениям вектора-строки А (1xq) на матрицу B размерности qxm? • Вектор-строка (1xm) 2. Что будет результатом произведения матрицы A размерности mxq и вектор-столбца B размерности qx1? • Вектор-столбец (mx1) 3. Что будет результатом произведения вектора-строки А (1xq) и вектора строки В (qx1)? • число 4. Что будет результатом произведения вектора-столбца А (qx1) на вектор-строку В (1xp)? • Матрица (qxp) 34© Максименкова О.В ДПИ ФКН НИУ ВШЭ
  • 35. Дополнительное задание: для тех, кто любит программирование • Напишите программу, позволяющую перемножать вещественные матрицы (размеры по измерениям не превосходят 10). • Программа должна проверять соотношение размерностей матриц. • Печать исходные матрицы и матрицу-произведение. • Для некорректных данных выводить сообщения. 35© Максименкова О.В ДПИ ФКН НИУ ВШЭ
  • 37. Рекуррентная последовательность 37© Максименкова О.В ДПИ ФКН НИУ ВШЭ • Последовательности, в которых каждый член определяется как некоторая функция предыдущих, называются рекуррентными (возвратными) • Процесс последовательного определения элементов таких последовательностей называется рекуррентным процессом
  • 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© Максименкова О.В ДПИ ФКН НИУ ВШЭ
  • 39. Теория графов 39© Максименкова О.В ДПИ ФКН НИУ ВШЭ
  • 40. Соглашения о терминологии • Обозначение графа: G = (V, E), где идентификаторами (номерами) вершин и ребер выступают числа натурального ряда:  V = {v1, v2, … , vp} = {0, 1, … , p1}, p = |V| – число вершин;  E = {e1, e2, … , eq} = {0, 1, … , q1}, q = |E| – число ребер. • Граф – неориентированный граф без петель и кратных рёбер. • Мультиграф – граф, содержащий кратные рёбра. • Кратными (или мультирёбрами) называются рёбра, инцидентные одной и той же паре вершин. • Петля – ребро, инцидентное только одной вершине (соединяет вершину с самой собой). • Две вершины смежны, если они соединены ребром. • Два ребра смежны, если они имеют общую вершину. 40© Максименкова О.В ДПИ ФКН НИУ ВШЭ
  • 41. Соглашения о терминологии • Маршрут – чередующаяся последовательность a = v0, e1, v1, e2, …, vn-1, en, vn = b вершин и ребер графа такая, что ei = {vi-1, vi}, 1  i  n. Вершины a и b – концевые вершины (концы) маршрута. • Цепь – маршрут, все рёбра которого различны. Если все вершины цепи различны, то цепь простая, иначе – составная. • Длина цепи – число рёбер в ней. • Цикл – цепь, в которой первая и последняя вершины совпадают. Если все вершины цикла, кроме концевых, различны, то цикл простой, иначе – составной. • Одна вершина достижима из другой, если есть цепь, их соединяющая. • Граф связный, если из одной вершины достижимы все остальные, иначе граф несвязный и состоит из компонент связности 41© Максименкова О.В ДПИ ФКН НИУ ВШЭ
  • 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 1 2 3 4 5 1 2 3 4 5 5 1 2 34 1 7 2 3 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 1 2 3 4 5 1 2 3 4 5
  • 43. Многодольные графы: двудольный • Двудольный граф, если G = (AB, E) и каждое ребро соединяет вершину из A с вершиной B. 43© Максименкова О.В ДПИ ФКН НИУ ВШЭ
  • 44. Многодольные графы: двудольный • Для описания двудольного графа можно использовать матрицу двудольного графа 44© Максименкова О.В ДПИ ФКН НИУ ВШЭ
  • 45. Количество рёбер между долями графа • Общее количество рёбер между долями графа определяется суммой элементов матрицы двудольного графа: 1. Умножаем единичную вектор-строку из пяти элементов на матрицу двудольного графа: 1 1 1 1 1 ∙ 1 0 1 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 1 1 = 1 1 3 3 2. Полученную вектор-строку умножаем на единичный вектор-столбец из четырёх элементов: 1 1 3 3 ∙ 1 1 1 1 = 1 ∙ 1 + 1 ∙ 1 + 1 ∙ 3 + 1 ∙ 3 = 8 45© Максименкова О.В ДПИ ФКН НИУ ВШЭ
  • 46. Многодольный граф • Рассмотрим граф, состоящий из последовательности двудольных графов. Такой граф называют многодольным графом порядка t, где t – количество долей. 46© Максименкова О.В ДПИ ФКН НИУ ВШЭ
  • 47. Матрицы долей многодольного графа 47© Максименкова О.В ДПИ ФКН НИУ ВШЭ
  • 48. Определение количества путей 1. Для определения количества путей из каждой вершины первой доли в каждую вершину третьей доли надо перемножить матрицы двудольных графов M1 и M2. Элементы полученной матрицы M = M1·M2 соответствуют количеству путей из вершины ai в вершину сj, где i – номер строки, j – номер столбца матрицы M. 48© Максименкова О.В ДПИ ФКН НИУ ВШЭ
  • 49. Определение количества путей 2. Для определения количества путей из всех вершин первой доли в каждую вершину третьей доли надо умножить единичную вектор-строку размерности 4 на матрицу M. В полученном векторе-строке i-й элемент соответствует общему количеству путей из первой доли в вершину сi 49© Максименкова О.В ДПИ ФКН НИУ ВШЭ
  • 50. Определение количества путей 3. Для определения количества путей из всех вершин первой доли во все вершины третьей доли надо умножить вектор- строку, полученную на шаге 2, на единичный вектор-столбец. 1 + 5 + 2 + 3 = 11 50© Максименкова О.В ДПИ ФКН НИУ ВШЭ Осталось разобраться с многодольным графом, состоящим из К одинаковых двудольных графов.
  • 51. Постановка задачи: обозначения • K – количество одинаковых двудольных графов, составляющих многодольный граф; • Q – количество вершин в каждой доле; • F0 – единичная вектор-строка размерности Q; • FK – вектор-строка размерности Q, элементами которой являются количества путей из первой доли в каждую вершину K- ой доли. • I – единичный вектор-столбец размерности Q; 51© Максименкова О.В ДПИ ФКН НИУ ВШЭ
  • 52. Постановка задачи: определение числа путей • R – общее количество путей из всех вершин первой доли многодольного графа во все вершины K-й доли. • Тогда можно записать: 𝑅=𝐹0×𝑀 𝐾×𝐼 • Или в виде рекуррентной формулы 𝐹𝑖=𝐹𝑖−1×𝑀, 𝑖=1,2,…,𝐾 𝑅=𝐹 𝐾×𝐼 52© Максименкова О.В ДПИ ФКН НИУ ВШЭ Пример использования этого метода и общий алгоритм решения систем однородных логических уравнений мы рассмотрим в следующий раз.
  • 53. Время вопросов © Максименкова О.В., ДПИ ФКН НИУ ВШЭ 53
  • 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© Максименкова О.В ДПИ ФКН НИУ ВШЭ