Step 1: DQN 개념DQN(Deep Q-Network)은 Q-Learning을 딥러닝과 결합한 강화학습 알고리즘입니다. Q-Learning이 Q-테이블을 사용하는 것과 달리, DQN은 신경망을 사용하여 Q-값을 근사합니다. 이를 통해 대규모 상태 공간에서도 Q-값을 학습할 수 있습니다.Step 2: Q-Learning의 한계 해결기존 Q-Learning은 상태-행동 공간이 커질수록 Q-테이블 관리가 어려워집니다. DQN은 신경망을 통해 연속적이거나 고차원인 상태 공간에서도 효과적으로 학습할 수 있습니다.Step 3: DQN의 구조입력: 현재 상태 $s$출력: 각 행동에 대한 Q-값 $Q(s,a)$DQN의 신경망은 상태 $s$를 입력으로 받아 각 행동 $a$에 대한 Q-값을 근사합니다.Step 4: ..
프로그래밍 이론
Step 1: Q-Learning 개념Q-Learning은 강화학습 알고리즘 중 하나로, Off-policy 방식입니다. 에이전트가 환경에서 최적의 행동을 찾기 위해 Q-값을 학습합니다.Step 2: Q-값 정의Q-값은 상태-행동 쌍에서 얻을 수 있는 누적 보상의 기대치를 의미합니다. Q(s, a)로 표현됩니다.Step 3: Bellman 방정식Q-Learning은 Bellman 방정식을 기반으로 Q-값을 업데이트합니다.$Q(s,a) = Q(s,a) + \alpha \left( R + \gamma \max_{a'} Q(s', a') - Q(s, a) \right)$$\alpha$: 학습률$\gamma$: 할인율$R$: 즉각적인 보상$\max_{a'} Q(s', a')$: 다음 상태에서 예상되는 최대 보상..
Step 1: 강화학습 개념 이해강화 학습(Reinforcement Learning, RL)은 에이전트(Agent)가 환경(Environment)과 상호작용하면서 보상(Reward)을 통해 최적의 행동(Policy)을 학습하는 방법입니다. 여기서 에이전트는 목표를 달성하기 위해 행동을 선택하고, 그에 따라 보상이나 벌을 받습니다. 목표는 장기적인 누적 보상(Return)을 최대화하는 최적의 정책을 학습하는 것입니다.주요 구성 요소에이전트(Agent): 행동을 수행하고 환경에서 보상을 받는 주체.환경(Environment): 에이전트가 상호작용하는 대상.상태(State): 에이전트가 현재 환경에서 처한 상황.행동(Action): 에이전트가 상태에서 선택할 수 있는 동작.보상(Reward): 행동의 결과로 ..
1. 다익스트라 알고리즘다익스트라 알고리즘은 그래프 상에서 한 정점으로부터 모든 다른 정점까지의 최단 경로를 계산하는 알고리즘이다. 매번 최단 경로를 가진 정점을 선택하여, 이를 반복적으로 탐색함으로써 출발 정점에서 나머지 모든 정점으로의 최단 경로를 찾는다. 단, 모든 링크의 가중치는 양의 값이어야 한다.최단 경로를 구하는 방법으로는 다익스트라 외에도 벨만-포드, 플로이드-워셜 알고리즘이 존재한다. 경로 계산 방식은 크게 세 가지가 있다.한 지점에서 다른 특정 지점까지의 경로를 찾는 방식(One-to-One).한 지점에서 모든 다른 지점까지의 경로를 구하는 방식(One-to-All).모든 지점에서 모든 지점까지의 경로를 찾는 방식(All-to-All)이다. 다익스트라 알고리즘은 이 중 두 번째 유형인..
렌더링 파이프라인3D 오브젝트들을 화면에 표현하기 위한 일련와 과정들.렌더링 파이프라인(Rendering Pipeline) 또는 그래픽스 렌더링 파이프라인(Graphics rendering pipeline)이라 부르며 3차원으로 만들어진 모델을 2차원에 투영하는 렌더링 과정의 프로세스를 자세하게 표현한 것이다. 컴퓨터에 데이터로 존재하는 3D 리소스가 모니터에 출력되는 과정이 렌더링 파이프라인을 따르게 된다.파이프라인의 종류고정 기능 파이프라인(Fixed PipeLine)Direct3D에서 제공하는 미리 정해진 연산을 수행하는 파이프라인.고정적으로 정해진 연산만을 수행하며,프로그래머가 직접 관여할 수 없다.프로그래머블 파이프라인(Programmable PipeLine)고정 기능 파이프 라인에서 제공하는 ..
1. 동적 계획법이란? 동적 계획법(Dynamic Programming)은 주어진 문제를 작은 부분 문제로 분할하고, 그 결과를 저장하여 중복 계산을 방지하는 알고리즘 기법이다. 특히 부분 문제의 수가 기하급수적으로 증가할 때 유용하다. 분할 정복법과는 달리, 중복되는 부분 문제의 결과를 재활용하여 속도를 높인다.각 부분 문제가 서로 독립적일 때: 분할 정복법 사용.부분 문제가 중복될 때: 동적 계획법 사용.2. 메모이제이션이란?메모이제이션(Memoization)은 계산 결과를 저장해두고, 동일한 계산이 다시 필요할 때 저장된 값을 사용하는 최적화 기법이다. 이를 통해 중복 계산을 방지하고 속도를 향상시킬 수 있다. 메모리를 사용해 계산 시간을 줄이는 방식이다.3 - 1. 메모이제이션의 활용: 이항 계수..
게임에서 컴퓨터 그래픽스(Computer Graphics)는 필수적인 요소다. 초기의 단순한 텍스트 기반 게임에서 시작하여, 시각적인 요소를 더해주기 위해 픽셀 게임이 등장했고, 점차 2D에서 3D로 발전해왔다. 이러한 그래픽의 발전은 게임의 몰입감과 현실감을 크게 향상시켰다. 오늘날의 게임은 정교한 그래픽 기술을 활용해 매우 사실적인 시각적 경험을 제공하며, 플레이어의 상상력을 현실로 구현해준다.나 역시 게임 개발자 나부랭이로 발전하기 위해 컴퓨터 그래픽스에 대해 공부하려고 한다. 하지만 그 이전에, 컴퓨터 그래픽스가 어떻게 발전하였는가에 대해 알아보려고 한다.1. 초기 컴퓨터 그래픽스 (1960-1970년대)초기 1960년대, 컴퓨터 그래픽스는 단순한 와이어프레임 모델로 시작됐다. MIT와 같은 선도..
정의 중국인의 나머지 정리(The Chinese Remainder Theorem, CRT)는 여러 개의 서로 다른 소수인 모듈러(moduli)에 대해 독립적으로 주어진 나머지들을 만족하는 정수를 찾는 문제를 해결하는 수학적 정리입니다. 이 정리는 시스템의 일련의 동시 합동식(congruences)을 하나의 합동식으로 표현할 수 있게 해 줍니다. 중국인의 나머지 정리는 서로 다른 모듈러 \( m_1, m_2, \ldots, m_n \)가 서로 소일 때 (즉, \( \gcd(m_i, m_j) = 1 \) 일 때, \( i \neq j \)) 아래와 같은 연립 합동식에 대하여 해를 찾는 정리입니다 \( x \equiv a_1 \mod m_1 \) \( x \equiv a_2 \mod m_2 \) \( x \e..