퍼지논리

Download Report

Transcript 퍼지논리

Keimyung University
퍼지 논리 및 제어(2장-5장)
2010. 1학기
계명대학교 대학원 기계공학과
이재천
목차









개관
퍼지
퍼지
퍼지
근사
퍼지
규칙
퍼지
퍼지
집합
관계
수
추론
제어기
표현
관계식과 시스템
규칙의 실행 절차
개관(1/2)
 퍼지 이론은 불확실하거나 불분명한 원소들을 하나의
양으로 표현하는 퍼지 집합과 퍼지 논리를 취급
 퍼지 논리는 정확성의 상대적인 중요도를 표현
– 예를 들어 몸무게가 100Kg이라는 수치가 있으면 퍼지 논리
는 '무겁다'라는 말로 표현할 수 있음
 퍼지 이론의 응용은 주로 제어에 사용
– 퍼지 제어는 지능 제어의 한 부류로 간주할 수 있으며, 미지
의 플랜트에 대해서 가장 만족할 만한 성능을 보이는 제어
기법중의 하나
개관(2/2)
 퍼지 논리는 의미적으로 막연한 개념들을 취급하는 퍼지
집합론과 막연한 성질을 판단 및 전개할 수 있는 퍼지 측
도로 구성
– 주요 개념은 어떠한 부정확성에 대한 허용 가능성
 기호 및 수치 처리를 한다는 의미에서 기존 논리와 차이
– 기존의 논리는 기호적인 조작만을 행하며, 넓은 의미에서 퍼지 논리는 기
존 논리의 확장
 퍼지 논리의 주된 목표는 정확한 것이라기보다는 근사적
인 추론형태를 취급하기 위해 체계적인 계산 기법과 개념
을 전개하는 데 있음
– 퍼지 논리에서 정확한 추론은 근사 추론의 극한 개념이라 할 수 있으며,
퍼지 논리에서 모든 것은 정도의 문제
퍼지 논리 특성(1/2)
 퍼지논리는 개념적으로 이해하기 쉬움
 퍼지 논리는 유연함
– 어떤 임의의 주어진 시스템에 대해서 초기 문제 외에도 다른 문제
로의 확장성이 좋음
 퍼지 논리는 부정확한 정보에 대하여 허용 범위가 큼
 퍼지 논리는 임의의 복잡한 비선형 시스템을 모델링 할
수 있음
– 임의의 입출력 정보의 집합을 이용하여 그에 대응되는 퍼지 시스
템을 만들 수 있고, 이러한 과정은 적응성을 갖는 퍼지 알고리즘
을 이용하여 쉽게 만들 수 있음
퍼지 논리 특성(2/2)
 퍼지 논리는 전문가 경험의 최상위 레벨로 구성
– 신경망은 전문가 정보를 이용하여 불명확한 모형을 제시하지만,
퍼지 논리는 대상 시스템을 완전히 이해한 전문가의 완전한 정
보를 제공
 기존의 제어 기법들과 혼합하여 사용할 수 있음
– 대부분의 경우에 퍼지 시스템은 기존 제어 기법들과의 혼합하여
사용되고 있음
 퍼지 논리는 일상적인 언어를 기본으로 하고 있음
퍼지 논리의 사용 문제
 퍼지 논리를 사용하는 데 편리함을 느끼지 못한다면 퍼
지 논리 대신 다른 방법으로 시도하는 것이 바람직
– 단순한 해가 이미 존재한다면 퍼지 논리를 사용할 필요가 없음
– 예를 들어 많은 제어기들은 퍼지 논리를 사용하지 않고도 주어
진 역할을 충분히 수행
 퍼지 논리는 부정확성과 비선형성을 포함한 대상을 취
급하는 데 빠르고 효과적인 강력한 도구
퍼지 집합(1/3)
 보통 집합(Crisp Set)의 개념은 어느 원소가 그 집합에
속하는지 속하지 않는지 그 진위가 분명
 일상 생활에서 접하는 많은 경우에 있어서 그 집합의 구
성 요소를 결정하는 기준이란 명확하지 않음
– '뜨겁다'라고 말하는 물의 온도의 집합을 고려할 때, 펄펄 끓는
물에 대해서 대부분의 사람들이 뜨겁다는 사실을 공감할 것
– 물의 온도가 낮아져서 40도가 되었다면, 뜨겁다고 말하는 것이
고민되기 시작할 것
– 40까지 뜨거운 물이라고 생각한다면 33.9도에 대해서는? 그보
다 조금 더 낮은 33.8도는?
– 이런 경우에 어떤 온도의 물이 뜨거운 지 아닌지에 대한 정도를
표현하는 수가 있다면 확실히 자연스러움을 느낄 것
퍼지 집합(2/3)
 퍼지 집합이란 어떤 원소가 그 집합에 속한 정도를 나타낸
집합
 보통 집합을 표현하기 위해 3가지 방법을 사용
– 첫 번째 방법은 원소 나열 법으로 어떤 집합에 소속된 원소를 일일
이 나열하는 방법
• 요일 = {월요일, 화요일, 수요일, 목요일, 금요일, 토요일, 일요일}.
– 두 번째 방법은 조건 제시 법으로 그 집합의 성질을 서술하는 방법
• 유리수 집합: '유리수' = {x|x=p/q, 단 q0}
 이러한 방법으로 퍼지 집합을 표현하기에 알맞지 않기 때
문에 소속함수 표현을 사용
– 소속 함수란 어떤 원소가 집합에 속한 정도를 나타내어 주는 함수
– 어떤 집합 A의 소속함수는 A:X->[0 1]의 형태
– 보통 집합도 소속함수 표시법으로 표현 가능; 소속함수가 취하는
값은 0(그 집합에 포함되지 않은 경우)과 1(포함된 경우)의 값 만
을 가짐; 즉 A:X->{0 1}의 형태
퍼지 집합(3/3)
 특수한 성질로 배중률과 드모르간 법칙을 들 수 있음;
드모르간 법칙은 항진명제와 모순명제의 증명에 유용하
며, 배중률은 보통 집합과 퍼지집합 간에 차이를 나타냄
– 배중률은 실제 두 가지의 경우를 처리하는 데, 집합 A와 그것의 여집합
에 관한 합집합을 취급하며, 모순의 법칙으로 집합A와 그것의 여집합
에 관한 교집합을 취급
 보통집합이 갖는 모든 연산은 배중률을 제외하고 퍼지
집합에 모두 적용 가능
 퍼지집합은 중첩되는 성질을 가지므로 하나의 퍼지집
합과 그것의 여집합 또한 중첩되는 성질을 가짐
소속함수(1/3)
 X에 속한 임의의 원소 x 각각에 대해 어떤 특정한 성질을
가지는 정도를 나타내는 소속함수가 A(x)일 때, 퍼지집
합 A는 {(x, A(x))|xX}와 같이 표현됨
– A=‘뜨거운 물’={(x, A(x))|x[0, 100]}
소속함수(2/3)
 전체집합 X가 이산형이고, 유한인 경우에 퍼지집합은
합의 식으로 표현
 전체집합 X가 연속적이고 무한인 경우에 퍼지집합은
적분 형태로 표현
 분수의 바 표시는 나눗셈이 아니고, 하나의 구분을 나타내는
기호, + 기호는 덧셈이 아니고 함수적인 합집합이며, 적분기
호 또한 대수적인 의미의 적분이 아니고 연속형의 변수들에
관한 합집합 표현
소속함수(3/3)
 '뜨겁다'에 대한 소속함수를 이용한 보통과 퍼지 표현
기본 집합연산(1/4)
 0의 소속함수 값은 퍼지집합의 원소가 아닌 값에 대
응되고, 1의 값은 명확하게 집합의 원소
 퍼지집합은 보통집합과 유사한 합집합, 교집합, 여집
합에 대응되는 연산이 정의됨
– 전체집합 X에서 퍼지집합 A와 B에 관한 집합 연산(합집합,
교집합, A의 여집합에 관한 소속함수는 다음과 같다.
기본 집합연산(2/4)
x = 0:0.1:20; //전체 집합
A=‘작은 수’
B=‘대략 8’
muA=1.0./(1+(x./5).^3); //A의 소속함수
muB=1.0./(1+0.3*(x-8).^2); //B의 소속함수
plot(x, muA, x, muB), text(1,0.8,'집합 A'),…
text(7,0.8,'집합 B'), xlabel('x'), ylabel('소속')
기본 집합연산(3/4)
 합집합은 max 함수를 사용; 즉 합집합의 소속함수는 퍼지
집합에 관한 소속의 최대 값으로 정의
union=max(muA, muB);
plot(x,union), title('퍼지집합 A와 B의 합집합'), xlabel('x'), ylabel('소속')
기본 집합연산(4/4)
 교집합은 min 함수를 사용; 즉 두 퍼지집합에 관한 교
집합의 소속함수는 초기 퍼지집합에 관련된 소속들의
최소 값으로 정의
intersection=min(muA, muB);
plot(x,intersection),title('퍼지집합 A와 B의 교집합'),...
xlabel('x'), ylabel('소속')
 B에 관한 여집합의 소속함수는 1에서 B에 관한 소속
값들을 뺀 것으로 정의
complement=1-muB;
plot(x,complement), title('퍼지집합 B의 여집합'),...
xlabel('x'), ylabel('소속')
집중화 및 팽창(1/3)
 퍼지집합의 집중화는 언어적으로 VERY와 같은 울타리를 사용하여 변
형하는 것; 예컨대 작은 수에 관한 집중화는 VERY small number로 나
타낼 수 있고, 이것은 양적으로 소속 값을 제곱
x=0:0.02:20; muA=1.0./(1+(x/5).^3); muvsb=very(muA);
plot(x, muA, x, muvsb), xlabel('x'), ylabel('소속'),…
text(1, 0.5, 'Very A'), text(7, 0.5, 'A')
집중화 및 팽창(2/3)
 하나의 퍼지집합에 관한 소속의 팽창은 MORE OR LESS
와 같은 언어적인 울타리를 사용하는 것; 예컨대 small
numbers의 dilation은 MORE OR LESS small numbers, 소
속의 제곱근을 취하는 것
muvsb=moreless(muA);
plot(x, muA, x, muvsb), title('퍼지집합 A와 More or less A),...
xlabel('x'), ylabel('소속'), text(2, 0.5, 'A'), …
text(9, 0.5, 'More or less A')
 퍼지집합의 애매한 정도는 소속에 관한 일종의 증감 대비
를 사용하여 나타낼 수 있음
집중화 및 팽창(3/3)
 큰 수를 나타내는 퍼지집합에 관한 소속함수가 두 개
의 인자 F1과 F2에 대해서 다음과 같을 때
F2=50에 관해 F1이 1, 2, 4, 10, 100으로 변한다고 할 때, F1이 증가함에
따라서 기울기가 증가하는 함수 집합을 얻을 수 있음
F1=[1 2 4 10 100]; F2=50; x=0:100;
muA=zeros(length(F1), length(x));
for i=1:length(F1)
muA(i,:)=1.0./(1+(x./F2).^(-F1(i)));
end
plot(x, muA), title('애매한 정도의 확장'), xlabel('x'), ylabel('소속'),...
text(5, 0.3, 'F1=1'), text(55, 0.2, 'F1=100')
확장원리(1/5)
 전체집합 X의 원소 x에서 다른 전체집합 Y의 원소 y
로의 사영이 함수 f를 통해 이루어질 때, 확장원리는
퍼지집합에서 하나의 함수에 관한 정의구역을 확장
 A가 전체집합 X에서 퍼지 집합(A⊂X)
확장원리는 전체집합 X의 하나의 원소에서 다른 전체집합
Y의 하나의 원소로의 사영을 나타내는 함수 f에 관해
을 정의하며, 이러한 사상을 단사라 함
확장원리(2/5)
[예] 전체집합 X={1, 2, 3}에서 퍼지집합 A의 원소를 다른
전체집합 Y로 함수 f(x)=2x-1을 사용하여 사영하는 문제
Y의 원소는 1, 3, 5이고, 퍼지집합은 A = 0.6/1 + 1/2 + 0.8/3이기
때문에 y의 소속 함수는 f(A ) = 0.6/1 + 1/3 + 0.8/5
 두 개 전체집합 X1과 X2에서 원소의 곱을 다른 전체집합
Y로 사영하는 경우는 A를 곱 공간 X1×X2에서 퍼지집합
이라 할 때, 다음과 같이 정의될 수 있음
1(i)와 2(j)가 결정되지 않은 경우에 X1×X2에서 (I, j)의 개별적인
소속 사영이고, 이러한 사영은 각 전체 집합들간에 상호작용이 없다
는 것을 전제로 하고 있음
확장원리(3/5)
 예: 전체집합 X1=X2={1, 2, …,10}에서 퍼지집합
이때 A×B는 {approxximately 12}와 같은 퍼지수로 사영되고, 이러한
수는 전체집합 Y={5, 6, …, 21}에서 정의된 퍼지집합이고, 확장원리에
따라 다음과 같음
확장원리(4/5)
 확장원리의 복잡성은 보다 많은 입력 변수들의 조합
이 출력공간의 같은 변수로 사영될 때 커짐
 이러한 경우에는 같은 출력변수로 사영되는 조합들에
관해 최대 소속 등급을 취하는 방식이 사용
 함수 f에 대한 퍼지집합의 부분집합 A에 대한 함수 f
의 사영 B=f(A)는 Y의 부분집합으로 소속함수 값이
다음과 같도록 함
확장원리(5/5)
 곱 공간에서 사영 함수:
이것은 원점을 중심으로 하는 타원의 상반부; 타원의 하반부
또한 나타내기 위한 문장
x=-2:0.01:2; y=(1-x.^2/4).^0.5;
plot(x, y, x, -y), title('함수 사영'), xlabel('x'), ylabel('y')
알파 수준 집합
 하나의 퍼지집합에 포함된 모든 특징은 그것이 갖는
소속함수에 의해 결정
– 퍼지집합 A에 관한 코어는 A의 완전한 소속으로 결정되는
전체집합의 영역(A(x)=1)을 만족하는 원소
– A에 관한 소속함수의 지지는 0이 아닌 소속이 되는 전체집합
의 영역
– 퍼지집합 A에 관한 소속함수의 경계는 A에서 0도 아니고, 완
전한 소속 관계도 아닌 전체집합 영역(즉 경계는 0< A(x)<1
을 만족하는 원소
 퍼지집합에서 오직 하나의 원소만이 1의 소속을 갖는
경우를 프로토타입 집합이라 함
알파 수준 집합
 알파 수준집합의 개념은 지지의 보다 일반적인 개념
– 퍼지집합 A에 속하고 소속 정도가 최소 인 원소들의 보통집
합을 -수준 집합이라 함
 유한인 퍼지집합 A에 관한 원소 개수:
||A|| = |A|/|X|을 A에 관한 상대적 농도; 상대적 농도는 A의 소속
정도에 의해 가중된 A에 존재하는 X 원소들의 비율로 해석; X가
무한 집합인 경우에
알파 수준 집합
 예: 다음 퍼지집합에 관한 0.2-수준 집합
x=0:100; muA=1.0./(1+0.01*(x-50).^2);
alpha_cut=(muA>=0.2);
plot(x, alpha_cut),...
title('A에 관한 0.2 수준의 퍼지집합'), xlabel('x'), ylabel('소속')
 함수 alpha는 주어진 수준에 대한 구간의 최소/최대
점을 출력
[a, b]=alpha(muA, x, 0.2)
a = 30, b = 70
퍼지 관계(1)
 관계 집합 R={(x,y)| xRy, xX, yY}
– 퍼지 관계도 유사하게 카테샨 곱 공간 XY에서 관계 R은
XY의 퍼지 부분집합으로, 소속함수 R(x,y): XY->[0, 1]
를 가짐; 즉, R: {((x,y), R(x,y))|xX, yY}
– 예컨대 Y=f(x)라는 함수 관계와 유사하게 yf(x)(y는 f(x)와
거의 같음)라는 관계를 하나의 퍼지 관계 R로 표현하는 경우
R(x,y)=exp(-(y-f(x))2)와 같이 표현할 수 있음
 두 퍼지 관계의 합성: 두 퍼지관계 R=XY 및 S=YZ
가 주어질 때, 합성 RS는 다음과 같이 정의
퍼지 관계(2)
 기본 합성 연산자: sup-min 합성과 sup-product 합성
– sup-min 합성
– sup-product 합성
 XY에서 퍼지 관계 R, S, T에 관해
퍼지 관계(3)
 퍼지 관계 R: "x is near the origin AND near y"
[x, y]=meshgrid(-2:0.2:2, -2:0.2:2); muR=exp(-x.^2-y.^2);
surf(x, y, muR), xlabel('x'), ylabel('y'), zlabel('R에 관한 멤버십')
퍼지 관계(3)
 예: 관계 R1이 "x is near the origin AND near y“, 관계
R2가 “x is NOT near the origin“; R1과 R2의 합집합 소
속함수
muR1=exp(-x.^2-y.^2); muR2=1-muR1;
surf(x, y, max(muR1, muR2)), xlabel('x'), ylabel('y'),...
zlabel('R1과 R2의 합집합')
퍼지 관계(4)
 하나의 퍼지 관계 R을 여러 개의 알파 수준으로 절단
한 관계인 R를 나타낼 수 있음
퍼지 관계(5)
퍼지 관계(6)
퍼지 관계(7)
퍼지 관계(8)
 예: 관계 R1이 "x is near the origin AND near y", 관계 R2가 ”x is
NOT near the origin“일 때, Max-Min 합성 문장
muR1=exp(-x.^2-y.^2); muR2=1-muR1; [r1, c1]=size(muR1)
r1 = 21 c1 = 21
[r2, c2]=size(muR2)
r2 = 21 c2 = 21
muR0=zeros(r1, c2);
for i=1:r1
for j=1:c2
muR0(i,j)=max(min(muR1(i,:),muR2(:,j)'));
end
end
surf(x,y,muR0), xlabel('x'), ylabel('y'), zlabel('R1과 R2의 max-min 합성')
 max-min 합성은 결합법칙을 만족
퍼지 수(1)
 퍼지 수는 수치 데이터에서 발견된 막연함 및 불확실
성에 관해 명확한 표현이 필요한 응용문제에 적용
 두 퍼지 수의 덧셈
퍼지 수(2)
 알파 절단을 사용한 퍼지수의 덧셈
x=1:20; FNSUM=zeros(size(x));
for i=0.1:0.1:1
[a1, b1]=alpha(FN3,x,i-eps);
[a2, b2]=alpha(FN7,x,i-eps);
a=a1+a2;
b=b1+b2;
FNSUM(a:b)=i*ones(size(FNSUM(a:b)));
end
bar(x, FNSUM), axis([0 20 0 1.1]), ...
title('퍼지수 10'), xlabel('x'), ylabel('소속함수');
퍼지 수(3)
퍼지 수(4)
퍼지 수(5)
퍼지 수(6)
일반적인 소속 함수(1)
 보편적으로 사용되는 소속 함수로서 삼각형, 사다리
꼴형, S형 및 π형이 있음
 삼각형은 [a b c]로 표현; a는 소속 함수의 왼쪽 절편
으로 0의 소속을 갖는 점, b는 소속이 1이 되는 중앙
점, c는 소속 함수의 오른쪽 절편으로 0의 소속을 갖
는점
– 정의된 전체집합에 대응되는 삼각 소속 값들을 반환하기 위
한 문장: y=triangle(x,[a b c]);
– 예: “x is close to 33"에 관한 삼각 소속 함수는 X=0:50에 관
해 [23 33 43]을 사용하는 경우
x=0:50; y=triangle(x,[23 33 43];
plot(x,y), title('close to 33'), xlabel('x'), ylabel('Membership')
일반적인 소속 함수(2)
 사다리꼴은 4개의 인자 [a b c d]로 표현; a는 소속 함
수의 왼쪽 절편으로 0, b와 c는 소속이 1, d는 소속 함
수의 오른쪽 절편으로 0의 소속을 갖는 점
 사다리꼴 소속 값 반환 문장: y=trapzoid(x, [a b c d]);
– 예: 온도에 관해 cool과 hot의 소속 함수가 사다리꼴인 경우
x=0:100; cool=[0 0 25 50]; medium=[15 50 75]; hot=[50 75 100
100];
mf_cool=trapzoid(x, cool);
mf_medium=triangle(x, medium);
mf_hot=trapzoid(x, hot);
plot(x,[mf_cool; mf_medium; mf_hot]), …
title('Temperature: cool, medium and hot'),…
xlabel('Degrees'), ylabel('Membership'),...
text(20, 0.65, 'cool'), text(42, 0.65, 'medium'), text(70, 0.65, 'hot')
일반적인 소속 함수(3)
일반적인 소속 함수(4)
 S형 소속 함수는 3개 인자 [a b c]로 표현; a, b, c는 각
각 A(a)=0, A(b)=0.5 A(c)=1을 만족하는 점
– cool과 hot의 소속함수가 S형인 경우에 함수 s_shape을 사
용하여 소속함수를 나타내기 위한 문장
x=0:100; cool=[50 25 0]; hot=[50 75 100];
mf_cool=s_shape(x, cool); mf_hot=s_shape(x, hot);
plot(x,[mf_cool; mf_hot]),...
title('Temperature: cool and hot'),…
xlabel('Degrees'), ylabel('Membership'),...
text(8, 0.45, 'cool'), text(82, 0.45, 'hot')
일반적인 소속 함수(5)
 π형 소속함수는 2개 인자 [a b]에 관해
– s(x; ,,,)는 [  ]을 갖는 S형 소속함수, b는 수준 0.5에서
소속함수의 폭; π형 출력 함수는 p_shape
– 예: 온도 cool, medium, hot가 π형 소속함수가 [25 20], [50
20], [75 20]인 경우
•
•
•
•
•
•
•
x=0:100; cool=[25 20]; medium=[50 20]; hot=[75 20];
mf_cool=p_shape(x, cool); mf_medium=p_shape(x, medium);
mf_hot=p_shape(x, hot);
plot(x,[mf_cool; mf_medium; mf_hot]),...
title('Temperature: cool, medium and hot'),...
xlabel('Degrees'), ylabel('Membership'), text(20, 0.55, 'cool'),...
text(42, 0.55, 'medium'), text(70, 0.55, 'hot')
일반적인 소속 함수(5)
퍼지 명제
 퍼지 명제는 서술부분이 퍼지 개념으로 표현된 명제
– 명제 " x는 크다."는 일종의 퍼지 명제로서 여기서 "크다"라
는 언어 라벨은 하나의 퍼지 개념
 조건부와 결론부가 퍼지 명제로 된 IF-THEN 서술을
퍼지 규칙이라 함
– 다음 예에서 x들은 변수이고, A, B는 언어 라벨 또는 값
 이러한 모양의 규칙들을 기반으로 x 변수에 어떤 값
이 주어졌을 때, y 변수 값을 추론하는 방법을 고려
퍼지 언어적 표현
퍼지 언어적 표현
퍼지 추론
1) Modus Ponens
2) Modus Tollens
If x is A then y is B
If x is A then y is B
x is A
____________________
y is not B
_____________________
y is B
x is not A
퍼지 추론
Generalized
Generalized
Modus Ponens
Modus Tollens
근사 추론(1)
 퍼지 근사추론의 형태: 규칙 If x is A, then y is B에 관
해 x is A*가 입력되었을 때, 목표는 y is ?
 'If x is A, then y is B*는 변수 x, y가 각각 퍼지 입력공
간 X와 출력공간 Y의 퍼지 변수라고 가정하면, X와 Y의
곱 공간에서 관계 R:A->B로 나타낼 수 있음
 R을 함의(implication)라 하는데, 함의로 다음 두 가지
가 많이 사용
함의 관계(Implication Relation)
근사 추론(2)
 주어진 조건들로부터 y는 다음 식으로 구할 수 있음
 위의 식을 구하는 방법(근사추론 방법)은 A->B의 함의
와 합성연산의 방법에 따라 다음 두 가지가 많이 사용
• R:A->B를 R=AB로 간주하고, 합성 연산으로 Sup-Min 사용
여기서 w는 A와 A*의 적합도로 A와 A*의 겹치는 정도
근사추론
GMP
GMT
근사추론
근사 추론(3)
• 만일 규칙들이 하나가 아닌 경우, 즉 여러 개 IF-THEN규칙이 주
어진 경우는 그 규칙들을 통합(Aggregation)하여 출력을 구하며,
집합방법으로는 대체로 최대 연산을 취함
• Larson의 Sup-product 연산: 기본적으로 Mamdani의 방법 중 최
소 연산 대신에 곱 연산을 취한 방법
 Mamdami Min 함의 연산자 예: if x is "대략 3" then y is
"대략 7"
– 대략 3에 관해 입력 x가 2이면, 대략 3"은 0.7의 값에 대응
근사 추론(4)
– 이 값은 조건부의 충족 정도에 해당; 따라서 결론부 또한 0.7
등급을 가져야 하므로 출력은 최대 0.7의 등급으로 절단되는
퍼지적인 수
– x=2일 때 출력 y는 대략 7에 관해 2의 충족정도로 절단된
x=0:10;
FN3=[0 0.3 0.7 1.0 0.7 0.3 0 0 0 0 0]; // 대략 3
FN7=[0 0 0 0 0 0.2 0.6 1.0 0.6 0.2 0]; // 대략 7
degree=FN3(find(x==2)); y=clip(FN7, degree);
plot(x, y), axis([0 10 0 1]),...
title('Mamdami Min Output of Fuzzy Rule'),...
xlabel('x'), ylabel('Output Fuzzy Set')
– 함수 clip는 절단된 퍼지집합을 생성
근사 추론(5)
근사 추론(6)
 Larson Product 함의 연산자의 적용 예:
– if x is "대략 3" then y is "대략 7"
– 입력 x가 2이면 조건부의 퍼지집합 대략 3"은 0.7의 충족정
도를 가지므로 출력되는 퍼지 수는 최대 0.7로 수축된 형태
– 함수 product 사용
x=0:10;
FN3=[0 0.3 0.7 1.0 0.7 0.3 0 0 0 0 0];
FN7=[0 0 0 0 0 0.2 0.6 1.0 0.6 0.2 0];
degree=FN3(find(x==2)); y=product(FN7, degree);
plot(x, y), axis([0 10 0 1]),...
title('Larson Product Output of Fuzzy Rule'),...
xlabel('x'), ylabel('Output Fuzzy Set')
– 결과 소속함수는 끌어 당겨진 형태
근사 추론(6)
GMP와 Mandani 추론의 예
GMP와 Mandani 추론의 예
GMP와 Mandani 추론의 예
Mandani 추론과 Larsen 추론의 비교
언어적 퍼지변수의 값
언어적 퍼지변수의 값
언어적 퍼지변수의 값
퍼지셋에 의한 언어적 변환의 표현
plus plus A = minus very A
highly A = minus very very A
퍼지 제어기 구조
 퍼지 제어기는 크게 퍼지화기(Fuzzifier), FRB(Fuzzy
Rule Base)를 포함한 퍼지 추론부, 그리고 비퍼지화기
(Defuzzifier)로 구성
퍼지 제어기 구조
 퍼지화기
– 퍼지화기는 명확한 수치 정보를 퍼지 집합으로 변화시키는 연산
– 퍼지 제어는 제어규칙이 '온도가 높으면, 창문을 많이 열어라'와
같이 언어적인 데 반하여 온도는 32.5도와 같이 수치로 주어짐
– 이러한 수치를 퍼지 입력으로 바꾸는 것; 주로 사용되는 퍼지화
기는 단 집합 퍼지화기
 이외에 이등변삼각형 퍼지화기와 같은 여러 가지 종류의 퍼지화
기가 있지만, 계산의 간소함, 입력수치가 실제 값이 아닌 잡음을
포함한 값이라는 점, 그리고 퍼지 제어기가 잡음에 대해서 매우
강인하다는 점등으로 인해서 다른 방법들은 거의 쓰이지 않음
퍼지 제어기 구조
 비퍼지화기(Defuzzifier): 퍼지화기 반대기능으로 퍼지
제어기에서 퍼지 추론부(퍼지 집합으로 표현되는) 출력
에서 보통 수치 데이터를 얻어내는 장치
– 무게 중심 법: 직관적으로 가장 타당한 방법, 출력 집합의 소속
함수로부터 출력 데이터를 구할 때 무게중심을 사용
– 평균 중심 법: 무게 중심법의 적분 계산 시간이 많이 소요되어 대
안으로 제시된 것
yl은 l번째 규칙에 의한 출력 평균치,
wl은 l번째 규칙 적합도
퍼지 제어기 구조
– 최대치 법: 출력 공간 V에서 소속함수가 최대가 되는 점으로 잡
는 방법
– 최대치 법에는 세 가지가 있음
 max(B’)은 V에서 B’(y)가 최대인 점 집합
 첫 번째로 'smallest of maxima defuzzifer'는 max(B’)에서
가장 작은 값을 취하는 것
 max(B’)에서 가장 큰 값을 출력 값으로 하는 'largest of
maxima defuzzifier'
퍼지 제어기 구조
 max(B’)의 평균값을 취하는 방식인 'mean of maxima
defuzzifer'
 최대치 법은 계산량이 적어 유리하지만, 출력 값의 연속성을
보장하지 못하는 결점
추론 엔진
 추론 엔진은 퍼지 규칙을 사용하여 퍼지 입력에 대한
출력을 추론하는 장치
– 추론 형태로 연역 추론과 귀납 추론이 사용
– 보통 제어의 경우에 연역 추론이 사용되고, 고장 진단에서는
귀납 추론
– 퍼지 제어에서 제어 규칙은 if-then 형태로 구성
• 예를 들어 NB, PB, ZO가 각각 “음으로 큰” “양으로 큰” “0에
가까운”을 나타내는 제어 변수 영역에서 정의된 퍼지 집합이라
할 때 다음과 같이 표현
• if error is NB and del_error is PB then valve is ZO
– 이러한 if-then 제어 규칙들의 집합으로 구성된 시스템을 퍼
지 규칙 기반 시스템이라 함
PI-제어
 제어를 위해 다음 형태의 해석적인 식 사용
– 초기 제어는 정상 점 근방에서 가변적인 이득을 얻는 데 있음
(ysp근방에서 작은 KI와 제한 값 근방에서 아주 큰 KI)
– 간단한 PI-제어기는 이러한 제어 목표를 모두 달성할 수 없고,
바람직한 이득 수정을 할 수 있는 어떠한 경험적 논리를 통해
수행 가능
PI-제어
 퍼지 지식 기반 시스템은 기존의 PI-제어기를 정의하
는 식 대신에 생성 규칙의 지식 베이스를 사용
– if <공정 상태> then <제어 출력>
– 규칙에 대한 <공정 상태> 부분을 규칙 조건부라 하며, 이것
은 k-번째 샘플링 상태에서 공정 출력의 서술을 포함
– 이러한 공정 출력은 특정 오차, 오차 변화, 제한 값의 식
– 규칙에 대한 <제어 출력> 부분은 규칙 결론부로서 특정한 공
정 출력이 규칙 조건부에 주어졌을 때 생성되어야 할 제어
출력에 관한 서술
– 이러한 서술은 제어 출력의 변화 값의 식으로 구성
– 퍼지 지식 기반 제어는 조건부적인 PI-제어기
PI-제어
 하나의 생성 규칙에서 오차가 취하는 값은 negative
big(NB), negative small(NS), zero(ZO), positive
small(PS), positive big(PB), constraint(C)
– PS는 공정출력 y(k)의 현재 값이 정상점 아래에 있다는 것,
NB는 y(k)의 현재 값이 정상점 위에 있다는 사실
 오차변화의 값은 NB, S, PB
– PB는 현재의 공정 출력이 이전의 값과 비교했을 때 현저하
게 감소되었다는 것, NB는 이전의 값과 비교했을 때 현저하
게 커졌다는 것, S는 두 값이 충분히 가깝다는 것
 제어출력의 변화는 NB, NS, ZO, PS, PS, PB, "drastic
change"(DC)
– 이들 값은 양인 경우에 더해지거나 또는 음인 경우에 감소되
는 값으로 사용되는 제어 출력에서 증가된 변화의 크기
퍼지 지식 기반 제어
 규칙 베이스는 항상 능동적 규칙 그룹과 제약의 두 개의
그룹
– 예: e(k)의 값이 PB, e(k)의 값이 PB이면, u(k)의 값은 PS
 규칙 조건부에서 오차와 오차 변화에 관한 양 또는 음의
값 조합: (e:+, e:+) (e:+, e:-) (e:-, e:+) (e:-, e:-)
– (e:+, e:-)의 조합은 현재의 공정 출력이 정상 점 아래에 있고,
오차 변화가 음수이기 때문에 증가한다는 것을 의미(즉 현재 공
정 출력은 아래쪽에서 정상 점에 접근하고 있는 상태)
– (e:-, e:-)는 현재 공정 출력이 정상 점 위에서 증가되고 있음(즉
정상 점에서 멀리 벗어나 오버슈트에 접근)
– (e:-, e:+)는 현재 공정 출력이 정상 점 위에 있고, 감소되고 있
음
– (e:+, e:+)는 현재 공정 출력이 정상 점 아래에 있고, 감소되고
있음(공정 출력이 정상 점에서 멀리 벗어나 언더 슈트에 접근하
고 있음)
퍼지 지식 기반 제어
 제약 규칙들은 오차가 제한 영역에 있거나, 제한 영역
에 접근 또는 벗어날 때에 따른 제어 상황을 상술하는
규칙
– 규칙 1: 만일 오차 값이 제한 영역에 있다면, 오차 변화는 DC
• 이 규칙은 오차가 제한 영역에 있을 때, 추가될 오차 변화 크기
– 규칙 2: 만일 오차 값이 제한 영역에 들어간다면, 규칙 1에 의
해 결정된 오차 변화 값의 가산을 시작
– 규칙 3: 만일 오차 값이 제한 영역을 벗어나기 시작하면, 규
칙 2에 의해 결정된 오차 변화의 전체 값을 삭제
 오차 값이 제한 영역에 있는 동안에 규칙은 제어 출력
의 값에 있어서 큰 변화가 제한 영역의 밖에서 계산된
제어 출력의 값을 지배하지 않도록 하는 데 필요
양자화
 제어 시스템의 동작을 상술하는 각종 물리적인 변수들은
연속형의 변수
– 컴퓨터로 이들을 처리하고자 하면 시간 단위의 이산형으로 구분
하는 샘플링 작업이 필요
– 또한 변수의 값들을 무한 정밀도로 표현할 수 없기 때문에 유한
길이를 고려한 양자화가 필요
양자화
 퍼지 제어 시스템을 구현할 때, 변수들이 갖는 범위의
정규화, 이것을 일정 개수로 양자화된 수준들로 나누는
과정이 진행
 제어 시스템 구성에서 필요한 이산형 구분, 정규화, 양
자화, 입출력 공간의 퍼지 분할, 소속함수 결정과 같은
부분을 FLC(fuzzy logic control) 데이터 베이스라 함
 퍼지 제어기의 양자화는 디지털 제어의 양자화와 다름
– 디지털에서 양자화는 16비트에서 32비트로 늘어나면서 오차
가 극히 작아질 수 있도록 하였으나, FLC는 성능이 좋은 컴퓨
터를 사용하더라도 일부러 양자화 수준이 작도록 하고 있음
 양자화는 선형과 비선형으로 구분; 제어 시스템의 목표
가 출력을 정상 점에 맞추는 정규화 문제에는 비선형이
효과적
양자화
 수준이 -6~6까지 양자화된 변수의 값, 퍼지집합의 유
형과 그들이 갖는 소속 값의 예
양자화
– 아래 그림은 또 다른 형태의 양자화와 퍼지집합 형태
– 퍼지 제어에서 이러한 양자화는 적은 개수의 수준 값만으로 변수
값을 표시할 수 있어서 계산이 아주 간단
– 그렇지만 이러한 양자화는 제어 효과의 완만성을 상실; 이러한
점을 보완하기 위해서 보간을 사용
분할과 규칙 개수
– 입출력 공간의 분할은 제어 규칙의 개수를 결정하는 기본
– 제어 규칙 개수는 제어 시스템의 성능에 영향을 미침
– 다음 그림은 입력 공간 분할에 따른 제어 규칙 개수
규칙의 표준 형태
 전문가 생성 규칙의 집합에 관한 표준형태는 조건적
인 제약의 집합이 수반된 무조건적인 제약의 집합으
로 정의
– 이러한 제약은 and, or, else와 같은 언어 접속어에 의해 연결
 규칙 1:
제약 R1, ... , 규칙 k: 제약 Rk
 규칙 k+1: IF 조건 C1, THEN 제약 Rk+1 , ...
 규칙 r:
IF 조건 Cr-k, THEN 제약 Rr
– 제약 R1, ... ,Rr은 출력으로 나타나는 행위에 적용되거나 또
는 바람직한 성능을 위한 의사결정에 적용
– 일반적으로 어떠한 언어적인 알고리즘 또는 전문가 규칙 집
합에는 배정, 조건, 무조건문과 같은 형태의 문장들이 존재
배정, 조건, 무조건
 배정
– xs, x = small, season = spring, tomato's color = red
– x is large, x is not large and not very small
 조건
–
–
–
–
IF x is small THEN y is large ELSE y is not large
IF x is positive THEN decrease y slightly
IF the tomato is red THEN the tomato is ripe
IF x is very small THEN stop
 무조건
– multiply by x, turn the heat lower
– delete first few terms, go to 7, stop
 무조건 명제들은 항상 참인 입력 조건들의 전체 집합인 IF절의 조
건을 가지는 조건부 제약으로 간주
– IF 어떠한 조건 THEN output is low 또는 IF anything THEN low
– 조건적 제약을 갖는 문장 집합을 사용하여 상술할 수 있음
표준형 퍼지 규칙
 각각 n, m개의 입출력을 갖는 시스템에 관한 표준형의
퍼지 규칙 전문가 시스템
–
–
–
–
IF A1 THEN B1 "α" IF A2 THEN B2 "α" … IF Ar THEN Br
여기서 α는 AND, OR, ELSE와 같은 접속어
시스템 입력은 퍼지 값뿐만 아니라 명확한 값을 가질 수 있음
a<=x<=b, c<=y<=d와 같은 보통 구간은 다음 소속함수로 표현
되는 퍼지집합으로 정의될 수 있음
– 보통집합의 조건과 퍼지 조건의 결과들은 한번에 처리 가능
– 전문가에 의해 주어진 언어로 표현된 알고리즘 또는
서술적인 식은 보다 많은 합성 규칙의 구조를 지님
다중 조건과 결론부
 하나 이상의 조건 및 결론부를 갖는 혼합된 구조와 이
들 혼합된 규칙들을 간단한 표준형으로 변환시키는
문제
 IF x is A1 and A2 ... and AL THEN y is Bs
– 퍼지 부분집합 As(= A1∩A2∩ … ∩AL)가 As(x) = min {A1(x),
A2(x), ... , AI(x)}와 같은 소속함수를 갖는 것으로 가정할 때,
퍼지 교집합 연산의 정의에 따라서 혼합된 규칙은 IF As
THEN Bs와 같음
 IF x is A1 or A2 ... or AL THEN y is Bs은 IF As THEN
Bs와 같음
– As=A1∪A2∪…∪AL,, As(x)=max {A1(x), A2(x), ... , AL(x)}
다중 조건과 결론부
 IF A1 THEN (B1 ELSE B2)는 or에 의해 연결되는 두
개의 간단한 표준형 규칙으로 분해
– IF A1 THEN B1 or IF not A1 THEN B2
 IF A1 (THEN B1) UNLESS A2의 분해
– IF A1 THEN B1 or IF A2 THEN not B1
 IF A1 THEN (B1 ELSE IF A2 THEN (B2))의 분해
– IF A1 THEN B1 or IF not A1 and A2 THEN B2
 IF A1 THEN (IF A2 THEN (B1))는 다음과 같음
– IF A1 and A2 THEN B1
 IF A1 THEN (IF A2 THEN (IF ... (B1) ...)는 다음과 같음
– IF A1 and A2 and ... THEN B1
다중 조건 및 결론부
 IF A1
THEN
IF A2
THEN
IF A3
THEN B1 ELSE B2
ELSE B^3
↔
IF A1 and A2 and A3 THEN B1
OR
IF A1 and A2 and NOT A3 THEN B2
OR
IF NOT A1 THEN B3
다중 조건과 결론부
 괄호를 사용하는 경우에 이러한 혼합된 규칙들은 다음과 같음
– IF A1 (THEN (IF A2(THEN IF A3 THEN (B1 ELSE B2 )) ELSE B3
 중첩되는 IF-THEN 규칙의 또 다른 예
IF A1
THEN B1 AND B2
IF A2
THEN B3
IF A3
THEN B4
↔
IF A1 THEN B1
IF A1 THEN B2
IF A1 AND A2 THEN B3
IF A1 AND A2 AND A3 THEN B4
다중 조건 및 결론부
 입력 A1, A2, ...는 Xi , i=1,2, ..., n에서, 출력 B1, B2, ...는
Yj , j=1,2, ... ,m에서 정의된 상호작용을 갖지 않는 것들
인 경우에 표준형 규칙을 근거로 하는 전문가 시스템
규칙 1: IF x1 is A11 AND x2 is A21 … AND xn is An1
THEN y1 is B11 AND y2 is B21 … AND ym is Bm1
규칙 2: IF x1 is A12 AND x2 is A22 … AND xn is An2
THEN y1 is B12 AND y2 is B22 … AND ym is Bm2 …
규칙 r: IF x1 is A1r AND x2 is A2r … AND xn is Anr
THEN y1 is B1r AND y2 is B2r … AND ym is Bmr
– 퍼지 집합 Aik(i=1, ..., n; k=1, ..., r), Bjk (j=1, ... ,m)
퍼지 관계식과 시스템
 퍼지 조건명제 IF A THEN B는 일반화된 연역 추론
 B=A·R로 주어지는 퍼지 관계식의 형태로 일반화된
연역 추론을 나타내기 위한 많은 방법이 존재
 각 단일 규칙에 대응되는 퍼지 관계식을 사용했을 때,
퍼지규칙 전문가 시스템은 다음과 같은 형태
x는 시스템에 대한 입력 퍼지집합; x와 yk는 각각 차원이 1×n, 1×m
인 단항 퍼지관계; 이 경우에서 단항 관계는 집합 원소들과 소속 값
이 1인 가장 전형적인 원소간에 유사성 관계
퍼지 관계식과 시스템
 퍼지 관계식들의 시스템은 하나의 일반적인 퍼지 시
스템으로 r개 퍼지 관계의 보통 집합으로 표현됨, 즉
 개별 규칙 또는 퍼지 관계식에 의한 출력으로부터 전
체 출력 집합 y를 얻는 문제를 규칙 집합체 문제라 함
 규칙들에 관한 논리곱 시스템
– 동시에 만족되어야 하는 규칙들은 and 접속어로 연결
– 이 경우에 집합체 출력은 모든 개별적인 규칙 출력들의 퍼지
교집합으로 얻어질 수 있음
퍼지 관계식과 시스템
 논리곱 규칙들에 관한 시스템의 경우에 퍼지 시스템
은 단일 집합체적인 퍼지 관계식으로 표현 가능
 집합체적인 퍼지 관계 R을 퍼지 시스템 전달관계라 함
 n개의 상호작용을 갖지 않는 입력과 하나의 출력을 갖
는 시스템에 관한 퍼지 관계식
퍼지 관계식과 시스템
 규칙들에 관한 논리합 시스템
– 적어도 하나가 만족되어야 하는 규칙들에 관한 논리합의 전개
는 OR 접속어에 의한 연결이 필요
– 이러한 경우에 집합체적인 출력은 모든 개별적인 규칙의 퍼
지 합집합으로 얻어질 수 있음
– 논리합 규칙에 관한 시스템은 다음과 같은 단일 집합체적인
퍼지 관계식으로 상술 될 수 있음
퍼지 관계식과 시스템
 상호작용을 갖지 않는 입력과 하나의 출력을 갖는 시스템
의 관계식: y = x1·x2· ... ·xn·R
– 전달 관계 R을 상술하는 방식에 관해 흥미로운 해석이 가능
– 각 개별적인 관계 Rk, k=1,2, ...,r는 XY에 있는 퍼지 데이터 점
 퍼지 시스템 전달 관계 R은 r개 퍼지 입출력 데이터 Rk에
의해 근사
– 명확한 부분 y=f(x)가 r개 수치적인 입출력에 의해 근사 되는 것과
유사
– Ak →Bk의 조건명제는 전체 전달관계 R을 근사하기 위한 퍼지 데
이터 점을 제공
 중첩된 성질을 갖는 데이터 개수가 많을수록 시스템 입출
력에 관한 근사는 보다 좋음
 퍼지 시스템 전달관계는 하나의 병렬 계산 과정
– 시스템 출력(y=x·R): r개 병렬 퍼지 관계 R1, R2, ... ,Rk의 집합체적
출현치
퍼지 관계식과 시스템
 그림 (1)은 가 합집합(max) 또는 교집합(min)과 같은 하
나의 일반적인 집합체적인 방법을 나타내는 병렬연산
 퍼지 전달관계에 의해 표현되는 퍼지 시스템은 직렬 또
는 병렬로 결합될 수 있음
퍼지 관계식과 시스템
 그림 (2)는 두 개 퍼지 시스템의 직렬 연결
 병렬 연결의 퍼지 시스템은 하나의 적절한 집합체 생성
방법을 사용하여 동등한 퍼지 시스템으로 응축 가능
퍼지 관계식과 시스템
• 퍼지 조건명제 IF A THEN B의 IF와 THEN 부분의 퍼지 집합을
근거로 한 퍼지 관계 R을 얻기 위한 많은 기법이 존재
• 곱 공간 XY서 정의된 퍼지 관계 R의 소속함수 결정 방식
퍼지 관계식과 시스템
• 시스템이 함수 y=f(x1, ... ,xn)로 나타내지는 경우에 시스템에 관
한 확장원리의 응용은 다음과 같은 형태의 표준형 퍼지 규칙
– IF x1 is A1 and x2 is A2 ... and xn is An THEN y is B
– 따라서 r개 퍼지 규칙은 고려중인 시스템에서 확장원리를 r번 적용
함으로써 얻어짐
• 이때 ①에서 ⑩에 이르는 식으로 주어진 조건명제 관계들은 규
칙들을 나타내는 퍼지 관계를 유도하기 위해 사용될 수 있음
• 학습 또는 적응성을 갖는 알고리즘에 근거하여 퍼지 관계를 얻
기 위한 다른 기법들이 존재
– 이들 기법은 시스템에 존재하는 입출력 사영에 따른 관측 값으로부
터 유도된 수치적인 데이터 집합에서 시작될 수 있음
– 수치적인 입출력 데이터는 이용 가능한 데이터를 옳게 적합할 수
있는 언어적인 규칙 또는 퍼지 관계를 제공하기 위해 사용
퍼지 관계식과 시스템
• 퍼지 관계들의 합성 방법
퍼지 관계식과 시스템
 퍼지 관계식들의 시스템에 관한 일반 해는 퍼지 관계
합성에 관한 보편적인 방법인 Max-Min과 Max-Prod
를 사용하여 유도
 Max-Min 방법
– 논리합 퍼지 관계 시스템에 관해(즉 OR과 ELSE에 의해 연
결되는), 집합체 출력 y는 다음과 같음
– n개 상호작용을 갖지 않는 퍼지 입력 시스템에 관한 집합체 출력
– x=[x1, ... ,xn]'은 퍼지 시스템에 관해 n개의 상호작용을 갖지 않
는 입력 벡터
퍼지 관계식과 시스템
 Max-Prod 방법
– 논리곱을 갖는 퍼지 관계식들의 시스템에 관해서, 집합체를
이루는 출력 y는 다음과 같은 방식으로 계산
– 여기서 y(y)는 퍼지 입력 X에 대한 전체 출력 응답을 상술하
는 퍼지 소속함수
– n개의 상호작용을 갖지 않는 입력 시스템에 관해 집합체 출력
퍼지 규칙의 실행 절차
1. 언어적 변수들의 퍼지집합 형태의 결정
2. 조건부의 언어적 변수들에 관한 퍼지 연산자의 적용
3. 함의 연산자의 적용(각 규칙들에 관한 관계식의 출력)
4. 출력의 통합
5. 출력의 비퍼지화
퍼지 규칙의 실행 절차: 예
 입력은 온도에 관한 명확한 값이고, 출력은 fan 속도
에 관한 명확한 값이라 할 때, fan의 속도를 제어하는
간단한 퍼지 규칙
if Temperature is COOL then Fan_speed is LOW ELSE
if Temperature is MODERATE then Fan_speed is MEDIUM
ELSE
if Temperature is HOT then Fan_speed is HIGH
– 이것은 조건부의 퍼지 집합은 COOL, MODERATE, HOT, 결
론부의 퍼지 집합이 LOW, MEDIUM, HIGH인 경우에 있어서
3가지 퍼지 규칙
– ELSE는 함의 연산자에 따라서 다르게 해석; 즉 Zadeh MaxMin 함의 연산자는 AND, Mamdami Min 함의 연산자와
Larson Product 함의 연산자는 OR
퍼지 규칙의 실행 절차: 예
 입출력에 관한 퍼지집합 형태를 나타내는 문장
x=0:120; % 온도에 관한 전체집합
y=0:10; % 팬 속도에 관한 전체집합
cool_mf=trapzoid(x, [0 0 30 50]); % 온도 cool에 관한 소속함수
moderate_mf=triangle(x, [30 55 80]); % 온도 moderate에 관한 소속함
수
hot_mf=trapzoid(x, [60 80 120 120]); % 온도 hot에 관한 소속함수
antecedent_mf=[cool_mf; moderate_mf; hot_mf];
plot(x, antecedent_mf), title('Cool, Moderate and Hot Temperatures'),...
xlabel('Temperature'), ylabel('Membership')
% 팬 속도
low_mf=trapzoid(y, [0 0 2 5]); % 팬 속도 low에 관한 소속함수
medium_mf=trapzoid(y, [2 4 6 8]); % 팬 속도 medium에 관한 소속함
수
high_mf=trapzoid(y, [5 8 10 10]; % 팬 속도 high에 관한 소속함수
consequent_mf=[low_mf; medium_mf; high_mf];
plot(y, consequent_mf), title('Low, Medium and High Fan Speeds'),...
xlabel('Fan Speed'), ylabel('Membership')
퍼지 규칙의 실행 절차: 예
 퍼지 집합의 형태
퍼지 규칙의 실행 절차: 예
 팬의 속도를 제어하는 퍼지 규칙들에 관해 온도가 72
인 경우에 있어서 퍼지 추론의 결과(팬 속도)
– 입력 온도 72에 관한 출력으로 각 규칙에 관한 DOF 계산
temp=72; dof1=cool_mf(find(x==temp));
dof2=moderate_mf(find(x==temp)); dof3=hot_mf(find(x==temp));
DOF=[dof1; dof2; dof3]
[출력] DOF = 0 0.32 0.60
– dof1, dof2, dof3의 대신에 다음과 같은 하나의 문장을 사용할
수도 있음
DOF=antecedent_mf(:, find(x==temp);
– 각 규칙의 조건부는 하나의 입력만을 가지기 때문에 AND 또
는 OR과 같은 퍼지 연산자를 적용하지 않음
퍼지 규칙의 실행 절차: 예
 함의 연산자의 적용 단계
consequent = product(consequent_mf, DOF);
plot(y, consequent), axis([0 10 0 1]),...
title('Consequent
Fuzzy
Set'),
xlabel('Fan
ylabel('Membership')
Speed'),
퍼지 규칙의 실행 절차: 예
 규칙 적용 결과에 따른 출력 퍼지 집합의 통합
output_mf=max(consequent);
plot(y, output_mf), axis([0 10 0 1]), title('Output Fuzzy Set'),...
xlabel('Fan Speed'), ylabel('Membership')
퍼지 규칙의 실행 절차: 예
 통합된 출력 퍼지 집합의 비퍼지화
– output=centroid(y, output_mf);
– c_plot(y, output_mf, output, 'Crisp Output')