반응형 오블완18 5 랜덤시도를 통하여 순차 결정 문제 해결 1. MDP 문제 풀기 MDP(Markov Decision Process, 마르코프 의사결정 과정) 문제를 해결하기 위한 주요 방법들을 각각의 특징과 작동 원리를 중심으로 서술해 보겠습니다.1) 몬테 카를로 기법(Monte-Carlo Method) • 핵심 개념: 몬테 카를로 기법은 샘플링을 통해 MDP의 상태 가치나 행동 가치를 추정하는 방법입니다. 환경 모델에 대한 사전 지식이 필요하지 않고, 시뮬레이션을 통해 상태-행동 쌍에 대한 경험 데이터를 수집합니다.• 작동 방식:• 에피소드를 여러 번 시뮬레이션하여, 각 상태에 대한 평균 보상을 계산합니다.• 에피소드 종료 후 얻은 보상 데이터를 기반으로 상태 가치나 행동 가치를 업데이트합니다.• 주로 에피소드 단위로 학습이 이루어집니다.• 장점:• 환경의 .. 2024. 11. 24. [C/C++] 프로젝트 오일러 #102 Triangle Containment(수학) 프로젝트 오일러 문제 #102, “Triangle Containment”은 기하학과 좌표를 활용한 문제로, 수학적 사고와 프로그래밍 기술을 결합하여 해결해야 하는 문제입니다. 난이도는 15%로 평가되고 있으며, 특히 2D 좌표평면에서 삼각형과 점의 관계를 다루는 문제를 즐기는 이들에게 적합합니다.이 문제의 기본적인 목표는 주어진 수많은 삼각형들 중에서 원점(0, 0)이 포함된 삼각형의 개수를 찾는 것입니다. 각 삼각형은 세 점의 좌표로 표현되며, 파일에 저장된 데이터를 읽어와 이를 처리해야 합니다. 원점이 특정 삼각형 내부에 포함되어 있는지를 확인하기 위해서는 벡터와 내적, 교차곱 등의 기하학적 개념을 활용하거나, 삼각형의 넓이를 비교하는 방식 등 다양한 접근법을 사용할 수 있습니다.이 문제는 단순히 원.. 2024. 11. 23. [C/C++] 프로젝트 오일러 #101 Optimum Polynomial(다항식) 이 문제는 수학적 규칙을 따르는 점열(sequence)을 생성하는 다항식(polynomial)과 관련이 있습니다. 문제를 해결하기 위해 주어진 점열을 분석하고, 다항식의 특성을 활용하여 최적의 다항식을 찾는 것이 핵심입니다.문제 이해1. 점열의 생성문제는 특정한 다항식 \( U(n) \)을 통해 생성된 점열이 주어질 때, 이 점열을 근사하는 최적의 다항식을 찾는 것입니다. 점열의 각 항은 다음과 같은 형태를 가집니다: \( u(n) = U(n) \) 여기서 \( U(n) \) 은 n-차 다항식입니다.예를 들어, \( U(n) = n^3 - 2n^2 + n \) 일 경우, \( u(1) = 0, u(2) = 6, u(3) = 24, \dots \) 와 같은 점열이 생성됩니다. 2. 부분 점열문제는 \.. 2024. 11. 22. [C/C++] 프로젝트 오일러 #99 Largest Exponential(수학) 문제는 여러 쌍의 숫자로 이루어진 데이터에서 각 쌍이 \(a^b\) 형태로 표현될 때, 가장 큰 값을 가지는 쌍의 위치를 찾는 것입니다. 여기서 a와 b는 양의 정수입니다.예를 들어, 다음과 같은 쌍이 있다고 가정합니다:1. \(2^{11}\)2. \(3^7\)3. \(6^3\)각각의 값을 계산하면:• \( 2^{11} = 2048 \)• \( 3^7 = 2187 \)• \( 6^3 = 216 \)이 중에서 가장 큰 값은 2187이므로, 두 번째 쌍 (3, 7)이 답이 됩니다. 이 경우 결과는 2번째 줄을 나타냅니다.문제가 간단하게 보여도 제곱해야 하는 수가 크면, 실제 값의 크기는 컴퓨터로 계산하기 힘듭니다. \( 632382^{518061} \gt 519432^{525806} \) 의 경우와 같이 밑.. 2024. 11. 21. 4. 파이썬을 이용한 데이터 과학 소개(part 2) 3. Pandas Pandas는 Python에서 데이터를 분석하고 조작하기 위한 강력한 라이브러리로, 행과 열로 이루어진 구조화된 데이터를 처리하는 데 최적화되어 있습니다. 주요 데이터 구조로는 1차원 데이터를 다루는 Series와 2차원 테이블 형태의 데이터를 다루는 DataFrame이 있습니다. 이 데이터 구조는 데이터베이스의 테이블이나 스프레드시트와 유사해 직관적으로 사용할 수 있습니다. Pandas는 다양한 데이터 포맷을 지원하며, CSV, Excel, SQL, JSON 등 여러 소스의 데이터를 손쉽게 읽고 쓸 수 있습니다. 또한 데이터를 정렬하거나 필터링할 수 있는 인덱스 기능과 그룹화, 피벗 테이블 생성, 데이터 병합과 같은 고급 데이터 조작 기능을 제공합니다. 결측치 처리나 중복 제거 같은 .. 2024. 11. 20. [C/C++] 프로젝트 오일러 #97 Large Non-Mersenne Prime(수학) 메르센 소수(Mersenne Prime)는 아주 특별한 형태의 소수입니다. 소수란 1과 자기 자신 외에 다른 약수가 없는 숫자를 말하는데, 메르센 소수는 그 중에서도 다음과 같은 형태를 가진 숫자들입니다:\[ M_p = 2^p - 1 \]여기서 \(p\) 는 소수(Prime number)여야 합니다. 간단히 말해, 2의 거듭제곱에서 1을 뺀 숫자들 중에서 소수인 것을 메르센 소수라고 부릅니다. \(p = 2\)라면, 메르센 소수는 \( M_2 = 2^2 - 1 = 4 - 1 = 3 \) 가 되어, 3은 가장 작은 메르센 소수가 됩니다. \(p = 3\) 라면, 메르센 소수는 \( M_3 = 2^3 - 1 = 8 - 1 = 7 \) 가 됩니다.그러나 모든 \( 2^p - 1 \)이 소수가 되는 것은.. 2024. 11. 19. 이전 1 2 3 다음 728x90