퍼지 이론 (Fuzzy Theory) 컴퓨터를 인간에 가깝게 하는 일의 어려움 Zadeh의 퍼지 집합 컴퓨터의 수치 및 기호처리를 이용 → 모호하지 않은 작업처리 인간의 행동 → 애매한 정보를 많이 이용 ↓ 퍼지 이론: 애매함을 처리하는 수리 이론 Zadeh의 퍼지 집합 “아름다운 여자의 집합”, “키 큰 사람의 집합” 패턴 인식, 의미 정보 전달, 추상화 등에 중요한 역할 소속 여부가 확실하지 않은 경우의 집합 - 수학적 집합과 배치 정밀 복잡한 제어 이론을 개괄적으로 해결하려는 의도 Crisp 논리 vs Fuzzy 논리 0,1의 명제값과 0과 1사이의 실수값을 명제값으로 가짐 “오늘 비가 올 확률이 70%이다” → 명제의 확신도 → 확률과 다른가? “내일 미인을 만날 확률이 50%이다” → 내일의 만남은 확률, 미인인지는 애매함
퍼지 집합(Fuzzy Set) 기호 퍼지 집합 표현 집합 X의 최대값 연산: ∨ 최소값 연산: ∧ 전체 집합 X의 각 원소 x가 X의 퍼지 집합 A에 속하는 정도, 즉 퍼지 집합 A의 소속 함수(membership function) x∈X가 퍼지 집합 A에 소속되는 정도(degree or grade of membership) 퍼지 집합 표현 집합 X가 이산: 집합 X가 연속:
정규 퍼지 집합(Normal Fuzzy Set) 지지 집합(Support Set) 예) 퍼지집합 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는 정규 퍼지 집합이라 한다. or 볼록 퍼지 집합(Convex Fuzzy Set)
상등(집합 X의 두개의 퍼지 집합 A, B) 포함 (집합 X의 두개의 퍼지 집합 A, B) 예) 퍼지 집합 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={키가 작지 않은 사람}일 때 포함관계? 해: 퍼지 집합 A B
퍼지 집합의 연산 한계합 한계곱 -컷 예) 키가 크거나 몸무게가 무거운 사람의 집합 , 키도 크고 몸무게도 무거운 사람의 집합, 키가 크지 않은 사람의 집합
퍼지 관계(Fuzzy Relation) 정의 집합 X, Y 사이의 퍼지 관계 R의 소속 함수 예) X={1, 2}, Y={1, 3, 5}, R=“y는 x보다 훨씬 크다” 해: 두 수 x, y의 비를 보고 주관적으로 정하면,
퍼지 집합의 관계 역 퍼지 관계 집합 A, B는 전체 집합 X, Y상의 퍼지 집합 AB는 X Y상의 퍼지 관계 예) X={1, 2}, Y={1, 3, 5}, R=“y는 x보다 훨씬 크다” 의 역 퍼지 관계? 해: R-1=“x는 y보다 훨씬 작다”
퍼지 관계의 연산(X Y상의 퍼지 관계 P, R에 대해) 예) X={x1, x2}, Y={y1, y2}, X와 Y 사이의 퍼지 관계 P와 R이 다음과 같이 주어질 때, PR, PR, Rc ? 해:
퍼지 관계의 합성(Composition) P: X Y상의 퍼지 관계 R: Y Z상의 퍼지 관계 PR: X Z상의 퍼지 관계 → 최대-최소 합성(max-min composition) 경우에 따라서는 최대-곱, 최소-최대, 최대-최대, 최소-최소, 최대-평균 등을 적용할 수 있다. 퍼지 집합과 퍼지 관계 합성 X상의 퍼지 집합 A와 X Y상의 퍼지 관계 R의 합성 R을 f: X → Y로 해석하면, f(A)=A R : A의 f에 의한 상(image)
예) P(X Y)와 R(Y Z)이 주어질 때, PR(X Z)의 최대-최소 합성? 해:
퍼지 수(Fuzzy Number) 임의의 실수 r에 대해서, “약 r”, “거의 r” 퍼지 수를 나타내는 퍼지 집합의 소속 함수 정규이고 볼록 형태를 갖는 퍼지 집합 종형: 매끄러운 모양이지만 계산이 복잡
삼각형: 종형의 간략화로서 일반적으로 많이 사용됨 사다리꼴: 종형과 삼각형의 혼합, 간단
퍼지 추론 (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)
퍼지 추론(Fuzzy Reasoning) 퍼지 추론: 몇 개의 퍼지 명제로부터 하나의 다른 근사적인 퍼지 명제를 유도하는 근사 추론(approximate reasoning) 긍정식(modus ponens)가 추론의 기반 [ P와 PQ가 참이면, Q가 참 ] 임을 주장하는 규칙 “영희는 미인이다” 와 “미인은 박명한다”의 경우 일반 추론: “영희는 박명한다” 퍼지 추론: “영희는 미인인 정도 만큼 박명한다” 일반화된 긍정식(generalized modus ponens): 전제와 전건부가 완전 일치가 안됨 → 후건부도 결론과 완전 일치가 안됨 [전제] P+ : “저 아기는 매우 기분이 좋다” [조건] P → Q : “만일 아기가 기분이 좋으면, 그 아기는 웃는다” [결론] Q+ : “저 아기는 매우 웃는다”
퍼지 추론의 합성 규칙 일반화된 긍정식에 대한 구체적인 추론 방법 일반 형식 실제 추론에서 퍼지 조건 명제가 사용될 경우 관계 개념을 퍼지 명제에 대한 관계 개념으로 확장, 최대-최소 합성 연산에 의한 근사적 결론을 추론 일반 형식 [전제] P1 : “x is A” [조건] P2 : “(x, y) is R” [결론] Q : “y is AR” 실제 추론에서 퍼지 조건 명제가 사용될 경우 [전제] P1 : “x is A+” [조건] P2 : if “x is A” then “y is B” [결론] Q : “y is B+” → B+ = A+RA→B 퍼지 조건 명제와 퍼지 관계의 변환이 중요: 표준 해결 방법은 없음
A → B에 대한 RA→B의 결정 방법(실용상 간편한 방법) 직접법에 의한 퍼지 추론 [전제] P+ : “x is A+” [조건] PQ : 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로 하여 소속함수는 Rescher의 다진 논리
A → B에 대한 RA→B의 결정 방법(계속) Lukasiewicz의 다진 논리 변형 Mamdani의 제안 일반적으로 가장 많이 사용 → 각 방법에 따른 결론은 퍼지 관계가 다르므로 반드시 같지는 않다. [ 를 사용한 결론] : “y is A+ “
퍼지 추론의 예 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} Rz, Rr, Re, Rm 각각을 구한다. 각 방법에 의한 추론 결과는 [전제] 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)
조건들을 Or 또는 And로 취급하는 방식에 따라 퍼지 조건 명제가 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 또는 And로 취급하는 방식에 따라 추론 방식이 달라진다.
퍼지 이론의 응용 인공지능, 지능 제어, 전문가 시스템, 패턴 인식 의료, 정보 검색, 가전제품 의사 결정 지원, 앙케이트 조사 퍼지 제어 세탁기, 카메라, 차량 제어 등 어느 정도 실용화 가장 많이 적용 주로 1단계 추론으로 단순한 기술 적용 퍼지 전문가 시스템 문제 영역 전문가의 지식에 대해서 생성 방식으로 추론이 진행 전문가의 지식을 사실과 규칙으로 나누어 복잡한 추론 과정 진행 지식에 fuzziness를 도입 → 퍼지 생성 시스템(production system)
Fuzzy control application on a Traffic Road 퍼지 교통제어 Fuzzy Logic Control inputs output Inputs={Arrival, Queue} Output={Extension}
Arrival : Green 신호에 진입한 차량 수 Fuzzy control Traffic simulator N Front detector W E Arrival : Green 신호에 진입한 차량 수 N(7대), S(8대)=15대 Rear detector Queue : Red 신호에 대기하는 차량 수 W(6대), E(5대)=11대 S
f1 : A=10 & Q=20 then E=0초 f2 : A=20 & Q=5 then E=10초 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=?초
1. Fuzzy input variables & their membership functions Fuzzy control 1. Fuzzy input variables & their membership functions zero light normal heavy zero light normal heavy 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 zero short medium long 0 1 2 3 4 5 6 7 8 9 10
2. Fuzzy control rules(rule의 개수 4*4=16) Extension
R1 : if Arrival = Z and Queue = Z then Extension = Z(Zero) Fuzzy control <규칙설명> R1 : if Arrival = Z and Queue = Z then Extension = Z(Zero) R2 : if Arrival = Z and Queue = L then Extension = Z R3 : if Arrival = Z and Queue = N then Extension = Z R4 : if Arrival = Z and Queue = H then Extension = Z R5 : if Arrival = L and Queue = Z then Extension = S(Short) R6 : if Arrival = L and Queue = L then Extension = Z R7 : if Arrival = L and Queue = N then Extension = Z R8 : if Arrival = L and Queue = H then Extension = Z R9 : if Arrival = N and Queue = Z then Extension = M(Medium) R10 : if Arrival = N and Queue = L then Extension = S R11 : if Arrival = N and Queue = N then Extension = Z R12 : if Arrival = N and Queue = H then Extension = Z R13 : if Arrival = H and Queue = Z then Extension = L(Long) R14 : if Arrival = H and Queue = L then Extension = M R15 : if Arrival = H and Queue = N then Extension = S R16 : if Arrival = H and Queue = H then Extension = Z
∑ (min( Ai[a] , Bi[b] ) * Ei) i=1 Fuzzy control <계산식> 규칙 Ri의 첫번째 조건을 Ai, 두번째 조건을 Bi, Extension을 Ei라 하고, 조건 A, B에 대한 센서의 측정값을 a, b라고 할 때, 16 ∑ (min( Ai[a] , Bi[b] ) * Ei) i=1 E = -------------------------------------- ∑ min( Ai[a] , Bi[b] ) i =1 Linguistic Label of Extension
Ex) Arrival = 7 이고 Queue = 5 일 때 Extension = ? 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(Light) = 1/3 then Extension(Zero) = 0초 R3 : if Arrival(Zero) = 0 and Queue(Normal) = 2/3 then Extension(Zero) = 0초 R4 : if Arrival(Zero) = 0 and Queue(Heavy) = 1/3 then Extension(Zero) = 0초 R5 : if Arrival(Light) = 0 and Queue(Zero) = 0 then Extension(Short) = 3초 R6 : if Arrival(Light) = 0 and Queue(Light) = 1/3 then Extension(Zero) = 0초 R7 : if Arrival(Light) = 0 and Queue(Normal) = 2/3 then Extension(Zero) = 0초 R8 : if Arrival(Light) = 0 and Queue(Heavy) = 1/3 then Extension(Zero) = 0초 R9 : if Arrival(Normal) = 2/3 and Queue(Zero) = 0 then Extension(Medium) = 6초 R10 : if Arrival(Normal) = 2/3 and Queue(Light) = 1/3 then Extension(Short) = 3초 R11 : if Arrival(Normal) = 2/3 and Queue(Normal) = 2/3 then Extension(Zero) = 0초 R12 : if Arrival(Normal) = 2/3 and Queue(Heavy) = 1/3 then Extension(Zero) = 0초 R13 : if Arrival(Heavy) = 1/3 and Queue(Zero) = 0 then Extension(Long) = 9초 R14 : if Arrival(Heavy) = 1/3 and Queue(Light) = 1/3 then Extension(Medium) = 6초 R15 : if Arrival(Heavy) = 1/3 and Queue(Normal) = 2/3 then Extension(Short) = 3초 R16 : if Arrival(Heavy) = 1/3 and Queue(Heavy) = 1/3 then Extension(Zero) = 0초
= ----------------------- 7/3 = 1.714 (sec) Fuzzy control 1/3*3 + 2/3*0 + 1/3*0 + 1/3*6 + 1/3*3 + 1/3*0 Extension = ------------------------------------------------------------ 1/3 + 2/3 + 1/3 + 1/3 + 1/3 + 1/3 12/3 = ----------------------- 7/3 = 1.714 (sec)