Uniwersalna implementacja algorytmu wnioskowania

0

Szukam przykładu algorytmu wnioskowania w przód w konkretnym zastosowaniu. Tzn. wiem, że istnieje aima w Java, ale projekt robie w C#.
Mam program (grę planszową) gdzie gracz na planszy sam wybiera akcje, czyli wybiera pole na które ma się przemieścić. Działa tak jak powinno, ale algorytm wnioskowania powinien być uniwersalny, a w mojej grze nie jest. Program składa się z planszy, gracza, bazy wiedzy. Baza wiedza to fakty o otoczeniu i reguły. Metody tell i ask służą do komunikacji z baza wiedzy. Tell dodaje fakty o otoczeniu, a ask pyta o akcje, którą powinien wykonać gracz (na jakie pole sie przemieścić). Podsumowując. Program działa poprawnie, ale rozwiazanie problemu w postaci tej gry jest zbyt konkretne. Wymagana jest uniwersalna metoda wnioskowania (algorytm), która powinna być wykorzystania jako moduł i być niezależna od dziedziny. Podpada to troche pod system ekspercki, ale odniosłem wrażenie, że robienie uniwersalnej metody wnioskowania w tak prostym przykładzie, to jak strzelanie z czołgu do muchy, bo taki algorytm wnioskowania musi parsować formuły, a więc trzeba napisac parser formuł logicznych itd..
Wszelkie podpowiedzi i gotowe przykłady moga być pomocne. Dzieki za uwagę.

0

Ale gdzie konkretnie jest problem? Bo nie bardzo rozumiem co chcesz osiągnąć. Metod wnioskowania jest przecież cała masa i nie do końca widzę dlaczego ich zastosowanie miałoby być trudne czy skomplikowane. Możesz sobie tam przecież dać jakąś sieć bayesa, możesz dać inferencje reguł, możesz dać drzewa decyzyjne.
Troche też zgubiłem się w tym co ten twój program niby robi. Bo skoro user sam wybiera akcje to gdzie tutaj rola tego wnioskowania w ogóle?

0

Chodzi o algorytm wnioskowania w przód. Jest to program implementujący logikę predykatów w grze planszowej. Przypomina to trochę Wumpusa i właśnie zrobiłem coś podobnego do Wumpusa, ale posługuję się językiem programowania, a nie własną implementacją formuł logicznych w języku programowania.

0

Tzn. wiem, że istnieje aima w Java, ale projekt robie w C#.

AIMA w C# też istnieje. Właśnie kończe pisać projekt dzięki klasom:

 
        PEParser parser = new PEParser();
        PLFCEntails plfce = new PLFCEntails();
        KnowledgeBase KB = new KnowledgeBase();

1 użytkowników online, w tym zalogowanych: 0, gości: 1