AND gate

2024. 8. 26. 12:24AI

반응형
import numpy as np

def AND(x1, x2):
    x = np.array([x1, x2])
    w = np.array([0.5, 0.5])
    b = -0.7
    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 = AND(xs[0], xs[1])
        print(str(xs) + " -> " + str(y))
import numpy as np

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

 

 

 

 

 

 

  AND 함수는 두 개의 입력값이 모두 1일 때만 1을 출력하고, 그 외의 경우에는 0을 출력한다. 이를 통해 논리 연산을 수행한다. 

        x = np.array([x1, x2])   입력값을 배열로 만든다.
        w = np.array([0.5, 0.5])   가중치(weight) 값을 설정한다.
        b = -0.7   편향(bias) 값을 설정한다.
        tmp = np.sum(w  x) + b   가중치와 입력값의 곱의 합에 편향을 더한다.
        if tmp <= 0:
            return 0   tmp 값이 0 이하이면 0을 반환한다.
        else:
            return 1   tmp 값이 0보다 크면 1을 반환한다.



    - 가중치(w): [0.5, 0.5]라는 가중치 벡터를 사용한다. 이는 두 입력값이 동일하게 중요함을 의미한다.
    - 편향(b): -0.7이라는 편향 값을 설정한다. 이는 출력 결과에 임계값을 설정하는 역할을 한다.
    - 가중치와 입력값의 곱의 합(np.sum(w  x)): 입력값과 가중치를 곱한 후, 그 합에 편향을 더한다.
    - 결과: 계산된 tmp 값이 0보다 작거나 같으면 0을 반환하고, 그렇지 않으면 1을 반환한다.
    - 입력 조합: [(0, 0), (1, 0), (0, 1), (1, 1)]는 모든 가능한 두 개의 이진 입력 조합을 나타낸다.
    - 연산 수행: 각 조합에 대해 AND 함수를 호출하여 결과를 계산한다.
   
이 결과는 AND 연산의 진리표(truth table)와 일치한다. 

반응형

'AI' 카테고리의 다른 글

1.x TensorFlow 텐서 선언 방법  (0) 2024.09.24
머신러닝 ML 분류 예측  (1) 2024.09.20
Rule-based | Data-driven 접근법  (0) 2024.08.26
임베딩(embedding)  (0) 2024.08.17
RNN 긍정/부정 여부를 분류하는 신경망 구조  (1) 2024.08.17