Wednesday, August 29, 2018

Решение Методом Отображений клона одного из примеров оригинальной работы Е.А.Мирончик "Информатика в школе" 10/2013

Модифицируем пример из http://kpolyakov.spb.ru/download/mea-2013-10.pdf



Сделаем  замену  "*"  на "+"

((((( x1 v x2 ) =>x3 ) v x4 ) =>x5 ) v x6 ) => x7 = 1 (1)

В старой нотации

(((( (x1+x2 )->x3 ) +x4 ) ->x5 ) + x6 -> x7 = 1  (2)

Воспроизведем  логику оригинального примера на (1)



  Контроль (2) по Полякову



Saturday, August 25, 2018

Метод Отображений (графы и системы логических уравнений) vs Метод битовых масок .Решение одной системы логических уравнений по Е.А.Мирончик (mea-2016-8.pdf)


(x1vx2)^(x2vx3)^(x3vx4)^(x4vx5)=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 (x5^y5^¬z5)) =1

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

(x1vx2)^((!x1^y1^z1) v (x1^!y1^z1) v (x1^y1^!z1)) =1
(x2vx3)^((!x2^y2^z2) v (x2^!y2^z2) v (x2^y2^!z2)) =1
(x3vx4)^((!x3^y3^z3) v (x3^!y3^z3) v (x3^y3^!z3)) =1
(x4vx5)^((!x4^y4^z4) v (x4^!y4^z4) v (x4^y4^!z4)) =1
((!x5^y5^z5) v (x5^!y5^z5) v (x5^y5^!z5)) =1

Строим полный граф системы, следуя
http://kpolyakov.spb.ru/download/mea-2016-8.pdf


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


     Рассмотрим еще один пример эффективности метода


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

(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


   Строим полный граф системы

  (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


Friday, August 17, 2018

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


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

   Ниже следует решение основанное на построении полного графа системы с последующим примением техники предложенной Е.А.Мирончик [ 1 ]  . Построение полного графа для данной системы[
(x1->x2)^(x2->x3)^(x3->x4) =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

Конвертируем систему следующим образом

(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^y4^z4) v (x4^¬y4^z4) v (x4^y4^¬z4) =1
 
Когда х1=0 есть лишь одна пара y=1 ; z1=1
иначе есть две пары
y1=0 ; z1 =1
y1=1 ; z1=0



  Стандартное решение чез битовую маску для {х}
  дает тот же результат 31



Рассмотрим систему, где  использование битовых масок потребует большего количества вычислений и конвертируем ее следующим образом

(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

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


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


   Другой пример. В этом случае битовая маска для Х  отнюдь не очевидна
       

  
       (x1+x2)^(x2+x3)^(x3+x4)=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

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

       (x1+x2)*((!x1*y1*z1) + (x1*!y1*z1) + (x1*y1*!z1)) =1
       (x2+x3)*((!x2*y2*z2) + (x2*!y2*z2) + (x2*y2*!z2)) =1
       (x3+x4)*((!x3*y3*z3) + (x3*!y3*z3) + (x3*y3*!z3)) =1
       ((!x4*y4*z4) + (x4*!y4*z4) + (x4*y4*!z4)) =1



   Контроль

   

Сравним  с образцом Р-34 из ege23.doc. Думаю,что текст конвертированной системы Р-34 содержит опечатку либо случайную неточность.



   Думаю, что правильная  версия системы в образце - следующая
  
  Протестируем уравнение Р-34, конвертированное несколько иначе
   чем на первом снапшоте вверху :-

   (x1=>x2)^(¬x1vy1vz1)^(x1v¬y1vz1)^(x1vy1v¬z1)=1
   (x2=>x3)^(¬x2vy2vz2)^(x2v¬y2vz2)^(x2vy2v¬z2)=1
   (x3=>x4)^(¬x3vy3vz3)^(x3v¬y3vz3)^(x3vy3v¬z3)=1
         (¬x4vy4vz4)^(x4v¬y4vz4)^(x4vy4v¬z4)=1

  
   Результат сервера подтверждает, что поданная на вход система корректна.Рассмотрим систему №150 из ege23.doc
  

    Конвертируем ее следующим образом ( отличным от Р-34 )

     (x1=>x2)^(¬x1vy1vz1)^(x1v¬y1vz1)^(x1vy1v¬z1)=1
     (x2=>x3)^(¬x2vy2vz2)^(x2v¬y2vz2)^(x2vy2v¬z2)=1      
     (x3=>x4)^(¬x3vy3vz3)^(x3v¬y3vz3)^(x3vy3v¬z3)=1
     (x4=>x5)^(¬x4vy4vz4)^(x4v¬y4vz4)^(x4vy4v¬z4)=1
            (¬x5vy5vz5)^(x5v¬y5vz5)^(x5vy5v¬z5)=1

    Построим диаграмму следуя Е.А. Мирончик
   

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

   
    Литература
    1. http://kpolyakov.spb.ru/download/mea-2016-8.pdf