- AI 수업 내용 정리
1. Intelligent Software Agent
1) 용어 정리
- Agent : 특정 할 일을 대신 해주는 대행자
- Intelligent Software Agent : 인공지능 소프트웨어가 할 일을 대신해 주는 것
2) Intelligent Software Agent란?
- Environment에서 다양한 Sensor를 통해 들어온 정보를 percept 한다.
- percept된 정보를 토대로 정의된 State를 찾는다.
- State에서 가능한 Action 중 Goal에 가까워 질 수 있는 Action을 Actuators로 실행.
- Goal 도달!!
3) 예시
- 의료 진단 시스템( 암 진단 등... )
- 웹 쇼핑 프로그램( 필요한 상품 추천 등... )
2. Particular Problem
1) 문제를 정확히 정의한다
2) 문제를 분석한다
3) 문제를 풀기 위해 필요한 정보를 분리해낸다.
4) 최적의 풀이기법을 정한뒤 Particular Problem에 적용시킨다
3. State space Search로 Problem을 정의하는 법
- state를 정의
- 가능한 모든 state set(state space)을 정의
- 시작 state와 목표 state 정의
- state의 전이 정의
4. water jug problem
1) 문제 정의
- 2개의 눈금 없는 주전자가 있고, 하나의 주전자는 4gallon, 하나의 주전자는 3gallon을 담을 수 있다.
이 떄, 한 주전자에 4gallon 주전자에 2gallon의 물을 담을 방법은?
2) State 정의
- S(x, y)
- x = 0, 1, 2, 3, 4 (4 gallon 주전자)
- y = 0, 1, 2, 3 (3 gallon 주전자)
- start state : S(0, 0)
- goal state : S(2, y)
3) production Rule
- (x, y) if x < 4 then (4, y) : fill the 4-gallon jug
- (x, y) if x < 3 then (x, 3) : fill the 3-gallon jug
- .... etc 이런식으로 정의
- 상태 전이의 룰을 정의, 순서가 없다
5. MC problem
1) 문제 정의
- 3명의 식인종과 3명의 선교사가 강변에 있다. 모두 다 배를 타고 반대편 강변에 도착해야한다.
하지만, 배의 승선 가능 인수는 2명이고, 만약 식인종이 선교사보다 수가 많다면 선교사는 죽임을 당할 수 있다.
이 경우, 모두 다 살아서 강을 건너는 방법은?
2) State 정의
- S(Can_Left, Miss_Left, BoatPos, Can_Right, Miss_Right)
- Can_Left = 0, 1, 2, 3 ( 왼쪽 강변의 식인종 수 )
- Miss_Left = 0, 1, 2, 3 ( 왼쪽 강변의 선교사 수)
- Boat_Pos = Left, Right ( 현재 배 위치 )
- Can_Right = 0, 1, 2, 3 ( 오른쪽 강변의 식인종 수)
- Miss_Right = 0, 1, 2, 3 ( 오른쪽 강변의 선교사 수)
3) Production Rule
- (Can_Left, Miss_Left, Left, Can_Right, Miss_Right)
: if Can_Left > 0 && Miss_Left > 0 then (Can_Left-1, Miss_Left-1, Right, Can_Right+1, Miss_Right+1) - Move-1m1c-lr
- (Can_Left, Miss_Left, Right, Can_Right, Miss_Right)
: if Can_Right > 0 && Miss_Right > 0 then (Can_Left-1, Miss_Left-1, Left, Can_Right-1, Miss_Right-1) - Move-1m1c-rl
6. Production systems
1) 정의해야 할 것들
- global databases 정의 = state space를 정의한다.
- production rule을 정의
- control strategy를 정의( 탐색 방법을 정한다 )
2) control strategy
- 가장 첫번쨰를 적용한다
- 랜덤으로 룰을 적용한다
- dfs를 이용한다
- bfs를 이용한다
3) heuristic search
- 효율적으로 search를 하게 해주는 방법 ( 탐색을 줄여준다 )
- heuristic evaluation function을 이용해 탐색의 조건을 추가해준다.
'AI' 카테고리의 다른 글
[AI] Knowledge Representation (0) | 2017.06.07 |
---|---|
[AI] Constraint Satisfaction Problems (0) | 2017.06.07 |
[AI] Game Playing (0) | 2017.04.17 |
[AI] Genetic Algorithm (0) | 2017.04.17 |
[AI]3장 Heuristic Search Tech. (0) | 2017.04.13 |