Comment convertir une expression de SOP en POS et revenir en algèbre booléenne?


9

Comment convertir une expression Sum of Products (SOP) en forme Product of Sums (POS) et vice versa en algèbre booléenne?

par exemple: F = xy '+ yz'


8
En fait, cela concerne beaucoup la logique numérique. Cela équivaut à dire comment changer un circuit qui consiste en un groupe de portes et alimentant une porte ou en un composé d'un groupe de portes ou alimentant une porte et.
— Chris Stratton

1
Qu'est-ce que SOP et POS?
— AndrejaKo

3
SOP = somme des produits. POS = produit des sommes, par exemple (x + y) (~ x + ~ y). "OU" logique est une somme, tandis que "ET" est un produit.
— Eryk Sun

Cela est certainement enseigné dans les cours de logique numérique de premier cycle, mais tyblu a raison de dire que cela appartient en mathématiques SE. @TheLameProgrammer, recherchez les cartes de Karnaugh (cartes K) et le théorème de DeMorgan.
— Eryk Sun

2
... utiliser les lois de DeMorgan? aussi, l'exemple fourni dans la question n'est pas un SOP canonique car toutes les variables doivent être présentes dans tous les termes, n'est-ce pas?
— vicatcu

Réponses:


15

Je pense que le moyen le plus simple est de convertir en k-map, puis d'obtenir le POS. Dans votre exemple, vous avez:

  \ xy
 z \  00    01    11    10
    +-----+-----+-----+-----+
 0  |     |  x  |  x  |  x  |
    +-----+-----+-----+-----+
 1  |     |     |     |  x  |
    +-----+-----+-----+-----+

Dans ce cas, l'exclusion de la colonne de gauche donne (x + y) et l'exclusion des deux cases du milieu en bas donne (z '+ y'), donnant une réponse de (x + y) (z '+ y')


Mais ce devrait être F = (x + y) (y '+ z').
— Eryk Sun

Oups, vous avez raison. Cela fait un moment que je n'ai pas fait de k-maps donc je l'ai mal lu. J'ai fixé la réponse.
— FryGuy

5

F = xy '+ yz' c'est sous forme SOP

Cela peut également être utilisé en utilisant des techniques d' algèbre booléenne simple comme:

Application de la loi distributive : - F = ( xy ') + y . z '

F = ( xy ' + y) . ( xy '+ z') qui est maintenant converti en forme POS .


4

Une autre méthode consiste simplement à prendre le compliment de l'expression donnée:

Comme: xy '+ yz'

Prendre son compliment:
(xy '+ yz') '

= (xy ')'. (yz ')' {Utiliser la loi de De Morgans (a + b) '= a'.b'}

= (x '+ y) (y' + z)

Ce qui est aussi un formulaire POS ...!


6
Cela donne un POS, mais c'est l'opposé complet de l'expression donnée.
— Nirmal Seneviratne

2

Utilisez deux fois la loi de DeMorgan.

Appliquer la loi une fois:

F' = (xy' + yz')'
   = (xy')'(yz')'
   = (x'+y)(y'+z)
   = x'y' + x'z + yy' + yz
   = x'y' + x'z + yz

Appliquer à nouveau:

F=F''
 =(x'y'+x'z+yz)'
 =(x'y')'(x'z)'(yz)'
 =(x+y)(x+z')(y'+z')
 =(x+y)(y'+z')

Vérifiez la réponse en utilisant wolframalpha.com

xy '+ yz'

(x + y) (y '+ z')

Edit: La réponse peut être simplifiée une étape de plus par la loi de consensus de l' algèbre booléenne


1

Si vous voulez vérifier votre travail après l'avoir fait à la main, vous pouvez utiliser un programme comme Logic Friday .


1

C'est en termes minimum / somme de produits [SOP] et maximum / produit de sommes [POS], nous pouvons donc utiliser une carte de Karnaugh (carte K) pour cela.

Pour SOP, nous apparions 1 et écrivons l'équation d'appariement dans SOP alors que cela peut être converti en POS en y associant 0 et en écrivant l'équation sous forme POS.

x⋅y⋅zx+y+z


0

Voir la procédure sous Forme normale conjonctive: conversion à partir d'une logique de premier ordre .

Cette procédure couvre le cas plus général de la logique du premier ordre, mais la logique propositionnelle est un sous-ensemble de la logique du premier ordre.

Simplifier en ignorant la logique du premier ordre, c'est:

  • Élimine les implications
  • Déplacez les négations vers l'intérieur en appliquant la loi de DeMorgan
  • Répartir les disjonctions sur les conjonctions

Évidemment, si votre entrée est déjà en DNF (aka SOP), alors évidemment les première et deuxième étapes ne s'appliquent pas.


0

Soit x = ab'c + bc '

x '= (ab'c + bc') '

Selon le théorème de DeMorgan, x '= (a' + b + c ') (b' + c)

x '= a'b' + a'c + bb '+ bc + c'b' + c'c

x '= a'b' + a'c + bc + c'b '

En utilisant à nouveau le théorème de DeMorgan, x = (a'b '+ a'c + bc + c'b') '

x = (a + b) (a + c ') (b' + c ') (c + b)


Bienvenue sur Electrical Engineering StackExchange. Si vous fournissez une nouvelle réponse à une ancienne question, vous devez indiquer clairement ce que vous avez ajouté aux réponses précédentes ou ce qui était incorrect dans les réponses précédentes. Au fait, votre deuxième ligne n'est-elle pas sous forme de PDV? Le PO n'a pas demandé de réduire l'équation, de sorte que le reste de votre réponse pourrait prêter à confusion.
— Joe Hass

C'est correct.
— Nirmal Seneviratne
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.