파이썬

    인공신경망 직접구현

    이번에는 인공신경망을 low레벨에서 직접구현 해보았다. 만약에 AND게이트를 구현한다고 생각해보자. 우리는 퍼셉트론이라는 개념을 알아야 한다. class perceptron_for_GATE: #GATE만들기위한 퍼셉트론 def __init__(self,w): self.w = w def output(self,x): tmp = np.dot(self.w,np.append(1,x)) result = 1.0*(tmp>0) return result 퍼셉트론은 위와같은 구조로 만들 수 있다. w_and = np.array([-1.2,1,1]) #AND GATE and_gate = perceptron_for_GATE(w_and) w_or = np.array([-0.8,1,1]) # OR GATE or_gate = pe..

    11779_최소비용 구하기 2

    https://www.acmicpc.net/problem/11779 11779번: 최소비용 구하기 2 첫째 줄에 도시의 개수 n(1≤n≤1,000)이 주어지고 둘째 줄에는 버스의 개수 m(1≤m≤100,000)이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스 www.acmicpc.net 이전의 다익스트라 알고리즘을 활용하면 풀 수 있다. 이전과 다른점은 어디를 방문했는지 기록을 해둬야 할것이다. 그래서 visited란 배열을 하나 만든 후에, 새로운 노드에 값을 기록할때마다 어느 노드에서 왔는지 기록하도록 하였다. import sys import heapq input = sys.stdin.readline INF = int(1e9) n = int(i..

    11657_타임머신(벨만포드)

    https://www.acmicpc.net/problem/11657 11657번: 타임머신 첫째 줄에 도시의 개수 N (1 ≤ N ≤ 500), 버스 노선의 개수 M (1 ≤ M ≤ 6,000)이 주어진다. 둘째 줄부터 M개의 줄에는 버스 노선의 정보 A, B, C (1 ≤ A, B ≤ N, -10,000 ≤ C ≤ 10,000)가 주어진다. www.acmicpc.net 처음에 다익스트라 알고리즘을 살짝 변형해서 모든 간선을 뒤지도록 변형해서 풀려고 했는데 실패했다... 그래서 힌트에 있는대로 벨만 포드 알고리즘을 공부해 보았다. 아래와 같은 간선이 있다고 생각해보자. 입력케이스로 따지면 아래와 같다. 4 6 1 4 10 1 3 8 3 4 1 1 2 5 2 4 3 2 3 1 4개의 점이 있기에 3번 반복..