2009-05-19 3 views
1

내년은 정보 공학 기술자가되는 내 졸업 년도이며 jounior 프로젝트에 대한 아이디어를 찾으려고합니다. 사실 저는 전문가 시스템 엔진을 만들 생각이 있습니다. 나는 클립과 프롤로그로 작업했고 클립을 아주 좋아했지만 오래된 엔진 인 것 같다. 이 아이디어에 대해 조언하거나 저에게 도움이되는 논문이나 자료를 얻을 수 있습니까? C 언어를 사용하여 고성능을 얻고 강력한 데이터 구조를 구축하려고합니다. 또한, 나는 아이디어를 생각하고있다. (내가 할 수 있다면 잘 모른다) 사실과 규칙 (클립과 같은 것)을 작성한 다음이 규칙들로부터 C++ 최적의 코드를 생성하여 기계의 속도를 얻을 수 있고 exe를 사용할 수있다. 파일.전문가 시스템 엔진

이 아이디어를보다 명확하고 어떻게 할 수 있도록 도움이 필요합니다. 특히 퍼지 로직, 뉴럴 네트워크에 대해 읽었고 새로운 세대의 전문가 시스템에 대해 들었 기 때문에 특별히 그러한 주제와 어떻게 관련이 있는지 알 수 없었습니다.

+0

프로젝트 속도가 얼마나 중요합니까? 프로젝트가 실시간으로 실행되고 있습니까? 아니면 대형 데이터 세트에서 합리적인 시간 내에 실행해야합니까? –

답변

1

주니어 프로젝트의 경우 C로 작성하지 말 것을 권장합니다. 문제는 속도가 필요한 것보다 정확해야하는 것처럼 들립니다. C 언어로 작성하는 것은 언어 나 표준 라이브러리에 포함되지 않은 많은 프리미티브를 구현해야하므로 오래 걸립니다. 또한 C는 상대적으로 낮은 수준이기 때문에 낮은 수준의 실수를 저지를 기회가 많이 있습니다. 문제 영역에 더 가까운 상위 언어로 작성하십시오. 프레임 워크 설정 시간을 줄이기 위해 실제 문제에 더 많은 시간을 할애 할 수 있습니다. Prolog를 이미 알고 있다면, 그걸 고수하는 것이 좋을 것입니다. 아마도 Mercury을 고려해보십시오. Prolog와 비슷하지만 designed for speed입니다.

+0

사실 저는 좋은 C# 프로그래머입니다. 그러나 성능 저하를 초래하는 중간 언어 MSIL 때문에 그것을 사용하는 것에 반대합니다. 성능은 사람들이 클립 대신 C++와 같은 고급 언어를 사용하게 만드는 중요한 아이디어 중 하나입니다. 감사합니다. – Hani

+0

@Hani - Clips는 RETE 네트워크를 사용하여 여러 가지 패턴 일치 문제를 해결합니다. C# 또는 C++ (또는 비 규칙 또는 비 논리 언어)를 사용하는 경우이 문제가 발생합니다. 몇 가지 데이터 요소와 몇 백 개의 규칙만으로는 문제가 나타나지 않을 수도 있지만 특정 시점 이후에는 계산상의 복잡성으로 인해 문제가 발생할 수 있습니다. –

0

JBoss Rules (Drools라고도 함)는 규칙 처리에 가장 적합한 방법을 제공합니다. 그것은 Java로 작성되었습니다. 프로그램 구성 요소를 규칙에 통합하고 규칙 기반을 프로그램 구성 요소에 통합 할 수 있습니다. 즉석에서 룰베이스를 작성하거나 수정할 수도 있습니다.

자바가 수학 능력을 따라 잡고 있다고 들었지만 그 외에는 성능에 대한 두려움이 없습니다.

관련 문제