Saturday, December 8, 2018

Техника исчисления базисных предикатов по Е.А. Мирончик 2017 и ЕГЭ Задача 18 ( поразрядная конъюнкция )

Следуем Решение задания ЕГЭ - 18 с битовыми операциями
Если оригинальная идея  понята мной правильно, то мы конвертируем
уравнение к виду в базисных предикатах. Затем опираясь только на
основные законы булевой алгебры преобразум его к виду когда
обратная конвертация дает готовый ответ и "да" предложенная техника
представляет серьезную конкуренцию для Bitwise2, если 18-ая задача
окончательно не перекочевала в область Линейных или/и нелинейных
методов оптимизации ( то есть в чистую математику ).




*****************************************************
(x&120 ¬=0) => ((x&96 ¬=0)=>(x&A ¬=0)) = 1
*****************************************************
E(120) => (E(96) => E(A)) = 1
¬E(120) + ¬E(96) + E(A) =1
 (¬E(64)*¬E(32))*(¬E(16)*¬E(8)) + (¬E(64)*¬E(32))+ E(A) = 1

По закону поглощения

¬E(64)*¬E(32) + E(A) = 1
¬E(96) + E(A) = 1

Откуда A(min)=96

******************************************************
(x&120 ¬=0) => ((x&96=0)=>(x&A ¬=0)) = 1
******************************************************
  E(120) => (¬E(96) =>E(A)) = 1
¬E(120) + E(96) + E(A) = 1
¬E(64)*¬E(32)*¬E(16)*¬E(8) + E(96) + E(A) = 1
¬E(96)*¬E(24) + E(96) + E(A) = 1
¬E(24) + E(96)  + E(A) = 1

Откуда A(min)=24



******************************************************
(x&77 ¬=0) => ((x&12 = 0) => (x&A ¬= 0)) = 1
******************************************************
  E(77) => (¬E(12) => E(A)) = 1
¬E(77) + E(12) + E(A) = 1
¬E(64)*¬E(8)*¬E(4)*¬E(1) + E(8) + E(4) + E(A) = 1
¬E(64)*¬E(1) + E(8) + E(4) + E(A) = 1
¬E(65) + E(8) + E(4) + E(A) = 1

Откуда A(min)=65


********************************************************************
((x&28 ¬=0) + (x&45 ¬=0)) => ((x&48 =0) => (x&A ¬=0)) = 1
********************************************************************
(E(28) + E(45)) => (E(48) + E(A)) = 1
¬E(28)*¬E(45) + E(48) + E(A) = 1

¬E(28)= ¬E(16)*¬E(8)*¬E(4)
¬E(45) = ¬E(32)*¬E(8)*¬E(4)*¬E(1)

Таким образом

¬E(28)*¬E(45) = ¬E(32)*¬E(16)*¬E(8)*¬E(4)*¬E(1)
¬E(32)*¬E(16)*¬E(8)*¬E(4)*¬E(1) + E(32) + E(16) + E(A) = 1
¬E(8)*¬E(4)*¬E(1) + E(32) + E(16) + E(A) = 1
¬E(13) + E(32) + E(16) + E(A) = 1

Откуда A(min)=13

Пример 6,7,8  из http://kpolyakov.spb.ru/download/bitwise2.pdf


((E(13) + E(A)) => E(13) + ((E(A)*¬E(39)) = 1
¬E(13)*¬E(A) + E(13) + E(A)*¬E(39) = 1
¬E(A) + E(13) + E(A)*¬E(39) = 1
¬E(A) + E(13) + ¬E(39) = 1

Откуда А(max) =13


(¬E(46) + ¬E(18)) => (E(115) => ¬(E(A)) = 1
E(46)*E(18) + ¬E(115) + ¬E(A) = 1
E(46) =E(44) + E(2)
E(18) =E(16) + E(2)
E(46)*E(18) = E(44)*E(16) + E(44)*E(2) + E(2)*E(16) + E(2)
E(46)*E(18) = E(44)*E(16) + E(2)
E(44)*E(16) + E(2) + ¬E(A) = 1
(E(A)=>E(2)) + (E(A)=>E(44))*(E(A)=>E(16)) = 1
(E(A)=>E(2)) + (E(A)=>E(44&16)) =1
44=101100
&
16=010000
=======
0 =000000
(E(A)=>E(2)) + (E(A)=>E(0)) =1
(E(A)=>E(2))  =1

Откуда A(max) = 2

 
  E(23)*E(45) => E(A)*E(23) = 1
¬E(23) + ¬E(45) + E(A)*E(23) = 1
¬E(23) + ¬E(45) + E(A) = 1

Откуда A(min) = 23


 (( E(A)*¬E(12) => (¬E(A)*E(21)) + ¬E(21)*¬E(12) = 1
¬E(A) + E(12) + ¬E(A)*E(21) + ¬E(21)*¬E(12) = 1
¬E(A) + E(12) + ¬E(21)*¬E(12) = 1
¬E(A) + E(12) + ¬E(21) = 1

Откуда А(max) =12
Сравни с решением в файле ege18.doc средствами Bitwise2


1 comment: