(случайно сделал два аккаунта, поэтому просто отвечаю этим)
Я нашел лучший способ визуализации логической формулы, которую вы не понимаете, - составить для нее таблицу.
В случае XOR он представляет ту или иную переменную, но не обе. Итак, давайте составим таблицу для A XOR B
А | Б | Результат
Т | T | F * 1
T | F | Т * 2
F | T | Т * 3
F | F | F * 4
Чтобы получить наименьший возможный результат из приведенной выше таблицы, мы можем сначала взять наиболее сложный результат, который учитывает каждый параметр. Преобразовать каждую строку в логическое утверждение довольно просто.
Сначала выкиньте все, что приводит к ложному, затем возьмите те, которые приводят к истине, и преобразуйте их в логическое утверждение, разделенное 'И'. В этом случае 1 и 4 ложны, а 2 и 3 верны. Это означает, что нам нужно только создавать логические операторы для 2 и 3. Я думаю, что это лучше всего объяснить на примере
Допустим, X, Y и Z являются нашими переменными, и таблица дала нам следующие строки как true:
T | T | F - X & Y & ¬Z
F | T | F - ¬X & Y & ¬Z
F | F | F - ¬X & ¬Y & ¬Z
затем, чтобы завершить, мы просто «ИЛИ» их вместе
(X & Y & ¬Z) V (¬X & Y & ¬Z) V (¬X & ¬Y & ¬Z)
Как вы можете видеть, где переменная истинна, вы помещаете переменную непосредственно, а где ложь, вы ставите '¬' перед переменной. Вышеприведенное утверждение в основном гласит ...
(Истина, когда X = T, Y = T, Z = F: иначе False) ИЛИ (Истина, когда X = F, Y = T, Z = F: иначе False) ИЛИ (Истина, когда X = F, Y = F, Z = F: Ложь в противном случае)
Итак, наконец, возвращая его в наш XOR, строки таблицы ...
* 2 A & ¬B
* 3 ¬A & B
и объединены в ...
(A & ¬B) V (¬A & B)
Итак, теперь, когда у вас есть объяснение того, что делать с xor, вы можете применить этот пример к своей проблеме и придумать логическое утверждение, по которому вы можете использовать законы Де Моргана для упрощения.