본문 바로가기

전체 글29

2022 회고 모처럼 나를 좀 다잡자는 의미에서 작년 회고를 작성해보고자 한다. 학업 + 연구 +커리어 내가 가장 힘들어했고 회의감을 많이 가진 부분이다. 일단 우리학교의 경우 개발자의 트랙을 모두 밟아야 인공지능 전공이 가능한데 이 개발자로 걷는 트랙이 나에겐 너무나도 힘들(었)다. (사실 지금도 매우 힘들다😭) 나는 이 모든 분야들을 전부 노베이스로 시작했는데 C, C++ 부터 시작해서 자료구조 및 알고리즘에 해당하는 개념들과 그에 따른 코드 구현이 나에게는 너무 따라가기 버겁다. 그렇다보니 시간을 여기에 많이 쏟고 겨우겨우 따라가고 정작 확률이라던지 행렬과 같은, 기초가 되는 중요한 과목들을 대강 쉽게 하려는 경향을 보이곤 했다. 체력적으로는 너무 버거운데 잘해내야하고 주변에서 투자한만큼의 성과를 내주어야 한다는.. 2023. 3. 8.
[C] Search in Graph * 해당 글은 학과 수업으로 배운 내용과 코드가 포함되어 있으며 개인적 공부 목적으로 업로드하였습니다. 우리는 이전 graph에서 path를 살펴보았다. Path: edge로 연결된 vertices의 sequence를 의미한다. 두개의 vertices는 path가 있다면 connected 되었다고 말할 수 있다. V1과 V2가 connected되었다면 V2는 V1으로부터 reachable하다고 말할 수 있다. 이때 이렇게 connected 된 vertices의 maximal set을 connected component라고 부른다. 두개의 vertices가 reachable한지 알기 위해서 우리는 path를 찾아야 한다. 우선 reachability를 수학적으로 정의해보자 만약 start == target.. 2022. 12. 16.
[C] Graph In C * 해당 글은 학과 수업으로 배운 내용과 코드가 포함되어 있으며 개인적 공부 목적으로 업로드하였습니다. Graph는 점처럼 표시된 vertices 혹은 nodes가 line으로 표시된 edges와 연결된 형태를 나타낸다. 각 edge는 한쌍의 vertices를 연결하고 있으며 두 vertices 사이에 최대 1개의 edge가 존재할 수 있다. 우리가 이 게시글에서 다룰 graph는 - undirected : edge(B, A) = edge(A, B) - no self-edges : (v, v) 사이에는 edge가 존재하지 않는다 graph는 vertices와 edge pair로 나타낼 수 있다. G = (V, E) 어떤 vertex의 neigbors는 해당 vertex와 edge를 통해 연결된 모든 ve.. 2022. 12. 15.
[C]Bytecode In C * 해당 글은 학과 수업으로 배운 내용과 코드가 포함되어 있으며 개인적 공부 목적으로 업로드하였습니다. Compilation C program을 execute할 때 우리는 우선 compilation이 필요하다 이때 우리는 compiler를 활용해서 source program을 machine code로 번역할 수 있다. 이는 processor가 이해하고 execute바로 할 수 있는 program이다. Interpretation Interpreter는 source program의 각 라인을 읽고 이를 hardware에 simulate하는 것이다. 이 또한 machine code에서 program이다. 비유를 하자면 compilation은 text전체를 번역하는 것이지만 interpretation은 실시간으.. 2022. 12. 15.