목록전체 글 (45)
kar7mp5
https://github.com/kar7mp5/SurvivalRL GitHub - kar7mp5/SurvivalRLContribute to kar7mp5/SurvivalRL development by creating an account on GitHub.github.com 동기는 개인적인 견해이기 때문에 스킵하고 보셔도 무방합니다.동기이전에 유전 알고리즘(Genetic Algorithm)으로 생태계 구현해봤을 때 여러 아쉬운 점이 있었습니다.간단히 소개하면, 속도, 크기 값이 부모 유전자와 돌연변이를 통해 다음 세대로 전달되는 시뮬레이션이었습니다.유전 알고리즘(Genetic Algorithm)이 아닌 강화학습(Reinforcement Learning)으로 구현하고 싶었던 점과 학습하는 객체에 더 많은 ..
이번 블로그의 환경설정은 다음 블로그를 참고하여 작성되었습니다.문제점import Button from '../../components/Button'React 혹은 Vue를 설치한 직후, 위 코드처럼 상대경로( ../)로 표현합니다.상대경로에 대하여 간단히 설명하면 다음과 같습니다.기호의미/root./현재 위치../상위 경로상대경로를 사용하면 프로젝트 빌드 시 여러 문제가 발생할 수 있습니다. 예를 들어, 이미지 로딩 실패 오류가 상대경로 설정 문제에서 비롯될 수 있습니다. 하지만 절대경로를 그대로 사용하기에는 경로가 너무 길어 불편합니다. 이러한 문제를 해결하기 위해 alias을 설정하여 간결하고 안정적인 경로 작성을 할 수 있습니다.// Beforeimport Button from '../../co..
2025.03에 작성된 블로그입니다. 만약 아래 명령어가 잘 작동되지 않을 경우, 옛 버전 기준일 수 있습니다.01. Node.js & npm 설치공식 LTS 버전 설치 (Ubuntu 기준)sudo apt updatesudo apt install -y curlcurl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -sudo apt install -y nodejs 설치 확인node -vnpm -v 위 명령어가 작동된다면, 정상적으로 설치된 겁니다.02. yarn 설치npm install -g yarn설치 확인yarn -v03. Vite + React + TypeScript 프로젝트 생성yarn create vite my-app --template..
이 블로그는 Christopher M.Bishop의 Deep Learning 책을 기반으로 작성되었습니다.3.1. Discrete Variables (이산 변수)3.1.1 Bernoulli distribution (베르누이 분포)주어진 확률 $0 \leq p \leq 1$에 대하여$$\begin{equation}X =\begin{cases}1 & \text{with probability } p \0 & \text{with probability } (1 - p)\end{cases}\end{equation}$$를 Bernoulli distribution라고 합니다.평균과 분산은 위 확률 분포로 직접 구할 수 있습니다.변수 $\mu$에 대하여 $x = 1$는 다음과 같이 정의할 수 있습니다:$$p(x = 1 ..
௹ 시뮬레이션 목적최적화 공부하며 진행한 프로젝트로 간단하게 실험 환경을 구성하였다.지구 궤도 공전 인공위성 제어 시뮬레이션으로 이체 문제(Two-body problem)에서 최소 에너지(Minimum energy)로 제어하도록 설계하였다.위성 궤도 유지 제어위성을 지정된 궤도(500 km 고도)에서 유지하기 위해 설계된 제어 알고리즘 설계한다.제어 입력 최소화(Minimum energy)에너지 효율적인 방식으로 위성을 안정적으로 제어하도록 설계한다.외란 환경에서 안정성 검증외란(난수 외란 및 주기 외란)이 추가된 상황에서도 제어 알고리즘이 궤도 유지하도록 설계한다.௹ 위성의 운동 방정식 (Newton's Second Law)위성의 운동은 뉴턴 제2법칙기반으로 개발하였다.$$\vec{F} = m \cdo..
참고 문헌௹ 오차제곱합 Sum of Squares Error(SSE)SSE(Sum of Squared Errors)을 다음과 같은 행렬로 표현 가능하다.$$SSE = \sum^{n}_{i=1}(y_i - \hat y_i)^2 = (y - \hat y)^T(y - \hat y)$$$SSE$ 함수는 다음과 같이 표현된다:$$SSE = (y - X\beta)^T (y - X\beta)$$이를 전개하면:$$SSE = y^T y - 2 \beta^T X^T y + \beta^T X^T X \beta$$이제 $\beta$에 대해 미분한다.௹ 미분 규칙행렬 미분 과정에서 사용할 기본 규칙은 다음과 같다:스칼라-벡터 곱 미분$$\frac{\partial}{\partial \beta} (\beta^T A) = A^T$$..
௹ 양안 시차 (Binocular Disparity)이미지 출처: OpenCV official docs 양안 시차는 인간과 같은 양안 시각 시스템에서 두 눈이 약간 다른 각도에서 대상을 보는 데서 발생하는 시각적 차이를 의미한다.가까운 사물일 수록 시차(Disparity)가 크고, 멀리에 있는 사물일 수록 시차가 작다.$$disparity = x - x^\prime = \frac{Bf}{Z}$$ $x$와 $x^\prime$: 3D 공간 상의 한 점(Scene Point)이 두 카메라에서 투영된 이미지 평면 상의 좌표$B$: 두 카메라 센터 간의 거리 (Baseline)$f$: 카메라의 초점 거리(Focal Length)깊이(Depth): 3D 공간 상의 한 점(Scene Point)에서 카메라까지의 거리..
https://www.acmicpc.net/problem/11725#include #include #include #define MAX 100001using namespace std;using vi = vector;using ll = long long;ll N;vi graph[MAX];int visited[MAX];int result[MAX];void bfs(int start);int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); // freopen("input.txt", "r", stdin); // freopen("output.txt", "w", stdout); cin >> N; int a, b; fo..
https://www.acmicpc.net/problem/17070#include #include using namespace std;using ll = long long;#define MAX 16int N;int MAP[MAX][MAX];ll dp[3][MAX][MAX];/*0: -->, 1: \, 2: |*/int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);/* freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout);*/ cin >> N; for (int i = 0; i > MAP[i][j]; dp[0][0][1] = 1; f..
௹ 설치 확인다음 명령어로 CUDA driver를 확인한다.$ nvidia-smi 필자 컴퓨터 같은 경우 CUDA 버전이 12.7이다.௹ CUDA 설치Nvidia Toolkit Link에서 자신이 해당하는 링크를 선택하면, 다음과 같은 창이 나온다. 필자 같은 경우 Linux x86_64에 WSL2인 상황이기에 다음과 같이 선택하였다.모두 선택하면 아래처럼 명령어가 나온다. 이제 명령어를 커널에 입력하면 끝이다. 에러가 발생한 경우도 작성하고 싶었으나 필자가 겪어보지를 못해 글을 여기서 마치겠다.