본문 바로가기

분류 전체보기612

[알고리즘] 다익스트라 알고리즘(Dijkstra Algorithm) Dijkstra Algorithm ? 다이나믹 프로그래밍을 활용한 최단경로 탐색(Shortest Path Search)알고리즘 입니다. 특정한 하나의 시작지점에서 다른 모든 지점으로 가는 최단 경로를 탐색 합니다. 그래프의 방향의 유무는 상관이 없으나, 간선들중 단 하나라도 가중치가 음수(-)일 경우 다익스트라 알고리즘은 사용할 수 없습니다. 그래프 내에 가중치의 합이 음인 사이클이 존재한다면 무한하게 음의 사이클을 도는 경우 경로의 합이 음수의 무한대가 되기 때문에 최단 경로를 구성할 수 없게 되기 때문입니다. 다익스트라 알고리즘의 원리 1. 출발 노드를 설정 2. 출발 노드를 기준으로 각 노드의 최소 비용을 저장 3. 방문하지 않은 노드 중에서 가장 비용이 적은 노드를 선택 4. 해당 노드를 통하여 .. 2023. 7. 12.
[알고리즘] A*알고리즘(Astar Algorithm) Astar(A*) Algorithm ? A* 알고리즘은 그래프 탐색 알고리즘 종류의 하나 입니다. 최단 경로 문제를 해결하는데 주로 사용되며 A*알고리즘은 효율적으로 경로를 찾습니다. 다른 탐색(Search)알고리즘보다 빠르고 정확한 결과를 얻을 수 있습니다. A*알고리즘은 *휴리스틱(heuristic)함수를 사용하여 탐색 중 경로의 우선순위(비용)를 결정합니다. 주어진 출발 노드(node)에서부터 목표의 노드(node)까지 가는 최단 경로(최저비용)를 찾아냅니다. *휴리스틱 함수 현재 상태에서 목표 상태까지의 예상 비용 또는 예측 값을 제공하는 함수입니다. 보통 경로 탐색에서 비용 함수로 사용됩니다. A* 알고리즘의 간단한 예제 #include #include #include #include using.. 2023. 7. 12.
심화 수업54일차 - Terrain Editor (클래스추가) 보호되어 있는 글 입니다. 2023. 7. 12.
[CS] 컴퓨트 쉐이더(Compute Shader) 컴퓨트 쉐이더? 컴퓨트 쉐이더는 그래픽 처리장치(GPU)에서 병렬 계산을 수행하기 위한 프로그램 유닛 입니다. 기존에는 그래픽 렌더링 파이프라인에서 정점(Vertex), 픽셀(Pixel)등을 처리하기 위한 버텍스 쉐이더(VS. Vertex Shader)와 픽셀 쉐이더(PS , Pixel Shader)가 주로 사용되었으나, 컴퓨트 쉐이더는 그래픽 처리(렌더링파이프라인) 외의 일반적인 계산에 GPU를 활용하기 위해 도입되었습니다. 즉, 그래픽스와 별도로 사용이 가능 합니다. 컴퓨트 쉐이더는 주로 GPGPU(아래의 링크를 참고)작업을 수행하는 데 사용됩니다. [CS] GPGPU GPGPU ? GPGPU는 "General Purpose Computing on Graphics Processing Unit" 의 약.. 2023. 7. 11.
[CS] GPGPU GPGPU ? GPGPU는 "General Purpose Computing on Graphics Processing Unit" 의 약어 이며, 그래픽 처리 장치(GPU)를 일반 목적(연산)의 작업에 사용하는 기술을 의미합니다. (즉, CPU에서 하던 작업의 일부를 GPU에서 처리하도록 하는 것) 기본적으로 GPGPU는 그래픽 카드의 병렬 처리 능력을 활용하여 일반적인 연산 작업의 효율성을 높혀줄 수 있습니다. 그래픽 처리 장치가 가지고 있는 대량의 병렬 처리 유닛을 활용하여 계산을 수행합니다. 그래픽 처리장치는 3D 그래픽 작업을 수행하기 위해 많은 수의 작은 계산코어를 가지고 있는데, 이러한 작은 코어들은 병렬처리 작업에 특화 되어 있습니다. 이것을 통하여 그래픽 카드는 대량의 데이터나 계산 작업을 동.. 2023. 7. 11.
심화 수업53일차 - 경사면(접선면각도사용), MapEditor 보호되어 있는 글 입니다. 2023. 7. 11.