(Fuzzy Theory) 컴퓨터를 인간에 가깝게 하는 일의 어려움 Zadeh Crisp

Download Report

Transcript (Fuzzy Theory) 컴퓨터를 인간에 가깝게 하는 일의 어려움 Zadeh Crisp

5. 퍼지이론
퍼지 이론 (Fuzzy Theory)
 컴퓨터를
인간에 가깝게 하는 일의 어려움
컴퓨터의 수치 및 기호처리를 이용 → 모호하지 않은 작업처리
 인간의 행동 → 애매한 정보를 많이 이용
↓
 퍼지 이론: 애매함을 처리하는 수리 이론

 Zadeh의
퍼지 집합
“아름다운 여자의 집합”, “키 큰 사람의 집합”
 패턴 인식, 의미 정보 전달, 추상화 등에 중요한 역할
 소속 여부가 확실하지 않은 경우의 집합 - 수학적 집합과 배치
 정밀 복잡한 제어 이론을 개괄적으로 해결하려는 의도

 Crisp
논리 vs Fuzzy 논리
0,1의 명제값과 0과 1사이의 실수값을 명제값으로 가짐
 “오늘 비가 올 확률이 70%이다” → 명제의 확신도 → 확률과 다른가?
 “내일 미인을 만날 확률이 50%이다” → 내일의 만남은 확률, 미인인지
는 애매함

인공지능: 개념 및 응용
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
5. 퍼지이론
퍼지 집합(Fuzzy Set)
 기호
집합 X의 최대값 연산: ∨
최소값 연산: ∧
 A : X  [0, 1] 전체 집합 X의 각 원소 x가 X의 퍼지 집합 A에 속하
는 정도, 즉 퍼지 집합 A의 소속 함수(membership function)
  A (x)
x∈X가 퍼지 집합 A에 소속되는 정도(degree or grade of
membership) (0   A ( x)  1)

 퍼지
집합 표현
집합 X가 이산: A  {A ( x1) / x1,
 집합 X가 연속: A 
 A ( x) / x

A ( x 2) / x 2, , A ( xn) / xn}
x
인공지능: 개념 및 응용
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
5. 퍼지이론
 지지
집합(Support Set)
supp ( A)  {x  X | A( x)  0}
예) 퍼지집합 A={1.0/1, 0/2, 0.5/3, 0/4, 0.2/5}일 때, supp(A)?
해: supp(A) = { 1, 3, 5 }
 정규

퍼지 집합(Normal Fuzzy Set)
x∈X중에서 적어도 하나의 원소가 퍼지 집합 A의 소속 함수 값이 1이
될때, A는 정규 퍼지 집합이라 한다.
 A ( x)  1, for x  X
or
 볼록
  A ( x)  1
x X
퍼지 집합(Convex Fuzzy Set)
임의의 구간 x1  x  x 2 인 x에 대해서
A( x)  A( x1)  A( x 2)
인공지능: 개념 및 응용
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
5. 퍼지이론
 상등(집합
X의 두개의 퍼지 집합 A, B)
A  B iff A( x)  B ( x) for x  X
예) 퍼지 집합 A={ 1/1, 0.5/2, 0/3}, B={y| y=-1/2x+3/2, for x=1,2,3}
해: 퍼지 집합 A=B
 포함
(집합 X의 두개의 퍼지 집합 A, B)
A  B iff A( x)  B ( x) for x  X
예) 퍼지 집합 A={키 큰 사람}, B={키가 작지 않은 사람}일 때 포함관계?
해: 퍼지 집합 A  B
인공지능: 개념 및 응용
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
5. 퍼지이론
 퍼지
집합의 연산
A  B ( x)  max{ A( x), B ( x)} for x  X
 A  B ( x )  min{ A( x ), B ( x )} for x  X
C
 A ( x)  1  A( x) for x  X
 한계합 A  B ( x )  ( A( x )  B ( x ))  1 for x  X
 한계곱 A  B ( x )  ( A( x )  B ( x )  1)  0 for x  X
 -컷 A ( x )  {x | ( A( x )   } for x  X ,  [0, 1]

예) 키가 크거나 몸무게가 무거운 사람의 집합 , 키도 크고 몸무게도 무거
운 사람의 집합, 키가 크지 않은 사람의 집합
인공지능: 개념 및 응용
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
5. 퍼지이론
퍼지 관계(Fuzzy Relation)
 정의
 집합
X, Y 사이의 퍼지 관계 R의 소속 함수
R : X  Y  [0, 1]
X  {x1, x 2, , xn}, Y  { y1, y 2, , ym}일때
 R ( x1, y1) R ( x1, y 2)
 R ( x 2, y1) R ( x 2, y 2)
R
 


 R ( xn, y1) R ( xn, y 2)
 R ( x1, ym) 
 R ( x 2, ym)

 

 R ( xn, ym) 
예) X={1, 2}, Y={1, 3, 5}, R=“y는 x보다 훨씬 크다”
해: 두 수 x, y의 비를 보고 주관적으로 정하면,
1
R
1
2
인공지능: 개념 및 응용
3
5
0 0.3 0.7
0 0.1 0.4 


도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
5. 퍼지이론
 퍼지
집합의 관계
집합 A, B는 전체 집합 X, Y상의 퍼지 집합
 AB는 X  Y상의 퍼지 관계

A  B( x, y )  A( x)  B( y ) for ( x , y )  X  Y
역
퍼지 관계
R ( y, x)  R( x, y) for ( y, x)  Y  X
1
예) X={1, 2}, Y={1, 3, 5}, R=“y는 x보다 훨씬 크다” 의 역 퍼지 관계?
해: R-1=“x는 y보다 훨씬 작다”
1
1
R 
1
3
5
인공지능: 개념 및 응용
2
0
0
0.3 0.1


0.7 0.4
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
5. 퍼지이론
 퍼지



관계의 연산(X  Y상의 퍼지 관계 P, R에 대해)
P  R ( x, y )  max{ P ( x, y ), R ( x, y )} for ( x , y )  X  Y
P  R( x, y )  min{ P ( x, y ), R ( x, y )} for ( x , y )  X  Y
R c ( x, y)  1  R( x, y) for ( x, y )  X  Y
예) X={x1, x2}, Y={y1, y2}, X와 Y 사이의 퍼지 관계 P와 R이 다음과
같이 주어질 때, PR, PR, Rc ?
0.5 0.4
P

 0.1 0.8
0.2 0.5
R

0.3 0.7
해:
0.5 0.5
PR  

0.3 0.8
인공지능: 개념 및 응용
도용태 김일곤 김종완 박창현 공저
0.2 0.4
PR  

 0.1 0.7
0.8 0.5
R 

0.7 0.3
c
Artificial Intelligence: Concepts and Applications
5. 퍼지이론
 퍼지
관계의 합성(Composition)
P: X  Y상의 퍼지 관계
R: Y  Z상의 퍼지 관계
PR: X  Z상의 퍼지 관계
P  R( x, z)  max
[min{ P( x, y), R( y, z )}]
yY
→ 최대-최소 합성(max-min composition)
– 경우에 따라서는 최대-곱, 최소-최대, 최대-최대, 최소-최소, 최대-평균 등
을 적용할 수 있다.
 퍼지

집합과 퍼지 관계 합성
X상의 퍼지 집합 A와 X  Y상의 퍼지 관계 R의 합성
A  R( y)  max
[min{ A( x), R( x, y)}], y  Y
xX
 R을 f: X → Y로 해석하면, f(A)=A  R : A의 f에 의한 상(image)
인공지능: 개념 및 응용
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
5. 퍼지이론
예) P(X  Y)와 R(Y  Z)이 주어질 때, PR(X  Z)의 최대-최소 합성?
 0.1 1 
0.2 0.3 1 
P
R


 0 0.5 0.8
0.5 0.3


해:
P  R ( x, z )  max
[min{ P ( x, y ), R ( y, z )}]
yY
P  R (1,1)  max
[min{ P (1, y ), R ( y,1)}]
yY
 y 1, 2 [ P (1, y )  R ( y,1)]
 [ P (1,1)  R (1,1)]  [ P (1,2)  R (2,1)]
 [0.1  0.2]  [1  0]  0.1  0  0.1
P  R (1,3)  0.8
P  R(1,2)  [0.1  0.3]  [1  0.5]  0.5
P  R (2,1)  0.2, P  R (2,2)  0.3, P  R (2,3)  0.5
인공지능: 개념 및 응용
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
5. 퍼지이론
퍼지 수(Fuzzy Number)
실수 r에 대해서, “약 r”, “거의 r”
 퍼지 수를 나타내는 퍼지 집합의 소속 함수
 임의의
정규이고 볼록 형태를 갖는 퍼지 집합
 종형: 매끄러운 모양이지만 계산이 복잡

b ( x)  [1  ( xr r ) ]e
2
 ( x2r )
2
r
2
인공지능: 개념 및 응용
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
5. 퍼지이론

삼각형: 종형의 간략화로서 일반적으로 많이 사용됨
 ( r 1 p ) ( x  r )  1
 tr ( x)   1
 ( q  r ) ( x  r )  1

pxr
rxq
사다리꼴: 종형과 삼각형의 혼합, 간단
 ( s 1 p ) ( x  s )  1

 tz ( x)  
1
 1 ( x  t )  1
 ( q t )
인공지능: 개념 및 응용
도용태 김일곤 김종완 박창현 공저
pxs
s xt
txq
Artificial Intelligence: Concepts and Applications
5. 퍼지이론
퍼지 추론 (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)
인공지능: 개념 및 응용
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
5. 퍼지이론
 퍼지 추론(Fuzzy Reasoning)
 퍼지
추론: 몇 개의 퍼지 명제로부터 하나의 다른 근사적인 퍼지 명
제를 유도하는 근사 추론(approximate reasoning)
긍정식(modus ponens)가 추론의 기반
[ P와 PQ가 참이면, Q가 참 ] 임을 주장하는 규칙
 “영희는 미인이다” 와 “미인은 박명한다”의 경우

– 일반 추론: “영희는 박명한다”
– 퍼지 추론: “영희는 미인인 정도 만큼 박명한다”
 일반화된
긍정식(generalized modus ponens): 전제와 전건부가
완전 일치가 안됨 → 후건부도 결론과 완전 일치가 안됨
[전제] P+
[조건] P → Q
[결론] Q+
인공지능: 개념 및 응용
: “저 아기는 매우 기분이 좋다”
: “만일 아기가 기분이 좋으면, 그 아기는 웃는다”
: “저 아기는 매우 웃는다”
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
5. 퍼지이론
 퍼지

추론의 합성 규칙
일반화된 긍정식에 대한 구체적인 추론 방법
관계 개념을 퍼지 명제에 대한 관계 개념으로 확장, 최대-최소 합성 연산에
의한 근사적 결론을 추론

일반 형식
[전제] 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 ))
퍼지 조건 명제와 퍼지 관계의 변환이 중요: 표준 해결 방법은 없음
인공지능: 개념 및 응용
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
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 )
Artificial Intelligence: Concepts and Applications
5. 퍼지이론
A
→ B에 대한 RA→B의 결정 방법(계속)

Lukasiewicz의 다진 논리 변형
R ( x, y )  1  (1  A( x)  B( y ))
e

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“
Artificial Intelligence: Concepts and Applications
5. 퍼지이론
퍼지 추론의 예
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}

2
2
A+: “x∈X가 매우 작다”에 대한 퍼지 집합 ( A ( x)  A ( x)  ( A( x)) )
= {1.0/1, 0.25/2, 0/3}
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)
인공지능: 개념 및 응용
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
5. 퍼지이론
 퍼지
조건 명제가 2개 이상인 일반적인 퍼지 추론
[전제] P+
[조건] P1 → Q1
P2 → Q2
Pn → Qn
[결론] Q+

: “x is A+”
: if “x is A1” then “y is B1” 조건들을 Or 또는 And로
: if “x is A2” then “y is B2” 취급하는 방식에 따라
추론 방식이 달라진다.
…
: if “x is An” then “y is Bn”
: “y is B+”
Or 관계
RP  Q  RA1  B1  RA2  B 2    RAn  Bn

And 관계
RP  Q  RA1  B1  RA2  B 2    RAn  Bn
인공지능: 개념 및 응용
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
5. 퍼지이론
 퍼지 이론의 응용
 인공지능,
지능 제어, 전문가 시스템, 패턴 인식
 의료, 정보 검색, 가전제품
 의사 결정 지원, 앙케이트 조사
 퍼지
제어
세탁기, 카메라, 차량 제어 등 어느 정도 실용화
 가장 많이 적용
 주로 1단계 추론으로 단순한 기술 적용

 퍼지
전문가 시스템
문제 영역 전문가의 지식에 대해서 생성 방식으로 추론이 진행
 전문가의 지식을 사실과 규칙으로 나누어 복잡한 추론 과정 진행
 지식에 fuzziness를 도입 → 퍼지 생성 시스템(production system)

인공지능: 개념 및 응용
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
Fuzzy control application on a Traffic Road
퍼지 교통제어
inputs
Fuzzy
Logic
Control
Inputs={Arrival, Queue}
Output={Extension}
output
Fuzzy control
Traffic simulator
N
Front detector
W
E
Arrival : Green 신호에 진입한 차량 수
N(7대), S(8대)=15대
Queue : Red 신호에 대기하는 차량 수
W(6대), E(5대)=11대
S
Fuzzy control
추론
Primitive time(기본주기) :18초, A=10, Q=20
Extension time : Primitive time 이외의 연장시간
f1 : A=10 & Q=20
f2 : A=20 & Q=5
f3 : A=0 & Q=0
then
then
then
E=0초
E=10초
E=?초
Fuzzy control
1. Fuzzy input variables & their membership functions
1 zero
0
0
light
1
2
3
normal
4
5
6
7
8
0
0
short
1
2
3
medium
4
5
6
9
10
차량 수
(a) Arrival
1 zero
1 zero
heavy
7
(c) Extension
long
8
9
10
초(sec)
0 0
light
1
2
3
normal
4
5
6
7
(b) Queue
heavy
8
9
10
차량 수
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
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
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
Fuzzy control
Ex) Arrival = 7 이고 Queue = 5 일 때 Extension = ?
R1 : if Arrival(Zero) = 0 and Queue(Zero) = 0 then Extension(Zero) = 0초
min(0, 0) = 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초
min(0.7, 0.2) = 0.2
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초
Fuzzy control
numerator
Extension = -------------denominator
numerator = 0*0+ 0*0+ 0*0+ 0*0+0*3+ 0*0+ 0*0+ 0*0+0*6+ 0.2*3+ …
denominator = 0+ 0+ 0+ 0+ 0+ 0+ 0+ 0+ 0+0.2+ 0.7+ 0+ 0+ 0.2+ 0.4+ 0
0.2*3 + 0.7*0 + 0.2*6 + 0.4*3
Extension = ------------------------0.2 + 0.7 + 0.2 + 0.4
= 2(sec)