코딩수학에서는 매달 수학 개념과 관련된 코딩 명령어를 배울 수 있어요.
계산이 복잡한 수학 문제를 계속 풀면 수학이 싫어질 때가 있죠?
원리만 이해하고 코딩으로 복잡한 과정을 컴퓨터에게 맡기면 수학을 즐겁게 배울 수 있답니다. 다함께 외쳐봐요, JUST CODE IT!
다양한 관계를 나타내고 분석하는 ‘네트워크’
오늘 코딩으로 정복할 수학 개념은 ‘네트워크’입니다. 네트워크는 ‘그래프 이론’ 분야에서 처음 등장한 개념으로, 점들의 연결 관계를 나타낸 보통의 그래프보다 더 많은 정보를 담고 있어요.
일반적인 그래프에 정보를 추가하는 방법은 첫째로 변에 화살표를 표시해 방향 정보를 담은 ‘유향 그래프’로 만드는 거고, 두 번째는 변의 두께를 다르게 나타내 점과 점이 얼마나 관계있는지를 ‘가중치’로 나타내는 겁니다. 가중치가 있는 유향 그래프가 바로 ‘네트워크’죠.
네트워크를 연구한 대표적인 사람은 미국 수학자 존 폰 노이만입니다. 노이만은 여러 대상 사이의 관계를 네트워크로 나타내 수학적으로 분석했으며, 이를 응용해 현재 우리가 쓰는 컴퓨터의 구조도 만들었습니다. 알고리듬을 그림으로 나타낸 ‘순서도’를 처음 사용한 사람도 바로 노이만이죠.
SNS에서 팔로우 또는 팔로잉 한 관계를 나타내는 것처럼 사람 사이의 관계를 보여주는 네트워크는 현재 경제학과 사회학뿐 아니라 컴퓨터를 활용하는 모든 분야에서 광범위하게 쓰고 있습니다. 21세기에 들어서는 대장균 안에서 일어나는 생화학 반응이나 인공 신경망처럼 복잡한 관계도 네트워크로 분석하는 ‘복잡계 네트워크’에 관한 연구가 활발히 진행되고 있죠.
이번 호에서는 코딩 명령어를 이용해 여러 지점 사이의 경로와 각 경로를 오갈 때 드는 비용을 네트워크로 만들고, 두 지점을 잇는 경로 중 비용이 가장 적게 드는 경로를 찾아보도록 해요!