상세 컨텐츠

본문 제목

Visual Studio에서 Free Fuzzy Logic Library (FFLL) 사용 방법

Programming/AI

by 남수만 Ph.D. 2019. 6. 23. 21:38

본문

728x90

1. Fuzzy 사용을 위해 아래 URL에서 파일을 다운 받는다.

  • ffll_src_2_2_1.zip

  • ffll_bin_2_2_1.zip (아래 URL에서 다운 가능)

 

The Free Fuzzy Logic Library (FFLL) Downloads

ffll.sourceforge.net

 

2. ffll_bin_2_2_1.zip 파일을 압축 풀면 아래와 같은 파일들을 확인할 수 있다.(빨강색은 중요 파일)

  • ffllapi.dll 

  • ffllapi.exp

  • FFLLAPI.h

  • ffllapi.lib

  • ffllapid.dll

  • ffllapid.lib

 

3. Visual Studio에서 새로운 프로젝트 생성한다.

    1) fuzzy.h, fuzzy.cpp, main.cpp 생성

 

 

//fuzzy.h
#pragma once

#include "FFLLAPI.h"        // FFLL API

#include <iostream>

#define REPORT        0        // report is 1st variable
#define HOP           1        // hop is 2nd variable
#define ENERGY        2        // energy is 3rd variable

class FFLL
{
  public:
    FFLL();
    virtual ~FFLL();
    float fuzzy( float report, float hop, float energy );
};​
// fuzzy.cpp

#include "fuzzy.h"
using namespace std;

FFLL::FFLL()
{
}

FFLL::~FFLL()
{
}

float FFLL::fuzzy( float report, float hop, float energy )
{
  float result = -1.0;
  char option;

  // create and load the model
  int model = ffll_new_model();

  int ret_val = ( int )ffll_load_fcl_file( model, "./fuzzy.fcl" );

  if ( ret_val < 0 )
  {
    cout << "Error Opening FCL files ";
    return -2;
  }

  // create a child for the model...
  int child = ffll_new_child( model );

  option = 'S';

  if ( option == 'S' || option == 's' )
  {
      ffll_set_value( model, child, REPORT, report );
      ffll_set_value( model, child, HOP, hop );
      ffll_set_value( model, child, ENERGY, energy );
  }

  float output = ( float )ffll_get_output_value( model, child );
  return output;
}

  

// main.h

#include "Fuzzy.h"
using namespace std;

int main()
{
  FFLL F;
  float report, hop, energy;
  float result = -1.0;

  cout << "Enter the value of Report : ";
  cin >> report;
  cout << endl;
  cout << "Enter the value of Hop : ";
  cin >> hop;
  cout << endl;
  cout << "Enter the value of Enerygy : ";
  cin >> energy;

  result = F.fuzzy(report, hop, energy);
  cout << endl;
  cout << " Result is : " << result << endl;
  cout << endl;

  return 0;
}

 

 

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include

 

4. 프로젝트 폴더에서 아래 그림과 같이 lib 폴더 생성

 

5. 프로젝트 속성 페이지에서 '추가 라이브러리 디렉토리'에서 아래 경로를 추가한다.

    - $(SolutionDir)\lib

 

 

6. 프로젝트 속성 페이지에 '추가 종속성'에서  아래 파일를 추가한다.

    - ffllapi.lib

 

 

7. 프로젝트 Debug 폴더에 아래 파일을 추가한다.

    - ffllapi.dll, ffllapid.dll

 

 

8. 프로젝트 예제 파일은 메일(thebestprogramming@naver.com)로 요청하세요.

 

 

728x90

댓글 영역