390 likes | 1.86k Views
퍼지 이론 (Fuzzy Theory). 컴퓨터를 인간에 가깝게 하는 일의 어려움 컴퓨터의 수치 및 기호처리를 이용 → 모호하지 않은 작업처리 인간의 행동 → 애매한 정보를 많이 이용 ↓ 퍼지 이론 : 애매함을 처리하는 수리 이론 Zadeh 의 퍼지 집합 “아름다운 여자의 집합” , “ 키 큰 사람의 집합” 패턴 인식 , 의미 정보 전달 , 추상화 등에 중요한 역할 소속 여부가 확실하지 않은 경우의 집합 - 수학적 집합과 배치 정밀 복잡한 제어 이론을 개괄적으로 해결하려는 의도
E N D
퍼지 이론 (Fuzzy Theory) • 컴퓨터를 인간에 가깝게 하는 일의 어려움 • 컴퓨터의 수치 및 기호처리를 이용 → 모호하지 않은 작업처리 • 인간의 행동 → 애매한 정보를 많이 이용 ↓ • 퍼지 이론: 애매함을 처리하는 수리 이론 • 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가 연속:
지지 집합(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) 예) 퍼지 집합 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 • 퍼지 조건 명제와 퍼지 관계의 변환이 중요: 표준 해결 방법은 없음
직접법에 의한 퍼지 추론 [전제] 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+ “ • [ 를 사용한 결론] : “y is A+ “ • [ 를 사용한 결론] : “y is A+ “ • [ 를 사용한 결론] : “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)
퍼지 조건 명제가 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}
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
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=?초
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
Fuzzy control 2. Fuzzy control rules(rule의 개수 4*4=16) Extension
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 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)