전체 글 72

9. 그리디 알고리즘을 이용한 회피

1. 문제 상황 설정 및 방향 설계문제는 다음과 같다.“지금 가능한 행동들을 각각 실행한다고 가정했을 때, 가까운 미래에 어떤 행동이 가장 안전하고 유리한가?”다음 순서로 생각할 수 있다.플레이어·탄환·레이저·아이템의 현재 상태를 읽는다.정지와 저속·고속 8방향 이동으로 이루어진 17개 행동을 만든다.각 행동을 일정 시간 유지했을 때의 미래 위치를 예측한다.그동안 탄환이나 레이저와 충돌하는지 검사한다.충돌하지 않는 후보들을 우선하고, 그 안에서 수집·위치·위험 점수를 비교한다.선택한 입력을 게임에 전달한다.새로운 관측이 들어오면 다시 계산한다.2. 전체 구현 개요전체 시스템을 이해하려면 세 부분을 구분해야 한다.부분입력출력역할상태 관측게임 메모리의 현재 값State 객체플레이어와 위험물의 상태를 정리한다..

8. 입력 메모리 찾기와 게임에 명령 직접 전달

이 문서의 목표는 다음 세 가지입니다.게임이 키보드 입력을 읽어 어디에 저장하는지 찾습니다.찾은 주소의 의미를 어셈블리와 실제 값 변화로 확인합니다.Python이 만든 명령을 게임이 자기 입력으로 받아들이게 합니다.1. 먼저 구분할 것: 찾는 주소와 새로 만드는 주소다음 두 주소는 역할이 다릅니다.종류의미이 프로젝트의 예원래 게임의 입력 변수게임이 이번 입력 갱신에서 사용할 버튼 상태0x0069D904새로 추가한 명령 영역Python이 게임에 요청할 버튼 상태를 적는 장소data_va + 0x14첫 번째는 실행파일을 분석해서 찾았습니다. 두 번째는 수정한 실행파일에 우리가 추가했습니다.원래 입력 처리 위치를 찾은 다음, 그 위치가 새 명령 영역을 읽도록 연결한 것입니다.이 연결 함수를 이 문서에서는 브리..

어셈블리 정리

1 주소와 값0x0069D904는 숫자를 저장한 장소의 주소입니다. 그 장소에 0x0085가 들어 있다면, 주소와 저장된 값은 서로 다른 숫자입니다.0x는 16진수 표기라는 뜻입니다.16진수10진수이 문서에서의 예0x00011공격0x00044저속 이동0x0080128오른쪽 이동0x0085133공격·저속·오른쪽 조합어떤 디버거는 접두사 없이 0069D904처럼 표시합니다. 이 문서의 주소는 모두 16진수입니다.2 크기: byte, word, dword표기크기Python에서 대응하는 예BYTE1바이트 = 8비트ctypes.c_uint8WORD2바이트 = 16비트ctypes.c_uint16DWORD4바이트 = 32비트ctypes.c_uint32원래 TH06의 현재·이전 입력값은 각각 WORD, 즉 2바이트입니..

유전 알고리즘을 이용한 포챔스 m-c 파티 구성

포켓몬 챔피언스 M-C 싱글 파티 탐색 보고서기준: 2026년 9월 10일 / 게임 1.2.0 / 레벨 50 / 6마리 등록 후 3마리 선출.아래 순위는 지정한 상대군과 자동 플레이어에 대한 최종 모의전투 승률 순서다. 실제 랭크 승률이나 전역 최적해를 의미하지 않는다. 각 파티의 메가스톤 보유자는 정확히 2마리이고, 한 경기에서는 메가진화 한 번만 허용한다.순위메가진화 후보나머지 포켓몬승/무/패승률상대 파티 단위 95% 구간1루카리오 · 망나뇽누리레느 · 고릴타 · 타부자고 · 브리두라스314/0/16665.42%59.38%~71.46%2라이츄 · 갸라도스한카리아스 · 아머까오 · 누리레느 · 대도각참288/0/19260.00%53.75%~65.83%3보만다 · 팬텀대도각참 · 누리레느 · 워시로토무 ..

오일러- 라그랑주 방정식

엄밀함은 거의 생략하고 직관적으로만 작성..정의다음과 같이 정의된 functional의 극값을 찾는 방정식이다.$$I[u] = \int F(x, u(x) , Du(x) ) dx$$해당 $I$ 가 어떤 함수 $u$ 에 대해 최대, 최소가 된다면 $u$ 는 다음 방정식의 해가 된다.$$D(D_u F) = D_{Du}F$$증명먼저 (적당한 boundary condition을 만족하는..) 함수 $\phi$ 와 실수 $h$ 를 생각하자. 그러면 다음이 성립한다.\begin{align}I[u + h \phi] =& \int F(x,u+h\phi,Du+hD\phi) dx\\=& \int F(x,u, Du+hD\phi) + h \phi (D_u F)(x,u,Du+hD\phi) + o(h)dx\\=& \int F(x,..

수학/미적분학 2026.08.22

numerical code for non-topological solution of SU(3) CS Model on Torus

import numpy as npimport matplotlib.pyplot as pltfrom matplotlib.animation import FuncAnimation# ----------------------------# PARAMETERSN = 400dt = 0.001steps_per_frame = 1tol = 2e-7clip_u = 60.0enable_eps_continuation = Trueeps_schedule = [0.2]u0_level_1 = -2.5u0_level_2 = -2.7init_mode_amp = 0.35# Dirac settingsenable_dirac = Truesigma1 = 0.18sigma2 = 0.18n1 =5n2 = 1seed = 0rng1 = np.random.d..

연구/연구노트 2026.03.02

무리수 판정법

정리실수 $\alpha$를 생각하자. 모든 $n$에 대해, $q_n \rightarrow \infty$ 를 만족하는 어떤 유리수열 $(p_n/q_n)$ 이 존재해서 $p_n/q_n \not = \alpha$ 라고 하자.만약 적당한 $\delta >0$ 가 존재해서, 부등식\begin{equation} \left| \alpha - p_n/q_n \right| 을 만족하면, $\alpha$는 무리수이다. 증명주어진 $\alpha$가 유리수라고 가정하면 다음이 성립한다.\begin{equation} \liminf_{n\rightarrow \infty} |q_nα−p_n|>0 \end{equation}(이는 유리수 집합이 complete가 아님에 근거한다.)즉시, $|q_nα−p_n|■

수학/미적분학 2026.02.02

[pinescript] distance from ema

//@version=6indicator(title="Distance from mea", shorttitle="DfE", format=format.percent, precision=2, timeframe="", timeframe_gaps=true)length = input.int(36, minval=1)src = input(close, title="Source")EMA = ta.ema(src , length )dist = (src - EMA)/EMA *100hline(0 , linestyle = hline.style_dotted , color = color.white)plot(dist) distance from ema 지표ema 보다 현재 가격이 몇 퍼센트 정도 더 비싼지 보여준다.