2016-09-24 7 views
-1

Я прошел через PREDICATE и выражение LAMBDA в java, но я не понял, как связать логику DM Predicate с этим для формирования простого приложения Java java?как связать дискретную математику Predicate LOGIC с предикатом java java, чтобы сформировать простой ответ AI java Appln?

+1

Вы должны быть более конкретными, чем это. Пожалуйста, объясните, что вы подразумеваете под «связыванием» и чего это должно достичь. Пожалуйста, объясните, что должно делать это (гипотетическое) приложение AI. –

+0

Я новичок в этой теме, но я замечаю, что в логике предикатов дискретной математики мы можем создавать функции, которые могут обрабатывать естественный язык, делая его простым выражением. Я спрашиваю, как писать те же функции, используя java лямбда и предикат. Пример: «Все друзья Джейн являются щедрыми» => Регулярное выражение «Для любого друга X: IF (X, jane) THEN щедрый (X)», а в предложении «Джейн имеет хотя бы одного друга, который щедр '' может быть выражен следующим образом: Для некоторых X: друг (X, jane) И щедрый (X) я спрашиваю, как реализовать эту концепцию в JAVA? –

ответ

1

В логике предикатов дискретной математики мы можем создавать функции, которые могут обрабатывать естественный язык, делая его простым регулярным выражением. Я спрашиваю, как писать те же функции, используя java лямбда и предикат.

Пример - «Все друзья Джейн являются щедрыми» => Регулярное выражение «Для любого друга X: IF (X, jane) THEN щедрый (X)».

«» Джейн имеет по крайней мере один друг, который является щедрым '=> «Для некоторого X: друг (X, джейн) и щедрого (X)»

Я спрашиваю, как реализовать эти концепции в ЯВА?

Прежде всего, это не «регулярные выражения». Регулярное выражение нечто совсем иное:

Теперь можно выразить предикат в виде функции Java, оценивающей в true или false. И эти функции могут быть закодированы с использованием Java lambdas.

Однако то, что у вас здесь, в ваших примерах, - это скорее правила, чем простые предикаты. Для реализации правил и основанных на правилах вычетов (которые, как я полагаю, является вашей конечной целью) вам действительно нужен какой-то логический движок. Такая вещь может быть реализована на Java, но если вы используете такой язык, как Prolog, все это бесплатно.

Если вы ищете правила двигатели, реализованные в/для Java, вы могли бы начать с исходными двигателями открытыми перечисленных здесь:

+0

Спасибо за ценную информацию. –