희곤의 블로그

인공지능 8. 추론을 어떻게 하게 만들까

에이전트가 추론을 자동으로 하게 만들 수 있을까? 추론이 무엇인가? 기존의 경험(지식)을 근거로 새로운 정보(결론, 판단)을 이끌어내는 과정이다. 그렇다면, 지식을 컴퓨터가 이해할 수 있게 만들어야 한다. 어떻게 지식을 모델링할까? 지식은 크게 두가지 종류로 나눌 수 있다. ‘소크라테스는 사람이다’와 같은 참/거짓이 명확한 결정론적 지식. ...

인공지능 5. Minimax

GAN 알고리즘이란? 위조지폐범과 식별기가 서로 경쟁하면서 계속 성장한다는 아이디어에서 착안한 알고리즘. 서로 적대적인 관계를 경쟁붙여야 한다. Minmax 알고리즘이 무엇인가? Minmax Algorithm이란, 2인용 제로섬 게임에서 나의 이득은 최대한으로, 상대방의 이득을 최소한으로 하는 최선의 수를 찾는 알고리즘이다. 이런 알고리즘을 적대적 ...

인공지능 4. 경험적 탐색 알고리즘

언덕 오르기 기법이 무엇인가? 인접한 노드를 평가하고, 가장 좋은 평가치만을 선택하는 탐색 기법이다. 일단 빠르다. 그리고 open 공간을 사용하지 않으므로, 메모리도 절약된다. 구현도 간단하다. 항상 좋은가? 그렇지 않다. 우리의 목표는 많은 경우 전역 최적해를 찾길 바란다. 하지만, 힐 클라이밍은 대부분 국소 최적해에 빠진다. 또, 평가치가...

인공지능 3. 맹목적 탐색 알고리즘

깊이, 넓이 우선 탐색이 무엇인가? 그 전에, 그래프 탐색을 어떻게 하면 좋을까? 우선, 시작 노드가 있어야 한다. 시작 노드와 연결된 주변 노드들을 하나씩 확인해가면서 목표 노드를 만났는지 체크한다. 주변 노드를 탐색하는데 한 depth씩 넓게 보면 넓이 우선 탐색, 일단 한 경로를 끝까지 파고 들면 깊이 우선 탐색이다. 알고리즘으로 만들려면, 위...

인공지능 2. 문제란 무엇인가

에이전트는 환경에서 문제 상황을 인지하고, 그 문제 상황을 합리적으로 해결할 수 있어야 한다. 그렇다면… 문제 상황이란 무엇인가? 인공지능에서 문제 상황은 초기 상태, 목표 상태, 연산자로 표현 가능해야 한다. 연산자는 상태를 변화시키는 함수와 같다. 초기 상태에서 연산자들을 적용하여 목표 상태로 도달했다면 문제를 해결한 것이다. 초기 상태와 목표 상...

인공지능 1. 인공지능이 무엇인가

인공지능이란 무엇인가? 인공적으로 만든 지능, AI는 인공적인 지능이란 뜻의 Artifical Intelligence 약자이다. 인공지능에는 다음과 같은 네가지 분야가 존재한다. 인간처럼 행동하는 시스템 인간처럼 생각하는 시스템 합리적으로 행동하는 시스템 합리적으로 생각하는 시스템 어떻게 컴퓨터를 인간처럼 행동하게 만드는가? 먼저...

운영체제 2. 최고의 운영체제 시스템이 무엇일까

최고의 운영체제 시스템은 무엇인가? 이를 이해하기 위해, 운영체제가 어떻게 발전했는지 살펴볼 필요가 있다. 초창기 프로그래밍은 펀치카드에 구멍을 뚫어 기계어를 기록하고, 카드 리더기에 읽혀서 프로그램을 실행하는 방식이었다. 카드 리더기와 컴퓨터를 사용하기 위해선 전산실에 예약을 걸어두고, 그 시간대가 되면 사용할 수 있는 방법이었다. 이는 여러 문...

운영체제 1. 운영체제란 무엇일까

운영체제란 무엇인가? 한정된 컴퓨팅 자원을 여러 사용자가 공유해서 사용하면 충돌이 발생하고, 이를 관리하기 위해 운영체제의 개념이 생겨난다. 운영체제의 목적은 무엇인가? 한정된 자원을 효율적으로 사용하기 위해서 정책이 필요하다. 관리자의 입장에선 모든 사용자가 공평하게 자원을 사용하게 하고 싶다. 하지만 사용자는 자원을 본인만 사용할수록 좋다. Ef...