Решение систем логических уравнений, ЕГЭ 23...
-
Upload
olga-maksimenkova -
Category
Education
-
view
84 -
download
17
Transcript of Решение систем логических уравнений, ЕГЭ 23...
Метод решения систем однородных логических уравнений
(22.11.2016)
Максименкова Ольга Вениаминовна, старший преподаватель департамента программной инженерии факультета компьютерных наук НИУ ВШЭ
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ 1
Напоминание: задача поиска количества путей в многодольном графе
• K – количество одинаковых двудольных графов, составляющих многодольный граф;
• Q – количество вершин в каждой доле;
• F0 – единичная вектор-строка размерности Q;
• FK – вектор-строка размерности Q, элементами которой являются количества путей из первой доли в каждую вершину K-ой доли.
• I – единичный вектор-столбец размерности Q;
• R – общее количество путей из всех вершин первой доли многодольного графа во все вершины K-й доли.
• Тогда можно записать: 𝑅=𝐹0×𝑀𝐾×𝐼• Или в виде рекуррентной формулы 𝐹𝑖=𝐹𝑖−1×𝑀, 𝑖=1,2,…,𝐾𝑅=𝐹𝐾×𝐼
2© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Пример 1 (1)
3© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Пример 1 (2)
• Перепишем в принятых нами обозначениях:𝑥1 + 𝑥2 ∙ 𝑥3 = 1𝑥2 + 𝑥3 ∙ 𝑥4 = 1…𝑥7 + 𝑥8 ∙ 𝑥9 = 1𝑥8 + 𝑥9 ∙ 𝑥10 = 1
• Заметим, что все уравнения в системе имеют одинаковую структуру:
𝑥𝑖 + 𝑥𝑖+1 ∙ 𝑥𝑖+2 = 1
4© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Эта пара входит в (i+1)-е уравнение
Пример 1 (3)
• Последовательно решаем уравнения, то есть узнаем число решений первого уравнения, затем второго и так далее…
• Построим таблицу истинности для первого уравнения:
5© Максименкова О.В ДПИ ФКН НИУ ВШЭ
x1 x2 x3 x2x3 x1+x2x3
0 0 0 0 0
0 0 1 0 0
0 1 0 0 0
0 1 1 1 1
1 0 0 0 1
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Сколько решений у первого уравнения?
Напишите в чате
Пример 1 (4)
• Теперь посмотрим одновременно на первое и второе уравнения:
𝑥1 + 𝑥2 ∙ 𝑥3 = 1
𝑥2 + 𝑥3 ∙ 𝑥4 = 1
6© Максименкова О.В ДПИ ФКН НИУ ВШЭ
x1 x2 x3 x2x3 x1+x2x3
0 0 0 0 0
0 0 1 0 0
0 1 0 0 0
0 1 1 1 1
1 0 0 0 1
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
x1, x2
x2, x3
00 01 10 11
00 01 10 11
Ищем связь между парами x1,x2 и x2,x3
Пример 1 (5)
• Чему соответствует число рёбер этого двудольного графа?
7© Максименкова О.В ДПИ ФКН НИУ ВШЭ
x1, x2
x2, x3
00 01 10 11
00 01 10 11
Напишите в чате
Пример 1 (6)
• Добавим связи между парами x2,x3 и x3,x4
8© Максименкова О.В ДПИ ФКН НИУ ВШЭ
x1, x2
x2, x3
00 01 10 11
00 01 10 11
x3, x4 00 01 10 11
Это соответствует добавлению ещё одного уравнения в систему.
Пример 1 (7)
• Получили многодольный граф, в котором связи между долями имеют одинаковую структуру
9© Максименкова О.В ДПИ ФКН НИУ ВШЭ
x1, x2
x2, x3
00 01 10 11
00 01 10 11
𝑀 =
0 0 0 00 0 0 11 1 0 00 0 1 1
Мы помним, что общее количество путей в K-ую долю определяется 𝑅=𝐹0×𝑀𝐾×𝐼
Пример 1 (8)
𝑅𝐾 = 1 1 1 1 ×
0 0 0 00 0 0 11 1 0 00 0 1 1
𝐾
×
1111
• В виде рекуррентной формулы это можно записать 𝐹𝑖=𝐹𝑖−1×𝑀, 𝑖=1,2,…,𝐾
• 𝐹𝑖 – вектор-строка размера 4, состоящая из количеств путей в соответствующую вершину i-ой доли многодольного графа из всех вершин первой доли: 𝐹𝑖 = 𝑓00
𝑖 𝑓01𝑖 𝑓10
𝑖 𝑓11𝑖
• Как вычислить общее количество путей из первой доли в i-ю? 𝑅i=𝐹i×𝐼𝑅𝑖 = 𝑓00
𝑖 +𝑓01𝑖 +𝑓10
𝑖 +𝑓11𝑖
10© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Пример 1 (9)
• Посмотрим на матричные вычисления для системы из трёх уравнений:
𝐹1 = 𝐹0 ×𝑀 = 1 1 1 1 ×
0 0 0 00 0 0 11 1 0 00 0 1 1
= 1 1 1 2
𝐹2 = 𝐹1 ×𝑀 = 1 1 1 2 ×
0 0 0 00 0 0 11 1 0 00 0 1 1
= 1 1 2 3
𝐹3 = 𝐹2 ×𝑀 = 1 1 2 3 ×
0 0 0 00 0 0 11 1 0 00 0 1 1
= 2 2 3 4
Чему равно количество решений?
11© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Напишите в чате
Пример 1 (10)
• Вернёмся к нашему графу и запишем количество путей через рекуррентные формулы:
• Как вычислить общее количество решений для системы из iуравнений?
12© Максименкова О.В ДПИ ФКН НИУ ВШЭ
xi-1, xi
xi, xi+1
00 01 10 11
00 01 10 11
𝑓00𝑖 = 𝑓10
𝑖−1
𝑓01𝑖 = 𝑓10
𝑖−1
𝑓10𝑖 = 𝑓11
𝑖−1
𝑓11𝑖 = 𝑓01
𝑖−1 + 𝑓11𝑖−1
Напишите в чате
Пример 1 (11)
• Для наглядности построим таблицу вычислений
13© Максименкова О.В ДПИ ФКН НИУ ВШЭ
𝑓00𝑖 = 𝑓10
𝑖−1
𝑓01𝑖 = 𝑓10
𝑖−1
𝑓10𝑖 = 𝑓11
𝑖−1
𝑓11𝑖 = 𝑓01
𝑖−1 + 𝑓11𝑖−1
Кол-во ур-ий
пары 𝒇𝟎𝟎𝒊 𝒇𝟎𝟏
𝒊 𝒇𝟏𝟎𝒊 𝒇𝟏𝟏
𝒊 𝑹𝒊
0 x1, x2 0 1 1 1
1 x2, x3 1 1 1 2 5
2 x3, x4 1 1 2 3 7
3 x4, x5 2 2 3 4 11
4 x5, x6 3 3 4 6 16
5 x6, x7 4 4 6 9 23
6 x7, x8 6 6 9 13 34
7 x8, x9 9 9 13 19 50
8 x9, x10 13 13 19 28 73
Ответ
Алгоритм решения системы однородных логических уравнений (1)1. Замена переменных (если возможна).
2. Переписать уравнение однородной системы в общем виде.
3. Преобразовать выражение в левой части уравнения (при необходимости).
4. Привести уравнение к логическому выражению равному единице (при необходимости)
5. Записать два соседних уравнения в общем виде• выделить множество общих переменных для двух соседних уравнений
6. В общем виде построить таблицу истинности логического выражения из левой части уравнения.
7. По таблице истинности определить связь между всеми возможными комбинациями элементов множеств, полученных в п.5
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ 14
Алгоритм решения системы однородных логических уравнений (2)
8. Представить таблицу истинности в виде двудольного графа так, чтобы одному решению соответствовало ровно одно ребро.
• Множества вершин первой и второй долей графа должны совпадать.• Вершины представляют собой все наборы значений, которые могут
принимать выделенные общие переменные
9. Определить зависимость количества решений для системы iуравнений от количества решений системы (i-1) уравнений.
10. Найти количество решений системы уравнений одним из способов:
• Построением таблицы последовательного решения систем i-уравнений, i = 1,2,…,K.
• Умножением векторов и матриц для определения количества путей в многодольном графе, составленном из однородных двудольных.
11. Перейти к исходным переменным, если была замена переменных, и найти количество решений для исходной системы уравнений.
15© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Пример использования алгоритма (1)
16© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Пример использования алгоритма (2)
• Переписать уравнение однородной системы в общем виде.𝑥2𝑖−1 ≡ 𝑥2𝑖 + 𝑥2𝑖−1 ≡ 𝑥2𝑖+1 ∙ 𝑥2𝑖 ≡ 𝑥2𝑖+1 = 1
• Записать два соседних уравнения в общем виде• выделить множество общих переменных для двух соседних уравнений
𝑥2𝑖−1 ≡ 𝑥2𝑖 + 𝑥2𝑖−1 ≡ 𝑥2𝑖+1 ∙ 𝑥2𝑖 ≡ 𝑥2𝑖+1 = 1
𝑥2𝑖+1 ≡ 𝑥2𝑖+2 + 𝑥2𝑖+1 ≡ 𝑥2𝑖+3 ∙ 𝑥2𝑖+2 ≡ 𝑥2𝑖+3 = 1
• В (i+1)-м уравнении записана переменная x2i+1 на месте переменной x2i-1 i-го уравнения, следовательно надо найти связь между этими двумя переменными
Сколько общих переменных в соседних уравнениях?
17© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Напишите в чате
Пример использования алгоритма (3)
• В общем виде построить таблицу истинности логического выражения из левой части уравнения
18© Максименкова О.В ДПИ ФКН НИУ ВШЭ
𝒙𝟐𝒊−𝟏 𝒙𝟐𝒊 𝒙𝟐𝒊+𝟏 𝒙𝟐𝒊−𝟏⨁𝒙𝟐𝒊 𝒙𝟐𝒊−𝟏⨁𝒙𝟐𝒊+𝟏 𝒙𝟐𝒊 ≡ 𝒙𝟐𝒊+𝟏 𝒙𝟐𝒊−𝟏⨁𝒙𝟐𝒊+𝟏 𝒙𝟐𝒊 ≡ 𝒙𝟐𝒊+𝟏
0 0 0 0 0 1 0 0
0 0 1 0 1 0 0 0
0 1 0 1 0 0 0 1
0 1 1 1 1 1 1 1
1 0 0 1 1 1 1 1
1 0 1 1 0 0 0 1
1 1 0 0 1 0 0 0
1 1 1 0 0 1 0 0
Пример использования алгоритма (4)
• По таблице истинности определить связь между всеми возможными комбинациями элементов
• Определяем связь между возможными комбинациями x2i-1 и x2i+1, учитывая переменную x2i
19© Максименкова О.В ДПИ ФКН НИУ ВШЭ
x2i-1
x2i
0 1
0 1
x2i+1 0 1
𝒙𝟐𝒊−𝟏 𝒙𝟐𝒊 𝒙𝟐𝒊+𝟏
0 1 0 1 0 0 0 1
0 1 1 1 1 1 1 1
1 0 0 1 1 1 1 1
1 0 1 1 0 0 0 1
Напишите в чатеСколько долей в этом графе?
Пример использования алгоритма (5)
• Определить матрицу графа (перемножим матрицы, образующих его двудольных графов)
0 11 0
×1 11 1
=1 11 1
• Определить зависимость количества решений для системы iуравнений от количества решений системы (i-1) уравнений.
𝑓0𝑖 = 𝑓0
𝑖−1 + 𝑓1𝑖−1
𝑓1𝑖 = 𝑓0
𝑖−1 + 𝑓1𝑖−1
20© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Пример использования алгоритма (6)
• Найти количество решений системы уравнений:• Умножением векторов и матриц для определения количества путей в
многодольном графе, составленном из однородных двудольных.
𝑅𝐾 = 1 1 ×1 11 1
𝐾
×11
• Построением таблицы последовательного решения систем i-уравнений, i= 1,2,…,K
𝑅𝑖 = 2𝑓0𝑖−1 + 2𝑓1
𝑖−1
21© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Кол-во ур-ий
Количествопеременных
пары 𝒇𝟎𝒊 𝒇𝟏
𝒊 𝑹𝒊
0 x1 1 1
1 3 x3 2 2 4
2 5 x5 4 4 8
3 7 x7 8 8 16
4 9 x9 16 16 32
Ответ
Демо-вариант ЕГЭ 2017 (1)
22© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Демо-вариант ЕГЭ 2017 (2)
Перепишем в выбранных нами обозначениях𝑥1 → 𝑥2 ∙ 𝑦1 ∙ 𝑦1 → 𝑦2 = 1𝑥2 → 𝑥3 ∙ 𝑦2 ∙ 𝑦2 → 𝑦1 = 1…𝑥5 → 𝑥6 ∙ 𝑦5 ∙ 𝑦5 → 𝑦6 = 1𝑥6 → 𝑦6 = 1
23© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Демо-вариант ЕГЭ 2017 (3)
Перепишем систему в общем виде:𝑥𝑖 → 𝑥𝑖+1 ∙ 𝑦𝑖 ∙ 𝑦𝑖 → 𝑦𝑖+1 = 1, 𝑖 = 1, . . , 5𝑥6 → 𝑦6 = 1
Пока исключим из рассмотрения шестое уравнение и запишем два соседних уравнения из первых пяти:
𝑥𝑖−1 → 𝑥𝑖 ∙ 𝑦𝑖−1 ∙ 𝑦𝑖−1 → 𝑦𝑖 = 1
𝑥𝑖 → 𝑥𝑖+1 ∙ 𝑦𝑖 ∙ 𝑦𝑖 → 𝑦𝑖+1 = 1
Соседние уравнения имеют две общие переменные xi и yi.
24© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Демо-вариант ЕГЭ 2017 (4)
• Найдём связь между парами (xi−1, yi−1) и (xi, yi)
• Для этого построим таблицу истинности (i − 1)-го уравнения
• Будем учитывать свойства импликации и конъюнкции
25© Максименкова О.В ДПИ ФКН НИУ ВШЭ
A B A→B
0 0 1
0 1 1
1 0 0
1 1 1
A B A∙B
0 0 0
0 1 0
1 0 0
1 1 1
26© Максименкова О.В ДПИ ФКН НИУ ВШЭ
xi-1 yi-1 xi yi xiyi-1 xi-1→xiyi-1 yi-1→yi (xi-1→xiyi-1)(yi-1→yi)
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 0
0 1 0 1 0
0 1 1 0 1
0 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 0
1 1 0 0 0
1 1 0 1 0
1 1 1 0 1
1 1 1 1 1
27© Максименкова О.В ДПИ ФКН НИУ ВШЭ
xi-1 yi-1 xi yi xiyi-1 xi-1→xiyi-1 yi-1→yi (xi-1→xiyi-1)(yi-1→yi)
0 0 0 0 0 1
0 0 0 1 0 1
0 0 1 0 0 1
0 0 1 1 0 1
0 1 0 0 0 1
0 1 0 1 0 1
0 1 1 0 1 1
0 1 1 1 1 1
1 0 0 0 0 x
1 0 0 1 0 x
1 0 1 0 0 x
1 0 1 1 0 x
1 1 0 0 0 x
1 1 0 1 0 x
1 1 1 0 1 1
1 1 1 1 1 1
28© Максименкова О.В ДПИ ФКН НИУ ВШЭ
xi-1 yi-1 xi yi xiyi-1 xi-1→xiyi-1 yi-1→yi (xi-1→xiyi-1)(yi-1→yi)
0 0 0 0 0 1 1
0 0 0 1 0 1 1
0 0 1 0 0 1 1
0 0 1 1 0 1 1
0 1 0 0 0 1 x
0 1 0 1 0 1 1
0 1 1 0 1 1 x
0 1 1 1 1 1 1
1 0 0 0 0 x
1 0 0 1 0 x
1 0 1 0 0 x
1 0 1 1 0 x
1 1 0 0 0 x x
1 1 0 1 0 x
1 1 1 0 1 1 x
1 1 1 1 1 1 1
29© Максименкова О.В ДПИ ФКН НИУ ВШЭ
xi-1 yi-1 xi yi xiyi-1 xi-1→xiyi-1 yi-1→yi (xi-1→xiyi-1)(yi-1→yi)
0 0 0 0 0 1 1 1
0 0 0 1 0 1 1 1
0 0 1 0 0 1 1 1
0 0 1 1 0 1 1 1
0 1 0 0 0 1 x
0 1 0 1 0 1 1 1
0 1 1 0 1 1 x
0 1 1 1 1 1 1 1
1 0 0 0 0 x
1 0 0 1 0 x
1 0 1 0 0 x
1 0 1 1 0 x
1 1 0 0 0 x x
1 1 0 1 0 x
1 1 1 0 1 1 x
1 1 1 1 1 1 1 1
Демо-вариант ЕГЭ 2017 (9)
• Определяем связь множества пар (xi−1, yi−1) и (xi, yi) для строк таблицы, в которых выражение истинно.
30© Максименкова О.В ДПИ ФКН НИУ ВШЭ
xi−1, yi−1
xi, yi
00 01 10 11
00 01 10 11
xi-1 yi-1 xi yi xiyi-1 xi-1→xiyi-1 yi-1→yi (xi-1→xiyi-1)(yi-1→yi)
0 0 0 0 0 1 1 1
0 0 0 1 0 1 1 1
0 0 1 0 0 1 1 1
0 0 1 1 0 1 1 1
0 1 0 1 0 1 1 1
0 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
Демо-вариант ЕГЭ 2017 (10)
• Запишем зависимость количества решений в системе с iуравнениями, от количества решений в системе с (i-1)уравнениями.
𝑓00𝑖 = 𝑓00
𝑖−1
𝑓01𝑖 = 𝑓00
𝑖−1 + 𝑓01𝑖−1
𝑓10𝑖 = 𝑓00
𝑖−1
𝑓11𝑖 = 𝑓00
𝑖−1 + 𝑓01𝑖−1 + 𝑓11
𝑖−1
Поскольку у нас ещё есть шестое уравнение, то все наборы, заканчивающиеся на 10 мы исключим из решения, то естьколичество решений системы из i уравнений будет равно:
𝑅𝑖 = 4𝑓00𝑖 + 2𝑓01
𝑖 + 𝑓11𝑖
31© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Демо-вариант ЕГЭ 2017 (11)
• Строим таблицу для вычислений:
32© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Количество уравнений
𝒇𝟎𝟎𝒊 𝒇𝟎𝟏
𝒊 𝒇𝟏𝟎𝒊 𝒇𝟏𝟏
𝒊 𝑹𝒊
0 1 1 0 1
1 1 2 1 3
2 1 3 1 6
3 1 4 1 10
4 1 5 1 15
5 1 6 1 21 28
×+ + +Ответ
xi−1, yi−1
xi, yi
00 01 10 11
00 01 10 11
Демо-вариант ЕГЭ-2017 (12)
• Проверим результаты, подсчётом числа решений в Wolfram Alpha
• Count[BooleanTable[{(X1\[Implies]X2&&Y1)&&(Y1\[Implies]Y2)&&(X2\[Implies]X3&&Y2)&&(Y2\[Implies]Y3)&&(X3\[Implies]X4&&Y3)&&(Y3\[Implies]Y4)&&(X4\[Implies]X5&&Y4)&&(Y4\[Implies]Y5)&&(X5\[Implies]X6&&Y5)&&(Y5\[Implies]Y6)&&(X6\[Implies]Y6)},{X1,X2,X3,X4,X5,X6,Y1,Y2,Y3,Y4,Y5,Y6}], {True}]
• Ответ 28
33© Максименкова О.В ДПИ ФКН НИУ ВШЭ
Время вопросов
© Максименкова О.В., ДПИ ФКН НИУ ВШЭ 34
Использованная литература
1. Авдошин С. М., Ахметсафина Р. З., Максименкова О. В. Информатика: Логика и алгоритмы. Эффективные методы решения задач: Пособие для самостоятельной подготовки.--М., СПб.: Просвещение, 2013.
2. Авдошин С.М., Ахметсафина Р.З., и др. Информатика и ИКТ: ЕГЭ: Учебно-справочные материалы (Серия «Итоговый контроль: ЕГЭ»).– М.; СПб.: Просвещение, 2012. – 295 с.
35© Максименкова О.В ДПИ ФКН НИУ ВШЭ