KR970004526B1 - 퍼지 추론 처리방법 및 장치와 룰 설정방법 및 장치 - Google Patents

퍼지 추론 처리방법 및 장치와 룰 설정방법 및 장치 Download PDF

Info

Publication number
KR970004526B1
KR970004526B1 KR1019920008233A KR920008233A KR970004526B1 KR 970004526 B1 KR970004526 B1 KR 970004526B1 KR 1019920008233 A KR1019920008233 A KR 1019920008233A KR 920008233 A KR920008233 A KR 920008233A KR 970004526 B1 KR970004526 B1 KR 970004526B1
Authority
KR
South Korea
Prior art keywords
input data
input
processing
rule
input variable
Prior art date
Application number
KR1019920008233A
Other languages
English (en)
Other versions
KR920022140A (ko
Inventor
하지메 니시다이
Original Assignee
오므론 가부시끼가이샤
다떼이시 요시오
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP13945291A external-priority patent/JP3211093B2/ja
Application filed by 오므론 가부시끼가이샤, 다떼이시 요시오 filed Critical 오므론 가부시끼가이샤
Publication of KR920022140A publication Critical patent/KR920022140A/ko
Application granted granted Critical
Publication of KR970004526B1 publication Critical patent/KR970004526B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/02Computing arrangements based on specific mathematical models using fuzzy logic
    • G06N7/04Physical realisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/048Fuzzy inferencing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/02Computing arrangements based on specific mathematical models using fuzzy logic
    • G06N7/023Learning or tuning the parameters of a fuzzy system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/02Computing arrangements based on specific mathematical models using fuzzy logic
    • G06N7/026Development tools for entering the parameters of a fuzzy system
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S706/00Data processing: artificial intelligence
    • Y10S706/90Fuzzy logic

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Fuzzy Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Algebra (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computational Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Feedback Control In General (AREA)
  • Devices For Executing Special Programs (AREA)
  • Hardware Redundancy (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Image Analysis (AREA)
  • Input Circuits Of Receivers And Coupling Of Receivers And Audio Equipment (AREA)
  • Emergency Protection Circuit Devices (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

요약없슴

Description

퍼지 추론 처리방법 및 장치와 룰 설정방법 및 장치
제1도는 제1실시예의 퍼지 추론 처리 장치의 구성을 나타내는 블럭도.
제2도는 RAM의 내용을 나타내는 도면.
제3도는 RAM에 기억되어 있는 롤 데이타 도.
제4도는 제1실시예에 의한 퍼지 추론 처리 순서를 나타내는 순서도.
제5도는 제1실시예에 따른 처리의 흐름도.
제6도는 변형예에 있어서 RAM의 내용도.
제7도는 변형예에 있어서 퍼지 추론 처리 순서를 나타내는 순서도.
제8도는 제2실시예에 있어서 룰 데이타의 구조도.
제9도는 제2실시예에 의한 퍼지 추론 처리 순서를 나타내는 순서도.
제10도는 변형예에 있어서 퍼지 추론 처리 순서를 나타내는 순서도.
제11도는 제3실시예에의 퍼지 추론 처리 장치의 구성을 나타내는 블럭도.
제12도는 입력 변수 번호를 따르는 입력 데이타의 포맷도.
제13도는 처리완료 플래그 에어리어를 도시하는 도면.
제14도는 RAM에 기억되는 있는 룰 데이타의 구조도.
제15도는 제3실시예에 의한 퍼지 추론 처리 순서도.
제16도는 제3실시예에 따른 처리의 흐름도.
제17도는 변형예에 있어서 퍼지 추론 처리 순서를 나타내는 순서도.
제18도는 제4실시예에 있어서 퍼지 추론 처리 장치의 구조에 대한 일례를 나타내는 블럭도.
제19도는 입력 데이타시 기억 에어리어를 도시하는 도면.
제20도는 인터럽트 처리 순서를 나타내는 순서도.
제21도는 제4실시예에 있어서 퍼지 추론 처리 장치의 구조에 대한 다른예를 나타내는 블럭도.
제22도는 제1실시예에 있어서 퍼지 추론 처리 순서를 제4실시예에 적용한 순서도.
제23도는 제2실시예에 있어서 퍼지 추론 처리 순서를 제4실시예에 적용한 순서도.
제24도는 제3실시예에 있어서 퍼지 추론 처리 순서를 제4실시예에 적용한 순서도.
제25도는 제4실시예에 따른 처리의 흐름에 대한 일례도.
제26도는 제4실시예에 따른 처리 흐름의 다른 예시도.
제27도는 제5실시예에서 입력 변수와 레이블의 쌍 및 룰 번호의 관계를 나타내는 다이아그램.
제28도는 룰 수(number of rule) 에어리어의 도시도.
제29도는 룰 번호 에어리어의 도시도.
제30도는 제5실시예에 의한 퍼지 추론 처리 순서를 나타내는 순서도.
*도면의 주요부분에 대한 부호의 설명*
13 : 시리얼 I/F14 : 버퍼
24 : 송신 버퍼25 : 메모리
본 발명은 퍼지 추론 처리 방법 및 장치에 관한 것이다.
숙련된 기술자나 기능자가 갖는, 수식 등에 의해서는 엄밀하게 나타내는 것이 곤란한 이른바 노하우, 경험측이라는 것을 이용하여 의지 결정, 고장 진단을 행하거나, 비선형성이 강한 제어 대상의 자동 제어를 행하는 경우에, 퍼지 추론 처리가 넓게 사용되도록 되어 왔다. 퍼지 추론 처리는, 퍼지 추론 처리 전용의 아키텍쳐를 가지는 아날로그 또는 디지탈 프로세서 또는 퍼지 연산이 가능하도록 프로그램된 범용 디지탈 컴퓨터에 의하여 실행된다.
퍼지 추론 처리는 이른바 If, then 룰에 따라 실행된다. If, then 룰의 예를 아래에 나타낸다.
룰 1 : If x1=PL and x2=PL and x4=PL, then y1=PL
룰 2 : If x1=PL and x2=PM, then yl=PL
……
룰 i : If × 1=NL and x3=PM, then y1=ZR
여기서 If…, 를 전건부(antecedent), then 이후를 후건부(consequent)라고 한다. x1, x2, x3, x4는 입력변수, y1은 출력 변수이다. PL, PM, NL, ZR 등은 멤버쉽 함수를 나타내는 언어 정보로서 레이블이라고 한다.
퍼지 추론 연산은 다음과 같이 하여 실행된다.
우선, 전건부 처리에서, 입력 데이타가 대응하는 멤버쉽 함수에 대한 적합도가 구하여진다. 예를들면 룰(1)에서, 입력변수(x1, x2, x4)에 관한 입력 데이타(이들도 부호 x1, x2, x4로서 나타낸다)의 멤버쉽 함수(PL)에 대한 적합도(a11, a12, a14)가 각각 구하여진다. 적합도는 입력 데이타가 멤버쉽 함수에 부여되었을 때의 멤버쉽 함수값(함수시, 또는 그레이드)이다. 룰(1)에 있어서 이들의 적합도(a11, a12, a14) 사이에서 소정의 연산(이 연산으로서는 MIN 연산이 가장 일반적으로 채용되고 있다) 이행하여지고, 그 결과(a1)가 룰(1)에 있어서 적합도로 된다.
마찬가지로 하여, 룰(2)에서, 입력 데이타(x1)의 멤버쉽 함수(PL)에 대한 적합도(a21), 및 입력 데이타 (x2)의 멤버쉽 함수(PM)에 대한 적합도(a22)가 각각 구하여 진다. 이들의 적합도(a21)와 (a22) 사이에서 소정의 연산(MIN 연산) 결과가 룰(2)의 적합도(a2)로 된다.
다른 룰에 대하여도 같은 연산 처리에 의하여 룰마다의 적합도가 구하여진다.
후건부가 동일한 복수의 룰이 있는지 어떤지가 체크된다. 예를들면 룰(1)과 룰(2)의 후건부는 모두 y1=PL로서 같다. 이러한 후건부가 동일의 룰 사이에서, 룰의 적합도간의 소정연산(이 연산으로서는 MAX 연산이 가장 일반적으로 채용되고 있다)이 행하여지고, 최종적인 적합도(A1)가 얻어진다.
후건부가 동일인 복수의 룰이 없는 경우에는 각 룰의 적합도가 그대로 유지된다.
다음에, 후건부 처리로 이동한다. 후건부 처리에서는 먼저 얻어진 각 룰의 적합도를 그 룰의 후건부에 기술되어 있는 멤버쉽 함수에 작용되는 처리가 행하여진다. 예를 들면 룰(1)과 룰(2)은 함께 후건부가 y1=PL이다. 룰(1)과 룰(2)에 있어서 적합도는 A1이므로, 이 적합도(A1)를 후건부의 멤버쉽 함수(PL)에 작용시킨다(이 연산으로서는 적합도(A1)와 멤버쉽 함수(PL)의 MIN 연산, 즉 트런케이션(truncation)이 넓게 행하여지고 있다). 또한, 룰(i)에서는 룰(i)의 전건부 처리에서 얻어진 적합도(ai)가 후건부의 멤버쉽 함수(ZR)에 작용시키는 처리가 행하여진다.
이와 같이 하여 얻어진 후건부의 멤버쉽 함수의 레이블마다의 연산 결과도 또한 일종의 멤버쉽 함수이다. 이들의 멤버쉽 함수 상호간의 연산(예를들면 MAX 연산)이 행하여져 최종적인 추론 결과가 얻어진다.
자동 제어 등의 응용에서는 제어 대상에 부여되는 조작량을 도출할 필요가 있다. 그래서, 최종적인 추론 결과를 비퍼지화(디퍼지파이)하는 연산(이것을 확정 연산 처리라고 한다)이 행하여진다. 이 연산에는 중심법, 최대 높이법 등이 있다. 중심법은 최종적인 추론 결과의 중심위치를 산출하고, 이 중심 위치를 최종 출력으로 하는 것이다. 최대 높이법은 후건부 처리후에 있어서 후건부의 멤버쉽 함수 중에서, 가장 그레이드가 큰 멤버쉽 함수의 레이블을 결정하는 것이다. 이것은 의지 결정을 위하여 퍼지 추론을 이용하는 경우에 흔히 행하여지는 방법으로, 이 경우에는 후건부의 멤버쉽 함수는 싱글톤으로 표시되는 일이 많다.
일반적으로 상술한 복수의 룰을 기술하는(설정하는) 순서에 제약은 없다. 따라서, 설계자는 임의의 순서로 룰을 작성, 기술 또는 프로세서 또는 컴퓨터에 입력하여 설정한다. 그리고, 프로세서 또는 컴퓨터내에서는 상술한 일련의 처리, 특히 전건부 처리는 룰의 기술(설정)된 순서에 따라 실행된다.
따라서, 설정된 복수의 룰에 포함되는 모든 입력 변수에 대하여 입력 데이타가 갖추어져 있지 않으면, 퍼지 추론 처리를 개시할 수 없다. 프로세서 또는 컴퓨터는 퍼지 추론 처리의 개시에서 모든 입력 데이타가 입력되어 있는지 어떤지를 확인하고 있었다.
이러한 종래의 방법에 의하면, 입력 변수의 종류수가 많은 경우나, 입력 데이타의 입력에 시간이 걸리는 경우에는 퍼지 추론을 개시하기 위하여 긴 대기시간이 필요하게 된다. 후자의 경우의 예로서는 메인 CPU등의 상위 기기에서 퍼지 프로세서 입력 데이타를 시리얼 전송하는 경우가 있다.
어느 것으로 하여도 입력 데이타의 입력 또는 전송에서 퍼지 추론 처리 개시까지의 시간(오버헤드)이 길게 걸리고, 전체적인 처리 효율이 저하한다는 문제가 있다.
본 발명은 전체적인 처리 효율의 향상을 도모하는 것을 목적으로 한다.
본 발명에 의한 퍼지 추론 처리 방법은 전건부의 복수의 입력 변수와 후건부의 적어도 1개의 출력 변수를 멤버쉽 함수를 사용하여 관련하는 복수의 룰이 미리 설정되어 있으며, 입력 데이타가 부여되어 있는 1개의 입력 변수가 관계하는 모든 룰에 대하여 전건부 처리를 행하고, 그 후, 입력 데이타가 부여되어 있는 다른 1개의 입력 변수가 관계하는 모든 룰에 대하여 전건부 처리를 행하도록 하여, 입력 변수마다 전건부 처리를 실행하는 것이다.
본 발명에 의한 퍼지 추론 처리 장치는, 전건부의 복수의 입력 변수와 후건부의 적어도 1개의 출력 변수를 멤버쉽 함수를 사용하여 관련하는 복수의 룰이 미리 설정되어 있는 메모리, 부여된 입력 데이타에 대하여, 그 입력 데이타의 입력변수가 관계하는 모든 룰에 대하여 전건부 처리를 실행하는 전건부 처리수단, 및 상기 전건부 처리수단에 의하여 1개의 입력 변수에 대하여 전건부 처리가 종료한 후에, 다른 입력 변수의 입력 데이타를 상기 전건부 처리 수단에 부여하고, 그 입력 변수에 대하여 전건부 처리를 실행하도록 제어하는 수단을 갖추고 있는 것이다.
본 발명의 한 실시 형태에 있어서는, 입력 데이타가 부여되었을 때에, 그 입력 데이타에 대하여 입력변수가 관계하는 모든 룰에 대하여 전건부 처리가 실행된다.
본 발명의 다른 실시 형태에서는 부여된 입력 데이타가 기억 수단에 일시 기억된다. 그리고, 상기 기억 수단에 기억되어 있는 입력 데이타가 순차 판독되고, 판독된 입력 데이타에 대하여 입력 변수가 관계하는 모든 룰에 대하여 전건부 처리가 실행된다.
입력 데이타가 부여되었을 때에, 인터럽트 처리에 의하여 부여된 입력 데이타를 상기 기억 수단에 기억하도록 하는 것도 가능하다. 상기 기억 수단을 FIFO 메모리에 의하여 실현하고, 입력 데이타가 부여된 순서로 FIFO 메모리에 기억되고, 부여된 순서에 따라 FIFO 메모리에서 입력 데이타를 판독하도록 하여도 좋다.
상기 전건부 처리는 룰에 의하여 입력 변수에 관계된 멤버쉽 함수에 대한 입력 데이타의 적합도를 산출하고, 룰의 전건부마다, 그 전건부에 포함되는 입력 변수에 대하여 이미 산출된 적합도 사이에서 소정의 연산(예를들면 MIN 연산)을 행하는 것이다.
모든 입력 변수에 대하여 전건부 처리가 종료한 후, 전건부가 동일을 룰 사이에서, 전건부 처리 결과에 소정의 연산(예를 들면 MAX 연산)이 실시된다.
복수의 룰 메모리의 설정 방법에는 여러가지 형태가 있다.
그 한 상태는 복수 룰의 각각의 전건부에, 모든 룰에 포함되는 모든 입력 변수를 포함하여 두고, 이들의 입력 변수에 멤버쉽 함수를 관계지우거나 멤버쉽 함수가 관계지워지지 않는 것을 나타내는 코드를 붙여두는 것이다. 이 경우에는 각 입력 변수에 대하여 전건부 처리에서 각 룰마다 그 입력 변수에 멤버쉽 함수가 관계지워지는지 어떤지 판정되고, 멤버쉽 함수가 관계지워지는 것에 대하여 관계지워지는 멤버쉽 함수에 대한 입력 데이타의 적합도가 구하여진다.
다른 형태는 복수 룰의 전건부를 구성하는 입력 변수와 멤버쉽 함수의 쌍을 입력 변수마다 정리하여 룰의 식별 코드와 관련시켜 설정하여 두는 것이다.
다른 형태는, 복수 룰의 전건부를 구성하는 입력 변수와 멤버쉽 함수의 쌍을, 입력 변수를 나타내는 코드에 대응하여 입력 변수마다 정리하여, 룰의 식별 코드와 관련하여 설정하여 두는 것이다. 입력 데이타는 그 입력 데이타의 입력 변수를 나타내는 코드가 부가되어 부여된다. 부여된 입력 데이타에 부가되어 있는 입력 변수를 나타내는 코드가 판정되고, 판정된 입력 변수를 나타내는 코드에 대응하여 설정되어 있는 입력 변수와 멤버쉽 함수의 쌍에 대하여 전건부 처리가 행하여진다.
본 발명에 의하면, 입력 데이타가 부여되었을 때에, 또는 이미 부여되어 있으며 기억 수단에 기억되어 있는 입력 데이타를 판독하여, 입력 데이타의 입력 변수가 관계하는 모든 룰에 대하여 전건부 처리가 행하여진다. 이 전건부 처리가 종료하면, 다른 입력 데이타의 입력 변수가 관계하는 모든 룰에 대하여 전건부 처리가 행하여 진다.
이와같이 하여, 전건부 처리가 입력 변수마다 실행된다.
본 발명에 의하면, 퍼지 추론 연산 처리에 있어서 전건부 처리가 입력 변수마다 실행되므로, 입력 데이타가 순차 전송되어 오는 경우에는 1개의 입력 데이타의 전송이 종료하면, 다음의 데이타가 전송되고 있는 사이에, 이미 전송되어온 입력 데이타에 대하여 전건부 처리를 실행할 수 있다. 따라서, 모든 입력 데이타의 전송 종료를 대기하는 일이 없고, 전송 오버헤드를 완화할 수 있다.
입력 데이타의 발생에 주기성이 없도록 하는 경우에는 입력 완료의 데이타에서 처리를 진행할 수 있으므로, 데이타 대기 시간을 유효하게 이용할 수 있다.
입력 데이타를 요구한 시점에서 그 요구한 입력 데이타가 실제로 얻어지기까지의 시간이 입력 데이타의 종류(입력 변수)에 의하여 다르거나, 일정하지 않도록 하는 경우, 입력 데이타의 발생의 순서가 일정하지 않는 경우에는 입력 데이타에 그 입력 변수를 나타내는 코드를 부가하여 줌으로서, 입력 데이타가 얻어지는 순서에 따라 입력 데이타의 전송, 추론 처리를 실행하여 가는 것이 가능하게 된다.
이상과 같이 하여 본 발명에 의하면, 퍼지 추론 처리 전체를 효율좋게 행할 수 있도록 된다.
본 발명에 의한 퍼지 추론 처리 방법은 복수 룰의 전건부를 구성하는 입력 변수와 멤버쉽 함수의 쌍과 룰 번호의 관계를 입력 변수마다 정리하여 메모리에 설정하여 두고, 입력 데이타가 부여되고 있는 1개의 입력 변수에 관련하는 모든 상기 쌍에 대하여 전건부 처리를 행하고, 그 후, 입력 데이타가 부여되어 있는 다른 1개의 입력 변수에 관련하는 모든 상기 쌍에 대하여 전건부 처리를 행하도록 하여, 입력 변수마다 전건부 처리를 실행하는 것이다.
본 발명에 의한 퍼지 추론 처리 장치는, 복수 룰의 전건부를 구성하는 입력 변수와 멤버쉽 함수의 쌍과 룰 번호의 관계가 입력 변수마다 정리하여 미리 설정되어 있는 메모리, 부여된 입력 데이타에 대하여, 그 입력 데이타의 입력 변수에 관련하는 모든 상기 쌍에 대하여 전건부 처리를 실행하는 전건부 처리 수단 및 상기 전건부 처리수단에 의하여 1개의 입력수에 대하여 전건부 처리가 종료한 후에, 다른 입력 변수의 입력 데이타를 상기 전건부 처리 수단에 부여하고, 그 입력 변수에 대하여 전건부 처리를 실행하도록 제어하는 수단을 갖추고 있다.
본 발명에 의한 룰의 설정에 관한 한 실시 형태에서는 입력 변수와 멤버쉽 함수의 쌍이 미리 일정의 순서로 되어 있으며, 이 순서에 따라 어드레스에 각 쌍에 관계하는 룰 번호를 기억한 룰 번호 에어리어가 상기 메모리에 설치된다.
본 발명에 의한 룰의 설정에 관한 다른 실시 형태에서는, 입력 변수와 멤버쉽 함수의 각 쌍을 포함하는 룰의 수를 미리 기억한 룰 수 에어리어가 상기 메모리에 설치되고, 부여된 입력 데이타의 입력 변수에 대하여 전건부 처리에서 상기 룰 수 에어리어를 참조하면서 상기 룰 번호 에어리어가 액세스 된다.
상기 룰 수 에어리어에서, 입력 변수와 멤버쉽 함수의 모든 조합에 의하여 생성되는 쌍에 미리 부여된 일정한 순서에 따라 어드레스에, 각 쌍을 포함하는 룰 수가 기억되어 있다.
본 발명의 전건부 처리 개시에 관한 한 실시 형태에서는, 입력 데이타가 부여되었을 때에, 그 입력 데이타에 대하여 입력 변수에 관련하는 모든 룰에 대하여 전건부 처리가 실행된다.
본 발명의 다른 실시 형태에서는 부여된 입력 데이타가 기억 수단에 일시 기억된다. 그리고, 상기 기억 수단에 기억되어 있는 입력 데이타가 순차 판독되고, 판독된 입력 데이타에 대하여 입력 변수에 관련하는 모든 룰에 대하여 전건부 처리가 실행된다.
입력 데이타가 부여되었을 때에, 인터럽트 처리에 의하여 부여된 입력 데이타를 상기 기억 수단에 기억하도록 하는 것도 가능하다. 상기 기억 수단을 FIFO 메모리에 의하여 실현하고, 입력 데이타가 부여된 순서로 FIFO 메모리에 기억하고, 부여된 순서에 따라 FIFO 메모리에서 입력 데이타를 판독하도록 하여도 좋다.
상기 전건부 처리는, 입력 변수와 쌍을 구성하는 멤버쉽 함수에 대한 입력 데이타의 적합도를 산출하고, 룰의 전건부마다, 그 전건부에 포함되는 입력 변수에 대하여 미리 산출된 적합도 사이에서 소정의 연산(예를 들면 MIN 연산)을 행하는 것이다.
모든 입력 변수에 대하여 전건부 처리가 종료한 후, 후건부가 동일의 룰 사이에서, 전건부 처리 결과에서 소정의 연산(예를 들면 MAX 연산)이 실시된다.
입력 데이타에, 그 입력 데이타의 입력 변수를 나타내는 코드를 부가하여 주고, 이 코드를 판정하고, 이 코드에 의하여 나타내는 입력 변수에 대하여 전건부 처리를 행하도록 하는 것도 가능하다. 이와 같이 하므로써, 입력 데이타를 임의의 순서로서 부여할 수 있도록 된다.
본 발명에 의한 룰 설정방법은 입력 변수와 멤버쉽 함수의 모든 조합에 의하여 생성되는 쌍을 미리 일정의 순서로 하여 두고, 설정하는 복수의 룰에서, 상기 각 쌍을 그 전건부에서 현실로 포함하는 룰의 수를, 상기 모든 조합에 의하여 생성되는 쌍에 대하여, 메모리의 룰 수 에어리어의 상기 순서에 따라 어드레스에 기억하고, 설정하는 복수의 룰에서 현실로 포함되는 상기 각 쌍에 대하여 그들의 쌍을 현실로 포함하는 룰의 번호를 메모리의 룰 번호 에어리어에 대한 상기 순서에 따라 어드레스에 기억하는 것이다.
본 발명에 의한 룰 설정방법은, 설정하는 복수의 룰 전건부에 포함되는 입력 변수와 멤버쉽 함수의 쌍을 미리 일정의 순서로 하여 두고, 메모리의 상기 순서에 따른 어드레스에, 상기의 각 쌍을 포함하는 룰의 번호를 기억하는 것이다.
본 발명에 의한 룰 설정 장치는 설정되는 룰을 기억하는 메모리를 갖추고, 이 메모리에는 룰 수 에어리어와 룰 번호 에어리어가 설치되어 있으며, 룰에서 사용가능한 입력 변수와 멤버쉽 함수의 모든 조합에 의하여 생성되는 쌍이 미리 일정의 순서로 되어 있으며, 설정되는 복수의 룰에서, 상기의 각 쌍을 그 전건부에서 현실로 포함하는 룰의 수가 상기 모든 조합에 의하여 생성되는 쌍에 대하여, 메모리의 룰 수 에어리어의 상기의 순서에 따라 어드레스에 기억되고, 설정하는 복수의 룰에 현실로 포함되는 상기의 각 쌍에 대하여, 그들의 쌍을 현실로 포함하는 룰의 번호가, 메모리의 룰 번호 에어리어의 상기의 순서에 따라 어드레스에 기억되어 있는 것이다.
본 발명에 의한 룰 설정 장치는 설정되는 룰을 기억하는 메모리를 갖추고, 설정되는 복수의 룰의 전건부에 포함되는 입력 변수와 멤버쉽 함수의 쌍이 미리 일정의 순서로 되어 있으며, 상기 메모리의 상기 순서에 따라 어드레스에, 상기의 각 쌍을 포함하는 룰의 번호가 기억되어 있는 것이다.
입력 변수와 멤버쉽 함수의 모든 조합에 의하여 생성되는 쌍이 미리 일정의 순서로서 순서 지어져 있다.
설정되는 복수의 룰에서, 상기의 각 쌍을 그 전건부에 현실로 포함하는 룰의 수가, 상기 모든 조합에 의하여 생성되는 쌍에 대하여 메모리의 룰 수 에어리어의 상기 순서에 따라 어드레스에 기억된다.
설정되는 복수의 룰에 현실로 포함되는 상기의 각 쌍에 대하여, 그들의 쌍을 현실에 포함하는 룰의 번호가, 메모리의 룰 번호 에어리어의 상기 순서에 따른 어드레스에 기억된다.
입력 데이타가 부여되었을 때에, 또는 이미 부여되어 있으며 기억 수단에 기억되어 있는 입력 데이타를 판독하여, 입력 데이타의 입력 변수에 관련하여 모든 상기 쌍에 대하여, 상기 룰 수 에어리어를 참조하면서 상기 룰 번호 에어리어가 액세스되고, 전건부 처리가 실행된다.
1개의 입력 변수에 관련하는 모든 상기 쌍에 대하여 전건부 처리가 종료하면, 다음에 다른 입력 변수에 관련하는 모든 상기 쌍에 대하여 전건부 처리를 행하도록 하여, 입력 변수마다 전건부 처리가 실행된다.
본 발명에 의하면, 퍼지 추론 연산 처리에 있어서 전건부 처리가 입력 변수마다 실행되므로, 입력 데이타가 순차 전송되어 오는 경우에는 1개의 입력 데이타가 전송이 종료하면, 다음의 데이타가 전송되고 있는 사이에, 기전송된 입력 데이타에 대하여 전건부 처리를 실행할 수 있다. 따라서, 모든 입력 데이타의 전송 종료를 가질 필요가 없고, 전송 오버헤드를 완화할 수 있다.
입력 데이타의 발생에 주기성이 없도록 하는 경우에는, 입력 완료의 데이타에서 처리를 진행할 수 있으므로, 데이타 대기 시간을 유효하게 이용할 수 있다.
입력 데이타를 요구한 시점에서 그 요구한 입력 데이타가 실제로 얻어지기까지의 시간이 입력 데이타의 종류(입력 변수)에 의하여 다르거나, 일정하지 않는 경우, 입력 데이타의 발생 순서가 일정하지 않은 경우에는, 입력 데이타에 그 입력 변수를 나타내는 코드를 부가하여 부여함으로서, 입력 데이타가 얻어지는 순서에 따라 입력 데이타의 전송, 추론 처리를 실행하여 가는 것이 가능하게 된다.
이상과 같이 하여 본 발명에 의하면, 퍼지 추론 처리 전체를 효율 좋게 행할 수 있도록 된다.
본 발명에 의하면, 메모리에는 최소한이 정보로서 모든 룰을 기술하는 데이타가 기억되어 있으므로, 룰을 기억하는 메모리 용량 및 연산의 도중에서 사용하는 데이타의 일시 기억 영역의 용량을 최소한의 할 수 있다. 불필요한 처리가 스킵됨으로, 추론 처리 시간의 단축을 도모할 수 있다.
제1실시예
제1도에서 제5도는 제1실시예를 나타내고 있다.
제1도는 퍼지 추론 처리 장치의 구성을 나타내고 있다. 이 퍼지 추론 처리 장치는 퍼지 추론 처리를 소프트웨어로 실행하는 것이다. 특히 본 발명에 의한 퍼지 추론 처리 장치에는 퍼지 추론 처리가 가능하도록 프로그램된 범용 프로세서 뿐만 아니라, 퍼지 추론 처리 전용의 아키텍쳐를 가지는 프로세서도 포함되는 것은 물론이다.
본 실시에에서는 입력 데이타가 시리얼 전송로를 지나 외부의 기기 또는 장치(포스트 CPU 등)에서 퍼지 추론 처리 장치에 부여된다. 후술하듯이 입력 데이타가 부여되는 순서는 미리 정하여져 있다.
퍼지 추론 처리 장치는 퍼지 추론 처리, 데이타 전송 제어 등을 실행하는 CPU(10)를 갖추고, CPU(10)에는 RAM(11), ROM(12) 및 버퍼(메모리)(14)가 각종 버스를 거쳐 접속되어 있다.
퍼지 추론 처리 장치에는 입력 데이타를 수신하기 위한 시리얼 전송 인터페이스(13)가 설치되어 있다. 인터페이스(13)는 시리얼 전송 라인에 접속되어 있다. 1개의 입력 변수에 관한 1단위의 입력 데이타를 수신하면, 인터페이스(13)에서 수신 완료 신호가 CPU(10)에 부여된다. 수신된 입력 데이타는 버퍼(14)에 일시적으로 기억된다.
RAM(11)에는 미리 설정된 복수의 룰, 복수의 멤버쉽 함수 등이 기억되어 있다. RAM(11)에는 연산처리에 필요한 각종 데이타를 기억하는 에어리어 및 연산 처리를 위한 워크 에어리어가 설치되어 있다. ROM(12)은 CPU(10)가 실행하는 퍼지 추론 실행 프로그램, 데이타 전송 제어 프로그램 등을 기억하고 있다.
제2도는 RAM(11)에 설치되어 있는 각종 에어리어를 도식적으로 나타내는 것이다. RAM(11) 내에는 적합도 에어리어, MIN 레지스터로서 사용되는 에어리어, 설정된 룰을 기억하는 룰 메모리 에어리어, 설정된 멤버쉽 함수(MF)를 기억하는 MF 메모리 에어리어, 워크 에어리어 등이 설치되어 있다.
본 실시예에서는 한 입력 변수에 대해서 최대 7종류(7레이블)의 멤버쉽 함수가 사용되는 것으로 한다. 이들의 멤버쉽 함수의 레이블을 PL, PM, PS, ZR, NS, NM 및 NL로 한다. PL(Positive Large)은 정으로 크고, PM(Positive medium)은 정으로 중위, PS(Positive Small)는 정으로 작고, ZR(Zero)는 거의 영, NS(Negative Small)은 부로 작고, NM(Negative Medium)은 부로 중위, NL(Negative Large)은 부로 큰 것을 각각 나타낸다. 7 레이블의 멤버쉽 함수를 입, 출력 변수마다 설정하여도 좋고, 몇개 또는 모든 입, 출력 변수로서 멤버쉽 함수를 공용하는 것도 가능하다. 이들의 멤버쉽 함수를 나타내는 데이타 또는 코드는 MF 메모리 에어리어에 기억되어 있다.
적합도 에어리어는 전건부 처리 대상으로 되어 있는 입력 변수의 입력 데이타에 대한 7레이블의 멤버쉽 함수의 각각에 대한 적합도(입력 데이타를 멤버쉽 함수에 부여시켰을 때 얻어지는 함수치 또는 그레이드)를 일시적으로 기억하는 것이다.
본 실시예에서는 설정된 룰의 수를 mx로 한다. MIN 레지스터는 룰마다, 그 전건부 처리에서 얻어지는 적합도의 MIN 연산 결과를 기억하는 것이다.
제3도는 RAM(11)의 룰 메모리 에어리어에 설정된 룰의 예를 나타내고 있다. 10개의 룰이 예시되어 있다. x1, x2, x3, x4가 입력 변수이다. y1은 출력 변수이다. 입, 출력 변수의 수는 물론 임의이다. 이들의 룰에서, 멤버쉽 함수가 조합되어 있지 않은 입력 변수에 대하여는 그것을 나타내는 코드(S)가 조합되어 있다.
제4도는 CPU(10)에 의하여 행하여지는 퍼지 추론 처리의 순서를 나타내고 있다. 입력 데이타는 입력 변수(x1, x2, x3, x4)의 순서로 전송되어 오는 것이 전제로 되어 있다.
우선, RAM(11) 내의 모든 MIN 레지스터가 초기화된다(스텝 31). 이 초기화 처리에서는 적합도의 최대치, 즉 1 이 전 MIN 레지스터에 세트된다.
계속하여 입력 변수 번호를 지시하는 카운터의 값(n)이 세트된다(스텝 32). 입력 변수(x1, x2, x3, x4)의 입력변수 번호를 각각 1, 2, 3, 4로 한다.
시리얼 전송 인터페이스(13)가 제1번째의 입력 변수(x1)에 대하여 입력데이타를 수신하기까지 대기한다. 입력 데이타(입력 데이타의 입력 변수를 일반적으로 Xn으로 놓는다)를 수신하면, 인터페이스(13)에서 CPU(10)에 대하여 수신 완료 신호가 부여되고, 수신한 입력 데이타는 버퍼(14)에 기억된다(스텝 33).
수신한 입력 데이타의 입력 변수에 대해서 설정된 모든 멤버쉽 함수(PL~NL)에 대한 입력 데이타의 적합도가 각각 구하여지고, 얻어진 적합도가 멤버쉽 함수의 레이블을 대응하여 RAM(11)내의 적합도 에어리어에 기억된다(스텝 34).
룰 번호를 나타내는 카운터 값(m)이 1로 초기화된다(스텝 35).
룰 메모리 에어리어가 참조되고, 룰(m)에 있어서 입력 변수(Xn)에 조합된 멤버쉽 함수의 레이블이 코드(S)인지 아닌지 체크된다(스텝 37). 입력변수(Xn)에 코드(S)가 조합되어 있는 경우에는 그 입력 변수에 대하여 다음에 서술하는 전건부 처리를 행할 필요는 없다.
룰(m)에 있어서 입력변수(Xn)에 조합된 멤버쉽 함수의 레이블이 코드(S)이외, 즉 PL 내지 NL 중 어느 하나이면, 적합도 에어리어에서 그 레이블에 대응하는 적합도가 판독되고(스텝 38), 이 적합도가 그 룰(m)에 대하여 MIN 레지스터에 설정되어 있는 적합도 보다는 작은지 어떤지가 판정된다(MIN 연산)(스텝 39). 제1번째의 입력변수(x1)의 경우에는 MIN 레지스터는 상술하듯이 최대치 1를 세트함으로서 초기화되어 있으므로, 판독된 적합도가 1 이외이면, 스텝(39)의 판장은 항시 "예"(YES)로 된다. 스텝(39)에서 "예"(YES)로 되면, 적합도 에어리어에서 판독된 적합도가 MIN 레지스터에 기억되고, MIN 레지스터의 내용이 경신된다(스텝 40). 이와같이 하여 각 입력 변수에 대하여 처리마다, 입력 변수가 관련하는 룰 적합도의 MIN 연산이 행하여지고, 그 룰에 있어서 적합도의 최소치가 구하여져 간다.
룰 번호를 나타내는 카운터의 값(m)이 1씩 증가되므로써, 상술한 스텝(36~40)의 전건부 처리가 룰마다 반복되어 간다(스텝 41,42).
상기 카운터의 값(m)이 mx+1로 되면, 모든 룰에 대하여 상기 전건부 처리가 종료한 것으로 되고, 입력 변수 번호를 나타내는 카운터(n)가 하나 증가되고, 다음의 입력 변수가 지시되고(스텝 43), 다음 입력 변수의 입력 데이타의 수신을 대기하게 된다(스텝 44).
이와 같이 하여, 입력 데이타가 수신될 때마다 수신한 입력 데이타의 입력 변수에 관한 전건부 처리가 행하여 지므로, 제5도에 나타나듯이, 다음 입력 데이타의 전송중에, 먼저 수신한 입력 데이타에 대하여 전건부 처리를 실행할 수 있다. 이 때문에 데이타 전송에 긴 시간을 요하는 경우에서도 대기 시간을 삭감하여 전체의 처리 효율을 향상시키는 것이 가능하게 된다. 제5도에서 입력 XE 데이타는 최후의 입력 데이타를 의미하고, 이 실시예의 입력변수(x4)의 입력 데이타에 대응한다.
최후의 입력변수(x4)에 대하여 전건부 처리가 종료하면(스텝 44), 후건부가 동일한 룰이 존재하는지 어떤지가 체크된다. 예를 들면 제3도에 나타내는 룰(1)과 룰(2)과 함께 후건부가 y1=PL로서 동일하다. 룰(4)과 룰(5)은 후건부가 y1=PS로서 동일하다. 룰(6)과 룰(8)은 후건부가 y1=ZR로서 동일하다. 이와같이 후건부가 동일한 룰 사이에서, 각 룰에서 얻어진 적합도의 MAX 연산이 행하여지고, MAX 연산 결과가 그 후건부의 멤버쉽 함수의 레이블에 작용시키는 것으로 기억된다(스텝 45). 예를 들면 룰(1)의 전건부 처리에서 얻어진 적합도를 a1(상술의 MIN 연산결과, 즉 MIN 레지스터에 기억되어 있는 적합도), 룰(2)의 적합도를 a2로 한다. 이들의 적합도 (a1)와 (a2)의 MAX 연산이 행하여지고, 그 결과, A1=a1 또는 a2의 어느 큰쪽이 후건부의 멤버쉽 함수(PL)에 작용시키는 것으로 보존된다.
이와같이 하여, 후건부의 멤버쉽 함수에 작용시키기 위한 적합도(상기의 MAX 연산 결과, 또는 동일의 후건부를 가지는 룰이 2개 이상 존재하지 않는 경우에는 룰마다의 적합도)가 얻어지면, 이들의 적합도를 대응하는 후건부 멤버쉽 함수에 작용시키고(MIN 연산, 또는 트런케이션), 얻어진 멤버쉽 함수 상호의 MAX 연산이 실행된다. 이것이 후건부 연산처리이다(스텝 46).
최후에, 후건부 연산 처리 결과에 대한 비퍼지화 처리에 의하여, 출력 변수에 대하여 확정한 출력데이타가 얻어진다(스텝 47). 이 출력 데이타는 시리얼 전송 인터페이스(13)에서 다른 기기, 장치 등에 전송된다.
상기 실시예에서는, RAM(11)에 적합도 에어리어가 설치되어 있다. 그리고, 입력 데이타를 수신했을 때, 그 입력 데이타의 입력 변수에 대하여 설정된 모든 멤버쉽 함수(PL~NL)에 대한 입력 데이타의 적합도가 각각 구하여지고, 얻어진 적합도가 멤버쉽 함수의 레이블에 대응하여 RAM(11)의 적합도 에어리어에 기억되도록 구성되어 있다.
RAM(11)에는 모든 멤버쉽 함수(PL~NL)에 대한 입력 데이타의 적합도를 기억하는 적합도 에어리어가 설치되어 있으므로, 그만큼, RAM(11)내의 기억 에어리어가 끼워지게 된다. RAM(11)내의 기억 에어리어를 적어도 여분으로 유효하게 이용하고자 하는 경우에는 제6도에 나타나듯이 적합도 에어리어를 설치하지 않고, 이것에 대하여 입력 데이타 에어리어를 설치한다. 그리고, 제7도에 나타나듯이, 입력 데이타를 수신했을 때에, 수신한 입력 데이타를 RAM(11)의 입력 데이타 에어리어에 일시 기억한다(스텝 48). 수신한 입력 데이타의 입력변수(Xn)에 대하여, 레이블(S) 이외의 멤버쉽 함수의 레이블이 조합되어 있는 룰에 대하여만, 그 레이블의 멤버쉽 함수에 대한 입력 데이타의 적합도가 그때마다 연산되고(스텝 49), MIN 연산 처리로 진행한다. 이와같이 하여, RAM(11)의 기억에어리어의 유효 이용을 도모할 수 있다. 제7도에서, 상기 이외의 처리는 제4도에 도시한 것과 같다.
제2실시예
제8도 및 제9도는 제2실시예를 나타내고 있다.
상술한 제1실시예에서는, 각 룰의 전건부에 모든 입력 변수가 포함되어 있으며, 멤버쉽 함수가 조합되지 않는 입력 변수에 대하여 멤버쉽 함수의 레이블에 대신하여 특별한 코드(S)가 조합되어 있다. 따라서 룰에 관여하지 않는 입력 변수에 대한 기술도 각 룰에 포함되므로, 룰 데이타의 용량이 증대한다.
제2실시예에서는, 제8도에 나타나듯이, RAM(11)의 룰 메모리 에어리어는 입력 변수마다, 그 입력 변수에 관련되는 멤버쉽 함수의 레이블이 룰 번호에 대응하여 기억되어 있다. 입력 변수마다의 레이블군의 선두에는 특정의 개시 코드와 입력 변수 번호가 설정되어 있다.
후건부의 멤버쉽 함수에 대하여도 마찬가지로, 개시 코드와 MAX연산의 기호를 선두로 하여, 레이블이 일정의 순서로서 룰 번호에 관련하여 설정되어 있다. PL(룰 1)과 PL(룰 2), PS(룰 4)와 PS(룰 5), ZR(룰 6)와 ZR(룰 8)와 같이 같은 레이블의 것에 대하여는 연속하여 배치하여 두면 좋다.
이러한 룰의 기억 방법에 의하면, 처리 불요한 것을 생략할 수 있으므로 메모리 용량이 적게 끝난다.
제2실시예도 제1도 및 제2도의 구성이 그대로 적용된다.
제9도는 CPU(10)에 의한 퍼지 추론 처리 순서를 나타내는 것이다. 제9도에서는 제4도에 나타내는 것과 동일처리에는 동일 스텝 번호를 붙여 중복 설명을 피한다.
전 MIN 레지스터의 초기화후 (스텝 31), 입력 변수 번호를 나타내는 카운터의 값(n)이 0으로 초기화된다(스텝 51), 그리고, 룰 메모리 에어리어에 있어서의 선두의 룰 데이타가 판독된다(스텝 52).
판독된 룰 데이타가 개시 코드 입력 Xi(i=1~4)인지, 개시 코드 MAX인지가 판정된다(스텝 53,55).
개시 코드(Xi)이면, 가운터의 값(n)이 하나 증가되고 (스텝 54), 이 값(n)에서 지시되는 입력 변수에 대하여 입력 데이타가 수신된다(스텝 33).
최초는 개시 코드(X1)가 판독되므로, 카운터의 값(n)이 0에서 1로 되고, 입력 변수(X1)에 대하여 전건부 처리가 행하여진다.
입력 변수(X1)에 대하여 입력 데이타가 수신되면, 그 입력 데이타의 전 멤버쉽 함수에 대한 적합도가 산출되고, 적합도 에어리어에 기억된다(스텝 34).
입력 변수(X1)가 관계하는 룰의 번호와 레이블로 이루어진 룰 데이타가 어드레스 순으로 판독된다. 이들의 룰 데이타는 개시 코드에서는 없으므로, 스텝(53,55)의 어느 곳에서도 NO로 되고, 스텝(38)으로 진행하여 MIN 연산을 포함하는 전건부 처리가 행하여진다.(스텝 38~40).
입력변수(X1)에 관한 모든 룰 데이타에 대한 처리가 종료하면, 다음의 입력 변수(X2)에 대하여, 개시 코드가 판독됨으로, 스텝(53)에서 스텝(54)으로 진행하고, 카운터의 값(n)이 증가된다(스텝 54). 그리고 입력 변수(X2)에 대하여 입력 데이타의 수신을 대기하여 그 전건부 처리로 이동한다.
최후의 입력 변수(X4)까지 전건부 처리가 종료하면, 개시 코드(MAX)가 판독되므로, 스텝(55)에서 YES로 되어 상술한 MIN 연산, 후건부 처리 및 확정 연산 처리가 행하여진다(스텝 45~47).
제2실시예에서도 제6도에 나타나듯이, 적합도 에어리어에 대하여 입력 데이타 에어리어를 RAM(11)에 설치하도록 하여도 좋다. 그리고, 제10도에 나타나듯이, 제9도의 스텝(34)의 처리를 대신하여, 수신한 입력 데이타를 입력 데이타 에어리어에 일시 기억하는 처리(스텝48)를, 스텝(38)의 처리를 대신하여, 입력 데이타의 입력 변수에 대하여 판독된 룰에 조합된 멤버쉽 함수에 대한 입력 데이타의 적합도를 연산하는 처리(스텝 49)를 각각 행하도록 할 수 있다.
제3실시예
제11도에서 제16도에 제3실시예를 나타내고 있다.
상술한 제1 및 제2 실시예에서는 입력 데이타가 입력 변수에 대하여 미리 정해진 순서로서 전송되어 오는 것이 전제로 되어 있다.
제3 실시예에는 입력 데이타를 임의의 순번으로 전송할 수 있도록 한 것이다.
제12도에 나타나듯이, 입력 데이타는 그 입력 데이타의 입력 변수를 나타내는 입력 변수 번호가 부가된 형태에서 입력 데이타가 전송된다. 예를 들면, 입력 데이타는 8비트, 입력 변수 번호는 8비트로서 구성된다.
제11도에 나타내는 퍼지 추론 처리 장치의 구성에서, 제1도에 나타내는 것과 다른 점에 대하여 설명한다.
버퍼가 수신 버퍼(23)와 송신 버퍼(24)로 나누어 도시되어 있다. 수신 버퍼(23)는 입력 데이타를 기억하는 에어리어(23a)와 입력 변수 번호를 기억하는 에어리어(23b)를 갖추고 있다.
2개의 RAM(21)과 (22)가 설치되어 있다. 물론 이들의 RAM은 1개의 RAM 칩으로 구성하는 것도, 3개 이상의 RAM 칩으로 구성하는 것도 가능하다.
한쪽의 RAM(22)에는 적어도 제14도에 나타내는 룰 데이타가 기억되어 있다. 다른 쪽의 RAM(21)에는 적어도 워크 에어리어가 설치되어 있다. 상술한 적합도 에어리어, MIN 레지스터, MF 메모리 에어리어 및 제13도에 나타내는 처리제 완료 플래그 에어리어는 어느 RAM에 설치하여도 좋다.
RAM(22)의 룰 메모리 에어리어에는 제14도에 나타나듯이, 입력 변수 번호(입력 X1, 입력 X2 등)마다, 그 입력 변수가 관계하는 룰 번호와 그 룰에서 그 입력 변수와 조합된 멤버쉽 함수의 레이블로 이루어진 룰 데이타가 미리 기억되어 있다. 이들이 입력 변수마다의 룰 데이타군은 입력 변수 번호를 부여함으로서 액세스 가능하다. 룰 데이타군의 말미에는 종료 코드(END)가 설정되어 있다.
수신 버퍼(23)의 입력 변수 번호 에어리어(23b)에 기억된 입력 변수 번호에 의하여 RAM(22)내의 그것에 대응하는 룰 데이타군이 기억되어 있는 에어리어가 어드레스 지정된다. 구체적으로는 입력 변수 번호에 의하여 그 입력 변수에 관계하는 룰 데이타군의 에어리어의 상위 어드레스를 지정하도록 하면 좋다. 이 경우에는 개개의 룰 데이타(룰 번호와 레이블)는 하위 어드레스에 의하여 지정된다.
제13도에 나타내는 처리 완료 플래그 에어리어는 입력 변수에 대응하여 처리 완료 플래그를 기억하는 것이다. 처리 완료 플래그는 0으로 초기 리세트되어 있으며, 입력 변수에 관한 전건부 처리가 종료했을 때에 1로 세트된다. 모든 입력 변수에 대하여 처리 완료 플래그가 1로 세트되어 있는 것을 확인한 것이고, 동일 후건부간에 있어서 적합도의 MAX 연산처리(제15도의 스텝45)로 진행하게 된다.
제15도는 CPU(10)가 실행하는 퍼지 추론 순서를 나타내고 있다. 제15도에서도, 제4도 및 제9도에 나타내는 것과 동일 처리에는 동일 스텝 번호가 붙여져 있다.
입력 데이타를 그것에 부가된 입력 변수 번호와 함께 수신하면, 그 입력 변수 번호에 대하여 멤버쉽 함수에 대한 입력 데이타의 적합도가 구하여지고, 얻어진 적합도가 적합도 에어리어에 기억된다(스텝 33, 34).
계속하여 수신한 입력 변수 번호에 의하여 상위 어드레스가 어드레스되는 RAM(22)의 에어리어에서 룰 데이타가 순차 판독되고, 각 룰 데이타에 관하여 적합도의 판독과 MIN 연산 처리가 행하여진다(스텝 52, 38~40). 종료 코드(END)가 판독되면, 그 입력 변수에 대하여의 전건부 처리가 종료하고, 대응하는 처리 완료 플래그가 1로 세트된다(스텝 42).
다음 입력 데이타의 수신을 대기하여 동일하도록 입력 데이타에 부수하는 입력 변수에 대하여 전건부 처리가 실행된다.
그리고, 모든 입력 변수의 처리 완료 플래그가 1로 세트되면(스텝 44), MAX 연산, 후건부 처리 및 확정 연산 처리가 행하여진다(스텝 47).
이상과 같이 하여, 제16도에 나타나듯이, 임의의 순서로 입력 데이타가 부여되어도, 다음의 입력 데이타의 전송중에, 먼저 부여된 입력 데이타에 관한 전건부 처리가 가능하게 된다.
제3실시예에서도, 제17도에 나타나듯이, 제1도의 스텝(34)의 처리를 스텝(48)의 처리로, 스텝(38)의 처리를 스텝(49)의 처리로 각각 대체할 수 있도록 할 수 있는 것은 물론이다.
제4실시예
상술한 제1 에서 제3실시예에서는 제5도 및 제16도에서도 알 수 있듯이, 먼저 수신한 입력 데이타에 관한 전건부 처리를 다음에 전송되어 오는 입력 데이타의 전송 종료까지 짧은 시간의 사이에 완료한다는 것이 전제로 되어 있다.
룰의 수가 많아 1개의 입력 변수에 관한 전건부 처리를 위하여 비교적 긴 시간을 요하는 경우나, 입력 데이타의 전송속도가 비교적 짧은 경우에는 먼저 수신한 입력 데이타의 입력 변수에 관한 전건부 처리의 실행중에, 다음 입력 데이타의 수신이 종료하여 버린다는 사태가 생긴다. 경우에 따라서는 선행하는 입력 데이타의 전건부 처리 중에 후속하는 2개 이상의 입력 데이타가 수신된다는 일도 있을 수 있다.
제4실시예는 후속하여 수신되는 입력 데이타를 일시적으로 기억함으로서, 이러한 사태에 대처할 수 있는 퍼지 추론 처리 장치에 관한 것이다.
후속하는 입력 데이타를 일시적으로 기억하는 방법에는 2개가 있다.
그 1개는 입력 데이타의 수신 완료 신호를 트리거로서 인터럽트 처리에 의하여 수신한 입력 데이타를 RAM등의 메모리에 일시 기억하는 것이고, 그 상세가 제18도에서 제20도에 도시되고 있다.
제18도에 도시하는 퍼지 추론 처리 장치는 제1도에 도시한 것과 기본적으로 같다. 시리얼 전송 인터페이스(13)에서 발생하는 수신 완료 신호는 CPU(10)의 인터럽트 단자에 인터럽트 신호로서 부여된다.
RAM(11)에는 제19도에 나타내는 복수의 입력 데이타를 기억할 수 있는 입력 데이타 일시 기억 에어리어가 설치되고 있다.
제20도는 CPU(10)에 의한 인터럽트 처리 순서를 나타내는 것이다. 시리얼 전송 인터페이스(13)에서 인터럽트 신호가 부여되면, 버퍼(14)에 축적되어 있는 수신한 입력 데이타(제3실시예와 같이 입력 변수 번호를 포함하는 경우도 있다)를 RAM(11)의 입력 데이타 일시 기억 에어리어에 기억하여 원래의 처리로 돌아간다.
제25도에 나타나듯이, 입력 변수(X1)의 입력 데이타를 수신한 후, 이 입력 변수(X1)에 대하여 전건부 처리가 행하여 진다. 이 전건부 처리의 실행중에 다음의 입력 변수(X2)의 입력 데이타를 수신했을 때에는 입력 변수(X1)에 대하여 전건부 처리가 일시 중단되고, 수신한 입력 변수(X2)의 입력 데이타에 대한 RAM(11)으로의 기억 처리(인터럽트 처리)가 행하여진다. 그리고, 입력 변수(X2)의 입력 데이타의 RAM(11)으로 기억이 완료하면, 재차 입력 변수(X2)에 대하여 전건부 처리가 재개된다. 다른 입력 변수의 전건부 처리중에, 또다른 입력 변수에 대하여 입력 데이타를 수신했을 때에도 같다.
후속하는 입력 데이타를 일시적으로 기억하기 위한 제2 방법은 FIFO(First In First Out) 메모리를 이용하는 것이고, FIFO 메모리를 갖춘 퍼지 추론 처리 장치의 구성예가 제21도에 도시되어 있다.
시리얼 전송 인터페이스(13)에 의하여 수신된 입력 데이타(제3 실시예와 같이 입력 데이타에 부가된 입력 변수 번호를 포함하는 경우도 있다)는 수신한 순서로서 FIFO 메모리(25)에 기억된다. FIFO 메모리(25)는 입력 데이타의 일시 기억에만 사용된다. 퍼지 추론을 위한 다른 데이타는 제2도에 나타나듯이 RAM(21)에 기억된다. 다른 구성은 제11도에 도시한 것과 같다.
후에 나타나듯이 CPU(10)는 각 입력 변수에 대하여 전건부 처리 종료마다 FIFO 메모리(25)를 참조하여, 다음에 처리할 입력 데이타가 이 메모리(25)에 일시 기억되어 있는지 어떤지를 체크한다. 그리고 기억되어 있으면, 수신 순서로 입력 데이타를 메모리(25)에 판독하여 그 입력 데이타에 대하여 전건부 처리를 실행하고, 기억되어 있지 않으면 입력 데이타의 수신을 대기하게 된다.
제26도에 나타나듯이, 제1번째의 입력 변수(X1)에 대하여 입력 데이타를 수신한 후는, FIFO 메모리에 다음 처리할 입력 데이타가 있는 한, 연속적으로 입력 변수마다의 전건부가 행하여가게 된다.
제22도는 제4도에 나타내는 제1 실시예의 처리 순서에 대응하는 것이다. 제1번째의 입력 변수(X1)에 대하여 전건부 처리의 개시에서, 그리고 1개의 입력 변수에 대하여, 전건부 처리 종료마다 RAM(11) 또는 FIFO 메모리(25)에 입력 데이타가 있는지 어떤지가 판정되어(스텝 71) 있으면 그 입력 데이타가 판독되어 그 입력 데이타의 입력 변수에 대하여 전건부 처리가 행하여진다(스텝 72 및 그 이후의 스텝). 다른 처리는 제9도에 나타내는 것과 같다.
제24도는 제15도에 도시한 제3실시예의 처리순서에 대응한 것이다. 제1번째의 입력 변수에 대하여 전건부 처리의 개시에서, 그리고 1개의 입력 변수에 대하여 전건부 처리가 종료할 때마다, RAM(11) 또는 FIFO 메모리(25)에 입력 변수 번호를 따르는 입력 데이타가 있는지 어떤지가 판정되어(스텝 71) 입력 데이타가 있다면, 그 입력 데이타 및 입력 변수 번호가 판독되고, 판독된 입력 변수 번호에 의하여 지정되는 입력 변수에 대하여 전건부 처리가 판독된 입력 데이타를 사용하여 행한다(스텝 72 및 그것 이후의 스텝). 다른 처리는 제15도에 나타내는 것과 같다.
제22, 23, 24도의 처리에서도, 입력 데이타의 모든 MF에 대한 적합도를 산출하는 스텝(34)에 대하여, MIN 연산 처리에 우선하여 설정되어 있는 룰의 멤버쉽 수에 대한 입력 데이타의 적합도만을 산출하도록 하여도(제 7, 10, 17도의 스텝 48) 좋은 것은 물론이다.
이상과 같이 하여, 입력 데이타의 수신과 입력 변수에 관한 전건부 처리를 비동기에 실행하는 것이 가능하게 된다.
제5실시예
상술한 제1실시예에서는 각 룰의 전건부에 모든 입력 변수가 포함되어 있으며, 멤버쉽 함수가 조합되지 않는 입력 변수에 대하여는 멤버쉽 함수의 레이블에 대하여 특별한 코드(s)가 조합되어 있다. 따라서 룰에 관여하여 있지 않은 입력 변수에 대하여의 기술도 각 룰에 포함됨으로, 룰 데이타의 용량이 증대한다.
제4도 스텝(34)에서, 모든 멤버쉽 함수에 대한 적합도가 산출되고, RAM(11)의 적합도 에어리어에 기억되어 있다.
제3도에 도시한 룰의 군과 같이, 입력 변수(X1)에 대하여는 PL~NL의 7종류의 멤버쉽 함수가 조합되어 있지만, 입력 변수(X2)에 대하여는 5종류의 입력 변수(X3, X4)에 대하여는 각각 4종류의 멤버쉽 함수만이 조합되어 있다. 그것에도 상관없이 상술한 제1실시예에서는 모든 멤버쉽 함수에 대한 적합도가 산출되어 있으므로, 불필요한 연산이 행하여지고 있다. 적합도 에어리어에는 7종류의 멤버쉽 함수에 관한 적합도를 기억하는 장소가 반드시 필요하게 된다.
제5실시예는 룰 메모리 에어리어의 용량 및 적합도 에어리어의 용량을 가급적으로 적게하고, 무모한 적합도 연산을 줄이도록 하는 것이다.
제5실시예에서는 제1도에 나타내는 퍼지추론 처리 장치의 구성 그대로이다. 제2도에 나타내는 RAM(11)의 내용에 관하여 본 발명에서는 적합도 에어리어가 1개의 멤버쉽 함수에 대하여 적합도를 기억하는 용량이 있으면 충분한 것과, 룰 메모리 에어리어의 내용이 다른 것을 제외하고 제1실시예의 구성 그대로이다. 제5도에 나타내는 퍼지 추론 처리의 흐름도 그대로 이용할 수 있다.
제27도는 제3도에 나타내는 것이다. 룰의 기술에서는 제27도에 나타내는 관계만이 기술되어 있으면 충분하다.
제5실시예에서는 제27도에 나타내는 입력 변수와 레이블의 쌍과 룰의 관계를 설정하기 위하여, RAM(11)에는 제28도에 나타내는 룰 수 에어리어와 제29도에 나타내는 룰 번호 에어리어가 설치되어 있다.
설명을 간단하게 하기 위하여 제3도에 나타내는 10개의 룰을 예로들어 설명한다. 입력 변수의 수는 4, 출력 변수의 수는 1로 한다. 레이블의 수는 7로 한다.
4종류의 입력 변수 x1, x2, x3, x4와 7종류의 레이블 PL, PM, PS, ZR, NS, NM, NL의 모든 조합수는 28이다. 이들 28개의 조합(입력 변수와 레이블의 쌍)이 일정의 순서로서 레이블에 대하여는 PL, PM, PS, ZR, NS, NM, NL의 모든 조합수는 28이다. 이들 28개의 조합(입력 변수와 레이블의 쌍)이 일정의 순서로 레이블에 대하여 PL, PM, PS, ZR, NS, NM, NL의 순이고, 입력 변수쪽이 레이블 보다도 우선하는 것으로 한다. 따라서, 이때의 순서는 제28도에 나타내어 있듯이 입력 x1~PL, 입력 x1~PM, 입력 x1~PS, 입력 x1~ZR, 입력 x1~NS, 입력 x1~NM, 입력x1~NL,입력 x2~PL, 입력 x2~PS, 입력 x2~ZR, 입력 x2~NS, 입력 x2~NM, 입력x2~NL, 입력 x3~PL, 입력 x3~PM, 입력 x3~PS, …, x4~NM, 입력x4~NL로 된다.
제28도에 나타내는 룰수 에어리어에서는 이러한 입력 변수와 레이블의 쌍에 1워드(예를들면 8비트 또는 4비트) 분의 기억장소가 상기의 순서와 연속 어드레스의 순서를 일치시켜 할당되어 있다. 룰수 에어리어의 선두 어드레스를 LA로 한다. 따라서, 입력 x1-PL, 입력 x2-PL, 입력 x3-PL 및 입력 x4-PL의 어드레스는 각각, LA+0, LA+7, LA+14 및 LA+21로 된다. 즉, 각 입력 변수의 선두에 대한 기억장소의 어드레스는 LA에 7의 배수를 가산함으로서 구하여진다.
이러한 룰수 에어리어의 각 기억장소에는 대응하는 입력 변수와 레이블의 쌍을 실제로 전건부에 포함하는 룰의 수가 기억되어 있다. 예를들면 입력 x1-PL의 쌍은 룰(3)과 룰(7)의 전건부에 각각 포함되어 있으므로, 어드레스 LA+1의 기억 장소에는 룰수로서 2가 기억되어 있다. 입력 x1-PM의 쌍은 룰(3)과 룰(7)의 전건부에 각각 포함되어 있으므로, 어드레스 LA+1의 기억 장소에는 룰수로서 2가 기억되어 있다. 입력 x1-PS의 쌍은 룰(10)의 전건부에만 포함되어 있으므로, 어드레스 LA+2의 기억장소에는 룰수로서 1이 기억되어 있다. 입력(x2-NS)의 쌍은 어느 룰에도 포함되어 있지 않으므로, 어드레스 LA+11의 기억장소에는 룰수로서 0이 기억되어 있다. 제28도에 ( )로서 나타내는 숫자가 본 실시예에 있어서 룰수이다.
룰수 에어리어의 기억용량은, (입력변수의 수)×(레이블의 수)워드(본 실시예에서는 4×7=28워드)로서 족하게 된다.
제29도에 나타내는 룰 번호 에어리어의 각 기억장소(1워드=8 또는 4비트)에도 연속 어드레스가 부착되어 있으며, 이 선두 어드레스를 RU라고 한다. 설정되는 룰의 전건부에 현실로 포함되는 모든 입력 변수와 레이블의 쌍(중복하여도 좋다)을 포함하는 룰의 번호가 상술한 쌍의 순서와 어드레스의 순서를 일치시켜 룰 번호 에어리어의 각 기억장소에 기억되어 있다.
예를들면, 입력 변수(x1-PL)의 대는 상술하듯이 2개의 룰에 포함되어 있으며(룰수=2) 그 룰(1)과 룰(2)이다. 따라서 어드레스(RU+0)와 (RU+1)의 기억장소에는 각각 룰 번호로서 1과 2가 기억되어 있다. 마찬가지로 입력(x1-PM)의 쌍은 2개의 룰에 포함되는(룰수=2), 그 룰은 룰(3)과 (7)이다. 따라서 어드레스(RU+2, RU+3)의 기억장소에는 룰 번호로서 3, 7이 각각 기억되어 있다. 입력(x1-PS)의 대는 1개의 룰(10)에만 포함되어 있으므로, 어드레스(RU+4)의 기억장소에는 룰 번호(10)가 기억되어 있다. 입력(x2-NS)의 쌍에 관한 룰 번호의 기억은 없다. 제29도에 ( )로서 나타내는 숫자가 본 실시예의 룰 번호이다.
룰 번호 기억 에어리어의 용량은 (전룰수)×(입력 변수의 수) 워드 이하로서 끝난다. 본 실시예에서는 10×4=40워드 이하이고, 실제로는 23워드로서 족하다.
RAM(11)의 룰 메모리 에어리어에는 설정된 룰의 후건부를 기술하는 데이타가 기억되어 있다. 이 데이타는 출력 변수와 레이블과 룰 번호의 관계를 나타내는 것이면 좋다.
RAM(11)의 적합도 에어리어는 상술하듯이 1개의 적합도 데이타를 기억하는 용량이 있으면 좋다. 즉 1워드의 용량으로 족하다.
이와같이 하여, RAM의 룰 메모리 에어리어 및 적합도 에어리어는 최소한의 용량으로 족하게 된다.
제30도는 CPU(10)에 의하여 실행되는 퍼지추론처리의 순서를 나타내고 있다. 이 도에서 제4도에 나타내는 것과 동일 처리에 대하여 동일 스텝 번호를 붙여 중복 설명을 생략한다. 여기서도 입력 변수 번호의 순번에 입력 데이타가 전송되어 오는 것으로 한다.
전 MIN 레지스터가 초리화된 후(스텝 31), 입력 변수 번호를 지시하는 카운터(n)값이 초기화되고, 룰 번호 에어리어의 상대 어드레스(RU를 제외하는 어드레스)를 나타내는 어드레스 카운터의 값(ad)이 0으로 초기화된다(스텝 81). 룰수 에어리어의 상대 어드레스(LA를 제외하는 어드레스)를 나타내는 어드레스 카운터의 값(i)이 0으로 초기화된다(스텝 82).
제1번째의 입력 변수(x1)에 대하여 입력 데이타가 수리되면(스텝 33), 이 입력 데이타는 버퍼(14)에서 RAM(11)의 워크 에어리어로 전송된다(스텝 83).
우선, 룰수 에어리어가 참조된다. 어드레스 LA+i(최초는 i=0이므로 어드레스 A)로서 지정되는 룰수 에어리어의 기억장소에 기억되어 있는 룰수(어드레스 LA의 기억장소의 룰수는 2)가 룰수 카운터에 세트된다(스텝 84).
이 룰수 카운터에 세트된 값이 0이면(스텝 85) (예를들면 상술한 어드레스 LA+11의 기억장소와 같이 기억되어 있는 룰수가 0인 경우), 그 입력 변수와 레이블의 쌍은 룰에 존재하지 않는 것이므로, 이하의 스텝(86~89)의 처리는 스텝된다. 이와같이 하여 무모한 처리가 생략된다.
룰수 카운터의 값이 0이 아니면(스텝 85), 그 어드레스 LA+i에 의하여 정하는 입력 변수와 레이블의 쌍에 관하여(상술하듯이 룰수 에어리어의 어드레스와 쌍은 1대 1로 대응하고 있다.) 수신한 입력 데이타의 멤버쉽 함수에 대한 적합도가 산출된다(스텝 86). 예를들면 i=0인 경우에는 입력 변수(x1)의 입력 데이타의 멤버쉽 함수(PL)에 대한 적합도가 구하여지고, 적합도 에어리어에 기억된다.
계속하여 룰 번호 에어리어가 참조된다. 어드레스(RU+ad)에 의하여 지정되는 룰 번호 에어리어 내의 기억장소에 기억되어 있는 룰 번호(ad=0)인 경우에는 어드레스(RU)의 기억장소에 기억되어 있는 룰 번호는 1이다)가 판독되고, 이 룰 번호의 MIN 레지스터에 기억되어 있는 적합도가 판독된다(스텝 87).
스텝(86)에서 산출된 적합도와 스텝(87)에서 MIN 레지스터에 판독된 적합도가 비교되고, 산출된 적합도 측이 작으면 이 산출된 적합도가 상당하는 MIN 레지스터에 기억되고, 적합도가 갱신된다(스텝 39, 40).
룰 번호 에어리어의 상대 어드레스를 나타내는 카운터의 값(ad)이 1증가되고, 룰수 카운터가 1감소된다(스텝 88).
룰수 카운터의 값이 0으로 되기까지, 스텝(87~88)의 처리가 반복된다(스텝 89). 즉, 부여된 입력 데이타를 사용하여 1개의 입력 변수와 레이블의 쌍에 대하여 산출된 적합도가 그 쌍을 포함하는 룰(이 룰의 번호는 룰번호 에어리어에 기억되어 있다)의 적합도와 순차 비교되고, 적합도의 갱신이 행하여진다.
룰수 카운터의 값이 0으로 되면 1개의 쌍에 대하여 처리가 종료한 것이므로, 재차 룰수 에어리어의 다음 기억장소를 참조하기 위하여 룰수 에어리어의 상대 어드레스를 나타내는 카운터의 값(i)이 1증가 된다(스텝 90).
1개의 입력 변수에 대하여 7종류의 레이블이 조합되어 있으므로, 스텝(84~90)의 처리는 7회 반복된다. 카운터의 값(i)이 7의 배수로 되면(스텝 91), 다음의 입력 변수에 대한 처리로 진행하기 위하여 입력 변수 번호를 나타내는 카운터(n)의 값이 증가되고(스텝 92), 스텝(33)으로 돌아가며, 다음 입력 데이타의 수신을 대기하게 된다.
모든 입력 변수에 대하여 상술한 처리가 종료하며(스텝 93)(본 실시예에서는 입력 변수의 수는 4이므로, 카운터의 값(n)이 4를 초과하면), 산술한 MAX 연산, 후건부 처리 및 확정연산 처리가 행하여진다(스텝 45~47).
상술한 제5실시예에서 입력 데이타가 입력수에 대하여 미리 정해진 순서로 전송되어 오는 것이 전제로 되어 있다. 제3 및 제4실시예에 있듯이, 입력 데이타를 임의의 순번으로 전송할 수 있도록 하는 것도 가능하다.
이상 제3실시예를 위한 제12도에 나타나듯이, 입력 데이타에는 그 입력 데이타의 입력 변수를 나타내는 입력 변수 번호가 부가된 상태에서 입력 데이타가 전송된다. 예를 들면 입력 데이타는 8비트, 입력 변수 번호는 8비트로서 구성된다.
입력 데이타와 함께 부여된 입력 변수 번호에 의하여 룰수 에어리어의 입력 변수 번호는 8비트로서 구성된다.
입력 데이타와 함께 부여된 입력 변수 번호에 의하여 룰수 에어리어의 그 입력 변수에 관계하는 대의 기억장소가 억세스된다. 구체적으로는 제30도에서, 룰수 에어리어의 상대 어드레스를 나타내는 카운터의 값(i)을, 입력 데이타를 수신했을 때에 그것에 부수하는 룰 변수 번호를 사용하여 프리세트 하면 좋다. 예를들면, 입력변수 (x1)일 때에는 i=0, 입력변수 (x2)일 때에는 i=7, 입력변수 (x3)일 때에는 i=14, 입력변수 (x4)일 때에는 i=21로 하면 좋다. 제30도에서 스텝(82)의 초기화 처리는 불필요하게 된다.
모든 입력 변수에 대하여 전건부 처리가 종료했는지 어떤지를 판단하기 위하여 제13도에 나타내는 처리 완료 플래그 에어리어가 RAM(11)에 설치된다.
처리 완료 플래그 에어리어는 입력 변수에 대응하여 처리 완료 플래그를 기억하는 것이다. 처리 완료 플래그는 0으로 초기 리세트되고, 입력 변수에 관한 전건부 처리가 종료했을 때에, 제30도의 스텝(92)이 처리에 대하여, 1로 세트된다. 제30도의 스텝(93)의 판단에 대하여, 모든 입력 변수에 대하여 처리 완료 플래그가 1로 세트되어 있는 것을 확인하고, 동일 후건부 사이에 있어서 적합도의 MAX 연산처리(스텝 45)로 진행하게 된다.
이상과 같이 하여, 제16도에 나타나듯이, 임의의 순서로서 입력 데이타가 부여되어도, 다음 입력 데이타의 전송중에, 먼저 부여된 입력 데이타에 관한 전건부 처리가 가능하게 된다.
상술한 제5실시예 및 변형예에서는 제5도 및 제16도에서도 알 수 있듯이, 먼저 수신한 입력 데이타에 관한 전건부 처리를 다음에 전송되어 오는 입력 데이타의 전송 종료까지 짧은 시간 사이에 완료한 다른 것이 전제로 되어 있다.
룰의 수가 많아 1개의 입력 변수에 관한 전건부 처리를 위하여 비교적 긴 시간을 요하는 경우나, 입력 데이타의 전송 속도가 비교적 짧은 경우에는 먼저 수신한 입력 데이타의 입력 변수에 관한 전건부 처리의 실행중 다음 입력 데이타의 수신이 완료하여 버린다는 사태가 생긴다. 경우에 따라서는 선행하는 입력 데이타의 전건부 처리중에 후속하는 2개 이상의 입력 데이타가 수신된다는 것도 있을 수 있다.
후속하여 수신되는 입력 데이타를 일시적으로 기억함으로서, 상술한 제4 실시예와 같도록 이러한 사태에 대처할 수 있다. 후속하는 입력 데이타를 일시적으로 기억하는 방법은 2개이다.
그 하나는 입력 데이타의 수신 완료 신호를 트리거로서 인터럽트 처리에 의하여 수신한 입력 데이타를 RAM등의 메모리에 일시기억하는 것이다.
제4실시예에서 참조한 제25도에 나타나듯이, 입력 변수 (x1)의 입력 데이타(입력 변수 번호를 포함하는 경우도 있다)를 수신한 후, 이 입력 변수 (x1)에 대하여 전건부 처리가 행하여 진다. 이 전건부 처리의 실행중에 다음의 입력 변수 (x2)의 입력 데이타를 수신했을 때에는 입력 변수 (x1)에 대하여 전건부 처리가 일시 중단되고, 수신한 입력 변수 (x2)의 입력 데이타가 RAM(11)에 기억되는 처리(인터럽트 처리)가 행하여진다. 그리고, 입력 변수 (x2)의 입력 데이타의 RAM(11)으로 기억이 종료하면, 재차 입력 변수 (x2)에 대하여 전건부 처리가 재개된다. 다른 입력 변수의 전건부 처리중에, 또다른 입력 변수에 대하여, 입력 데이타를 수신했을 때에도 같다. 제30도의 스텝(30)의 처리는 수신하고 RAM(11)에 기억한 입력 데이타가 있는지 어떤지를 체크하는 처리에 놓여지게 된다.
후속하는 입력 데이타를 일시적으로 기억하기 위한 제2 방법은 FIFO(First In First Out) 메모리를 이용하는 것이다.
시리얼 전송 인터페이스(13)에 의하여 수신된 입력 데이타(입력 데이타에 부가된 입력 변수 번호를 포함하는 경우도 있다)는 수신한 순서로 FIFO 메로리에 기억된다.
CPU(10)는 각 입력 변수에 대하여 전건부 처리 종료마다, 제30도 스텝(33)의 처리에 대하여 FIFO 메모리를 참조하여, 다음에 처리할 입력 데이타가 FIFO 메모리에 일시 기억되어 있는지 어떤지를 체크한다. 그리고, 기억되어 있으면, 수신의 순서에 입력 데이타를 FIFO 메모리에서 판독하여 그 입력 데이타에 대하여 전건부 처리를 실행하고, 기억되어 있지 않으면 입력 데이타의 수신을 가지게 된다.
제4실시예에서 참조한 도26과 같이, 제1번째의 입력 변수 (x1)에 대하여 입력 데이타를 수신한 후는, FIFO 메모리에 다음에 처리할 입력 데이타가 있는 한, 연속적으로 입력 변수 마다의 전건부 처리가 행하여져 가게 된다.
상기 실시예에서, 룰수 에어리어를 생략하는 것도 가능하다. 이 경우에는 룰 번호 에어리어의 입력 변수마다 그룹화된 기억장소의 선두 어드레스와 입력 변수의 대응관계를 나타내는 테이블을 설치하고 있으며, 입력 변수 번호에 의하여 룰 번호 에어리어를 억세스할 수 있도록 하여둔다. 동일의 쌍(입력 변수와 레이블의 쌍)마다 그룹화된 기억장소 서로를 구별해 둘 수 있도록 이들 그룹화된 기억장소의 최후에 엔드 코드를 기억하여 두면 좋다.
제28도에 나타내는 룰수 에어리어에서 입력 변수마다 그룹화된 기억장소의 선두 어드레스와 입력 변수 번호의 대응관계를 나타내는 테이블을 설치하여 두면, 룰수를 나타내는 데이타를 입력 변수 번호순으로 배열하지 않아도 좋다.

Claims (73)

  1. 전건부의 복수의 입력 변수와 후건부의 적어도 하나의 출력 변수를 멤버쉽 함수를 이용하여 관련지어진 복수의 룰이 미리 설정되어 있으며, 입력 데이타가 부여되어 있는 하나의 입력 변수가 관계하는 모든 룰에 대하여 전건부 처리를 행하고, 그 후 입력 데이타가 부여되어 있는 다른 하나의 입력 변수가 관계하는 모든 룰에 대하여 전건부 처리를 행하도록 하여, 입력 변수마다 전건부 처리를 실행하는 퍼지추론 처리방법.
  2. 제1항에 있어서, 입력 데이타가 부여되었을 때에, 그 입력 데이타에 대하여 입력 변수가 관계하는 모든 룰에 대하여 전건부 처리를 실행하는 퍼지추론 처리방법.
  3. 제1항에 있어서, 입력 데이타가 부여되었을 때에 그 입력 데이타를 일시 기억하고, 그후 입력 데이타에 대하여 입력 변수가 관계하는 모든 룰에 대하여 전건부 처리를 실행하는 퍼지추론 처리방법.
  4. 제1항에 있어서, 부여된 입력 데이타를 기억수단에 일시 기억하여 두고, 상기 기억수단에 기억되어 있는 입력 데이타를 순차 판독 출력하여 판독 출력한 입력 데이타에 대하여 입력 변수가 관계하는 모든 룰에 대하여 전건부 처리를 실행하는 퍼지추론 처리방법.
  5. 제1항에 있어서, 상기 전건부 처리는 룰에 의하여 입력 변수에 관계된 멤버쉽 함수에 대한 입력 데이타의 적합도를 산출하고, 룰의 전건부마다 그 전건부에 포함되는 입력 변수에 대하여 이미 산출된 적합도 사이에서 소정의 연산을 행하는 퍼지추론 처리방법.
  6. 제5항에 있어서, 상기 소정의 연산은 MIN 연산인 퍼지추론 처리방법.
  7. 제1항에 있어서, 모든 입력 변수에 대하여 전건부 처리가 종료한 후, 후건부가 동일의 룰 사이에서 전건부 처리 결과로 소정의 연산을 행하는 퍼지추론 처리방법.
  8. 제7항에 있어서, 상기 소정의 연산은 MAX 연산인 퍼지추론 처리방법.
  9. 제1항에 있어서, 복수룰의 각각의 전건부에 모든 룰에 포함되는 모든 입력 변수를 포함하고, 이들 변수에 멤버쉽 함수를 관련시키거나, 멤버쉽 함수가 관계하지 않음을 나타내는 코드를 부가하고, 각 입력 변수에 대하여 전건부 처리에서, 각 룰마다 그 입력 변수에 멤버쉽 함수가 관련되어 있는지를 판정하고, 멤버쉽 함수가 관계지워지는 것에 대하여 관계지어진 멤버쉽 함수에 대한 입력 데이타의 적합도를 구하는 퍼지추론 처리방법.
  10. 제1항에 있어서, 복수룰의 전건부를 구성하는 입력 변수와 멤버쉽 함수의 쌍을, 입력 변수마다 정리하여 룰의 식별코드와 관련하여 설정하는 퍼지추론 처리방법.
  11. 제1항에 있어서, 입력 데이타에 그 입력 데이타의 입력 변수를 나타내는 코드를 부가하고, 이 코드를 판정하며, 이 코드에 의하여 나타내는 입력 변수에 대하여 전건부처리를 행하는 퍼지추론 처리방법.
  12. 제4항에 있어서, 입력 데이타가 부여되었을 때에, 인터럽트 처리에 의하여 부여된 입력 데이타를 상기 기억수단에 기억하는 퍼지추론 처리방법.
  13. 제4항에 있어서, 상기 기억수단은 FIFO 메모리이고, 입력 데이타가 인가된 순서로 FIFO 메모리에 기억하고, 인가된 순서에 따라 FIFO 메모리에서 입력 데이타를 판독 출력하는 퍼지추론 처리방법.
  14. 복수의 룰 각각의 전건부에 모든룰에 포함되는 모든 입력 변수를 포함하고, 이들 입력 변수에 멤버쉽 함수를 관련시키거나 멤버쉽 함수가 관계하지 않음을 나타내는 코드를 부가하므로써 각 룰의 전건부를 구성하고, 입력 데이타가 인가되는 입력 변수마다 전건부 처리를 실행하고, 각 입력 변수에 대하여 전건부 처리에서 각룰마다 그 입력 변수에 멤버쉽 함수가 관계되어 있는지 어떤지를 판정하고, 멤버쉽 함수가 관계되어 있는 것에 대하여만 전건부 연산을 행하는 퍼지추론 처리방법.
  15. 제14항에 있어서, 입력 데이타가 인가되었을 때 그 입력 데이타의 입력 변수에 대하여 전건부 처리를 실행하는 퍼지추론 처리방법.
  16. 제14항에 있어서, 인가된 입력 데이타를 기억수단에 일시 기억하여 두고, 상기 기억수단에 입력 데이타가 기억되어 있는지 어떤지를 판정하고, 기억되어 있을 때에 입력 데이타를 상기 기억수단에서 판독하여 그 입력 데이타의 입력 변수에 대하여 전건부 처리를 실행하는 퍼지추론 처리방법.
  17. 복수 룰의 전건부를 구성하는 입력 변수와 멤버쉽 함수의 쌍을 입력 변수마다 정리하고, 룰의 식별 코드와 관련하여 설정하여 두고, 입력 데이타가 인가되어 있는 하나의 입력 변수가 관계하는 모든 상기 쌍에 대하여 전건부 처리를 행하고, 그후 입력 데이타가 인가되어 있는 다른 하나의 입력 변수가 관련하는 모든 상기 쌍에 대하여 전건부 처리를 행하도록 하여, 입력 변수마다 전건부 처리를 실행하는 퍼지추론 처리방법.
  18. 제17항에 있어서, 입력 데이타가 인가부여되었을 때에, 그 입력 데이타에 대하여 입력 변수가 관계하는 모든 상기 쌍에 대하여 전건부 처리를 실행하는 퍼지추론 처리방법.
  19. 제17항에 있어서, 인가된 입력 데이타를 기억수단에 일시 기억하여 두고, 상기 기억수단에 입력 데이타가 기억되어 있는지 어떤지를 판정하고, 기억되어 있을 때에 입력 데이타를 상기 기억수단에서 판독 출력하여 판독한 입력 데이타에 대하여 입력 변수가 관계하는 모든 상기 쌍에 대하여 전건부 처리를 실행하는 퍼지추론 처리방법.
  20. 복수 룰의 전건부를 구성하는 입력 변수와 멤버쉽 함수의 쌍을, 입력 변수를 나타내는 코드에 대응하여 입력 변수마다 정리하여, 룰의 식별 코드와 관련하여 설정하여 두고, 입력 데이타에 그 입력 데이타의 입력 변수를 나타내는 코드를 부가하여 입력 데이타를 인가하고, 인가된 입력 데이타에 부가되어 있는 입력 변수를 나타내는 코드를 판정하고, 판정된 입력 변수를 나타내는 코드에 대응하여 설정되어 있는 입력 변수와 멤버쉽 함수의 쌍에 대하여 전건부 처리를 행하는 퍼지추론 처리방법.
  21. 제20항에 있어서, 입력 데이타가 인가되었을 때에, 그 입력 데이타에 부가되어 있는 입력 변수를 나타내는 코드를 판정하여 전건부 처리로 이동하는 퍼지추론 처리방법.
  22. 제20항에 있어서, 인가된 입력 데이타를 그것에 부가되어 있는 입력 변수를 나타내는 코드와 함께 기억수단에 기억하여 두고, 상기 기억수단에 입력 데이타가 기억되어 있는지 어떤지를 판정하고, 기억되어 있을 때에 입력 데이타에 부가되어 있는 입력 변수를 나타내는 코드를 판독하여 그 코드를 판정하는 퍼지추론 처리방법.
  23. 전건부의 복수의 입력 변수와 후건부의 적어도 하나의 출력 변수를 멤버쉽 함수를 사용하여 관련지어지는 복수의 룰이 미리 설정되어 있는 메모리, 인가된 입력 데이타에 대하여, 그 입력 데이타의 입력 변수가 관계하는 모든 룰에 대하여 전건부 처리를 실행하는 전건부 처리수단 및 상기 전건부 처리수단에 의하여 하나의 입력 변수에 대하여 전건부 처리가 종료한 후에 다른 입력 변수의 입력 데이타를 상기 전건부 처리수단에 인가하고, 입력 변수에 대하여 전건부 처리를 실행하도록 제어하는 수단을 갖춘 퍼지추론 처리장치.
  24. 제23항에 있어서, 상기 제어수단은 입력 데이타가 인가되었을 때에, 그 입력 데이타의 입력 변수에 대하여 전건부 처리를 실행하도록 상기 전건부 처리수단을 제어하는 퍼지추론 처리장치.
  25. 제23항에 있어서, 인가된 입력 데이타를 일시기억하는 기억수단을 구비하고, 상기 제어수단은 상기 기억수단에 기억되어 있는 입력 데이타를 순차 판독하여 판독 출력한 입력 데이타의 입력 변수에 대하여 전건부 처리를 실행하도록 상기 전건부 처리 수단을 제어하는 퍼지추론 처리장치.
  26. 제23항에 있어서, 상기 전건부 처리는 룰에 의하여 입력 변수에 관계지어진 멤버쉽 함수에 대한 입력 데이타의 적합도를 산출하고, 룰의 전건부 마다 그 전건부에 포함되는 입력 변수에 대하여 미리 산출된 적합도 사이에서 소정의 연산을 행하는 퍼지추론 처리장치.
  27. 제26항에 있어서, 상기 소정의 연산은 MIN 연산인 퍼지추론 처리장치.
  28. 제23항에 있어서, 상기 전건부 처리수단은 모든 입력 변수에 대하여 전건부 처리가 종료한 후, 후건부는 동일 룰 사이에서 전건부 처리 결과로 소정의 연산을 행하는 퍼지추론 처리장치.
  29. 제28항에 있어서, 상기 소정의 연산은 MAX 연산인 퍼지추론 처리장치.
  30. 제23항에 있어서, 복수 룰의 각각의 전건부에 모든 룰에 포함되는 모든 입력 변수를 포함시켜두고, 이들 입력 변수에 멤버쉽 함수를 관련시키거나, 멤버쉽 함수가 관계하지 않는 것을 나타내는 코드를 부가하므로써 구성되는 복수의 룰이 상기 메모리에 기억되어 있으며, 상기 전건부 처리 수단은 각 입력 변수에 대하여 전건부 처리에서 각 룰마다 그 입력 변수에 멤버쉽 함수가 관련되어 있는 지를 판정하고, 멤버쉽 함수가 관계되어 있는 것에 대하여 관계되어 있는 멤버쉽 함수에 대한 입력 데이타의 적합도를 구하는 퍼지추론 처리장치.
  31. 제23항에 있어서, 복수 룰의 전건부를 구성하는 입력 변수와 멤버쉽 함수의 쌍은, 입력 변수마다 정리하여, 룰의 식별 코드와 관련하여 상기 메모리에 설정되어 있는 퍼지추론 처리장치.
  32. 제23항에 있어서, 입력 데이타에 그 입력 데이타의 입력 변수를 나타내는 코드가 부가되어 있으며, 상기 제어수단은 이 코드를 판정하고, 이 코드에 의하여 나타나는 입력 변수에 대하여 전건부 처리를 행하도록 하는 상기 전건부 처리수단을 제어하는 퍼지추론 처리장치.
  33. 제25항에 있어서, 입력 데이타가 부여되었을 때에, 인터럽트 처리에 의하여 인가된 입력 데이타를 상기 기억수단에 기억하는 인터럽트 처리수단을 더 구비하고 있는 퍼지추론 처리장치.
  34. 제25항에 있어서, 상기 기억수단은 FIFO 메모리이고, 입력 데이타가 인가된 순서로 FIFO 메모리에 기억되고, 인가된 순서에 따라 FIFO 메모리에서 입력 데이타가 판독되는 퍼지추론 처리장치.
  35. 복수 룰의 각각의 전건부에 모든 룰에 포함되는 모든 입력 변수를 포함되며, 이들 입력 변수에 멤버쉽 함수를 관련지어지거나 멤버쉽 함수가 관계하지 않는 것을 나타내는 코드를 부가하므로써 각 전건부가 구성되는 복수의 룰을 미리 기억하는 메모리, 각 입력 변수에 대하여 전건부 처리에서, 각 룰마다 그 입력 변수에 멤버쉽 함수가 관계되어 있는지 어떤지를 판정하고, 멤버쉽 함수가 관계되어 있는 것에 대하여만 전건부 연산을 행하는 전건부 처리수단 및 입력 데이타가 인가되어 있는 입력 변수마다 전건부 처리를 실행하도록 상기 전건부 처리수단을 제어하는 수단을 구비한 퍼지추론 처리장치.
  36. 제35항에 있어서, 상기 제어수단은 입력 데이타가 인가되었을 때에 그 입력 데이타의 입력 변수에 대하여 전건부 처리를 실행하도록 상기 전건부 처리수단을 제어하는 퍼지추론 처리장치.
  37. 제35항에 있어서, 인가된 입력 데이타를 일시 기억하는 기억수단을 구비하며, 상기 제어수단은 상기 기억수단에 입력 데이타가 기억되어 있는지 어떤지를 판정하고, 기억되어 있을 때에 입력 데이타를 상기 기억수단에서 판독 출력하여 그 입력 데이타의 입력 변수에 대하여 전건부 처리를 실행하도록 상기 전건부 처리수단을 제어하는 퍼지추론 처리장치.
  38. 복수 룰의 전건부를 구성하는 입력 변수와 멤버쉽 함수의 쌍을, 입력 변수마다 정리하여, 룰의 식별 코드와 관련지어 설정하기 위한 메모리 및 입력 데이타가 인가되어 있는 1개의 입력 변수가 관계하는 모든 상기 대에 대하여 전건부 처리를 행하고, 그후, 입력 데이타가 인가되어 있는 다른 1개의 입력 변수가 관계하는 모든 상기 쌍에 대하여 전건부 처리를 행하도록 하여, 입력 변수마다 전건부 처리를 실행하는 전건부 처리수단을 갖춘 퍼지추론 처리장치.
  39. 제38항에 있어서, 상기 전건부 처리수단은 입력 데이타가 인가되었을 때, 그 입력 데이타에 대하여 입력 변수가 관계하는 모든 상기 쌍에 대하여 전건부 처리를 실행하는 퍼지추론 처리장치.
  40. 제38항에 있어서, 인가된 입력 데이타를 일시적으로 기억하는 기억수단을 더 구비하며, 상기 전건부 처리수단은, 상기 기억수단에 입력 데이타가 기억되어 있는지 어떤지를 판정하고, 기억되어 있을 때에 입력 데이타를 상기 기억수단에서 판독하여 판독한 입력 데이타에 대하여 입력 변수가 관계하는 모든 상기 쌍에 대하여 전건부 처리를 실행하는 퍼지추론 처리장치.
  41. 복수룰의 전건부를 구성하는 입력 변수와 멤버쉽 함수의 쌍을 입력 변수를 나타내는 코드에 대응하여 입력 변수마다 정리하여, 룰의 식별 코드와 관련지어 기억하는 메모리, 인가된 입력 데이타에 부가되어 있는 입력 변수를 나타내는 코드를 판정하는 수단 및 판정된 입력 변수를 나타내는 코드에 대응하여 설정되어 있는 입력 변수와 멤버쉽 함수의 쌍에 대하여 전건부 처리를 행하는 전건부 처리수단을 갖춘 퍼지추론 처리장치.
  42. 제41항에 있어서, 상기 판정수단은, 입력 데이타가 인가되었을 때에, 그 입력 데이타에 부가되어 있는 입력 변수를 나타내는 코드를 판정하여 전건부 처리로 이동하도록 제어하는 퍼지추론 처리장치.
  43. 제41항에 있어서, 인가된 입력 데이타를 그것에 부가되어 있는 입력 변수를 나타내는 코드와 함께 일시 기억하는 기억수단을 구비하고, 상기 판정수단은 상기 기억수단에 입력 데이타가 기억되어 있는지 어떤지를 판정하고, 기억되어 있을 때에 그 입력 데이타에 부가되어 있는 입력 변수를 나타내는 코드를 판독하여 그 코드를 판정하는 퍼지추론 처리장치.
  44. 복수룰의 전건부를 구성하는 입력 변수와 멤버쉽 함수의 쌍과 룰 번호와의 관계를 입력 변수마다 정리하여 메모리에 설정하여 두고, 입력 데이타가 인가되어 있는 하나의 입력 변수에 관련하는 모든 상기 쌍에 대하여 전건부 처리를 행하고, 그후 입력 데이타가 부여되어 있는 다른 1개의 입력 변수에 관련하는 모든 상기 쌍에 대하여 전건부 처리를 행하도록 하여, 입력 변수마다 전건부 처리를 실행하는 퍼지추론 처리방법.
  45. 제44항에 있어서, 입력 변수와 멤버쉽 함수의 쌍을 순서있게 두고, 이 순서에 따른 어드레스에 각쌍에 관계하는 룰 번호를 기억한 룰 번호 에어리어를 상기 메모리에 설치하는 퍼지추론 처리방법.
  46. 제45항에 있어서, 입력 변수와 멤버쉽 함수의 각 쌍을 포함하는 룰의 수를 미리 기억한 룰수 에어리어를 상기 메모리에 설치하여 두고, 인가 입력 데이타의 입력 변수에 대하여 전건부 처리에서, 상기 룰수 에어리어를 참조하면서 상기 룰 번호 에어리어를 억세스하는 퍼지추론 처리방법.
  47. 제46항에 있어서, 상기 롤수 에어리어에서, 입력 변수와 멤버쉽 함수의 모든 조합에 의하여 생성되는 쌍에 미리 일정의 순서를 부여하여 두고, 이 순서에 따른 어드레스에, 각 쌍을 포함하는 룰의 수가 기억되어 있는 퍼지추론 처리방법.
  48. 제44항에 있어서, 입력 데이타가 인가되었을 때에 그 입력 데이타에 대하여 입력 변수에 관련하는 모든 상기 쌍에 대하여 전건부 처리를 실행하는 퍼지추론 처리방법.
  49. 제44항에 있어서, 인가된 입력 데이타를 기억수단에 일시 기억하여 두고, 상기 기억수단에 기억되어 있는 입력 데이타를 순차 판독 출력하여 판독 출력한 입력 데이타에 대하여 입력 변수에 관련하는 모든 상기 쌍에 대하여 전건부 처리를 실행하는 퍼지추론 처리방법.
  50. 제44항에 있어서, 상기 전건부 처리는 입력 변수와 쌍을 구성하는 멤버쉽 함수에 대한 입력 데이타의 적합도를 산출하고, 룰마다 그 전건부에 포함되는 입력 변수에 대하여 미리 산출된 적합도 사이에서 소정의 연산을 행하는 퍼지추론 처리방법.
  51. 제50항에 있어서, 상기 소정의 연산은 MIN 연산인 퍼지추론 처리방법.
  52. 제44항에 있어서, 모든 입력 변수에 대하여 전건부 처리가 종료한 후, 후건부가 동일의 룰 사이에서, 전건부 처리 결과로 소정의 연산을 행하는 퍼지추론 처리방법.
  53. 제52항에 있어서, 상기 소정의 연산은 MAX 연산인 퍼지추론 처리방법.
  54. 제44항에 있어서, 입력 데이타에 그 입력 데이타의 입력 변수를 나타내는 코드를 부가하고, 이 코드를 판정하며, 이 코드에 의하여 나타내는 입력 변수에 대하여 전건부 처리를 행하는 퍼지추론 처리방법.
  55. 제49항에 있어서, 입력 데이타가 인가되었을 때에, 인터럽트 처리에 의하여 인가된 입력 데이타를 상기 기억수단에 기억하는 퍼지추론 처리방법.
  56. 제49항에 있어서, 상기 기억수단은 FIFO 메모리이고, 입력 데이타가 인가된 순서로 FIFO 메모리에 기억하고, 인가된 순서에 따라 FIFO 메모리에 입력 데이타를 판독 출력하는 퍼지추론 처리방법.
  57. 복수룰의 전건부를 구성하는 입력 변수와 멤버쉽 함수의 쌍과 룰 번호와의 관계가 입력 변수마다 정리되어 미리 설정되어 있는 메모리, 인가된 입력 데이타에 대하여, 그 입력 데이타의 입력 변수에 관련하는 모든 상기 쌍에 대하여 전건부 처리를 실행하는 전건부 처리수단 및 상기 전건부 수단에 의하여 1개의 입력 변수에 대하여 전건부 처리가 종료한 후에 다른 입력 변수의 입력 데이타를 상기 전건부 처리수단에 인가하고, 그 입력 변수의 입력 데이타를 상기 전건부 처리수단에 인가하고, 그 입력 변수에 대하여 전건부 처리를 실행하도록 제어하는 수단을 구비한 퍼지추론 처리장치.
  58. 제57항에 있어서, 상기 메모리는 룰 번호 에어리어를 구비하고, 이 룰 번호 에어리어에는 입력 변수와 멤버쉽 함수와의 쌍에 미리 부여된 순서에 따른 어드레스에 각 쌍에 관계하는 룰 번호가 기억되어 있는 퍼지추론 처리장치.
  59. 제58항에 있어서, 상기 메모리는 룰수 에어리어가 설치되고, 이 룰수 에어리어에는 입력 변수와 멤버쉽 함수의 각쌍을 포함하는 룰의수가 미리 기억되어 있으며, 주어진 입력 데이타의 입력 변수에 대하여 전건부 처리에서 상기 룰수 에어리어를 참조하면서 상기 룰 번호 에어리어가 억세스되는 퍼지추론 처리장치.
  60. 제59항에 있어서, 상기 롤수 에어리어에서, 입력 변수와 멤버쉽 함수의 모든 조합에 의하여 생성되는 쌍으로 미리 부여된 순서에 따른 어드레스에, 각 쌍을 포함하는 룰의 수가 기억되어 있는 퍼지추론 처리장치.
  61. 제57항에 있어서, 상기 제어수단은 입력 데아타가 인가되었을 때에, 그 입력 데이타의 입력 변수에 대하여 전건부 처리를 행하도록 상기 전건부 처리수단을 제어하는 퍼지추론 처리장치.
  62. 제57항에 있어서, 인가된 입력 데이타를 일시 기억하는 기억수단을 갖추고, 상기 제어수단은 상기 기억수단에 기억되어 있는 입력 데이타를 순차 판독 출력하여 판독한 입력 데이타의 입력 변수에 대하여 전건부 처리를 수행하도록 상기 전건부 처리수단을 제어하는 퍼지추론 처리장치.
  63. 제57항에 있어서, 상기 전건부 처리는 입력 변수와 쌍을 구성하는 멤버쉽 함수에 대한 입력 데이타의 적합도를 산출하고, 룰마다 이 전건부에 포함되는 입력 변수에 대하여 미리 산출된 적합도 사이에 소정의 연산을 행하는 퍼지추론 처리장치.
  64. 제63항에 있어서, 상기 소정의 연산은 MIN 연산인 퍼지추론 처리장치.
  65. 제57항에 있어서, 상기 전건부 처리수단은 모든 입력 변수에 대하여 전건부 처리가 종료한 후, 전건부가 동일룰 사이에서, 전건부 처리 결과로 소정의 연산을 행하는 퍼지추론 처리장치.
  66. 제65항에 있어서, 상기 소정의 연산은 MAX 연산인 퍼지추론 처리장치.
  67. 제57항에 있어서, 입력 데이타에 그의 입력 데이타의 입력 변수를 나타내는 코드가 부가되며, 상기 제어수단은 이 코드를 판정하고, 이 코드에 의하여 나타내는 입력 변수에 대하여 전건부의 처리를 행하도록 상기 전건부 처리수단을 제어하는 퍼지추론 제어장치.
  68. 제62항에 있어서, 입력 데이타가 부여되었을 때에, 인터럽트 처리에 의하여 이 인가된 입력 데이타를 상기 기억수단에 기억하는 인터럽트 처리수단을 더 구비하고 있는 퍼지추론 처리장치.
  69. 제62항에 있어서, 상기 기억수단은 FIFO 메모리이고, 입력 데이타는 인가된 순서로 FIFO 메모리에 기억되며, 인가된 순서에 따라 FIFO 메모리에서 입력 데이타가 판독 출력되는 퍼지추론 처리장치.
  70. 입력 변수와 멤버쉽 함수의 모든 조합에 의하여 생성되는 쌍을 미리 일정의 순서로 순서매겨두고, 설정하는 복수의 룰에서, 상기 각 쌍을 그 전건부에 현실로 포함하는 룰수 에어리어의 상기 순서에 따라 어드레스에 기억하고, 설정하는 복수의 룰에 현실에 포함하는 상기의 각쌍에 대하여, 그들의 쌍을 현실에 포함하는 룰의 번호를, 메모리의 룰 번호 에어리어에 대해 상기 순서에 따라 어드레스에 기억하는 룰 설정방법.
  71. 설정하는 복수의 룰 전건부에 포함되는 입력 변수와 멤버쉽 함수의 쌍을 미리 일정의 순서로 순서매겨두고, 메모리의 상기 순서에 따라 어드레스에, 상기 각 쌍을 포함하는 룰이 번호를 기억하는 룰 설정방법.
  72. 설정되는 룰을 기억하는 메모리를 구비하며, 그 메모리에는 룰수 에어리어와 룰번호 에어리어가 설치되어 있으며, 룰에서 사용가능한 입력 변수와 멤버쉽 함수의 모든 조합에 의하여 생성되는 쌍은 미리 일정의 순서로 순서매겨져 있으며, 한정되는 복수의 룰에서, 상기의 각 쌍을 그 전건부에 현실로 포함하는 룰의 수는 상기 모든 조합에 의하여 생성되는 쌍에 대하여 메모리 룰수 에어리어의 상기 순서에 따라 어드레스에 기억되고, 설정하는 복수의 룰에 현실로 포함되는 상기의 각 쌍에 대하여 그들의 쌍을 현실로 포함하는 룰의 번호가 메모리의 룰 번호 에어리어에 대한 상기의 순서에 따라 어드레스에 기억되어 있는 룰 설정장치.
  73. 설정되는 룰을 기억하는 메모리를 구비하며, 설정되는 복수의 룰의 전건부에 포함되는 입력 변수와 멤버쉽 함수의 쌍은 미리 일정의 순서로 순서매겨져 있으며, 상기 메모리의 상기 순서에 따라 어드레스에 상기 각 쌍을 포함하는 룰의 번호가 기억되어 있는 룰 설정장치.
KR1019920008233A 1991-05-15 1992-05-15 퍼지 추론 처리방법 및 장치와 룰 설정방법 및 장치 KR970004526B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP13866391 1991-05-15
JP91-138663 1991-05-15
JP13945291A JP3211093B2 (ja) 1991-05-16 1991-05-16 ファジィ推論処理方法および装置
JP91-139452 1991-05-16

Publications (2)

Publication Number Publication Date
KR920022140A KR920022140A (ko) 1992-12-19
KR970004526B1 true KR970004526B1 (ko) 1997-03-28

Family

ID=26471658

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019920008233A KR970004526B1 (ko) 1991-05-15 1992-05-15 퍼지 추론 처리방법 및 장치와 룰 설정방법 및 장치

Country Status (5)

Country Link
US (1) US5604842A (ko)
EP (1) EP0513829B1 (ko)
KR (1) KR970004526B1 (ko)
AT (1) ATE156608T1 (ko)
DE (1) DE69221373T2 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995008796A1 (de) * 1993-09-20 1995-03-30 Siemens Aktiengesellschaft Verfahren zur beschleunigten regelauswertung in einem fuzzy-inference-prozessor und vorrichtung zu dessen durchführung
US5704010A (en) * 1993-09-20 1997-12-30 Siemens Aktiengesellschaft Arrangement for rule decoding and evaluation for a high-resolution fuzzy inference processor
EP0756229B1 (de) * 1995-07-28 2001-05-30 Infineon Technologies AG Verfahren zur Mehrfachnutzung einer Regelbasis in einem Fuzzy-Logic-Coprozessor
DE69628177D1 (de) * 1996-12-27 2003-06-18 St Microelectronics Srl Kodierungs und Speicherungsverfahren für Fuzzy Logik Regeln und Schaltungarchitektur zur Verarbeitung von solchen Regeln
FR2759799B1 (fr) 1997-02-18 1999-04-30 Sgs Thomson Microelectronics Procede d'utilisation en reseau d'un processeur de logique floue, et processeur de logique floue utilisable en reseau
US6272476B1 (en) * 1999-04-14 2001-08-07 Winbond Electronics Corp Programmable and expandable fuzzy processor for pattern recognition
US6853991B1 (en) 1999-10-27 2005-02-08 Agere Systems Inc. Fuzzy logic system with evolutionary variables rules
US7334517B2 (en) * 2002-10-31 2008-02-26 Star Manufacturing International, Inc. Section divider ensemble for roller grill for cooking human food

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4755960A (en) * 1985-06-20 1988-07-05 Tektronix, Inc. Waveform data compressing circuit
JPH0797284B2 (ja) * 1986-09-03 1995-10-18 株式会社日立製作所 ファジー推論によるディジタル制御方法
JPH0786893B2 (ja) * 1986-11-13 1995-09-20 オムロン株式会社 ファジィ情報処理装置
JPH01206435A (ja) * 1988-02-15 1989-08-18 Matsushita Electric Ind Co Ltd ルール解析装置
US5243687A (en) * 1988-09-20 1993-09-07 Omron Tateisi Electronics Co. Fuzzy computer system having a fuzzy inference processing circuit for controlling and adapting output signal to the set membership signal
US5179625A (en) * 1988-09-26 1993-01-12 Omron Tateisi Electronics Co. Fuzzy inference system having a dominant rule detection unit
US5280565A (en) * 1989-03-10 1994-01-18 Mitsubishi Denki Kabushiki Kaisha Fuzzy backward reasoning device
EP0390563A3 (en) * 1989-03-31 1992-12-02 Matsushita Electric Industrial Co., Ltd. Fuzzy multi-stage inference apparatus
US5239616A (en) * 1989-04-14 1993-08-24 Omron Corporation Portable fuzzy reasoning device
US5185849A (en) * 1989-06-27 1993-02-09 Olympus Optical Co., Ltd. Digital fuzzy inference apparatus having time divisional control function
JPH0365704A (ja) * 1989-08-03 1991-03-20 Toshiba Corp ファジィ制御装置及びファジィ制御方法
US5261036A (en) * 1989-10-24 1993-11-09 Mitsubishi Denki K.K. Programmable controller with fuzzy control function, fuzzy control process and fuzzy control monitoring process
JP2522415B2 (ja) * 1989-10-24 1996-08-07 三菱電機株式会社 ファジイ制御機能付プログラマブルコントロ―ラ、そのモニタシステム、および、ファジイ制御機能付プログラマブルコントロ―ラの制御方法

Also Published As

Publication number Publication date
EP0513829A3 (en) 1994-11-17
US5604842A (en) 1997-02-18
ATE156608T1 (de) 1997-08-15
DE69221373D1 (de) 1997-09-11
KR920022140A (ko) 1992-12-19
EP0513829B1 (en) 1997-08-06
DE69221373T2 (de) 1998-03-19
EP0513829A2 (en) 1992-11-19

Similar Documents

Publication Publication Date Title
US4144562A (en) System and method for increasing microprocessor output data rate
US4771380A (en) Virtual vector registers for vector processing system
KR970004526B1 (ko) 퍼지 추론 처리방법 및 장치와 룰 설정방법 및 장치
US5537514A (en) Method of rearranging and method of coding fuzzy reasoning rules, and method of fuzzy reasoning processing in accordance with said rules
JP2634994B2 (ja) ファジィ論理電子制御器及びそのメモリ動作方法
US5524174A (en) Apparatus for inference formation and defuzzification in a high-definition fuzzy logic co-processor
EP0456675B1 (en) Signal processing apparatus and method
JP3211093B2 (ja) ファジィ推論処理方法および装置
US4831569A (en) Display system for indicating standby operations of electronic data processing apparatus
DE2949793C2 (ko)
US6766310B1 (en) Neuro-fuzzy network architecture with on-line learning capabilities and corresponding control method
JP3057797B2 (ja) ファジィ演算装置
JPH05120020A (ja) フアジイ推論処理方法および装置
JP3067161B2 (ja) ファジィ演算処理装置
JP2650193B2 (ja) データ処理装置
US5737493A (en) Instruction set for evaluating fuzzy logic rules
JP2798109B2 (ja) ファジィ集合処理用演算装置、記憶装置および計算機システム
JPH0514183A (ja) Min回路およびmax回路ならびにそれらの接続方法
JPH0219437B2 (ko)
JPH0275066A (ja) ベクトル演算装置
JPH0320864A (ja) ファジィ計算用ベクトル命令セットを有する情報処理装置
JPH04230501A (ja) ファジィ演算処理装置
JPH0398163A (ja) ベクトルデータ処理装置
JPH0542034B2 (ko)
JPH07104786B2 (ja) デ−タ処理装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20110629

Year of fee payment: 15

EXPY Expiration of term