希望有人对PYEDA感觉很好。
我想在函数中添加虚构的变量--让我拥有f=x1,但是如何才能使这个函数可信,因为它也有x2。
与f(x1)=x1的可信赖性类似,如下所示:
x1 f
0 0
1 1但是对于f(x1,x2)=x1是:
x1 x2 f
0 0 0
0 1 0
1 0 1
1 1 1但是我将得到第一个表,pyeda将自动地将x1 &(x2\x2)简化为x1。我如何添加这个x2?
def calcFunction(function, i):
#here is is point with dimension-size 4
function=function.restrict({x4:i[3]})
function = function.restrict({x3:i[2]})
function = function.restrict({x2:i[1]})
function = function.restrict({x1:i[0]})
if function.satisfy_one() is not None:
return 1
return 0这是我要解决的问题,我正在手工计算每个点的函数,其中函数可以包含1-4个变量,我正在计算x1...x4的所有点和组合。
发布于 2020-03-08 04:01:46
我不确定我是否理解所问的问题,但您可能需要尝试表达式simplify方法。
例如:
In [1]: f = (X[1] & X[2]) | (X[3] | X[4] | ~X[3])
In [2]: expr2truthtable(f)
Out[2]:
x[4] x[3] x[2] x[1]
0 0 0 0 : 1
0 0 0 1 : 1
0 0 1 0 : 1
0 0 1 1 : 1
0 1 0 0 : 1
0 1 0 1 : 1
0 1 1 0 : 1
0 1 1 1 : 1
1 0 0 0 : 1
1 0 0 1 : 1
1 0 1 0 : 1
1 0 1 1 : 1
1 1 0 0 : 1
1 1 0 1 : 1
1 1 1 0 : 1
1 1 1 1 : 1
In [3]: f = f.simplify()
In [4]: f
Out[4]: 1
In [5]: expr2truthtable(f)
Out[5]: 1https://stackoverflow.com/questions/60583838
复制相似问题