01. 복잡함을 지운다: 점(Node)과 선(Edge)
1. 학습 목표 (Learning Objectives)
- 수많은 현실의 복잡한 물리적 거리와 모양 따위를 깡그리 무시하고 오직 구성 요소들의 ‘연결망(Network)’에만 집중하는 수학, 그래프(Graph) 의 구성 요소를 이해합니다.
- 노드(점)에 연결된 길의 개수를 나타내는 전투력 스탯, ‘차수(Degree)’ 의 개념을 배웁니다.
2. 지하철 노선도는 진짜 지도가 아니다!
우리가 매일 보는 서울 지하철 노선도를 떠올려볼까요? 강남역에서 역삼역까지 실제 도로가 얼마나 꼬불꼬불한지, 한강이 얼마나 넓게 흐르고 역 사이 실제 거리가 몇 킬로미터(km)인지를 노선도는 전혀 알려주지 않습니다.
노선도 디자이너의 유일한 목적은 단 하나입니다.
“어느 역과 어느 역이 다이렉트로 뚫려 있는지(연결 여부)만 극도로 단순하게 보여주자!”
이처럼 사물의 형태, 거리, 방향 등 모든 물리적 쓰레기 데이터를 과감하게 축출(삭제)해버리고, 연구 대상들을 오직 점(Node/Vertex) 과 점들을 잇는 선(Edge/Link) 으로만 남기면 현대 컴퓨터 과학의 핵심 논리 구조인 ‘그래프(Graph)’가 탄생합니다.
3. 그래프의 해부학: 점, 선, 차수
아무리 얽히고설킨 1억 개짜리 페이스북 친구 그물망도 이 3가지 뼈대 스탯만 알면 코드(Code)로 분석할 수 있습니다.
- 점(Vertex, 노드): 대상 그 자체. 도시, 기차역, 컴퓨터 공유기, 혹은 사람 그 자체를 상징합니다. (원의 형태로 찍습니다)
- 선(Edge, 엣지): 점과 점이 서로 ‘어떤 관계를 맺고 연결되어 있는지’ 보여주는 밧줄입니다. 길의 모양이 소용돌이치든 번개 모양이든 수학에선 아무런 상관이 없습니다! 그냥 이어져 있으면 그만입니다.
- ⭐ 차수(Degree): 가장 중요한 전투력 게이지입니다! 한 개의 점(Vertex)에 꽂혀 있거나 뻗어 나가는 선(Edge)의 총 개수 를 뜻합니다.
- 인싸 점: 선이 무려 10개 꽂혀 있다 $\rightarrow$ “내 차수는 10이야!”
- 솔플 점: 선이 1개 꽂혀 있다 $\rightarrow$ “내 차수는 1이야 구석탱이 골목길이죠.”
4. 짝수점(Even)과 홀수점(Odd)
차수(Degree) 값에 따라 우리는 점을 크게 두 우파로 극단적 분리 시킬 수 있습니다. 앞으로 배울 위대한 여정의 결정적 판독 키가 됩니다.
- 짝수점 (Even Vertex): 차수가 2, 4, 6… 이렇게 짝수 개인 점. [강력한 생존 특성] 누군가 선을 타고 내게 들어왔다면(In), 반드시 그 점을 무사히 빠져나갈 수 있는 또 다른 탈출 선(Out)이 쌍으로 존재한다는 뜻! (들락날락 프리패스 거점)
- 홀수점 (Odd Vertex): 차수가 1, 3, 5… 처럼 홀수 개인 점. [치명적 종착 특성] 누군가 들어오고(In) 나가고(Out)를 반복하다 보면, 언젠가 마지막 홀수 선을 타고 점에 들어왔을 때 빠져나갈 선이 모자라 그 점에 강제로 갇혀 썩게 되는 늪지대 종착역 역할을 합니다.
5. 학습 정리 (Summary)
- 그래프 추상화(Graph Abstraction): 물리적 거리나 실물 텍스처를 완전히 배제하고, 어떤 객체들이 서로 통신(연결) 가능한가 하는 정보만 수집하여 노드(점)와 엣지(선)로 평면 맵핑하는 컴퓨터 논리 구조를 뜻합니다.
- 차수(Degree)와 짝수/홀수 판정: 어떤 거점(점) 하나에 도킹되어 연결된 길(선)의 개수입니다. 선이 짝수 개면 무사히 통과 가능한 경유지 팩터가 되지만, 홀수 개면 결국 그곳이 출발점이나 최후 도착점이 될 수밖에 없는 운명 시스템을 지닙니다.
서브목차