글

라벨이 graph인 게시물 표시

스무스 스텝(Smoothstep), 가우스 함수(Gaussian), 그리고 사인 함수(Sine)

이미지
<img alt="" data-original-height="768" data-original-width="1408" height="350" src="https://blogger.googleusercontent.com/img/a/AVvXsEgGysEV91and63UONfPd4P6IgfdujJIPKXMX42U3w3v7wZbH8uR0t8P-WnsGnoV3KvLLArkn7TVy-vbACgPIeDwH2iDWZnwzA_-yKlvZxjTlIrKVB2g_EM2i3vJD0PCepFUHc0fT5i1yCL1375RLi6sejr9IAqt2ekZxGTMVouZNSgk949mtr492ii4aAhG=w640-h350" width="640" /> 스무스 스텝(Smoothstep), 가우스 함수(Gaussian), 그리고 사인 함수(Sine)는 모두 부드러운 곡선을 그리지만, 수학적 정의와 사용 목적에서 큰 차이가 있습니다.  * * * * * 1\. 스무스 스텝 (Smoothstep) ----------------------- 스무스 스텝은 주로 **보간(Interpolation)**을 위해 사용되는 3차 다항식 함수입니다. -   **수식:** $f(x) = 3x^2 - 2x^3$ (단, $0 \le x \le 1$ 범위) -   **특징:** 시작점(0)과 끝점(1)에서 기울기가 0이 되어, 변화가 아주 부드럽게 시작되고 끝납니다. -   **용도:** 컴퓨터 그래픽스에서 텍스처 블렌딩이나 애니메이션의 가속/감속(Ease-in/out) 효과를 줄 때 필수적으로 사용됩니다. 2\. 가우스 함수 (Gaussian Function) ------------------------------ 흔히 '종 모양 곡선'으로 불리며, **통계와 신호 처리**에서 핵심적인 역할을 합니다. -   **수식:** $f(x) = ae^{-\frac{(x-b)^2}{2c^2}}$...

prim vs kruskal vs Dijkstra 프림 크루스칼 다익스트라

 Prim 알고리즘과 Kruskal 알고리즘은 둘 다 최소 신장 트리(MST, Minimum Spanning Tree)를 구하는 대표적인 알고리즘입니다. 그러나 이 두 알고리즘은 작동 방식에서 차이가 있습니다. 아래에서 차이점을 설명하겠습니다. ### 1. 작동 방식 - **Prim 알고리즘**:     - Prim 알고리즘은 그래프에서 임의의 정점을 선택하고, 해당 정점에서 시작하여 인접한 정점으로 확장하는 방식으로 최소 신장 트리를 만들어 갑니다.    - 이미 선택된 정점들로부터 가장 가중치가 작은 간선을 선택해서 새로운 정점을 포함시킵니다.    - 이 과정은 모든 정점이 포함될 때까지 반복됩니다.    - **Kruskal 알고리즘**:     - Kruskal 알고리즘은 그래프의 모든 간선을 가중치 순서대로 정렬한 다음, 가중치가 가장 작은 간선부터 선택하면서 최소 신장 트리를 구성합니다.    - 이때 사이클이 생기지 않도록 간선을 선택하며, 사이클이 발생하면 그 간선은 버려집니다.    - 간선 중심적 알고리즘으로, 간선을 하나씩 추가하는 방식입니다. ### 2. 자료 구조 - **Prim 알고리즘**:     - 주로 **힙(Heap)** 자료구조를 사용하여 가장 작은 가중치의 간선을 효율적으로 선택합니다.   - 인접 리스트나 인접 행렬을 활용하여 인접한 정점을 관리하는 경우가 많습니다.    - **Kruskal 알고리즘**:     - **분리 집합(Disjoint Set)** 자료구조, 즉 유니온-파인드(Union-Find)를 사용하여 사이클이 생기는지 여부를 관리합니다.   - 간선 리스트가 정렬된 형태로 관리됩니다. ### 3. 시간 복잡도 - **Prim 알고리즘**:   ...