360 likes | 1.5k Views
퍼지이론 (Fuzzy Theory). 퍼지집합의 개요. 1965년 Zadeh 교수에 의해 소개됨 인간의 언어를 컴퓨터로 표현하고 처리하고자 제안된 새로운 형태의 인공지능 이론 Possibility Theory 확률을 바탕으로 추측되는 느낌 또는 개연성 또는 인간의 경험적 심증 Probability: 통계적 근거에 의한 예측치. 퍼지이론에서의 용어. 퍼지집합( Fuzzy Set): 불확실한 의미를 표현하는 집합 멤버쉽 함수( Membership Function): 퍼지집합에 속하는 정도
E N D
퍼지집합의 개요 • 1965년 Zadeh 교수에 의해 소개됨 • 인간의 언어를 컴퓨터로 표현하고 처리하고자 제안된 새로운 형태의 인공지능 이론 • Possibility Theory • 확률을 바탕으로 추측되는 느낌 또는 개연성 또는 인간의 경험적 심증 • Probability: 통계적 근거에 의한 예측치
퍼지이론에서의 용어 • 퍼지집합(Fuzzy Set): 불확실한 의미를 표현하는 집합 • 멤버쉽 함수(Membership Function): 퍼지집합에 속하는 정도 (Crisp Set) (Fuzzy Set) • 멤버쉽 값(Membership Value): 멤버쉽 함수에 의한 값, • 전체집합(Universe of Discourse): 퍼지집합을 표현하는 원소들의 집합 • 원소(Element): 전체집합내의 각 원소, • 퍼지집합의 표현 • discrete 또는 continuous(원소의 종류에 따라) • 순서쌍 또는 그래프 형태(원소의 표현 방식에 따라) • 한정사(qualifier) • Very: 제곱을 해서 계산, 값이 더 작아짐 • More or less: 제곱근으로 계산, 값이 더 커짐 • Not: 1에서 뺀 값으로 계산, 보수
퍼지 집합 연산 예 • Example: ‘젊다’의 퍼지집합표현 • 젊다={(0, 0) (10, 0.4) (20, 0.9) (25, 1) (40, 0.4) (50, 0)} • 매우젊다={(0,0) (10, 0.16) (20, 0.81) (25, 1) (40, 0.16) (50, 0)} • 다소젊다={(0,0) (10, 0.64) (20, 0.95) (25, 1) (30, 0.95) (40, 0.64) (50, 0)} • 젊지않다={(0,1) (10, 0.6) (20, 0.1) (25, 0) (30, 0.1) (40, 0.6) (50, 1)}
μ 1 속할 때 속하지 않을 때 0 x∈X 일반집합(크리스프집합) • 일반집합과 퍼지집합과의 차이점은, 일반집합인 경우는 어떤 원소 x가 집합 A에 속하느냐(1) 속하지 않느냐(0)만을 나타내지만 퍼지집합은 어느정도 속하는지는 멤버쉽 값으로 나타내는 점이 차이점이다.
확장된 퍼지집합 • 퍼지집합의 예
퍼지집합의 연산 (1) 여집합: 1에서 모든 멤버쉽 값을 뺀 것 µ젊지 않다 = {(5,1) (15,0.8) (25,0) (35,0.2) (45,0.6) (55,0.9) (65,1) (75,1) (85,1)} (2) 합집합 : 두 멤버쉽 값중 최대값을 취한 것 젊다 U 성숙하다 ={(15,0.2)(25,1)(35,1)(45,1)(55,1)(65,1)(75,1)(85,1)} (3) 교집합: 두 멤버쉽 값 중 최소값을 취한 것 젊다 성숙하다 ={(15,0.1)(25,0.9)(35,0.8)(45,0.4)(55,0.1)} <중요한 법칙> : 책의 표기를 잘 볼 것 Law of contradiction : A교집합A’ = Ø (공집합) Law of excluded middle : AUA’ = X(전체집합) ∪
퍼지 논리 • 퍼지논리: 고전논리를 확장한 것 • 부정: a’=1-a • 논리곱: a ^ b= min(a,b) • 논리합: aVb=max(a,b) • 조건명제: a->b=min(1, 1-a+b) • 예제 • 홍길동의 얼굴은 황색이다 : x1=0.6 • 한국인의 얼굴은 황색이다: x2=0.8 일때 • “홍길동의 얼굴이 황색이면 한국인의 얼굴은 황색이다”의 퍼지수식및 진리값은? x1->x2 = min(1, 1-0.7+0.8) = 1
퍼지논리식 연산의 예 1. a=1, b=0이면 (1) a’=0 (2) a ^b = min(1,0)=0 (3) aVb = max(1,0)=1 (4) a->b=min(1, 1-1+0) = 0 2. a=1, b=1이면 (1) a’=0 (2) a ^b = min(1,1)=1 (3) aVb = max(1,1)=1 (4) a->b=min(1, 1-1+1) = 1 3. a=0.6, b=0.7이면 (1) a’=0.4 (2) a ^b = min(0.6, 0.7)=0.6 (3) aVb = max(0.6, 0.7)=0.7 (4) a->b=min(1, 1-0.6+0.7) = min(1, 1.1)=1
퍼지규칙의 표현 <고전논리에서의 술어논리식> “x is a man” “y is P” “x는 정수이다” <퍼지논리에서의 술어논리식> “z is expensive” “w is young” “k는 큰 숫자이다” 퍼지단어가 아니므로 보통집합으로 표현가능 퍼지단어이므로 퍼지집합으로 표현 <표현의 예>μyoung(20) =0.8 : 20세가 퍼지집합 young에 소속할 가능성은 0.8이다는 뜻. 따라서 명제의 진리값도 0.8이 된다.
퍼지규칙의 이용 • 퍼지지식은 퍼지명제나 퍼지술어로 표현된다. • 퍼지명제와 퍼지술어는 퍼지집합에 의해 표현된다. • 퍼지논리를 이용하여 지식표현이 가능하다. • 퍼지규칙의 표현방법 • C: 온도가 높다 • D: 스위치를 낮게 내린다. 이면, • C=>D로 표현한다. • 만약 C의 진리값이 0.5, D의 진리값이 0.2이면, min(1, 1-0.5+0.2) = min(1, 0.7)- 0.7로 표현할 수 있다.
퍼지 추론 방법(CRI) 추론 유형에 따른 분류 GMP GMT 퍼지 관계의 정의방식에 따른 분류 Max-Min CRI 방법 Larsen 방법 Tukamoto 방법 Sugeno 방법 Baldwin 방법 Cao 방법 퍼지추론방법의 분류
퍼지추론 형태(GMP, GMT) • GMP(Generalized Modus Ponens): data-driven IF x is A THEN y is B x is A’ ___________________ y is B’ • GMT(Generalized Modus Tolens): goal-driven IF x is A THEN y is B y is B’ ___________________ x is A’
Ù R * : ( i nter sec tion ) Ú R : ( union ) GMP와 연산 기호 B’=A’° (A -> B) = A’ ° R Fuzzy Implication Operator:72(36 * 2) types: 1. 각 규칙에 대한 Ri 계산(36 types) 2. 전체 R 계산 using ALSO(2 types): 삼각노름과 삼각공통노름을 이용하여 퍼지조건연산자는 5가지 types으로 분류됨 72 types 중 7가지 정도가 많이 쓰임 : Mamdani 합성법칙은 4타입으로써 합성기호로 max-min과 R(union)을 이용한 경우 Compositional Operator 5 types: Max-min Max-product Max-bounded-product Max-drastic-product Sum-product
a = m m MaxMin ( ( u ), ( u )) ' A A " Î Î m = m m v V , u U , B ' ( v ) MaxMin ( A ' ( u ), R ( u , v )) = a m Min ( , B ( v )) P = m P = m x A y B Max-Min CRI Max-Min CRI (Direct Method 또는 Zadeh의 추론 방법) 1단계: Takefuji의 일치도 2단계: CRI 합성순서(R계산) IF X is A1 THEN Y is B1 ALSO IF X is A2 THEN Y is B2 ………… ALSO IF X is An THEN Y is Bn • IF X is A THEN Y is B • IF THEN • B’ = A’ ° (A -> B) • = A’ ° R 비퍼지화 전략: Max Criterion Method Mean of Maximum Method Center of Area Method Centroid of Largest Area Method
퍼지시스템 모델의 규칙표현의 예 IF I = Null and Zero then N=Very Large ALSO IF I= Zero and Null then N=Large ALSO IF I= Small and Medium then N=Medium ALSO IF I= Medium and Small then N=Small ALSO IF I= Large and Very Large then N=Zero ALSO IF I= Very Large and Large then N=Zero 규칙의 퍼지관계 전체규칙의 퍼지관계 조건부 결론부 퍼지 조건문(퍼지집합이며 각각 멤버쉽 함수로 표현되어 있음) 입력값: I=Null and Zero ? 비퍼지화과정 수행하여 시스템 행동 즉, N에 대한 수치값을 계산한다
퍼지 시스템 모델 Input Normalization and fuzzification of input variables Execution of rules Output fuzzy set Inference Engine Rules Term set(Vocabulary fuzzy sets) Defuzzification of output variables Output
직류계열 모터의 퍼지 규칙베이스 IF I = Null then N=Very Large ALSO IF I= Zero then N=Large ALSO IF I= Small then N=Medium ALSO IF I= Medium then N=Small ALSO IF I= Large then N=Zero ALSO IF I= Very Large then N=Zero 조건부 결론부
0 1 2 3 4 5 6 7 8 9 10 400 600 800 1000 1200 1400 1600 1800 2000 조건부 결론부 규칙 #1 규칙 #2 0 1 2 3 4 5 6 7 8 9 10 400 600 800 1000 1200 1400 1600 1800 2000 규칙 #3 0 1 2 3 4 5 6 7 8 9 10 400 600 800 1000 1200 1400 1600 1800 2000 규칙 #4 0 1 2 3 4 5 6 7 8 9 10 400 600 800 1000 1200 1400 1600 1800 2000 규칙 #5 0 1 2 3 4 5 6 7 8 9 10 400 600 800 1000 1200 1400 1600 1800 2000 규칙 #6 0 1 2 3 4 5 6 7 8 9 10 400 600 800 1000 1200 1400 1600 1800 2000
조건부 (전류) 결론부 (회전속도) 입력 = Null 인 경우 규칙 #1 0 1 2 3 4 5 6 7 8 9 10 400 600 800 1000 1200 1400 1600 1800 2000 규칙 #2 0 1 2 3 4 5 6 7 8 9 10 400 600 800 1000 1200 1400 1600 1800 2000 규칙 #3 0 1 2 3 4 5 6 7 8 9 10 400 600 800 1000 1200 1400 1600 1800 2000 규칙 #4 0 1 2 3 4 5 6 7 8 9 10 400 600 800 1000 1200 1400 1600 1800 2000 규칙 #5 0 1 2 3 4 5 6 7 8 9 10 400 600 800 1000 1200 1400 1600 1800 2000 규칙 #6 0 1 2 3 4 5 6 7 8 9 10 400 600 800 1000 1200 1400 1600 1800 2000
규칙 #1 0 1 2 3 4 5 6 7 8 9 10 400 600 800 1000 1200 1400 1600 1800 2000 규칙 #2 0 1 2 3 4 5 6 7 8 9 10 400 600 800 1000 1200 1400 1600 1800 2000 <무게중심 구하는 방법> 옆 그림의 5개의 점을 이용한다. 0*1200 + 0.5*1400 + 0.5*1600 + 0.5 *1800 + 1*2000 0+0.5+0.5+0.5+1 = 1390 무게중심 전류에 대한 입력이 Null일 경우 회전속도는 1390이 된다. 즉, 퍼지 입력값에 대하여 비퍼지 결과값이 산출되었다.
운전자의 조작을 모델링하여 퍼지 제어기를 실현 운전 기교 모델링 Sugeno Crank-shaped course에서의 주행궤적
입출력 변수와 데이터 입력변수: x1 = 코너 입구로부터의 거리 x2 = 안쪽벽으로부터의 거리 x3 = 모델차의 방향(각도) x4 = 바깥쪽 벽으로부터의 거리 출력변수: y = 운전자의 출력으로 steering handle 의 각도 x4 x3 x1 x1 x2
= + + + + i i i i i i y p p x p x p x p x 0 1 1 2 2 3 3 4 4 = = = = 0 0 0 0 x x , x x , x x , x x , 1 1 2 2 3 3 4 4 w = Ù Ù Ù 0 0 0 0 i i i i A ( x ) A ( x ) A ( x ) A ( x ) 1 1 2 2 3 3 4 4 i 퍼지 제어규칙과 추론법 = = = = i i i i R : x A , x A , x A , x A , i 1 1 2 2 3 3 4 4 Then 입력이 일 때 i 번째 제어규칙 Ri의 적합도 i 20 å w i y i y0 는 yi 의 = 0 = 1 i y 20 å w Weighted average i = 1 i