* 퍼지 사고
- 모호한 용어를 사용하는 전문가의 지식을 컴퓨터에 수치화 하여 나타낼 방법을 모색
- 모호한 용어와 같이 모호한 대상을 다루는 논리가 퍼지 논리(Fuzzy logic)이다.
- 또한 퍼지 논리를 조절 할 수 있는 것이 퍼지 집합(Fuzzy set)이다.
- Boolean Logic vs Fuzzy logic
> 전통적인 논리는 이분법에 의해 구분되게 된다.
> 퍼지논리는 사람이 생각하는 방식을 반영하여, 사람의 인식을 모델링 한다.
- Jan Lukasiewicz : 모호함을 수학적으로 바꾸는 것을 최초로 시도한 사람
> 0~1과 사이의 수치로 진리값을 사용하여, 문장이 참이나 거짓이 되는 가능성을 나타냈다.
eg) 만약 온도가 40도라면 0.8의 확률로 뜨겁다.
> 모호한 대상을 다루는 "가능성 이론(Possibility theory)"이 나오게 되었다.
- Lotifi Zadeh : 퍼지 이론을 재발견 하여 이를 증명, 응용하는데 기여한 사람
- Binary logic vs Fuzzy logic
> 퍼지 논리는 이진 논리 처럼 소속을 확연히 구분 짓는 것이 아니라, 특정 논리가 그 집합에 어느정도 속하는 지를 표현
> 이진 논리가 참과 거짓, 두 개로 나뉘는 2치 논리라면 퍼지 논리는 다치 논리이다.
> 그 값이 집합에 어느정도 속하는 지를 나타내는 것을 소속도라고 하며, 0과 1사이의 연속된 논리값을 사용한다.
> 이러한 특징에 의해 특정 값은 여러 집합 속할 수 가 있다.
> Fuzzy logic에 의해 나타나는 소속도 값의 모양은 Sigmoid함수와 비슷한 모양을 갖는다.
(적분계산의 편의를 위해서 소속도 값의 모양을 시그모이드, 가우스, 파이 함수 형태로 바꾸기도 한다.)
* 퍼지 집합
- 단순히 경계가 모호한 집합
- 소속도 함수를 사용하여 그 값이 0과 1중 어느정도에 속하는지를 판단한다.
--------------------------------------------------------------------------------------------------------------
이후는 우리가 잘 알고 있는 고전적 집합과 퍼지집합을 비교하면서 설명이 된다.
* 집합의 식
1) 고전적 집합
- 특성 함수를 사용하여 표현한다. ( 특성함수 : f(x) )
2) 퍼지 집합
- 소속 함수를 사용하여 표현한다. ( 소속함수 : μ(x) )
- 소속 함수는 x의 값에 따라 그 값이 A집합에 어느정도 포함되는지를 나타낸다.
3) 고전적 집합과 퍼지 집합의 차이점
- 고전적 집합에서 x1은 1, x2는 0의 소속도를 갖는다.
하지만 퍼지 집합에 적용하면, 모호함이 적용되여 x1은 1, x2는 0.4의 소속도를 갖는다.
* 집합의 표현
1) 고전적 집합과 퍼지 집합모두 같은 방식으로 표현을 한다.
A = { (x1,소속도), (x2, 소속도), ... (xn, 소속도) }
(왼쪽 그림은 고전적인 집합의 모습, 오른쪽 그림은 퍼지 집합에서의 모습을 나타낸다.)
- 고전적 집합의 표현 : A = { (x1,0), (x2,1), (x3,0) }
- 퍼지 집합의 표현 : A = { (x1,0.7), (x2,1.0), (x3,0.3) }
> 간단하게 A = ( 0.7/x1, 1.0/x2, 0.3/x3 ) 으로 표현도 가능하다.(소속도/값)
* 언어 변수 & 헤지(Hedge)
- 언어 변수 = 퍼지 변수
ex) 속도가 빠르다. // "속도"라는 언어변수는 "빠르다"라는 값을 취한다.
- Hedge : 언어 변수에 일종의 연산을 가한다.
ex) 속도가 빠르다 -Hedge(매우)→ 속도가 매우 빠르다.
> Hedge는 퍼지 집합을 확장 시키거나 축소 시킨다.
> 퍼지 집합이 커지는 경우 "확장 연산"을 적용했다고 한다.
> 퍼지 집합이 축소되는 경우 "집중 연산"을 적용했다고 한다.
> 이외에 퍼지 집합의 특징을 확실하게 하기 위한 "강화 연산"이 존재한다.
- Fuzzy 연구회에서는 각 Hedge에 따른 소속도 변화량을 통계내어 수식화 하였다.
1) 매우
2) 몹시
3) 매우매우
4) 다소
5) 확실히
* 퍼지 집합 연산
다음의 그림을 토대로 각각의 집합연산 결과를 나타낼 것이다.
- 여집합
> 전통 집합 : 그 집합에 속하지 않은 원소
> 퍼지 집합 : 특정 원소가 얼마만큼 그 집합에서 벗어나 있는가
- 포함관계
> 전통 집합 : 어떤 집합이 다른 집합에 속하는가?
> 퍼지 집합 : 어떤 집합이 다른 집합에 속하는가?
: 부분 집합관계가 되면 구간별 소속도가 어느정도 줄어들지만, 어느정도 줄어드는지는 모른다.
- 교집합
> 전통 집합 : 두 집합에 모두 속하는 원소
> 퍼지 집합 : 두 집합에 어느정도 속하는가?
- 합집합
> 전통 집합 : 두 집합중 한 곳이라도 속하는 원소
> 퍼지 집합 : 두 집합에 얼마만큼 속하는가?
* 퍼지 규칙
- IF, THEN 형식으로 정의가 가능하다.
ex) IF X is A THEN Y is B.
> X, Y : 언어 변수
> A, B : 논의 영역
- 전건을 평가하여 후건에 적용하여 결과를 얻어내는 "단조 선택"기법이 Fuzzy추론의 시작점이다.
1) 전건의 평가 : 모든 규칙은 전건에 의해 특정 소속도 값을 갖게 된다.
ex) X가 A에 어느정도 속하는가?(소속 함수를 이용)
2) 후건에 결과 표현 : 전건에 나온 소속도 값을 B에 소속도로 사용하여 Y의 값을 구한다. > 출력값 = Y
ex) 전건의 결과 K, K를 소속도로 갖게 하는 Y의 값은 얼마인가?
단조 선택(monotonic selection) ex)
- 여러개의 규칙에서 나온 값(Fuzzy Result)를 하나의 퍼지 값으로 변경하는 방법이 필요하다.
* 퍼지 추론
ⓐ 맘다니형 추론
1) 퍼지화 : 사용자의 입력 값이 퍼지 집합 각각에 어느 정도 속하는지 계산하는 과정
2) 규칙 평가 : 각각의 주어진 퍼지 규칙을 평가하여 나온 소속도 값을 후건의 소속 함수에 적용하는 과정
> 적용법(Clipping & Scaling) : 맘다니형 뿐만아니라 스게노형에도 사용된다.
> 계산의 편의를 위해 대부분 클리핑을 사용한다.
3) 결과 통합 : 각각 규칙에서 나온 결과를 하나로 합치는 과정
4) 역퍼지화 : 통합된 규칙에서 하나의 값(결론)을 도출해 내는 과정
> 무게 중심 법을 사용하여 결론의 무게 중심을 구한다.
> 무게 중심 법의 적용은 적분이 아니다. 구분 구적법으로 일정 간격을 잘라서 계산하면 된다.
ⓑ 스게노형 추론
> 스게노형은 맘다니형과 똑같은 과정을 거치지만, 계산을 단순화 하였다.
> 각 규칙에서 나온 그 선분의 값만을 이용해서 COG값을 계산해낸다.
- 스게노형과 맘다니형의 차이
> 맘다니형 : 전문가의 지식을 얻는데 주로 사용. 전문 지식을 직관적이고 사람이 하듯이 설명이 가능. 계산 비용 많음.
> 스게노형 : 계산이 효율적임. 최적화나 적응형 기법과 잘 작동. 제어 문제 및 동적 비선형 시스템에 매우 적합.
* 퍼지 추론의 예