1

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

ここにそれを修正するためのアルゴリズムがあります。各ポイントで手動で func を計算しています。ここで、関数には 1 ~ 4 の変数を含めることができ、すべてのポイントと x1...x4 の組み合わせを計算しています。

4

1 に答える 1