Решил написать интеллектуальную системку, и подумал что хорошо бы если б она не только поддерживала логику предикатов, но и логику первого порядка. Да, да, это входит в основной состав ИИ, но я бы предпочёл потратить время на поиск, самообучение со статистикой и прочими вкусностями, чем возиться с First Order Logic. В гугле нашёл пару AI Kernel, но, что удивительно, не видел обычных классов по работе с этой самой логикой, а остальное бы самому охота было написать.
Нужно чтоб машина понимала что из базы знаний:
Girl(Alice);
Boy(Bob);
Girl(x) ^ Boy(y) => Wants(y,x) v Wants (x,y);
следует что
Wants(Alice, Bob) v Wants(Bob, Alice).
В принципе, подстановку я уже и так написал, больше интересны логические операции типа ^, v, =>, etc.
Пишу на Джаве, но в принципе могу перевести хоть с чего кроме Brainfuck и Lisp :D
Ответить
|