Transcript lec13

Modified from the slides
by SciTech Media
퍼지 이론
(Lecture Note #13)
인공지능
이복주
단국대학교 컴퓨터공학과
1
Outline
퍼지
 퍼지
 퍼지
 퍼지
 퍼지
 퍼지

이론 (Fuzzy Theory)
집합 (Fuzzy Set)
관계 (Fuzzy Relation)
수 (Fuzzy Number)
추론 (Fuzzy Inference)
제어 응용 (Fuzzy Control Application)
2
퍼지 추론 (Fuzzy Inference)

퍼지 명제: 애매함이 포함된 언어적 명제 (linguistic
proposition)
– x∈X, A가 X의 퍼지 집합일 때 퍼지 명제 P
퍼지 명제: P = “x is A”
– 예) P: “지하철이 있는 도시는 매우 큰 도시이다”
X: “모든 도시”, A: “매우 큰 도시”
– 퍼지 조건 명제
P → Q = if P then Q
= if “x is A” then “y is B”
= (x, y) is RP→Q
RP→Q: 조건 명제 P → Q에 대한 X  Y 상의 퍼지 관계
P: 전건부 (antecedent portion)
Q: 후건부 (consequent portion)
3
퍼지 추론

퍼지 추론 (Fuzzy Reasoning)
– 퍼지 추론: 몇 개의 퍼지 명제로부터 하나의 다른 근사적인
퍼지 명제를 유도하는 근사 추론 (approximate reasoning)
• 긍정식(modus ponens)가 추론의 기반
• [ P와 PQ가 참이면, Q가 참 ] 임을 주장하는 규칙
• “영희는 미인이다” 와 “미인은 박명한다”의 경우
– 일반 추론: “영희는 박명한다”
– 퍼지 추론: “영희는 미인인 정도 만큼 박명한다”
– 일반화된 긍정식(generalized modus ponens): 전제와 전
건부가 완전 일치가 안됨 → 후건부도 결론과 완전 일치가
안됨
• [전제] P+
• [조건] P → Q
• [결론] Q+
: “저 아기는 매우 기분이 좋다”
: “만일 아기가 기분이 좋으면, 그 아기는 웃는다”
: “저 아기는 매우 웃는다”
4
퍼지 추론

퍼지 추론의 합성 규칙
– 일반화된 긍정식에 대한 구체적인 추론 방법
관계 개념을 퍼지 명제에 대한 관계 개념으로 확장, 최대-최소 합성 연산에 의한 근
사적 결론을 추론
– 일반 형식
[전제] P1 : “x is A”
[조건] P2 : “(x, y) is R”
[결론] Q : “y is AR”
– 실제 추론에서 퍼지 조건 명제가 사용될 경우
[전제] P1 : “x is A+”
[조건] P2 : if “x is A” then “y is B”
[결론] Q : “y is B+”
→ B+ = A+RA→B
– 퍼지 조건 명제와 퍼지 관계의 변환이 중요: 표준 해결 방법은 없
음
B ( y ) 


xX
( A  ( x)  RA  B ( x, y ))
5
퍼지 추론

직접법에 의한 퍼지 추론
[전제] P+
: “x is A+”
[조건] PQ : if “x is A” then “y is B”
[결론] Q +
: “y is A+RA→B”
RA→B ≡ RP→Q , 퍼지 조건 명제 P → Q ≡ 퍼지 집합을 이용한 관계 A → B

A → B에 대한 RA→B의 결정 방법(실용상 간편한 방법)
– 조건 명제와 동치인 논리식 사용
(P → Q ≡ ~P∨Q ≡ (P∧Q)∨~P 이용)
RA→B = R(A∧B)∨~A로 하여 소속함수는
R ( x, y )  R
z
( A  B) ~ A
– Rescher의 다진 논리
1 if
Re( x, y )  
0 if
( x, y )  ( A( x)  B ( y ))  (1  A( x))
A( x)  B( y )
A( x)  B( y )
• A  B의 crisp logic의 연장
6
퍼지 추론

A → B에 대한 RA→B의 결정 방법 (계속)
– Lukasiewicz의 다진 논리 변형
R ( x, y )  1  (1  A( x)  B( y ))
e
• ~A ∨ B 의 연장
– Mamdani의 제안
R ( x, y )  ( A( x)  B ( y ))
m
• 일반적으로 가장 많이 사용
→ 각 방법에 따른 결론은 퍼지 관계가 다르므로 반드시 같지는 않다.
–
–
–
–
[
[
[
[
Rz 를 사용한 결론] : “y is A+ 
Rr 를 사용한 결론] : “y is A+ 
Re 를 사용한 결론] : “y is A+ 
Rm를 사용한 결론] : “y is A+ 
Rz
Rr
Re
Rm
“
“
“
“
7
퍼지 추론의 예
X=Y={1, 2, 3}
A: “x∈X가 작다”에 대한 퍼지 집합 = {1.0/1, 0.5/2, 0/3}
B: “y∈Y가 크다”에 대한 퍼지 집합 = {0/1, 0.5/2, 1.0/3}
A+: “x∈X가 매우 작다”에 대한 퍼지 집합
= {1.0/1, 0.25/2, 0/3}
( A  ( x)  A 2 ( x)  ( A( x)) 2 )


Rz, Rr, Re, Rm 각각을 구한다.
각 방법에 의한 추론 결과는
 0 0.5 1 
A   Rz  [1 0.25 0]  0.5 0.5 0.5  [0.25 0.5 1]
 1
1
1 
[전제] P1 : “x is A+”
; 1이 매우 작다 (1.0)
[조건] P2 : if “x is A” then “y is B” ; 1이 작으면 2는 크다
[결론] Q : “y is B+”
; 2는 매우 크다 (0.5)
8
퍼지 추론의 예

퍼지 조건 명제가 2개 이상인 일반적인 퍼지 추론
[전제] P+ : “x is A+”
[조건] P1 → Q1
: if “x is A1” then “y is B1”
P2 → Q2
: if “x is A2” then “y is B2”
…
Pn → Qn
: if “x is An” then “y is Bn”
[결론] Q+
: “y is B+”
– 조건들을 Or 또는 And로 취급하는 방식에 따라 추론 방식이
달라진다.
– Or 관계
RP  Q  RA1  B1  RA2  B 2    RAn  Bn
– And 관계
RP  Q  RA1  B1  RA2  B 2    RAn  Bn
9
퍼지 이론의 응용

퍼지 이론의 응용
–
–
–
–
인공지능, 지능 제어, 전문가 시스템, 패턴 인식
의료, 정보 검색, 가전제품
의사 결정 지원, 앙케이트 조사
퍼지 제어
• 세탁기, 카메라, 차량 제어 등 어느 정도 실용화
• 가장 많이 적용
• Production system과의 차이점
– 주로 1단계 추론으로 단순한 기술 적용
– 퍼지 전문가 시스템
•
•
•
•
•
•
•
문제 영역 전문가의 지식에 대해서 생성 방식으로 추론이 진행
전문가의 지식을 사실과 규칙으로 나누어 복잡한 추론 과정 진행
지식에 fuzziness를 도입 → 퍼지 생성 시스템 (production system)
퍼지 전문가 문진 시스템
Z-II: 심리 분석, 위험 분석
K-SISS: 주가 예측, 매매 결정 시스템
SPERIL: 건물의 구조 피해 진단 시스템
10
퍼지 이론의 응용

퍼지 제어 예
– i번째 규칙 Ri
• 세탁물(x)이 많아지고 (Ai) 세탁물의 오염도 (y)가 높을수록 (Bi), 세
제의 사용량을 증가시켜라 (Ci)
• Ai, Bi, Ci는 퍼지집합
– x = a, y = b일 때 z의 값은?
– Antecedent와의 적합도를 구한다 (그림 5.6 (a))
– 결론 부분에 전달하여 결론 퍼지집합 구한다 (그림 5.6(b))
11
퍼지 이론의 응용

퍼지 제어 예 (계속)
– 다른 규칙에 대해서도 같은 방법으로 결론 퍼지 집합 구한다 (그림
5.7)
• Max 방법을 사용
– 구한 모든 결론 퍼지 집합들로부터 비퍼지화 (defuzzification) 한
다
• 무게 중심 (center of gravity)방식이 많이 쓰임

퍼지이론 응용 연구의 trend
– Genetic Algorithm + Fuzzy System
– Neural Network + Fuzzy System
12
Fuzzy Control Application on a Traffic
Road



Inputs = {Arrival, Queue}
Output = {Extension}
퍼지 교통제어
inputs
Fuzzy
Logic
Control
output
13
Fuzzy Control

Traffic simulator
N
Front detector
W
E
S

Arrival : Green 신호에 진입한 차량 수
– N (7대), S (8대) = 15대

Queue : Red 신호에 대기하는 차량 수
– W (6대), E (5대) = 11대
14
Fuzzy Control

추론
– Primitive time (기본주기): 18초, A=10, Q=20
– Extension time: Primitive time 이외의 연장시간
f1: A=10 & Q=20 then E=0초
 f2: A=20 & Q=5 then E=10초
 f3: A=0 & Q=0 then E=?초

15
Fuzzy Control
1. Fuzzy input variables & their membership functions

1 zero
0
0
light
1
2
3
normal
4
5
6
7
8
short
9
10
차량 수
(a) Arrival
zero
1 zero
heavy
medium
0 0
light
1
2
3
normal
4
5
6
7
(b) Queue
heavy
8
9
10
차량 수
long
1
0
1
2
3
4
5
6
7
8
9
10
0
(c) Extension
초(sec)
16
Fuzzy Control

2. Fuzzy control rules (rule의 개수 4*4=16)
Queue
zero
light
normal heavy
Zero
zero
zero
zero
zero
Light
short
zero
zero
zero
Normal
medium short
zero
zero
heavy
long
medium short
zero
Arrival
Extensio
n
17
Fuzzy Control

규칙설명
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
R1: if Arrival = Z and Queue = Z then Extension = Z (Zero)
R2: if Arrival = Z and Queue = S then Extension = Z
R3: if Arrival = Z and Queue = M then Extension = Z
R4: if Arrival = Z and Queue = L then Extension = Z
R5: if Arrival = S and Queue = Z then Extension = S (Short)
R6: if Arrival = S and Queue = S then Extension = Z
R7: if Arrival = S and Queue = M then Extension = Z
R8: if Arrival = S and Queue = L then Extension = Z
R9: if Arrival = M and Queue = Z then Extension = M (Medium)
R10: if Arrival = M and Queue = S then Extension = S
R11: if Arrival = M and Queue = M then Extension = Z
R12: if Arrival = M and Queue = L then Extension = Z
R13: if Arrival = L and Queue = Z then Extension = L (Long)
R14: if Arrival = L and Queue = S then Extension = M
R15: if Arrival = L and Queue = M then Extension = S
R16: if Arrival = L and Queue = L then Extension = Z
18
Fuzzy Control

<계산식>
–
–
–
–
–
–
–

u[i] * u(i, Extension)
Extension = -------------------------u[i]
16
u[i] = ∑ min(Ri-Arrival, Ri-Queue)
i =1
u(i, Extension) = the extension_unit of i-th Rule
Ling. term
Extension
Z(zero)
0
S(Short)
M(Medium)
L(Long)
3
6
9
Linguistic Label of Extension
19
Fuzzy Control

Ex) Arrival = 7 이고 Queue = 5 일 때 Extension = ?
R1 : if Arrival(Zero) = 0 and Queue(Zero) = 0 then Extension(Zero) = 0초
R2 : if Arrival(Zero) = 0 and Queue(Short) = 0.2 then Extension(Zero) = 0초
R3 : if Arrival(Zero) = 0 and Queue(Medium) = 0.8 then Extension(Zero) = 0초
R4 : if Arrival(Zero) = 0 and Queue(Long) = 0 then Extension(Zero) = 0초
R5 : if Arrival(Short) = 0 and Queue(Zero) = 0 then Extension(Short) = 3초
R6 : if Arrival(Short) = 0 and Queue(Short) = 0.2 then Extension(Zero) = 0초
R7 : if Arrival(Short) = 0 and Queue(Medium) = 0.8 then Extension(Zero) = 0초
R8 : if Arrival(Short) = 0 and Queue(Long) = 0 then Extension(Zero) = 0초
R9 : if Arrival(Medium) = 0.7 and Queue(Zero) = 0 then Extension(Medium) = 6초
R10 : if Arrival(Medium) = 0.7 and Queue(Short) = 0.2 then Extension(Short) = 3초
R11 : if Arrival(Medium) = 0.7 and Queue(Medium) = 0.8 then Extension(Zero) = 0초
R12 : if Arrival(Medium) = 0.7 and Queue(Long) = 0 then Extension(Zero) = 0초
R13 : if Arrival(Long) = 0.4 and Queue(Zero) = 0 then Extension(Long) = 9초
R14 : if Arrival(Long) = 0.4 and Queue(Short) = 0.2 then Extension(Medium) = 6초
R15 : if Arrival(Long) = 0.4 and Queue(Medium) = 0.8 then Extension(Short) = 3초
R16 : if Arrival(Long) = 0.4 and Queue(Long) = 0 then Extension(Zero) = 0초
20
Fuzzy Control
numerator
Extension = -------------denominator
0.2*3 + 0.7*0 + 0.2*6 + 0.4*3
= --------------------------------------0.2 + 0.7 + 0.2 + 0.4
= 2 (sec)
21
Summary
퍼지
 퍼지
 퍼지
 퍼지
 퍼지
 퍼지

이론 (Fuzzy Theory)
집합 (Fuzzy Set)
관계 (Fuzzy Relation)
수 (Fuzzy Number)
추론 (Fuzzy Inference)
제어 응용 (Fuzzy Control Application)
22