2016-09-24 3 views
-1

私はJavaでPREDICATEとLAMBDAの式を通過しましたが、私は単純なAI Javaアプリケーションを形成するためにこれとDM Predicateロジックをリンクする方法を理解できませんでしたか?離散数学述語LOGICとJava述語LOGICをリンクして、簡単なAI応答を作成する方法Appln?

+1

あなたはこれ以上具体的でなければならないでしょう。 「リンクする」とは何を意味するのか、これが達成すべきことを説明してください。この(仮定的な)AIアプリケーションが何をすべきか説明してください。 –

+0

私はこの話題に慣れていますが、Discrete Mathematicsの述語ロジックでは、単純な正規表現として自然言語を処理できる関数を作成できます。私はどのようにjavaラムダと述語を使用して同じ関数を記述するように求めています。例 - 「ジェーンの友人はすべて寛大です」=>正規表現は「X:IF友人(X、ジェーン)THEN寛大な(X)」ですが、「ジェーンには寛大な友人が少なくとも1人います'' 'は次のように表現することができます: 友人(X、jane)AND generous(X)これらの概念をJAVAでどのように実装するのか尋ねています。 –

答えて

1

離散数学述語ロジックでは、単純な正規表現として自然言語を処理できる関数を作成できます。私はどのようにjavaラムダと述語を使用して同じ関数を記述するように求めています。

例 - 'すべてのJaneの友人は寛大です' '=>正規表現は「X:IF友人(X、jane)THEN寛大な(X)」です。

「「いくつかのXの場合:友人(X、ジェーン)と寛大な(X)」」=>「ジェーンは寛大で、少なくとも1人の友人を持っている」

私はこれらの概念を実装する方法を求めていますJAVA?

まず、これらは「正規表現」ではありません。

今ではtrueまたはfalseに評価されたJava関数の形で述語を表現することが可能です:正規表現は非常に異なるものです。これらの関数はJava lambdasを使ってコード化することができます。

しかし、あなたの例では単純述語ではなく効果的な規則があります。ルールとルールベースの控除(私はあなたの最終目標だと思います)を実装するには、実際に何らかのロジックエンジンが必要です。このようなことはJavaで実装することができますが、Prologのような言語を使用すると、すべて無料で提供されます。あなたはJava用/で実装ルール・エンジンを探しているなら

、あなたはここに記載されているオープンソースのエンジンを始めることができ:

+0

貴重な情報をありがとう。 –

関連する問題