Решение систем логических уравнений В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. y1x1 ложна только для y1 = 1 и x1 = 0, такая комбинация запрещена; 7. набору с y1 = 1: (y1, y2, y3, y4) = 1111 соответствует только набор (x1, x2, x3, x4) = 1111; 8. y2x2 ложна, то есть только для 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 решения.