はのは、私は2つのPython関数f
とg
を持っているとしましょう:2つのPython関数が機能的に同等かどうかを知ることはできますか?
def f(x):
y = x**2 + 1
return y
def g(x):
a = x**2
b = a + 1
return b
これら2つの関数は明らかに機能的に同等である(両方x**2 + 1
を返します)。次のように機能的に同等の
私の定義は次のとおり
二つの機能f
とg
が常に同じ入力所与同じ出力を生成する場合、f
とg
は、機能的に等価です。
f
とg
にグローバル変数が含まれていないとします。
python関数f
とg
が機能的に同等であるかどうかを(人の検査なしで)自動的に判断することはできますか?
私はあなたが同じバイトコードにコンパイルするかどうかをチェックできますが、それは偽のネガティブを生成する可能性があります。 – TigerhawkT3
エラーの範囲内で、ランダムな入力の束を試してみてください。 –
@ TigerhawkT3上記の例の 'f'と' g'が同じバイトコードにコンパイルされるかどうか知っていますか? – applecider