Monday, December 31, 2018

Solution of the equation E(M)⊕E(N) => E(A)*¬E(M & N) ≡ 1 via the calculus of basic predicates according to E.A.Mironchick (final draft)

*********************************************************************
UPDATED as of 03/05/2019. This is supposed to be final draft 
fixing a minor issues in original version
*********************************************************************
In general we follow guidelines of technique developed in
http://kpolyakov.spb.ru/download/mea18bit.pdf

Per link mentioned above (quoting Helen A. Mironchick)
Let Et (x) be a predicate whose truth set is all x for which x & t ≠ 0.
If t is a power of two, then such a predicate will be called basic.
The basic predicate describes (fixes) a single unit in the binary notation.
Further, for brevity, the predicate Et (x) will be denoted by E(t);
we will also denote the truth set of this predicate.

(quoting ends)


Denote by {X} the binary representation of a natural number X.
The core statement of the post below  is :-

Let R, M, N be natural numbers. R is the minimum
satisfying the condition {M OR N} = {R OR {M & N}},
where "OR" is a bitwise disjunction, and "&" is a bitwise conjunction
Then the smallest A satisfying the equation
E(M)⊕E(N)=>E(A)*¬E (M & N) ≡ 1 would be equal R.


First we intend to show that, E(M) v E(N) = E(R) v E(M&N).
Notice also that everywhere below  "*" is "^".

Consider expansions in the logical sum of  basic predicates.
E (M) and E(N). All pairs of equal basic predicates will be
collapsed into one and the logical sum of such predicate pairs
will obviously give E(M&N). The logical sum of all those
remaining is exactly E(R). It remains to apply the formulas
of De Morgan.

               ¬(E(M) v E(N)) = ¬(E(R) v E(M & N))

and get the required equality below

               ¬E(M)*¬E(N) = ¬E(R)*¬E(M&N)  (1)

Bitwise2 has a familiar formula. Due to the fact that ¬E(N) = Z(N)
        Z(M)*Z(N) = Z(M OR N) = Z(R)*Z(M & N)
Thus, ¬E(M)*¬E(N) = ¬E(R)*¬E (M & N) can be obtained
as a result of Statement 3 of http://kpolyakov.spb.ru/download/bitwise2.pdf

   Convert the original equation as follows

   E(M)⊕E(N) => E(A)*¬E(M&N) ≡ 1
   (E(M)≡E(N)) v E(A)*¬E(M&N) ≡ 1
 ¬E(M)*¬E(N) v E(M)*E(N) v E(A)*¬E(M&N) ≡ 1

    From the decomposition of M and N into basic predicates
    define the numbers REST-M and REST-N such that
    each of them has no common unit bits with M&N and in doing so
    obtain

     {REST-M} + {M & N} = {M}
     {REST-N} + {M & N} = {N}

     Consequently

     E(M) = E(REST-M) v E(M&N)
     E(N) = E(REST-N) v E(M&N)

Apply formula (1) to ¬E(M)*¬E(N):-

¬E(R)*¬E(M&N) v (E(REST-M) v E(M & N))*(E(REST-N) v E(M&N)) v
   v E(A)*¬E(M&N) ≡ 1
¬E(R)*¬E(M&N) v E(REST-M)*E(REST-N) v E (M&N) v
   v E(A)*¬E(M&N) ≡ 1
¬E(R) v E(REST-M)*E(REST-N) v E(M&N) v E(A)≡ 1

*************
Theorem 1 
************* 
For truth ∀ x: E(k)(x) => E(m)(x), it is necessary 
and sufficient that the set of unit bits "k" is fully 
included in the set of unit bits "m"

Necessity
Let j(1), .., j(s) be the numbers of the single unit bits "k",
ordered descending (for example), then
¬E(k)= ¬E(j(1)) * .... *¬E(j(s)) we show that
        ¬E(k) + E(m) = 1
We have
¬E(k) = ¬E(j(1))* .... *¬E(j(s))
E(m) = E(j(1)) + ... + E(j(s)) + E (rest)
We consistently suppress all factors in conjunction.
¬E(k)+E (m) = ¬E(j(1))* ....*¬E(j(s)) + E(j(1)) + ... + E(j(s)) + E(rest)=1

Sufficiency
If there is at least one single unit bit "k" (with the number "p") not included in the single unit bits "m", then k&2^p! = 0 and at the same time the numbers of the single unit bits "m" do not contain "p", then 2^p with a unit at the place "p" in the binary representation 1000 ... 0 (counting from 0 from right to left) will be multiplied by 0 in the p-th position "m", that is, m&2^p = 0 In this case, k&2^p != 0, that is, E(k,2^p) = 1 if m&2^p = 0 then E(m,2^p) = 0. In this case, Е(к,2^p) => Е(m,2^p) = 0, that is, the condition of the theorem is not satisfied for all "x"

We are all set with Theorem 1


Starting from this point we intend to invoke Theorem 1 where it 
appears to be needed without any previous notification 

Say $(X) is the set of unit bits in X.
Convert the last equation as follows


(E(R)=> E(REST-M))*(E(R)=> E(REST-N)) 

       v (E(R)=> E(M&N)) v (E(R)=> E(A)) ≡ 1 

Assign A(min) value equal R and consider any A < A(min) then

      ∃ j: ( j !∈ $(A))*(j ∈ $(R)) = True

From here and below our major goal would be to prove that for any
A < A(min)  it exists integer y=y(A) which will result


(E(R)=> E(REST-M))*(E(R)=> E(REST-N)) 
       v (E(R)=> E(M&N)) v (E(R)=> E(A)) (y(A)) =0

 
Set unit bit on place number  "j"  in y=y(A)
Due to j ∈ $(R) this j !∈ $(M&N). The rest of y's bits
let us set to 0


Notice that this "j" also doesn't belong to at least one of sets
$(REST-M) or $(REST-N), otherwise it would belong
$(M&N). So conjuction below is equal 0. 

 
    (E(R,y)=> E(REST-M,y))*(E(R,y)=> E(REST-N,y)) = 0  (1)


Then notice that (E(R,y)=> E(M&N,y)) = 0 (2)
and (E(R,y)=> E(A,y) = 0 (3)


Finally we are getting (due to (1),(2) and (3))

(E(R)=> E(REST-M))^(E(R)=> E(REST-N)) v
  v (E(R)=> E(M&N)) v (E(R)=> E(A))(y) = 0

 
Thus for any A less then R it exists y=y(A) such
that predicate been written above has value 0
for number y=y(A) and A(min) appears to be real
minimum A(min)

 


Links
1. http://kpolyakov.spb.ru/download/mea18bit.pdf

Wednesday, December 19, 2018

Алгебра базисных предикатов по Е.А. Мирончик (2017) versus Bitwise2

Updated as of 15/02/2019

Изначально техника, используемая ниже была введена
в работе http://kpolyakov.spb.ru/download/mea18bit.pdf   
Существует также статья в журнале "Информатика в школе"
№7 2017 несколько более удобная для первого чтения, но только 
как твердая копия, он-лайн версии нет.


**************
Теорема 1
**************
Для выполнения  ∀ x∈N: E(k,x) => E(m,x) = True 
необходимо и достаточно, чтобы множество единичных битов "k" полностью входило во множество единичных битов "m"

Необходимость
Пусть j(1),..,j(s) - номера единичных битов "k" ,
упорядоченное по убыванию (например),тогда
¬E(k) = ¬E(j(1))*....*¬E(j(s)) покажем,что
        ¬E(k) + E(m) = 1
Имеем
¬E(k)=¬E(j(1)*....*¬E(j(s)
E(m) = E(j(1)) + ... + E(j(s)) + E(rest)
Последовательно подавляем все множители в конъюнкции
¬E(k)+E(m)=¬E(j(1))*....*¬E(j(s)) + E(j(1)) + ... + E(j(s)) + E(rest) = 1

Достаточность
Если есть хоть один единичный бит "к" (c номером "р"), не входящий в единичные биты "m",то k&2^p !=0  и в тоже время номера единичных битов "m" не содержат "р",тогда 2^p с единицей на месте "р" в двоичном представлении 1000...0 (считая от 0 справа налево) будет умножаться на 0 в р-ой позиции "m",то есть m&2^p=0
В этом случае  k&2^p !=0 то есть Е(к,2^p)=1 если при этом 
m&2^p =0 тогда Е(m,2^p)=0
В этом случае  Е(к,2^p) => Е(m,2^p) =0 то есть условие теоремы не выполнено для всех "x"

Заметим (¬A = > ¬B ) = (A + ¬B) = (B => A)


(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(12) в конъюнкции
¬E(A) + E(12) + ¬E(21) ≡ 1
¬(¬E(12)) + ¬E(A) + ¬E(21) ≡ 1


Используем дистрибутивность импликации
по отношению к дизъюнкции
¬E(12) => ¬E(A) + ¬E(21) ≡ 1
(¬E(12) => ¬E(A)) + (¬E(12) => ¬E(21)) ≡ 1


Согласно замечанию получаем
(E(A) => E(12)) + (E(21) => E(12)) ≡ 1


21=10101 (binary)
12=1100 (binary)

По Теореме 1
E(21) => E(12) ! ≡ 1
Таким образом нам необходимо, чтобы
E(A) => E(12) ≡ 1
По Теореме 1 окончательно имеем :-
А(мах) = 12



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

Подавляем E(А) в конъюнкции
¬E(A) + E(13) + E(A)*¬E(39) ≡ 1
¬E(A) + E(13) + ¬E(39) ≡ 1

Используем дистрибутивность импликации
по отношению к дизъюнкции
¬(¬E(13)) + ¬E(A) + ¬E(39) ≡ 1
¬E(13) => ¬E(A) + ¬E(39) ≡ 1

Согласно замечанию
(¬E(13) => ¬E(A)) + (¬E(13) => ¬E(39)) ≡ 1
(E(A) => E(13)) + (E(39) => E(13)) ≡ 1

По Теореме 1
E(39) => E(13) !
≡ 1
Таким образом нам необходимо, чтобы 
E(A) => E(13) ≡ 1
По Теореме 1 окончательно имеем :-
А(мах) = 13

***************
Теорема 2
***************
Полученное выше А(мах) увеличить невозможно
не потеряв тождественной истинности  
(E(A)=>E(T)) + (E(P)=>E(T)) 1
где смысл Т и Р ясен из контекста выше. 

Доказательство
Определим  $(C)  как множество единичных бит в С ∈ N , идущих
строго в порядке убывании разрядов  {j(1),j(2),....,j(k)}

Рассмотрим тождество (E(A)=>E(T)) + (E(P)=>E(T)) = 1
раносильное исходному уравнению

Пусть А(mах) = Т и А > A(max)

Существует единица из $(A) не входящая в $(A(max))
Определим х(А) имеющим нули в всех позициях $(A(max))
и единицу в позиции единицы в $(A),не входящей в
$(A(max))

P также как и А должно иметь единицу не входящую в $(A(max))
В х(А) поставим единицу на той же позиции, что и единица из Р,
не входящая в $(A(max))

Тогда
 T&x(A) = 0
 A&x(A) = 1
 P&x(A) = 1

Получаем
 E(A,x(A)) = 1
 E(T,x(A)) = 0  
 E(P,x(A)) = 1

E(A,x(A)) => E(T,x(A)) = 0
E(P,x(A)) => E(T,x(A)) = 0
Предикат (E(A)=>E(T)) + (E(P)=>E(T)) = 0
при х = х(А)


************
Задача 2
************
Найти максимальное А удовлетворяющее
уравнению ¬E(10) + ¬E(A) + E(17)  ≡ 1


¬E(10) + ¬E(A) + ¬(¬E(17))  ≡ 1
¬E(17) => ¬E(10) + ¬E(A)  ≡ 1
(¬E(17)=> ¬E(10)) + (¬E(17)=> ¬E(A)) ≡ 1

Лекго  доказать
¬E(17)=> ¬E(10) !≡ 1
так как
E(17) + ¬E(10) = E(10) => E(17) !≡ 1  по Теореме 1

Поскольку E(10) => E(17) !≡ 1

Таким образом нам необходимо, чтобы Е(А) =>E(17) ≡ 1
E(17) + ¬E(A) = E(A) => E(17) ≡ 1  


По Теореме 1

A(max) = 17

Tuesday, December 11, 2018

Technique of calculating basic predicates according to Е.А. Mironchick vs Bitwise2

Bellow we follow basic technique developed in 
http://kpolyakov.spb.ru/download/mea18bit.pdf

 *************************************************************
 Find the smallest A so that for all positive integers "x"
   (x&24 != 0)⊕(x&9 != 0) => (x&A != 0)*(x&8 =0)

 Sign of ⊕ means XOR
 *************************************************************
Per link mentioned above (quoting Helen A. Mironchick)
Let Et (x) be a predicate whose truth set is all x for which x & t ≠ 0.
If t is a power of two, then such a predicate will be called basic.
The basic predicate describes (fixes) a single unit in the binary notation.
Further, for brevity, the predicate Et (x) will be denoted by E(t);
we will also denote the truth set of this predicate.

(quoting ends)

Keeping in mind
  ¬A + A*B = (¬A + A)*(¬A + B) = ¬A + B
     A + A*B = A

Proceed as follows
  (E(24)*¬E(9) + ¬E(24)*E(9)) => E(A)*¬E(8) = 1
  ¬(E(24)*¬E(9) + ¬E(24)*E(9)) + E(A)*¬E(8) = 1
 (¬E(24) + E(9))*(E(24) + ¬E(9)) + E(A)*¬E(8) = 1
 ¬E(9)*¬E(24) + E(9)*E(24) + E(A)*¬E(8) = 1


Suppress the double occurrence of ¬E (8) in the first term

¬E(16)*¬E(8)*¬E(1) + E(9)*E(24) + E(A)*¬E(8) = 1
E(9)*E(24)= (E(8) + E(1))*(E(16) + E(8)) = 

    = E(8) + E(8)*E(16) + E(1)*E(16) + E(1)*E(8)

Apply the principle of absorption
 
¬E(16)*¬E(8)*¬E(1) + (E(8) + E(1)*E(16)) +  E(A)*¬E(8) = 1
  ((¬E(16)*¬E(1) + E(A))*¬E(8) + E(8) + E(1)*E(16) = 1
  (¬E(17) + E(A)) + E(8) + E(1)*E(16) = 1


Thus  A(min)=17


************************
Bitwise2 Solution
************************
¬Z(24)⊕¬Z(9) => ¬A*Z(8) = 1
¬Z(24)¬Z(9) + Z(24)*Z(9) + ¬A*Z(8) = 1
¬(Z(24) + Z(9)) + Z(25) + ¬A*Z(8) = 1
¬Z(24&9) + Z(17)*Z(8) + ¬A*Z(8) = 1


Notice that

24 = 11000
&  - per bit conjunction
  9 = 01001
===========
8 = 01000

Z(24)*Z(9) = Z(25) = Z(17)*Z(8)

17= 10001
"v" - per bit disjunction
08= 01000
=============
25 = 11001

Now continue

¬Z(8) + Z(17)*Z(8) + ¬A*Z(8) = 1
¬Z(8) + Z(17) + ¬A = 1
(A=> Z(17)) + (A=> ¬Z(8)) = 1

Thus A(min) = 17


Another sample

***********************************************
Technique of calculation predicates
per Helen Mironchick
***********************************************
 
E(56)⊕E(25) => E(A)*¬E(24) = 1
¬E(56)*¬E(25) + E(56)*E(25) + E(A)*¬E(24) = 1

¬E(32)*¬E(16)*¬E(8)*¬E(1) +
  + (E(32) + E(16) + E(8))*(E(16) + E(8) + E(1)) + E(A)*¬E(24) = 1

¬E(32)*¬E(16)*¬E(8)*¬E(1) + E(32)*
(E(16) + E(8) + E(1)) + E(16) + E(8) +
  + E(A)*¬E(16)*¬E(8) = 1

¬E(32)*¬E(1) + E(32)*(E(16) + E(8) + E(1))
+ E(16) + E(8) + E(A) = 1
¬E(33)
E(32)*(E(16) + E(8) + E(1)) + E(16) + E(8) + E(A) = 1

Thus A(min) = 33

**************************
Bitwise2 Solution
**************************
 

¬Z(56)⊕¬Z(25) => ¬A*Z(24) = 1
¬Z(56)¬Z(25) + Z(56)*Z(25) + ¬A*Z(24) = 1
¬(Z(56) + Z(25)) + Z(57) + ¬A*Z(24) = 1
¬Z(56&25) + Z(33)*Z(24)  + ¬A*Z(24) = 1


56 = 111000
& - per bit conjunction
25 = 011001
===========
24 = 011000

33 = 100001
v - per bit disjunction
24 = 011000
============
57 = 111001

56 = 111000
v - per bit disjunction
25 = 011001
===========
57 = 111000

So, we get:-


 Z(56)*Z(25) = Z(57) = Z(33)*Z(24)

Proceed as folows :


¬Z(24) + Z(33)*Z(24)  + ¬A*Z(24) = 1
¬Z(24) + Z(33)  + ¬A = 1
(A => Z(33)) + (A => ¬Z(24)) = 1
(A => Z(33)) + (A => ¬Z(24)) = 1


Thus A(min) = 33
 



Monday, November 26, 2018

Proof of core sample of E.A. Mironchik's "Solving problems EGE-18 with per bit operations " (2017) via Bitwise2

First what we would have to use comes from Polyakov's ege18.doc


Sample as is 
See Решение задания ЕГЭ - 18 с битовыми операциями


(x&26 ¬=10 ) = ¬Z(16) + Z(8) + Z(2)
(x&27 = 11 )   =   Z(16)*¬Z(8)*¬Z(2)*¬Z(1)

26 = 11010 
10 = 01010
27 = 11011
11 = 01011

Due to
  ¬A + A*B = (¬A + A)*(¬A + B) = ¬A + B
    A + ¬A*B = (A + ¬A)*(A + B) = A + B   
After applying conversions mentioned above
We are going to obtain via Polyakov's formulas  :-

¬Z(16) + Z(8) + Z(2) +  Z(16)*¬Z(8)*¬Z(2)*¬Z(1) + A = 1
¬Z(16) + Z(8) +  Z(2) + ¬Z(1) + A = 1
¬(Z(16)*Z(1)) + Z(8) + Z(2) + A = 1
Z(16 OR 1) => Z(8) + Z(2) + A = 1
(Z(17)=> A) + (Z(17)=>Z(8)) + (Z(17)=>Z(2)) = 1
Z(17) => A = 1

Thus A(max) = 17

So issue when "b1-c1=b2-c2" might be resolved via Bitwise2 technique and Problem 5 gets resolved without any new development efforts.
Also notice that in general (b-c) doesn't have to be a basic predicate. Sample bellow has (b-c) = 96. But the multitude of "c" bits "1"  must be included in the multitude of "b" bits "1"

********************
Another samples
********************
Here we sequentially apply

¬A + A*B = (¬A + A)*(¬A + B) = ¬A + B
     A + ¬A*B = (A + ¬A)*(A + B) = A + B 

***************************************************
(x&248 ¬= 152) v (x&252 = 156) v (x&A = 0) = 1
***************************************************

252 = 11111100
156 = 10011100
248 = 11111000
152 = 10011000

(x&248 ¬= 152) = ¬Z(96) + Z(128) + Z(16) + Z(8)
(x&252 =  156) =  Z(96)*¬Z(128)*¬Z(16)*¬Z(8)*¬Z(4)

¬Z(96) + Z(128) + Z(16) + Z(8) + 

               Z(96)*¬Z(128)*¬Z(16)*¬Z(8)*¬Z(4) + A = 1
¬Z(96) + Z(128) + Z(16) + Z(8) + ¬Z(4) + A =  1
¬(Z(96)*Z(4))   + Z(128) + Z(16) + Z(8) + A = 1
Z(100) => Z(128) + Z(16) + Z(8) + A = 1
(Z(100)=>Z(128)) + (Z(100)=>Z(16)) + (Z(100)=>Z(8)) + 

              (Z(100)=>A) = 1
Z(100) => A = 1

Thus A(max) = 100


****************************************************************
(x&248 ¬= 152)v(x&252 = 156)v(x&250 = 154)v(x&A = 0) = 1
****************************************************************
252 = 11111100
156 = 10011100
248 = 11111000
152 = 10011000
250 = 11111010
154 = 10011010

(x&248 ¬= 152) = ¬Z(96) + Z(128) + Z(16) + Z(8)
(x&252 =  156) =  Z(96)*¬Z(128)*¬Z(16)*¬Z(8)*¬Z(4)
(x&250 =  154) =  Z(96)*¬Z(128)*¬Z(16)*¬Z(8)*¬Z(2)

¬Z(96) + Z(128) + Z(16) + Z(8) + Z(96)*¬Z(128)*¬Z(16)*¬Z(8)*¬Z(4)
       + Z(96)*¬Z(128)*¬Z(16)*¬Z(8)*¬Z(2) + A = 1


Converting Z(96)*¬Z(128)*¬Z(16)*¬Z(8)*¬Z(4) and get
¬Z(96) + Z(128) + Z(16) + Z(8) entries like before run (1)
¬Z(96) + Z(128) + Z(16) + Z(8) + ¬Z(4)
       + Z(96)*¬Z(128)*¬Z(16)*¬Z(8)*¬Z(2)  + A =  1


Converting Z(96)*¬Z(128)*¬Z(16)*¬Z(8)*¬Z(2) and get
¬Z(96) + Z(128) + Z(16) + Z(8) entries like before run (2)
¬Z(96) + Z(128) + Z(16) + Z(8) + ¬Z(4) + ¬Z(2)  + A =  1


Now we are ready to apply De Morgan rules :-
     ¬(Z(96)*Z(4)*Z(2)) + Z(128) + Z(16) + Z(8) + A = 1

Finally getting done
Z(102) => Z(128) + Z(16) + Z(8) + A = 1
(Z(102)=>Z(128)) + (Z(102)=>Z(16)) + (Z(102)=>Z(8)) + (Z(102)=>A) = 1
Z(102) => A = 1

Thus A(max) = 102
 

*****************************************************
(x&252 ¬= 188) v (x&248 = 184) v (x&A = 0) = 1
*****************************************************

252 = 11111100
188 = 10111100
248 = 11111000
184 = 10111000
 

Here we sequentially apply

¬A + A*B = (¬A + A)*(¬A + B) = ¬A + B
     A + ¬A*B = (A + ¬A)*(A + B) = A + B

(x&252 ¬= 184) = ¬Z(64) + Z(128) + Z(32) + Z(16) + Z(8)
(x&248 = 188)  = Z(64)*¬Z(128)*¬Z(32)*¬Z(16)*¬Z(8)*¬Z(4)

¬Z(64) + Z(128) + Z(32) + Z(16) + Z(8) + 

            Z(64)*¬Z(128)*¬Z(32)*¬Z(16)*¬Z(8)*¬Z(4) + A = 1
¬Z(64) + Z(128) + Z(32) + Z(16) + Z(8) + ¬Z(4) + A = 1
¬(Z(64)*Z(4))  + Z(128) + Z(32) + Z(16) + Z(8) + A = 1
Z(68) => + Z(128) + Z(32) + Z(16) + Z(8) + A = 1
(Z(68)=>Z(128)) + (Z(68)=>Z(32)) + (Z(68)=>Z(16)) + 

           (Z(68)=>Z(8)) + (Z(68)=>A) = 1
Z(68) => A = 1

Thus A(max) = 68



Friday, November 9, 2018

Решение задачи 23 из новостной ленты ВК от 10.03.2018 техникой, предложенной в статье "Графы и системы логических уравнений" Е. А. Мирончик 08/10/2016


   Делаем подстановку  :-

     x1 ~ x3 = z1; 

     x2 ~ x4 = z2; 
     x5 ~ x7 = z3; 
     x6 ~ x8 = z4; 
     x9 ~ x10 = z5

  Конвертируем систему:-


    (z1 v z2)^(z1 => z2) = 0
    (z2 v z3)^(z2 => z3) = 0 
    (z3 v z4)^(z3 => z4) = 0
    (z4 v z5)^(z4 => z5) = 0
    (z1 => z2) => (z5 => z4) =1

    Строим граф для первых четырех уравнений



   (z1 => z2) =>(z5=> z4) = ( ¬z1 v z2) => (¬z5 v z4) =
   ¬(¬z1 v z2) v ( ¬z5 v z4) = z1^(¬z2)  v ¬z5 v z4  = 1


   Контроль на сервере Полякова
   

 Получаем  2^5 + 2^5 = 2^6 = 64 ( решений для {x})

Стандартная диаграмма , построенная для первых 4-ех уравнений
Пары перехода x2x4; x5x7; x6x8

  ((x1~x3)v(x2~x4))^((x1~x3)=>(x2~x4)) = 0
  ((x2~x4)v(x5~x7))^((x2~x4)=>(x5~x7)) = 0
  ((x5~x7)v(x6~x8))^((x5~x7)=>(x6~x8)) = 0
  ((x6~x8)v(x9~x10))^((x6~x8)=>(x9~x10)) = 0
  ((x1~x3)=>(x2~x4))=>((x9~x10)=>(x6~x8)) = 1



   В действительности,
         ((x1~x3)=>(x2~x4))=>((x9~x10)=>(x6~x8)) = 1 
   добавляет  ( 0 => 0) => (0 =>0)  =1 для линий  "01" and "10"
   т.е. True => True = 1 .  Пятое уравнение не уменьшает количества 

  решений. Ответ тот же  64

  Контроль на сервере Полякова 
 


Wednesday, November 7, 2018

Solution of one old problem type 23 from VK's News Wire via mapping method




   Attempt to work via mapping method
 
    ((x1~x3)v(x2~x4))^(¬((x1~x3)^¬(x2~x4))) = 0
    ((x2~x4)v(x5~x7))^(¬((x2~x4)^¬(x5~x7))) = 0
    ((x5~x7)v(x6~x8))^(¬((x5~x7)^¬(x6~x8))) = 0
    ((x6~x8)v(x9~x10))^(¬((x6~x8)^¬(x9~x10))) = 0
    ((x1~x3)=>(x2~x4))=>((x6~x8)v¬(x9~x10)) = 1

   ((x1~x3)v(x2~x4))^((¬(x1~x3)v(x2~x4))) = 0
   ((x2~x4)v(x5~x7))^((¬(x2~x4)v(x5~x7))) = 0
   ((x5~x7)v(x6~x8))^((¬(x5~x7)v(x6~x8))) = 0
   ((x6~x8)v(x9~x10))^((¬(x6~x8)v(x9~x10))) = 0
   ((x1~x3)=>(x2~x4))=>((x6~x8)v¬(x9~x10)) = 1

  ((x1~x3)v(x2~x4))^((x1~x3)=>(x2~x4)) = 0
  ((x2~x4)v(x5~x7))^((x2~x4)=>(x5~x7)) = 0
  ((x5~x7)v(x6~x8))^((x5~x7)=>(x6~x8)) = 0
  ((x6~x8)v(x9~x10))^((x6~x8)=>(x9~x10)) = 0
  ((x1~x3)=>(x2~x4))=>((x9~x10)=>(x6~x8)) = 1

   Build diagrama based on first equation which would work
   for first four equations. Notice that transition pairs are x2x4 , x5x7 , x6x8
   In fact adding 
         ((x1~x3)=>(x2~x4))=>((x9~x10)=>(x6~x8)) = 1 
   would add  ( 0 => 0) => (0 =>0)  =1 on lines "01" and "10"
   e.g. True => True = 1 . So adding  this 5-th equation won't decrease number    of solutions of orinal sytem
  

   Passing Polyakov's control
  

  

Friday, November 2, 2018

Решение системы Р-21 из файла ege23.doc методом отображений

   

Преобразуем исходную систему и построим диаграмму матрицы истинности
 
 
Два способа решения системы без построения таблицы истинности
{x1x2; x5x6} и изменения матрицы истинности {x1x2; x3x4} (смотри Р-21 решение  А.Н.Носкина )
Решааем систему
¬X1 + X2 + X3*¬X4 = 1
¬X3 + X4 + X5*¬X6 = 1 




Friday, October 12, 2018

Проблемы при разборе №18 в Новостной ленте ВК Informatics 100 от 06/10/18

 
> Quote
Проще говоря,если какое-то число  при поразрядном умножении ..
>end Quote
Проще говоря,если любое  число  при поразрядном умножении ...   Умомянутая выше дизъюнкция должна быть истинна при любом Х
 
Либо активируйте коннект к ВК , чтобы заработал линк

 https://vk.com/feed?section=comments&z=photo-40390768_456263081%2Fwall-40390768_160152

Рассмотрим контрпример :-

Х=40=101000 (binary)
101000 & 100011 != 0 (не равно)
101000 & 001111 ! =0 (не равно)
101000 & 000011  = 0 (равно)

Таким образом дизъюнкция (X&15=0)v(X&35=0)v(X&3 != 0) = False
ложна при A=3 и Х=40

Следую  http://kpolyakov.spb.ru/download/bitwise2.pdf


Утверждению 9 стр. 4

!Z(15) => (!Z(35) = > !A) = 1
Z(15)+Z(35) +!A = 1
A => (Z(15) + Z(35)) = 1
(A =>Z(15)) + (A=> Z(35)) = 1
A(min) = 15

Изменения, внесенные в Новостную ленту INFORMATICS_100 в 00:45 13.10.2018

Monday, September 10, 2018

Unleash the full power of the Mapping Method (Graphs and Systems of Boolean Equations by E.A. Mironchik)


This is an attempt follow up http://kpolyakov.spb.ru/download/mea-2016-8.pdf 
with use case a bit more different then considered in referenced article 

Consider foillowing system

(x1 v x2)^(x2 v x3)^(x3 v x4)^(x4 v x5)=1
((¬x1^y1^z1^w1)v(x1^¬y1^z1^w1)v(x1^y1^¬z1^w1)v(x1^y1^z1^¬w1)) =1
((¬x2^y2^z2^w2)v(x2^¬y2^z2^w2)v(x2^y2^¬z2^w2)v(x2^y2^z2^¬w2)) =1
((¬x3^y3^z3^w3)v(x3^¬y3^z3^w3)v(x3^y3^¬z3^w3)v(x3^y3^z3^¬w3)) =1
((¬x4^y4^z4^w4)v(x4^¬y4^z4^w4)v(x4^y4^¬z4^w4)v(x4^y4^z4^¬w4)) =1
((¬x5^y5^z5^w5)v(x5^¬y5^z5^w5)v(x5^y5^¬z5^w5)v(x5^y5^z5^¬w5)) =1


Convert system as follows

(x1vx2)^((¬x1^y1^z1^w1)v(x1^¬y1^z1^w1)v(x1^y1^¬z1^w1)v(x1^y1^z1^¬w1)) =1
(x2vx3)^((¬x2^y2^z2^w2)v(x2^¬y2^z2^w2)v(x2^y2^¬z2^w2)v(x2^y2^z2^¬w2)) =1
(x3vx4)^((¬x3^y3^z3^w3)v(x3^¬y3^z3^w3)v(x3^y3^¬z3^w3)v(x3^y3^z3^¬w3)) =1
(x4vx5)^((¬x4^y4^z4^w4)v(x4^¬y4^z4^w4)v(x4^y4^¬z4^w4)v(x4^y4^z4^¬w4)) =1
((¬x5^y5^z5^w5)v(x5^¬y5^z5^w5)v(x5^y5^¬z5^w5)v(x5^y5^z5^¬w5)) =1

Build complete graph for system



    Polyakov's control passed

   

Sunday, September 9, 2018

Solution on one system from BU's queue 10/09/2018


 z1=x1~x3
 z2=x2~x4
 z3=x5~x7
 z4=x6~x8
 z5=x9~x10

(z1 v z2)^(!z1 v z2 ) = 0  Here z2 cannot be 1 thus z2 =0
(z2 v z3)^(!z2 v z3 ) = 0  Here z3 cannot be 1 thus z3 =0
(z3 v z4)^(!z3 v z4 ) = 0  Here z4 cannot be 1 thus z4 =0
(z4 v z5)^(!z4 v z5 ) = 0  Here z5 cannot be 1 thus z5 =0
(z1 => z2) => (z4 v !z5) =1

Convert last equation
(!z1 v z2) => (z4 v !z5) =1
(z1^!z2) v (z4 v !z5) =1
Because z2 = 0 and z4 = 0 and z5 = 0
(z1^!z2) v (0 v 1) = 1
z1 v 1 = 1
Hense z1 =0 or z1 =1

Finally we get
System01
z1 = 1 (x1 =1;x3=1) or (x1=0;x3=0)
z2 = 0 gives two solutions (x2,x4)
z3 = 0 gives two solutions (x5,x7)
z4 = 0 gives two solutions (x6,x8)
z5 = 0 gives two solutions (x9,x10)
Total number of solutions 32

System02
z1 = 0  (x1 =1;x3=0) or (x1=0;x3=1)
z2 = 0 gives two solutions (x2,x4)
z3 = 0 gives two solutions (x5,x7)
z4 = 0 gives two solutions (x6,x8)
z5 = 0 gives two solutions (x9,x10)
Total number of solutions 32

So orinal system has 64 solutions








Sunday, August 19, 2018

Метод Отображений (графы и системы логических уравнений) vs Метод битовых масок на примере одной известной системы из новостной ленты ВКонтакте с размерностью 10 вместо 4

 

 Система традиционно решается методом битовых масок, так как для Х-ов это хорошо известная верхнетреугольная матрица и остается подсчитать число решений для каждой из ее строк , что не представляет особой трудности для 4 импликаций , но для  9 импликаций с соответсвующей матрицей из 10  строк  уже станет несколько утомительно (вручную).

   Ниже следует решение основанное на построении полного графа системы с последующим примением техники предложеной Е.А.Мирончик [ 1 ]  .
Рассмотрим систему, где  использование битовых масок потребует большого количества вычислений и конвертируем ее следующим образом

(x1=>x2)^(x2=>x3)^(x3=>x4)(x4=>x5)^(x5=>x6)^(x6=>x7)=1
((¬x1^y1^z1) v (x1^¬y1^z1) v (x1^y1^¬z1)) =1
((¬x2^y2^z2) v (x2^¬y2^z2) v (x2^y2^¬z2)) =1
((¬x3^y3^z3) v( x3^¬y3^z3) v (x3^y3^¬z3)) =1
((¬x4^y4^z4) v (x4^¬y4^z4) v (x4^y4^¬z4)) =1
((¬x5^y5^z5) v (x5^¬y5^z5) v (x4^y5^¬z5)) =1
((¬x6^y6^z6) v (x6^¬y6^z6) v (x6^y6^¬z6)) =1
((¬x7^y7^z7) v (x7^¬y7^z7) v (x7^y7^¬z7)) =1

Конвертированная система

(x1=>x2)^((¬x1^y1^z1) v (x1^¬y1^z1) v (x1^y1^¬z1)) =1
(x2=>x3)^((¬x2^y2^z2) v (x2^¬y2^z2) v (x2^y2^¬z2)) =1
(x3=>x4)^((¬x3^y3^z3) v( x3^¬y3^z3) v (x3^y3^¬z3)) =1
(x4=>x5)^((¬x4^y4^z4) v (x4^¬y4^z4) v (x4^y4^¬z4)) =1
(x5=>x6)^((¬x5^y5^z5) v (x5^¬y5^z5) v (x4^y5^¬z5)) =1
(x6=>x7)^((¬x6^y6^z6) v (x6^¬y6^z6) v (x6^y6^¬z6)) =1
((¬x7^y7^z7) v (x7^¬y7^z7) v (x7^y7^¬z7)) =1

Замети, что пример Р-34 из ege23.doc в момент написания этого текста повидимому содержит опечатку либо неточность
 


Думаю, что правильная  версия системы в образце - следующая
  

Строим полный граф для последней системы.В отличие от битовых масок увеличение размеров матрицы обрабатывется без длинных вычислений.


   Тестируем на сервере Полякова
 

   Решаем систему с 9 импликациями и матрицой из 10 строк.
   Для этой системы битовая матрица  для строк будет уже иметь 
   глубину 10, но для нашего подхода это не имеет нникакого     
   значения


Конвертируем систему :-

(x1=>x2)^(x2=>x3)^(x3=>x4)^(x4=>x5)^(x5=>x6)^(x6=>x7)^
^(x7=>x8)^(x8=>x9)^(x9=>x10)=1
((¬x1^y1^z1) v (x1^¬y1^z1) v (x1^y1^¬z1)) =1
((¬x2^y2^z2) v (x2^¬y2^z2) v (x2^y2^¬z2)) =1
((¬x3^y3^z3) v( x3^¬y3^z3) v (x3^y3^¬z3)) =1
((¬x4^y4^z4) v (x4^¬y4^z4) v (x4^y4^¬z4)) =1
((¬x5^y5^z5) v (x5^¬y5^z5) v (x4^y5^¬z5)) =1
((¬x6^y6^z6) v (x6^¬y6^z6) v (x6^y6^¬z6)) =1
((¬x7^y7^z7) v (x6^¬y6^z7) v (x7^y7^¬z7)) =1
((¬x8^y8^z8) v (x8^¬y8^z8) v (x8^y8^¬z8)) =1
((¬x9^y9^z9) v (x9^¬y9^z9) v (x9^y9^¬z9)) =1
((¬x10^y10^z10) v (x10^¬y10^z10) v (x10^y10^¬z10)) =1


   Строим полный граф системы ( просто еще три "fork" иттерации )

  (x1=>x2)^((¬x1^y1^z1) v (x1^¬y1^z1) v (x1^y1^¬z1)) =1
  (x2=>x3)^((¬x2^y2^z2) v (x2^¬y2^z2) v (x2^y2^¬z2)) =1
  (x3=>x4)^((¬x3^y3^z3) v( x3^¬y3^z3) v (x3^y3^¬z3)) =1  
  (x4=>x5)^((¬x4^y4^z4) v (x4^¬y4^z4) v (x4^y4^¬z4)) =1
  (x5=>x6)^((¬x5^y5^z5) v (x5^¬y5^z5) v (x4^y5^¬z5)) =1
  (x6=>x7)^((¬x6^y6^z6) v (x6^¬y6^z6) v (x6^y6^¬z6)) =1
  (x7=>x8)^((¬x7^y7^z7) v (x6^¬y6^z7) v (x7^y7^¬z7)) =1
  (x8=>x9)^((¬x8^y8^z8) v (x8^¬y8^z8) v (x8^y8^¬z8)) =1
  (x9=>x10)^((¬x9^y9^z9) v (x9^¬y9^z9) v (x9^y9^¬z9)) =1
  ((¬x10^y10^z10) v (x10^¬y10^z10) v (x10^y10^¬z10)) =1


Sunday, July 29, 2018

Классический метод отображений versus ролик Информатика БУ на примере Задачи 23 (473) генератор Полякова Вариант №6

 


Метод отображений и изменение таблицы истинности для последнего уравнения (в стиле Р-27 из ege23.doc решение Е.А. Мирончик)


   Сравни (1 час 5 мин )


 ============================================== 
  Выше мы следуем оригинальной технике   Е.А. Мирончик.
 ==============================================
(x1 v x2) ^ ((x1^x2) => x3) ^ (x1=>y1) =1
(x2 v x3) ^ ((x2^x3) => x4) ^ (x2=>y2) =1
. . . . . . . . . . . . . . . . .
(x6 v x7) ^ ((x6^x7) => x8) ^ (x6=>y6) =1
(x7 v x8) ^ (x7=>y7) ^ (x8=>y8) =1
  1. Первые два уравнения имеют общую пару (x2,x3), второе и третье пару (x3,x4) и так до шестого уравнения. В первых шести уравнениях есть дополнительная переменная y, которая приводит к тому, что количество пар зависит от тройки переменных. На отображении отметим эту переменную маленькими значениями 0 и 1 рядом с каждой парой.
     
  2. Дополнительная переменная y1 «удваивает» стрелки, идущие от пары 01.
    Дерево решений:

    x1 x2 x3 y1
    0
    1
    0
    0
    1
    1
    0
    1
    1
    0
    0
    1
    1
    1
    1
    1
    1
    Отображение 
    уравнений 
    1-6: 
     
  3. Описанный переход применим к первым шести уравнениям. Выполнив вычисления, найдем количество разных (всех возможных) пар (x7, x8). В седьмом уравнении к этой паре добавится пара неизвестных и не встречавшихся в первых шести уравнениях пара (y7, y8).
  4. Отображение для последнего уравнения построим из дерева решений последнего уравнения:
      Дерево решений:
      x7 x8 y7 y8
      0 1 0 1
      1 1
      1 0 1 0
      1
      1 1 1
       
       
      Отображение уравнения   7:
       
       

    1. Выполним вычисления:
      Уравнения 1-6
      Уравнение 7
      Пара
      x1,x2
      x2,x3
      x3,x4
      x4,x5
      x5,x6
      x6,x7
      x7,x8
      y7,y8
      00
      1
      1
      2
      2
      4
      4
      8
      0
      01
      1
      1
      2
      2
      4
      4
      8
      8
      10
      1
      2
      2
      4
      4
      8
      8
      8
      11
      1
      3
      5
      9
      13
      21
      29
      45
    2. Ответ: 8+8+45 = 61.