6.19. Inference および TruthMaintenance の実装


手順6.1 タスク

  1. 一連のルールを開きます。この例では、バスが発行システムを使用します。
    rule "Issue Child Bus Pass" when
      $p : Person( age < 16 )
    then
      insert(new ChildBusPass( $p ) );
    end
     
    rule "Issue Adult Bus Pass" when
      $p : Person( age >= 16 )
    then
      insert(new AdultBusPass( $p ) );
    end
    Copy to Clipboard Toggle word wrap
  2. insertLogical ファクトを挿入し、推測する用語を追加します。
    rule "Infer Child" when
      $p : Person( age < 16 )
    then
        insertLogical( new IsChild( $p ) )
    end
    rule "Infer Adult" when
        $p : Person( age >= 16 )
    then
        insertLogical( new IsAdult( $p ) )
    end
    Copy to Clipboard Toggle word wrap
    ファクトが論理的に挿入されている。このファクトは、when 句の真理によって異なります。これは、ルールが false になると、ファクトは自動的に取り消されることを意味します。これは特に 2 つのルールは相互に排他的です。上記のルールでは、子が 16 未満の場合に IsChild ファクトが挿入されます。ユーザーが 16 を超え、IsAdult ファクトが挿入されると、自動的に取り消されます。
  3. コードを入力してパスを発行します。TMS は取り消しセットのカスケードに対する論理挿入の連鎖をサポートするため、これらは論理的に挿入することもできます。
    rule "Issue Child Bus Pass" when
        $p : Person( )
        IsChild( person == $p )
    then
        insertLogical(new ChildBusPass( $p ) );
    end
     
    rule "Issue Adult Bus Pass" when
        $p : Person( age >= 16 )
        IsAdult( person =$p )
    then
        insertLogical(new AdultBusPass( $p ) );
    end
    Copy to Clipboard Toggle word wrap
    現在、ユーザーが 15 から 16 に変更すると、IsChild ファクトは自動的に取り消されるだけでなく、はユーザーの ChildBusPass ファクトになります。
  4. not 条件要素を挿入して通知を処理します。(この場合、パスを返すリクエスト。) TMS が ChildBusPass オブジェクトを自動的に取り消すと、このルールはトリガーして要求を人に送信します。
    rule "Return ChildBusPass Request "when
      $p : Person( )
           not( ChildBusPass( person == $p ) )
    then
        requestChildBusPass( $p );
    end
    Copy to Clipboard Toggle word wrap

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat