서 론오늘날 컴퓨터는 우리 주위에 없어서는 안될 중요한 도구가 되어 있으며 우리가 원하는 많은 일을 대신해 주고 있다. 컴퓨터가 일을 하기 위해서는, 우리가 주위 현상을 숫자로 바꾸어 주어야 하고 컴퓨터는 이 숫자를 계산함으로써 우리가 원하는 바를 대신하고 있다. 이때 숫자로 바꿀 때는 '정확한 숫자'로 바꾸어주어야 한다. 즉 사과 두개 또는 10개 등 정확한 숫자로 바꾸어 주어야 계산할 수 있다. 현대에는 컴퓨터 기술의 발달에 힘입어 종전에 우리가 처리할 수 있는 정보보다 훨씬 더 복잡한 문제를 해결할 수 있게 되었다. 따라서 복잡한 현상을 단순화시켜 문제로 만들 때 가능하면 정보의 손실을 줄이는 방향으로 연구가 진행되고 있다. 이러한 노력이 진행됨에 따라서 우리가 일상적으로 많이 사용하는 애매한 표현도 그대로 처리할 필요가 생겼다.예를 들어서 "사과 두 개 사오너라"라는 심부름을 시켰다고 해보자. 우리는 정확히 사과 두 개를 사면 될 것이다. 그러나 "사과 두어개 사오너라"고 했다면 우리는 사과를 몇개 사야할지 잠시 망설이게 된다. 이때 애매한 숫자 두어개는 두개를 사든지 세게를 사든지 알아서 하라는 뜻이다. 이와 같이 우리는 일상생활에서 '서너개', '약', '정도', '크다', '춥다' 등의 애매한 상태를 나타내는 말을 많이 사용한다.최근 인간과 비슷하게 생각하고, 일하는 컴퓨터를 만들고자 하는 인공지능 연구가 활발하게 진행되고 있다. 컴퓨터가 인공지능을 가지고 인간이 원하는 바를 제대로 수행하기 위해서는 인간이 사용하는 숫자는 물론이고 애매한 표현을 처리할 수 있어야 한다. 이러한 인간의 애매한 표현을 처리할 수 있는 이론적인 바탕을 제공하는것이 바로 퍼지이론(fuzzy theory)이다.일반 컴퓨터는 앞에서 사용한 애매한 표현, '두어개'라는 값을 이용하여 계산할 수 없다. 그러나 퍼지이론을 이용한 컴퓨터는 '두어개', '약 두어개' 등의 값을 계산할 수 있다. 즉, 퍼지 컴퓨터는 인간이 사용하는 애매한 표현도 이해할 수 있기 때문에 인간과 좀 더 에서 예를 든 심부름에서 사과 '두개 또는 세개'라고 구체적으로 명시했다면 두개를 사든 세개를 사든 아무 상관이 없다. 이때 살 수 있는 사과의 갯수를 원소로 생각하여 집합으로 나타내면 {2,3}이 될 것이다. 한편 '사과 두어개'를 사야 한다면 두개 또는 세개를 사면 될 것이다. 좀더 자세히 살펴보자.사과 두개를 샀을 때와 세개를 샀을 때를 비교해 보자. 심부름을 시킨 사람은 몇 개를 샀을 때 심부름을 잘했다고 할까. 아마도 세개를 사도 되지만 두개를 샀을 때 더욱 만족할 것이다. 이것은 우리가 일상적으로 사용하는 '두어'란 말이 2 또는 3 이지만 2를 강조하는 말이기 때문이다. 이것을 좀더 수학적으로 나타내면 '2일 가능성이 1.0, 3은 가능성이 0.5'라고 정의할 수 있다.이와 같이 정의하면 '두어'라는 집합에 숫자 2는 1.0, 3은 0.5의 가능성을 가지고 포함된다과 할 수 있고, 이것을 퍼지집합이라고 한다. 퍼지집합의 경우에는 각 원소가 집합에 포함될 가능성을 붙여 다음과 같이 표시한다.'두어'={(2,1.0), (3,0.5)}따라서 보통집합은 각 원소가 포함될 가능성이 1.0인 경우라는 것을 알 수 있고, 앞에서 본 집합은 다음과 같이 나타낼 수 있다.'2 또는 3'={(2,1.0), (3,1.0)}퍼지이론에서는 불확실한 상황을 표현할 때 숫자보다는 자연어의 구문식 표현을 사용하는 경우가 많다. 예를 들어 '철수는 젊다'라고 했다 하자. 이때 애매상태를 나타내는 구문식 표현은 '젊다'이다. 이 구문식 표현이 나타내는 것은 과연 몇살 정도인가 하는 의문이 생길 것이다. 이를 위해서 미리 '젊다'는 의미를 정의해 놓을 필요가 있다. 우리가 '젊다'는 말을 할 때 이 범위에 드는 나이가 있을 것이고, 이 범위에 속하는 '젊은 나이'들을 집합으로 표현할 수 있다. 이 경우의 집합을 퍼지집합(fuzzy set)이라고 한다.Figure 1. Membership Function'젊다’는 의미를 정의할 때는 가로축은 나이를 나타내고, 세로축은 소속함수(mem값이 Linguistic Variable이다.S형 Membership FunctionFigure 3. S type Membership FunctionS형Membership Function는 퍼지집합이론에서 가장 흔하게 이용되는 함수이다. 이 함수는 코사인 함수에 의해 도출될 수 있다. 여기서는 곡선을 제어하는 위치가 중요하다. 그림에서는 0과 1이 바로 곡 선의 제어점이며, 변곡점을 나타낸다.J형Membership FunctionFigure 4. J type Membership Function대부분의 경우에 S형의 소속도 함수가 더 적절하나, J형의 소속도 함수 또한 매우 일반적으로 관찰할 수 있는 함수이다. 아래그림은 J형 소속도 함수의 여러 형태를 보여주고 있다. 이 함수에서 주의해야 할 점은 0(zero)에 무한히 접근한다는 것이다. 따라서 변곡점은 0이 아니라 0.5의 귀속도에 접근한 점이다.선형Membership FunctionFigure 5. Linear type Membership Function선형 Membership Function는 퍼지이론의 논리를 광고하는 전기제품에 많이 응용되는데, 간단하고 또한 선형 감지기로부터 산출물을 감시하기 위해서이다.Fuzzy logic의 사용퍼지 로직의 생소한 면 중 하나는 직관적인 지식 (intuitive knowledge)을 사용하는 것입니다. 우리의 지식을 측정하기 위하여, "만약 내가 저항 장치라면, 서미스터를 어떻게 가열할 것인가?" 라는 질문을 하여 봅니다. 표1을 생각해 내는 것은 쉬울 것입니다. 만약 현재 온도와 최종 온도의 차이가 크면, 서미스터를 최대의 열로 가열합니다. 만약 그 차이가 작다면 - 즉 점점 최종 온도에 다가간다면 - 가열 정도를 줄여서 과열되지 않도록 합니다. 마지막으로 차이가 없다면, 최종 온도에 다다른 것을 의미하므로 더욱 가열의 정도를 줄여서 그 온도가 유지되도록 합니다. 어떤 순간에 온도가 최종 설정 온도보다 올라가면 가열 장치를 끕니다.Table. 1온도차이가열정도대(대신 사용해 봅니다. 표 2에멤버쉽 함수가 나타나 있습니다.Table.2T가열정도차다(Cold)최대(Full)시원하다(Cool)중간(Medium)딱맞다(JustRight)적게(Small)뜨겁다(Hot)꺼짐(Off)제2단계 -규칙 기반 (Rule Base)다음 단계는 퍼지화된 입력 용어들을 퍼지 출력 용어들과 연결 시키는 것입니다. 우리의 직관적인 지식의 경험으로 부터, 우리는 '차다'를 최대 가열과 연관시키고, '시원하다'는 중간 정도의 가열과 연관시키며, 다른 것들에 대해서도 같은 방법을 사용합니다. 규칙 기반은 단순한 일대일 관계나 여러 개의 입출력 관계를 가질 수 있습니다.지금의 경우에는 입력과 출력 사이에 간단한 일대일 관계를 가지고 있습니다.위에서 언급한 실험에서, 6℃의 ΔT 는 25%는 '딱 맞다'로, 70%는 '시원하다'로 퍼지화 되었습니다. 따라서 출력은 규칙 기반에 따라 25%는 '소' 가열로 ('소'는 '딱 맞다'와 일대일 관계에 있습니다.), 70%는 '중간' 가열로 ('중간'은 '시원하다'와 일대일 관계에 있습니다.) 해석됩니다 (Figure 6).Figuer 6. Linguistic Variable & Linguistic Term제3단계 -비퍼지화 (Defuzzification)퍼지 로직에서의 세 번째 마지막 단계는 규칙 기반에서 생긴 퍼지 출력 용어들을 특정출력 값으로 전환하는 비퍼지화 단계입니다. 앞에서 언급된 것처럼, 기계들은 특정한정량적인 값들만을 받아 들입니다. 비퍼지화는 거의 퍼지화 과정의 역순으로 행해집니다. 출력 퍼지 용어들은 Figure 4에서 처럼 출력 멤버쉽 함수를 통하여 특정 출력 값으로 전환됩니다. 따라서 우리는 용어들을 '최대', '중간', '적게' 그리고 '꺼짐'으로 다시 정의할 수 있습니다. 앞의 6℃ 특정 입력의 예를 계속 사용하면, 이것에 해당하는 출력 용어는 70%는 '중간'이고, 25%는 '적게'입니다. Y 축에서 수평의 선들은 각각 '중간'과 '적게'의 멤버쉽 용어들을 가로지르도록 0.7과 0.25diagram of temperature control systemFigure 9. Membership Function of This work실험 방법Rule Base는 Table 3.에 따르며 변화를 주지 않는다.Linguistic Variable & Term 을 변화 시켜가면서 방안 온도를 제어한다.공정응답에 미치는 Linguistic Variable & Term의 변화와 영향을 찾아낸다.방안 온도제어의 최적의Linguistic Variable & Term값들을 찾아낸다.정상상태에 이르면 설정온도를 변화시켜가며 제어 시스템의 안정성을 알아본다.Table 3. Rule Base of room Temperature, Temperature change, Operating heaterRoom T.T. changeHeaterIFCold&DecreaseTHENPositiveColdNonePositiveColdIncreaseZeroComfortableDecreasePositiveComfortableNoneZeroComfortableIncreaseNegativeHotDecreaseZeroHotNoneNegativeHotIncreaseNegative결과 및 고찰본 실험에서는 Fuzzification 하는 Linguistic Variable로 온도변화와 온도오차의 구조로 사용한다. Defuzzification 하는 Linguistic Variable은 전구에 들어가는 전원의 조절이다. 각각의Linguistic Variable와 Linguistic Variable을 도시화 하면 Figure 10~12과 같다.Figure 10. linguistic Variable(Temperature Change)설정온도는 40℃ 였으며, 초기 변수 값으로 제어기를 시행하였을 경우 설정점 근처에서 큰 진동(-1.0 ~ +1.0 ℃ 이상)을 나타내거나, 설정점 이상의 온도에서 안정화 되는 결과를 나타내었다. 변수들의 변화시켜가면서 최적의 제어 조건값을 찾는 반복을 수행을 하였으나, 결국 선형적인낸다.