Реализация C++ (XOR, ПРЕДПОЛАГАЕТ, IFF)

Таблица истинности:

P-----------Q-----------XOR-----------ПРЕДПОЛАГАЕТ------- ----МКФ

T-----------T--------------F---------------T-----------------T

T-----------F--------------T---------------F-----------------F

F-----------T--------------T---------------T-----------------F

F-----------F--------------F---------------T-----------------T

Я хочу знать, как рассчитать XOR, IMPLIES,IFF, используя только операторы и,или,не. Скажем, например, XOR - "(p || Q) &&! (a && b)".


person Maruf    schedule 21.04.2013    source источник


Ответы (2)


Хорошо, общий способ решить эту проблему.

Итак, у вас есть таблица истинности, например:

P   Q   f(P, Q)
0   0   0
0   1   1
1   0   1
1   1   1

Теперь вы можете начать с расшифровки каждой строки с помощью 1 следующим образом:

//Row 2            3            4
      (!P && Q) || (P && !Q) || (P && Q)

Теперь у вас есть выражение в дизъюнктивной нормальной форме, и вам нужно его упростить. Мы изучали процесс систематического упрощения в школе, но я его не очень помню (может быть, вы можете попробовать поискать в Интернете что-то вроде упрощения выражений DNF). Вы также можете попытаться сделать это, используя логические аксиомы, такие как законы Де Моргана, но это не будет полностью систематическим.

person Detheroc    schedule 21.04.2013

  • XOR: (p || q) && !(p && q) или p ^ q или p != q
  • ПОДРАЗУМЕВАЕТСЯ: (!p || q)
  • IFF: инверсия XOR?
person Detheroc    schedule 21.04.2013
comment
на самом деле, что это за процесс ...... это индукция или есть какой-то систематический способ решить эту проблему. - person Maruf; 21.04.2013