Решение систем логических уравнений В15 (2015)

advertisement
Решение систем логических
уравнений
В15
(2015)
Что нужно знать?!
•
•
•
•
•
•
условные обозначения логических операций:
¬ A,
не A (отрицание, инверсия);
A  B, A и B (логическое умножение, конъюнкция);
A  B, A или B (логическое сложение, дизъюнкция);
A → B импликация (следование);
A ↔ B,
эквиваленция (эквивалентность, равносильность);
таблицы истинности логических операций «И», «ИЛИ», «НЕ», «импликация»,
«эквиваленция»;
операцию «импликация» можно выразить через «ИЛИ» и «НЕ»:
A → B = ¬ A  B или A → B = 𝐴 + 𝐵;
операцию «эквиваленция» также можно выразить через «ИЛИ» и «НЕ»:
A ↔ B = ¬ A  ¬ B  A  B или A ↔ B = 𝐴 ⋅ 𝐵 + 𝐴 ⋅ 𝐵;
если в выражении нет скобок, сначала выполняются все операции «НЕ», затем – «И»,
затем – «ИЛИ», потом – «импликация», и самая последняя – «эквиваленция»;
правила преобразования логических выражений (законы алгебры логики).
В15
Сколько может быть различных решений:
(x5 → x4) ˄ (x4 → x3) ˄ (x3 → x2) ˄ (x2 → x1) ˄ (x1 → x5 ) = 1
или
(x5 → x4) * (x4 → x3) * (x3 → x2) * (x2 → x1) * (x1 → x5 ) = 1
•
•
Выражение принимает значение 1, когда все сомножители = 1.
Импликация дает 1 в следующих случаях:
• 00
• 11
• 0 1 не подходить, т.к. (x5 → x4) * (x4 → x3) * … дает (0→1)*(1→0)*..
1 *
•
•
0 = 0
Выражение (Х1 → Х5) и выражение (Х5 → Х4) связаны между собой переменной Х5.
Это условие выполняется только при:
Ответ: 2 решения
2013. В15
Сколько различных решений имеет логическое уравнение
(¬x1 v x2)∙(¬x2 v x3)∙(¬x3 v x4)∙(¬x4 v x5)∙(¬x5 v x6)=1
• Перепишем уравнение в удобной форме:
(x1 v x2)∙(x2 v x3)∙(x3 v x4)∙(x4 v x5)∙(x5 v x6) = 1
• Вспомним, что A + B = A → B, тогда
(x1 →x2)∙(x2 →x3)∙(x3 →x4)∙(x4 →x5)∙(x5 →x6) = 1
Решением этого уравнения будут все комбинации значений х1 … х6, для которых
нет последовательности 1 0.
7 решений
Сколько различных решений имеет система уравнений
(x1→x2) ˄ (x2→3) ˄ (x3→x4) ˄ (x4→x5 ) = 1
(y1→y2) ˄(y2→y3) ˄ (y3→y4) ˄ (y4→y5 ) = 1
y5→x5 =1
1-е уравнение (х)
2-е уравнение (у)
y5→x5 =1.
Исключаем из общего решения у5→х5 = 0 (1→0) – 5 вариантов.
Ответ: 6*6 - 5 = 31
В15
(x1→x2) ˄ (x2→x3) ˄ (x3→x4) ˄ (x4→x5 ) = 1
(y1→y2) ˄ (y2→y3) ˄(y3→y4) = 1
1-е уравнение (х)
2-е уравнение (у)
Уравнения не зависят друг от друга, количество
решение равно 6*5 = 30
Ответ: 30.
Сколько различных решений имеет система уравнений
(x1 → x2) ˄ (x2 → 3) ˄ (x3 → x4) ˄ (x4 → x5 ) = 1
(Y1 → Y2) ˄ (Y2 → Y3) ˄ (Y3 → Y4) ˄ (Y4 → Y5 ) = 1
x1 → Y1 =1
Составим таблицы для каждого уравнения:
(x1 → x2) * (x2 → 3) * (x3 → x4) * (x4 → x5 ) = 1
Ответ: 6*6 – 5 = 31
Уравнение имеет 6 (Nx+1)решений (не должно быть 1→0)
(Y1 → Y2) * (Y2 → Y3) * (Y3 → Y4) * (Y4 → Y5 ) = 1
Уравнение имеет 6 решений
1-у и 2-улог.уравнения имеют 6х6=36 решений.
x1→y1 =1
исключим из общего решения значения, где х1→у1 = 0 (1→0),
т.е. исключаются cоответствующие х1=1 значения у1=0.
Таких значений 5.
В15
(x1→x2) ˄ (x2→3) ˄ (x3→x4) ˄ (x4→x5 ) = 1
(y1→y2) ˄ (y2→y3) ˄ (y3→y4) ˄ (y4→y5 ) = 1
x2→y2 =0
X
Y
1-е и 2-е уравнения имеют по 6 решений, т.е. 6*6=36
x2→y2 =0
Исключаем из общего решения x2→y2 = 0 (1→0)
8 вариантов
Ответ: 36 – 8 = 28
Декабрь 2013. В15
Решения для 1-го и 2-го уравнений (они не зависимы друг от
друга): 6*6=36
(x1 → y1) ^(x2 → y2) = 1
Исключаем варианты когда:
Х1=1, Y1=0
5 вариантов
Х2=1, Y2 = 0
8 варианта
Ответ: 36 – 13 = 23
5 + 8 = 13
Замечание.
Если третье уравнение имеет вид: y1 → x1=1, то вычеркиваются наборы,
где (y1=1, x1=0).
Если третье уравнение имеет вид: (x1→ y1)&(x2 → y2) =1, вычеркиваются
наборы, где (x1=1, y1=0; x2=1, y2=0).
Если третье уравнение имеет вид: (x1 → y1) = 0, проще оставить те
наборы, где (x1=1, y1=0).
(x1  x2)  (x2  x3)  (x3  x4)= 1
(у1  у2)  (у2  у3)  (у3  у4) = 1
(y1  x1)  (y2  x2)  (y3  x3)  (y4  x4) = 1
1. Решения для 1-го уравнения:
(x1, x2, x3, x4) = 0000 0001 0011 0111 1111
2. Решения для 2-го уравнения:
(y1, y2, y3, y4) = 0000 0001 0011 0111 1111
3. два уравнения независимы друг от друга, система из первых двух уравнений имеет
5∙5=25 решений:
• каждому решению первого соответствует 5 разных комбинаций переменных y1, y2, …,
y4, которые решают второе, и наоборот:
5. (y1  x1)  (y2  x2)  (y3  x3)  (y4  x4) =
(y1  x1)  (y2  x2)  (y3  x3)  (y4  x4) = 1
6. y1x1 ложна только для y1 = 1 и x1 = 0, такая комбинация запрещена;
7. набору с y1 = 1: (y1, y2, y3, y4) = 1111 соответствует только набор (x1, x2, x3, x4) = 1111;
8. y2x2 ложна, то есть только для y2 = 1 и x2 = 0; (y1, y2, y3, y4) = 0111 соответствует только
набор (x1, x2, x3, x4) = 0111;
9. аналогично проверяем еще два ограничения: y3 = 1 и x3 = 0 и y4 = 1 и x4 = 0:
10. при: (y1, y2, y3, y4)=1111 – 1 решение;
(y1, y2, y3, y4)=0111 – 2 решения;
15 решений
(y1, y2, y3, y4)=0011 – 3 решения;
(y1, y2, y3, y4)=0001 – 4 решения;
(y1, y2, y3, y4)=0000 – 5 решений
Сколько существует различных наборов значений логических
переменных Х1…Х6, У1… У6 которые удовлетворяют всем
перечисленным ниже условиям?
(Х1 Х2)  (Х2 Х3)  (Х3 Х4)  (Х4 Х5)  (Х5 Х6)=1
(У1 У2)  (У2 У3)  (У3 У4)  (У4 У5)  (У5 У6)=1
(У1Х1)  (У2Х2)  (У3Х3)  (У4Х4)  (У5Х5)  (У6Х6) =1
В ответе указать количество наборов.
Для 1 и 2 уравнений получаем по 7 наборов значений.
Т.к. уравнения не зависят друг от друга, то общее кол-во решений =
7*7=49.
(¬А + В = А → В) тогда 3-е уравнение можно записать :
(У1→Х1)  (У2 → Х2)  (У3 → Х3)  (У4 → Х4)  (У5 → Х5)  (Y6 → Х6) =1
При подсчете количества наборов значений будем учитывать только те,
которые удовлетворяют первым двум уравнениям.
Рассмотрим все значения Х отдельно:
(У1→Х1)  (У2 → Х2)  (У3 → Х3)  (У4 → Х4)  (У5 → Х5)  (У6 → Х6) =1
Исключаем решения, когда уравнение имеет нулевое решение:
Х1 = 0; Y1 = 1 – исключаем первую строку таблицы Y – 6 наборов;
X2 = 0; Y2 = 1 – исключаются 2-я строка таблицы Y – 5 наборов;
Х3 = 0; Y3 = 1 – 4 набора и т.д.
Суммируем количество наборов нулевых значений: 6+5+4+3+2+1 = 21
Ответ : 49-21= 28 решений.
Сколько существует различных наборов значений логических переменных
x1, x2, x3, x4, x5, x6, y1, y2, y3, y4, y5, y6, которые удовлетворяют всем
перечисленным ниже условиям?
1. (x1→x2) /\ (x2→x3) /\ (x3→x4) /\ (x4→x5) /\ (x5→x6) = 1
2. (y2→y1) /\ (y3→y2) /\ (y4→y3) /\ (y5→y4) /\ (y6→y5) = 1
3. x6→y6 = 1
В уравнении (2) обратная зависимость y2 →y1 = 1 на наборах (0,0; 0,1; 1,1)…
Составим таблицы истинности для Х1-Х6 и Y1-Y6
Х1
Х2
Х3
Х4
Х5
Х6
Y1
Y2
Y3
Y4
Y5
Y6
0
0
0
0
0
0
При х6=0 – все значения Y6, т.е. 7 решений
0
0
0
0
0
0
0
0
0
0
0
1
При х6=1 – Y6=1, т.е. 1 решений
1
0
0
0
0
0
0
0
0
0
1
1
При х6=1 – Y6=1, т.е. 1 решений
1
1
0
0
0
0
0
0
0
1
1
1
При х6=1 – Y6=1, т.е. 1 решений
1
1
1
0
0
0
0
0
1
1
1
1
При х6=1 – Y6=1, т.е. 1 решений
1
1
1
1
0
0
0
1
1
1
1
1
При х6=1 – Y6=1, т.е. 1 решений
1
1
1
1
1
0
1
1
1
1
1
1
При х6=1 – Y6=1, т.е. 1 решений
1
1
1
1
1
1
Подсчитаем сколько решений удовлетворяют условию x6→y6 = 1
Ответ: 13 решений.
Сколько существует различных наборов значений логических переменных
x1, x2, x3, x4, x5, x6, y1, y2, y3, y4, y5, y6, которые удовлетворяют всем
перечисленным ниже условиям?
1. (x1→x2) /\ (x2→x3) /\ (x3→x4) /\ (x4→x5) /\ (x5→x6) = 1
2. (y2→y1) /\ (y3→y2) /\ (y4→y3) /\ (y5→y4) /\ (y6→y5) = 1
3. y1→x1 = 1
В уравнении (2) обратная зависимость y2 →y1 = 1 на наборах (0,0; 0,1; 1,1)…
Составим таблицы истинности для Х1-Х6 и Y1-Y6
Х1
Х2
Х3
Х4
Х5
Х6
Y1
Y2
Y3
Y4
Y5
Y6
0
0
0
0
0
0
При y1=0 – все значения x1, т.е. 7 решений
0
0
0
0
0
0
0
0
0
0
0
1
При y1=1 – x1=1, т.е. 1 решений
1
0
0
0
0
0
0
0
0
0
1
1
При y1=1 – x1=1, т.е. 1 решений
1
1
0
0
0
0
0
0
0
1
1
1
При y1=1 – x1=1, т.е. 1 решений
1
1
1
0
0
0
0
0
1
1
1
1
При y1=1 – x1=1, т.е. 1 решений
1
1
1
1
0
0
0
1
1
1
1
1
При y1=1 – x1=1, т.е. 1 решений
1
1
1
1
1
0
1
1
1
1
1
1
При y1=1 – x1=1, т.е. 1 решений
1
1
1
1
1
1
Подсчитаем сколько решений удовлетворяют условию y1→x1 = 1
Ответ: 13 решений.
Сколько различных решений имеет система логических уравнений
(x1  x2)  (x3  x4) = 1
(x3  x4)  (x5  x6) = 1
где x1, x2, …, x6 – логические переменные?
Метод замены переменных.
Y1 = x1  x2,
Y2 = x3  x4,
Y3 = x5  x6
Каждая из новых переменных независима от других, это важно!
1. Система запишется в виде:
Y 1  Y2 = 1
Y2  Y3 = 1
2. Можно объединить эти уравнения в одно
(Y1  Y2)  (Y2  Y3) = 1
3. Чтобы это равенство было выполнено, ни одна из импликаций не должна быть ложной, то есть в
битовой цепочке переменных Y1, Y2, Y3 не должно быть последовательности «10».
В15
4. Вернемся к исходным переменным;
5. импликация Y1 = x1  x2 =0 при наборе (x1,x2) = (1,0) – один набор данных и
x1  x2 =1 на трёх наборах (x1,x2) = {(0,0); (0,1);(1,1)} – три набора.
3. Учитывая, что Y1, Y2, Y3 независимы, для каждой строки таблицы перемножим
количество вариантов комбинаций исходных переменных:
6. Сложим все результаты: 1 + 3 + 9 + 27 = 40.
Сколько существует различных наборов значений логических
переменных Х1…Х10, которые удовлетворяют всем перечисленным
ниже условиям?
Х1
Х2
((Х1 Х2)  (Х3 Х4))  ((Х1 Х2)  (Х3 Х4))=1
0
0
((Х3 Х4)  (Х5 Х6))  ((Х3 Х4)  (Х5 Х6))=1
0
1
...
1
0
((Х7 Х8)  (Х9 Х10))  ((Х7 Х8)  (Х9 Х10))=1
1
1
Таблица истинности для эквивалентности:
Всего в системе уравнений используется пять пар переменных:
Х1 - Х2; Х3 - Х4; Х5 - Х6; Х7 - Х8; Х9 - Х10.
Первая пара Х1-Х2 в первом уравнении дает 4 набора значений,
которые удовлетворяют заданному условию:
1. Х1=0, Х2=0 для левой части первого уравнения;
2. Х1=1, Х2=1 для левой части первого уравнения; (Х1 Х2)
3. Х1=0, Х2=1 для правой части первого уравнения;
4. Х1=1, Х2=0 для правой части первого уравнения; (Х1 Х2)
Х1
Х2
1
0
0
1
((Х1 Х2)  (Х3 Х4))  ((Х1 Х2)  (Х3 Х4))=1
((Х3 Х4)  (Х5 Х6))  ((Х3 Х4)  (Х5 Х6))=1
...
((Х7 Х8)  (Х9 Х10))  ((Х7 Х8)  (Х9 Х10))=1
Х1
Х2
Х3
Х4
0
0
1
0
0
0
1
Вторая пара Х3-Х4 в первом уравнении дает еще 4 набора0 значений
0
1
0
0
(увеличивает количество в 2 раза).
0
1
1
1
1. Х3=0, Х4=0 для левой части первого уравнения;
1
0
0
0
2. Х3=1, Х4=1 для левой части первого уравнения;
1
0
1
1
3. Х3=0, Х4=1 для правой части первого уравнения;
1
1
1
0
4. Х3=1, Х4=0 для правойчасти первого уравнения;
1
1
0
1
Причем, значения 1 и 2 скобок в обоих частях уравнения не должны совпадать.
Каждая следующая пара переменных увеличивает количество наборов в
два раза.
Общее количество наборов значений будет равно:
4 * 2 * 2 * 2 * 2 = 64
Х1-Х2 Х3-Х4 Х5-Х6 Х7-Х8 Х9-Х10
Сколько существует различных наборов значений логических переменных
Х1…Х10, которые удовлетворяют всем перечисленным ниже условиям?
(Х1 Х2)  (Х3 Х4) =1
((Х3 Х4) (Х5 Х6) =1
...
(Х7 Х8)  (Х9 Х10 )=1
Обозначим (Х1 Х2)=У1; (Х3 Х4)=У2; (Х5 Х6)=У3; (Х7 Х8)=У4; (Х9 Х10)= У5
Получим систему:
 У1  У2=1
 У2  У3=1
 У3  У4=1
 У4  У5=1
Рассмотрим возможные наборы значений:
Если У1=1, то У2, Y3, Y4 и Y5 должны быть равно только 1 – первый набор
значений, т.к. при У1=1 других наборов нет.
Рассмотрим возможные наборы вариантов:
Получаем еще 5 наборов значений, которые удовлетворяют преобразованной
системе.
Вернемся к замене.
Так как (Х1 Х2)=У1 (значение У зависит от значения двух величин) и так
далее, то замена дает 25 наборов значений, то есть 32 решения.
Общее количество наборов значений, которые удовлетворяют заданным
условиям будет равно:
6*32=192
Сколько существует различных наборов значений логических переменных
Х1…Х10, которые удовлетворяют всем перечисленным ниже условиям?
(Х2 Х1)  (Х2  Х3) (Х2 Х3) =1
(Х3 Х1)  (Х3  Х4) (Х3 Х4) =1
…
(Х9 Х1)  (Х9  Х10) (Х9 Х10) =1
(Х10 Х1)=0
Упростим логическое выражение учитывая, что
(Х2  Х3) (Х2 Х3) = (Х2 Х3)
Получим:
(Х2 Х1)  (Х2 Х3) =1
(Х3 Х1)  (Х3 Х4) =1
…
(Х9 Х1)  (Х9 Х10) =1
(Х10 Х1)=0
Скобка дает значение 1, если значения логических величин совпадает.
Рассмотрим сколько наборов удовлетворяют условию, если Х1=0
(Х2 Х1)  (Х2 Х3) =1
(Х3 Х1)  (Х3 Х4) =1
…
(Х9 Х1)  (Х9 Х10) =1
(Х10 Х1)=0
Для Х1=0 получили 9 наборов значений логических величин.
Для Х1=1 (симметрично Х1=0) будет также 9 наборов значений.
Полное количество наборов значений для данной системы уравнений
будет равно: 9*2=18
В15
Решения для 1-го и 2-го уравнений
Рассмотрим последнее уравнение.
X4 = 1– ОДНО РЕШЕНИЕ;
Х4=Х3=1 – 2-А РЕШЕНИЯ;
Х4=Х3=Х2=1 – 3 РЕШЕНИЯ;
Х4=Х3=Х2=Х2 =1 – 4 РЕШЕНИЯ;
(Х4 → Х5) И (Y4 →Y5) = 1 по 6 решений ;
Общее кол-во решений: 6+6+4+3+2+1=22
Сколько различных решений имеет логическое уравнение
X1 → X2 → X3 → X4 → X5 → X6 = 1
Метод динамического программирования:
• Порядок выполнения операций определяется приоритетом этих операций. Операции,
имеющие одинаковый приоритет, выполняются слева направо:
((((X1 → X2) → X3) → X4) → X5) → X6
• каждая логическая переменная может принимать значение «истина» (1) или «ложь» (0);
• для набора из 6 независимых логических переменных существует 26 =64 разных комбинаций
значений этих переменных;
• импликация X1 → X2 дает в трёх случаях 1, и в одном – 0 :
В15
• Проанализируем как меняется количество решений, если «подключить» следующую
переменную:
– если X1=0, то X1 → X2 =1 (из К нулей получаются 2К единиц)
– если X1=1, то X1 → X2 =0 при X2 =0 и X1 → X2 =1 при X2 =1 (из К единиц получаются К
нулей и К единиц);
• составим формулы для вычисления количества нулей и количества единиц Еi для уравнения
с i переменными:
• для одной переменной имеем 1 ноль и 1 единицу, поэтому начальные условия для расчёта:
• составим таблицу:
ВАРИАНТ 2.
В15
X1 → X2 → X3 → X4 → X5 → X6 = 1
для набора из 6 независимых логических переменных существует 26 =64 разных комбинаций
значений этих переменных;
1. если X6 =1, то левая часть уравнения равна 1, то есть равенство выполняется;
при X6 =0 и (X1 → X2 → X3 → X4 → X5)=1 получим 1 → X6 = 1 →0 = 0 – не подходит;
к-во решений 26-1 = 32;
2. проверим отдельно случаи X5 =0 и X5 =1:
• X6 = 0 и X5 =1; условие (X1 → X2 → X3 → X4 → X5)=0 не выполняется, решений нет;
• X6 = X5 =0,
(X1 → X2 → X3 → X4 → X5)=0 выполняется только при (X1 → X2 → X3 → X4)=1;
если X4 =1, это условие всегда верно, поэтому получаем еще 8 решений – 8 комбинаций, где
X6 = X5 =0 и X4 =1;
3. случай X6 = X5 = X4 =0;
условие (X1 → X2 → X3 → 0)=1 верно при (X1 → X2 → X3)=0, это сразу дает X3 =0 и (X1 → X2)=1
4. при (X6 = X5 = X4 = X3 =0)
условие (X1 → X2)=1 истинно в трёх случаях: (X1,X2) =(0,0) , (0,1) и (1,1) - ещё 3 решения.
Ответ: 32 + 8 + 3 = 43 решения.
Download