반응형

진행중 6

Linear Sorting Algorithm

오늘도 신나게 알고리즘을 해봅니다. 6006의 Lecture 5의 주제는 Linear Sort Algorithm입니다. Linear Sort란 정렬을 \(O(n)\)으로 해결하는 것을 뜻합니다. 원본 자료는 스토리가 있습니다. Direct Access Array Sort => Counting Sort => Tuple Sort => Radix Sort순서로 구성되어 있습니다. 이해하긴 참으로 힘들지만 그래도 열심히 노력해봅니다. Direct Access Array Sort Array를 이용해 정렬을 수행하는 알고리즘. \(O(u) \text{ where u is max key of array}\) 한 Array를 정렬하는 방법 중 단순하게 떠올릴 수 있는 방법은, Array의 모든 아이템의 key값이 정수..

6.006 Lecture2 - 데이터 구조란 + Static Array로 sequence 이해하기

안녕하세요 집 DS입니다. 지도를 하기로 마음먹었지만 그래도 컴퓨터에 대한 지식은 여전히 필요합니다. 그중 데이터 구조이해로부터 나오는 알고리즘 구현은 특히나 중요한 부분입니다. 모든 부분을 설명할 순 없지만 제가 얘기하고 싶고 이해한 부분을 공유하고자 합니다. 자료구조(Data Structure)란 흔히들 자료구조를 푼다. 자료구조를 구현한다라는 말을 많이 쓰곤합니다. 프로그래밍을 처음 접했을 때나 지금이나 다소 이해가 안 될 때가 있습니다. 그럼 수업 자료를 기준으로 자료구조란 무엇인지 얘기해 보도록 하겠습니다. A data structure is a way to store data, with algorithms that support operations on the data 위 내용을 해석해보면 자..

6.006 Lecture1 - 알고리즘이란

안녕하세요 집DS입니다. 저는 알고리즘 공부를 하다말다 그러곤 했습니다. 지금까진 특별한 목적이 없었기 때문에 그랬던 것 같습니다. 최근엔 다시 목표가 생겨 차근차근 해나가고 있습니다. 그 중 6006이라는 MIT 수업이 가장 마음에 들어서 다시 내용을 보고 공부하고 있습니다. 공부중에 가장 큰 공부는 누군가를 가르치는 것이라고 합니다. 그럼 누군가를 가르친다는 마음으로 내용을 정리해보도록 하겠습니다. 알고리즘이란? 알고리즘을 글자 그대로 말하면 매우 쉽습니다. 수업 내용대로 한다면 다음과 같습니다 알고리즘 : 주어진 문제를 1)정확 2)효율적으로 해결하는 절차, 방법, 규칙들의 집합 쉽습니다. 말은. 그럼 문제란 무엇일까요? 우리는 흔히 문제를 해결한다는 말을 씁니다. 그리고 실생활의 문제를 해결하는 ..

Ch-2 Multi-armed bandit Q(a) 파이썬 코드

Dec 10, 2023, 7 min read 오케이. 내 스타일대로 해보겠다. 강화학습 해보자 Table of Contents 1 K-armed Bandit problem 2 추정해보기 : Action-value Methods 3 다음 action을 선택해보자 K-armed Bandit problem § k-armed bandit problem은 슬롯 머신을 떠올리면 된다. 근데 팔이 k 개인 슬롯머신이다. 우리가 슬롯머신을 당기는 이유는 간단하다. 잭팟이 터졌으면 좋겠으면 하는 마음이다. 그걸 수학적으로는 기대 보상을 최대화한다라고 말한다. 기대보상이란 최초에 알 수 있는 것이 아닌 실험을 통해 도출해야 한다. 슬롯 머신의 팔이 k 개라 할때 각 팔을 당길때 기대보상은 각기 다르다. 이 각 기대보상을 ..

Coursera Programming Language Part B : Intro to racket

Week1 -Intro To Racket Nov 27, 2023, 6 min read 교수의 참 쉽죠라는 말처럼 그냥 재미있다 보고 있다가 슬슬 어려워지는것 같아 내용을 정리해서 넣어본다 1 ML에서 Racket으로 넘어가기 § 여러가지가 이유가 있겠지만 이제는 racket으로 넘어간다. 내 생각에는 dynamic type environment를 체험시켜주려는 의도인 것 같다. 인터넷을 좀 찾아봐도 Racket이라는 언어의 유용성은 그닥 찾아볼 수 없다. 프로그래밍에서 필요한 용어와 개념을 익히기 위한 것이라고 생각하면 편할 듯 싶다. 1.1 역사 § 이 아저씨는 Racket을 좀 좋아하는 모양이다. 간단한 역사는 이렇다고 한다. LISP라는 언어가 Scheme이 되고, Scheme이 Racket이 되었..

Unit1 - Introduction to Deep Reinforcement Learning

10 min read 강화학습이란? § Agent가 주위 환경과 상호작용을 통한 보상을 이용해 학습하는 방식. 보상을 통해 따로 감독없이 학습 가능 예) 게임환경에서 상호작용을 통해 학습하는 게임 플레이어 공식 정의 § Info Reinforcement learning is a framework for solving control tasks (also called decision problems) by building agents that learn from the environment by interacting with it through trial and error and receiving rewards (positive or negative) as unique feedback. 게임 예시 § 게임환..

반응형