Deeplearning ch02 or_gate.py

ORゲートを設定します。基本的に、ANDゲートと閾値の大きさ以外は全て同じです。
閾値を0.7から重み\omega_1,\omega_2の0.5より小さい0.2に変更することで、入力信号x_1,x_2のどちらかに1が入力された場合にも1を出力するようにしています。

import numpy as np

def OR(x1, x2):
    x = np.array([x1, x2])
    w = np.array([0.5, 0.5])
    b = -0.2
    tmp = np.sum(w*x) + b
    if tmp <= 0:
        return 0
    else:
        return 1
if __name__ == '__main__':
    for xs in [(0, 0), (1, 0), (0, 1), (1, 1)]:
        y = OR(xs[0], xs[1])
        print(str(xs) + " ->" + str(y)