Системы логических уравнений в задачах ЕГЭ по информатике

advertisement
К.Ю. Поляков,
М.А. Ройтберг
Системы логических
уравнений в задачах
ЕГЭ по информатике
 К.Ю. Поляков, М.А. Ройтберг, 2014
http://kpolyakov.spb.ru
Системы логических уравнений в задачах ЕГЭ по информатике
2
Постановка задачи (ЕГЭ-2011)
Сколько решений имеет система уравнений:
x1  x2  x1  x2  x3  x4  x3  x4  1
x3  x4  x3  x4  x5  x6  x5  x6  1
...
x7  x8  x7  x8  x9  x10  x9  x10  1
где
x1 , x2 , , x10 – логические переменные.
2011: Решаемость 3,2%
 К.Ю. Поляков, М.А. Ройтберг, 2014
http://kpolyakov.spb.ru
Системы логических уравнений в задачах ЕГЭ по информатике
3
Методы решения
1) замена переменных
2) последовательное подключение уравнений
3) метод отображения (Е.А. Мирончик)
«Информатика. Первое сентября»
1. Е. А. Мирончик, Метод отображения // Информатика,
№ 10, 2013, с. 18-26.
2. Е.А. Мирончик, Люблю ЕГЭ за В15, или Еще раз про
метод отображения // Информатика, № 7-8, 2014,
с. 26-32.
 трудоёмко
 длинная запись решения
2012: Решаемость 13,2%
 К.Ю. Поляков, М.А. Ройтберг, 2014
http://kpolyakov.spb.ru
Системы логических уравнений в задачах ЕГЭ по информатике
4
Аналогии с алгеброй
Алгебра
Логика
Обычно уравнение имеет
одно или несколько
решений.
Уравнение может иметь
большое, но конечное
число решений.
Элементарные уравнения:
линейные, квадратные.
Элементарные уравнения
не выделяются.
Методы преобразования:
законы сложения и
умножения, формулы
сокращенного умножения,
свойства степеней.
Методы преобразования:
законы логики (см. далее).
 К.Ю. Поляков, М.А. Ройтберг, 2014
http://kpolyakov.spb.ru
Системы логических уравнений в задачах ЕГЭ по информатике
5
Формулы логики – I
A. Свойства 0, 1 и отрицания
Свойства 0 и 1
a0  0
a 1  a
Свойства отрицания
aa  0
 К.Ю. Поляков, М.А. Ройтберг, 2014
a0  a
a 1  1
a  a 1
a a
http://kpolyakov.spb.ru
Системы логических уравнений в задачах ЕГЭ по информатике
6
Формулы логики – II
Б. Дизъюнкция и конъюнкция
Сочетательный закон
a  (b  c)  (a  b)  c
a  (b  c)  (a  b)  c
Переместительный закон
a b  b a
a b  b a
Закон поглощения
aa  a
aa a
Распределительный закон
a  (b  c)  a  b  a  c
a  b  c  ( a  b)  ( a  c )
Правила де Моргана
a b  a  b
 К.Ю. Поляков, М.А. Ройтберг, 2014
a  b  a b
http://kpolyakov.spb.ru
Системы логических уравнений в задачах ЕГЭ по информатике
7
Формулы логики – III
В. Импликация и эквивалентность
Определение импликации
a b  a b
Свойства импликации
a b ba
a  (b  c)  (a  b)  c
a b  ab
ba
a  (b  c)  a  (b  c)  a  b  c
Эквивалентность
( a  b )  c  ( a  b)  c  a  b  c
(a  b)  a  b  a  b
( a  b)  a  b  a  b
 К.Ю. Поляков, М.А. Ройтберг, 2014
http://kpolyakov.spb.ru
Системы логических уравнений в задачах ЕГЭ по информатике
8
Основные идеи
1) Решение системы уравнений – это битовая
цепочка (битовый вектор)
X  x1 x2  xN ( xi {0,1}
для любого i
)
2) Битовый вектор рассматривается как единый
объект.
3) Уравнения – это ограничения на битовый
вектор (ограничения на комбинации битов).
4) Нужно выделить элементарные уравнения и
записать ограничения «на русском языке».
5) Количество решений находится по правилам
комбинаторики.
 К.Ю. Поляков, М.А. Ройтберг, 2014
http://kpolyakov.spb.ru
Системы логических уравнений в задачах ЕГЭ по информатике
9
Типичные ограничения
Задача 1.
( x1  x2 )  ( x2  x3 )  ( x4  x5 )  1
«соседние биты одинаковы»
Решения: 00000, 11111
Задача 2.
( x1  x2 )  ( x2  x3 )  ( x4  x5 )  1
«соседние биты различны»
«биты чередуются»
Решения: 01010, 10101
 К.Ю. Поляков, М.А. Ройтберг, 2014
http://kpolyakov.spb.ru
Системы логических уравнений в задачах ЕГЭ по информатике
10
Типичные ограничения
Задача 3.
( x1  x2 )  ( x2  x3 )    ( x5  x6 )  1
«запрещена комбинация 10»
«после первой единицы все следующие биты – 1»
«все нули, потом все единицы»
Решения: 000000, 000001, 000011, 000111,
001111, 011111, 111111
Для уравнения с N переменными: N+1 решений.
 К.Ю. Поляков, М.А. Ройтберг, 2014
http://kpolyakov.spb.ru
Системы логических уравнений в задачах ЕГЭ по информатике
11
Более сложный пример
Задача 4.
(( x1  x2 )  x3 )  (( x2  x3 )  x4 )    (( x4  x5 )  x6 )  1
«запрещена комбинация 10»
«запрещена комбинация xi  xi 1  1, xi  2  0»
«слева от каждого нулевого бита (начиная с 3-го)
должны стоять два нуля»
«все нули, потом все единицы»
Решения: 000000, 000001, 000011, 000111,
001111, 011111, 111111
и ещё: 101111
Для уравнения с N переменными: N+2 решений.
 К.Ю. Поляков, М.А. Ройтберг, 2014
http://kpolyakov.spb.ru
Системы логических уравнений в задачах ЕГЭ по информатике
12
Более сложный пример
Задача 5.
( x1  x2 )  ( x2  x3 )    ( x5  x6 )  1
«запрещена комбинация 00»
?
Сколько есть цепочек длиной N, в которых нет
двух соседних нулей?
 К.Ю. Поляков, М.А. Ройтберг, 2014
http://kpolyakov.spb.ru
Системы логических уравнений в задачах ЕГЭ по информатике
13
Более сложный пример
K1  2 {0, 1}
Все цепочки длиной
K 2  3 {01, 10, 11}
N
K N 2
нет 00!
1
0
1
K N  K N 1  K N 2
непересекающиеся
множества!
K N 1
 К.Ю. Поляков, М.А. Ройтберг, 2014
http://kpolyakov.spb.ru
Системы логических уравнений в задачах ЕГЭ по информатике
14
Более сложный пример
K1  2 {0, 1}
K 2  3 {01, 10, 11}
K N  K N 1  K N 2
KN
!
Рекурсия: ЕГЭ-11 (B6)
Динамическое
программирование:
ЕГЭ-22 (B13), ЕГЭ-15 (B9)
1, 1, 2, 3, 5, 8, 13, 21, 34, …
Числа Фибоначчи FN
K N  FN  2
 К.Ю. Поляков, М.А. Ройтберг, 2014
http://kpolyakov.spb.ru
Системы логических уравнений в задачах ЕГЭ по информатике
15
Ещё пример
Задача 6.
( x1  x2  x3 )  ( x2  x3  x4 )    ( x4  x5  x6 )  1
«запрещена комбинация 10»
«после двух единиц подряд следуют только единицы»
 К.Ю. Поляков, М.А. Ройтберг, 2014
http://kpolyakov.spb.ru
Системы логических уравнений в задачах ЕГЭ по информатике
16
И снова – рекуррентные уравнения
Структура решения:
«голова»
«хвост»
0
1
m
нет комбинации 11
последний бит – 0
m  0 : одна «голова» (пустая)
m  1 : одна «голова» (0)
m  1 : Fm1 «голов»
1

1
N m
N
K N   Fm 1
m 0
N  6 : K N  1  1  2  3  5  8  13  33
 К.Ю. Поляков, М.А. Ройтберг, 2014
http://kpolyakov.spb.ru
Системы логических уравнений в задачах ЕГЭ по информатике
17
Последний пример
Задача 7.
x1  x2    xN  1
Последовательность выполнения:
((( x1  x2 )  )  xN 1 )  xN  1
запрещена комбинация 10 на последнем шаге
KN  2  ZN
Сколько решений Z N
N
у уравнения
x1  x2    xN  0
1
K N  2 N  K N 1
 К.Ю. Поляков, М.А. Ройтберг, 2014
Z N  K N 1
0
Начальное значение:
x1  x2  1  K2  3
http://kpolyakov.spb.ru
Системы логических уравнений в задачах ЕГЭ по информатике
18
Демо-вариант ЕГЭ-2015
( x1  x2 )  ( x1  x2  x3 )  ( x1  y1 )  1
( x2  x3 )  ( x2  x3  x4 )  ( x2  y2 )  1

( x6  x7 )  ( x6  x7  x8 )  ( x6  y6 )  1
( x7  x8 )  ( x7  y7 )  1
xi  xi 1  1
«запрещено 00»
( xi  xi 1  xi  2 )  1
«после двух единиц
идут только единицы»
x8  y8  1
Если не трогать Y :
«голова»
«хвост»
1
1

1
«запрещено 00 и 11»
«биты чередуются»
 К.Ю. Поляков, М.А. Ройтберг, 2014
http://kpolyakov.spb.ru
Системы логических уравнений в задачах ЕГЭ по информатике
19
Демо-вариант ЕГЭ-2015
Варианты отличаются местом последнего нуля:
11111111, 01111111, 10111111, 01011111, 10101111,
01010111, 10101011, 01010101, 10101010
Учитываем
Y:
xi  yi  1
xi  yi  1
xi  1  yi  1
1 решение
xi  0  yi  {0, 1} 2 решения
01011111
2 нулевых бита, 22 вариантов
K 8  2  2  (2  2  2  2 )  61
0
 К.Ю. Поляков, М.А. Ройтберг, 2014
1
2
3
4
http://kpolyakov.spb.ru
Системы логических уравнений в задачах ЕГЭ по информатике
20
Демо-вариант ЕГЭ-2014
( x1  x2 )  ( x1  x3  x1  x3 )  0
( x2  x3 )  ( x2  x4  x2  x4 )  0

( x8  x9 )  ( x8  x10  x8  x10 )  0
( x1  x2 )  ( x1  x3 )  0
( x2  x3 )  ( x2  x4 )  0

( x8  x9 )  ( x8  x10 )  0
 К.Ю. Поляков, М.А. Ройтберг, 2014
?
Как перевести на
русский язык?
http://kpolyakov.spb.ru
X
Системы логических уравнений в задачах ЕГЭ по информатике
21
Демо-вариант ЕГЭ-2014
( xi  xi 1 )  ( xi  xi  2 )  0
«очередной бит равен хотя бы одному из 2-х следующих»
«запрещены комбинации 100 и 011»
«после 01 или 10 биты чередуются»
1) сначала цепочка нулей, потом биты чередуются (1/0)
2) сначала цепочка единиц, потом биты чередуются.
0000000000
0000000001
0000000010
0000000101
…
0101010101
1111111111
1111111110
1111111101
1111111010
…
1010101010
 К.Ю. Поляков, М.А. Ройтберг, 2014
10 + 10 = 20
http://kpolyakov.spb.ru
Системы логических уравнений в задачах ЕГЭ по информатике
22
Демо-вариант ЕГЭ-2013
( x1  x2 )  ( x2  x3 )  ( x3  x4 )  1
( y1  y2 )  ( y2  y3 )  ( y3  y4 )  1
( y1  x1 )  ( y2  x2 )  ( y3  x3 )  ( y4  x4 )  0
( x1  x2 )  ( x2  x3 )  ( x3  x4 )  1
( y1  y2 )  ( y2  y3 )  ( y3  y4 )  1
( y1  x1 )  ( y2  x2 )  ( y3  x3 )  ( y4  x4 )  1
 К.Ю. Поляков, М.А. Ройтберг, 2014
http://kpolyakov.spb.ru
Системы логических уравнений в задачах ЕГЭ по информатике
23
Демо-вариант ЕГЭ-2013
( x1  x2 )  ( x2  x3 )  ( x3  x4 )  1
5 решений:
X = 0000, 0001, 0011, 0111, 1111
( y1  y2 )  ( y2  y3 )  ( y3  y4 )  1
5 решений:
Y = 0000, 0001, 0011, 0111, 1111
Связь X и Y:
( y1  x1 )  ( y2  x2 )  ( y3  x3 )  ( y4  x4 )  1
yi  1  xi  1
yi  0  xi  {0, 1}
 К.Ю. Поляков, М.А. Ройтберг, 2014
без ограничений!
http://kpolyakov.spb.ru
Системы логических уравнений в задачах ЕГЭ по информатике
24
Демо-вариант ЕГЭ-2013
X:
0000
0001
0011
0111
1111
Y:
0000
0001
0011
0111
1111
 К.Ю. Поляков, М.А. Ройтберг, 2014
5
4
3
2
1
5 + 4 + 3 + 2 + 1 = 15
http://kpolyakov.spb.ru
Системы логических уравнений в задачах ЕГЭ по информатике
25
Демо-вариант ЕГЭ-2012
(( x1  x2 )  ( x3  x4 ))  (( x1  x2 )  ( x3  x4 ))  1
(( x3  x4 )  ( x5  x6 ))  (( x3  x4 )  ( x5  x6 ))  1

(( x7  x8 )  ( x9  x10 ))  (( x7  x8 )  ( x9  x10 ))  1
Замена переменных:
z1  ( x1  x2 )
z2  ( x3  x4 )
…
z5  ( x9  x10 )
 К.Ю. Поляков, М.А. Ройтберг, 2014
( z1  z 2 )  ( z1  z 2 )  1
( z 2  z3 )  ( z 2  z3 )  1

( z 4  z5 )  ( z 4  z5 )  1
http://kpolyakov.spb.ru
Системы логических уравнений в задачах ЕГЭ по информатике
26
Демо-вариант ЕГЭ-2012
(a  b)  (a  b )  a  b  a  b  (a  b)
( z1  z 2 )  ( z1  z 2 )  1
( z1  z 2 )  1
( z 2  z3 )  ( z 2  z3 )  1
( z 2  z3 )  1


( z 4  z5 )  ( z 4  z5 )  1
( z 4  z5 )  1
К одному уравнению:
( z1  z2 )  ( z2  z3 )  ( z2  z3 )  ( z4  z5 )  1
Решения:
Z  01010,
 К.Ю. Поляков, М.А. Ройтберг, 2014
Z  10101
http://kpolyakov.spb.ru
Системы логических уравнений в задачах ЕГЭ по информатике
27
Демо-вариант ЕГЭ-2012
Переход к исходным переменным:
zi  ( xk  xk 1 )
zi  0  ( xk , xk 1 )  (0,1), (1,0)
zi  1  ( xk , xk 1 )  (0,0), (1,1)
!
Каждый бит в Z даёт удвоение вариантов в X!
Z  01010,
Z  10101
5 бит
5 бит
K10  2  2  64
5
 К.Ю. Поляков, М.А. Ройтберг, 2014
5
http://kpolyakov.spb.ru
Системы логических уравнений в задачах ЕГЭ по информатике
28
Ещё одна задача (2015)
( x1  y1 )  ( x2  y2  x1  y1 )  1
( x2  y2 )  ( x3  y3  x2  y2 )  1

( x6  y6 )  ( x7  y7  x6  y6 )  1
x7  y7  1
Замена переменных:
z1  x1  y1

z6  x6  y6
 К.Ю. Поляков, М.А. Ройтберг, 2014
z 2  x2  y 2
z 2  z1  1
z3  z 2  1

z7  z6  1
http://kpolyakov.spb.ru
Системы логических уравнений в задачах ЕГЭ по информатике
29
Ещё одна задача (2015)
z 2  z1  1 ( z2  z1 )  ( z3  z2 )  ( z7  z6 )  1
z3  z 2  1
Решение:

«запрещена комбинация 01»
«все единицы, потом – все нули»
z7  z6  1
!
z1 z2 z3 z4 z5 z6 z7
8 решений: 0000000
1000000
1100000
1110000
Но в zi!
1111000
1111100
1111110
1111111
 К.Ю. Поляков, М.А. Ройтберг, 2014
http://kpolyakov.spb.ru
Системы логических уравнений в задачах ЕГЭ по информатике
30
Ещё одна задача (2015)
 zi  xi  yi  0

 xi  yi  1
 zi  xi  yi  1

 xi  yi  1
Z
0000000
1000000
1100000
1110000
2 решения: (0;1) и (1;0)
!
Каждый 0 удваивает
количество решений!
1 решение: (1;1)
X,Y
128
64
32
16
Z
1111000
1111100
1111110
1111111
X,Y
8
4
2
1
128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255
 К.Ю. Поляков, М.А. Ройтберг, 2014
http://kpolyakov.spb.ru
Системы логических уравнений в задачах ЕГЭ по информатике
31
Основные шаги решения
1) упрощение уравнений с помощью
эквивалентных преобразований
2) замена переменных (если возможно)
3) исследование структуры всех решений
4) подсчёт количества решений по формулам
комбинаторики
 К.Ю. Поляков, М.А. Ройтберг, 2014
http://kpolyakov.spb.ru
Системы логических уравнений в задачах ЕГЭ по информатике
32
Конец фильма
ПОЛЯКОВ Константин Юрьевич
д.т.н., учитель информатики
ГБОУ СОШ № 163, г. Санкт-Петербург
kpolyakov@mail.ru
РОЙТБЕРГ Михаил Абрамович
д.ф.-м.н., зав. кафедрой АТП ФИВТ МФТИ,
зам. руководителя Федеральной комиссии по
разработке КИМ ЕГЭ по информатике и ИКТ
mroytberg@lpm.org.ru
 К.Ю. Поляков, М.А. Ройтберг, 2014
http://kpolyakov.spb.ru
Download