Wi!Mi 1.1でエキスパートシステムを作成する

Wi!Miは、無数の接続、パラメーター、および関係を持つナレッジモデルを作成するためのツールであり、論理的な結論が得られます。 このコンストラクタは、 公式サイトからダウンロードできます。

残念ながら、このプログラムに適したチュートリアルは見つかりませんでした。youtubeのビデオチュートリアルは数えませんでした。 したがって、私は自分でそれを書くことにしました。





目的



私は当初、特定のアプリケーションを自分で設定することにしました。
「技術的な修理サービスを行っているN組織があります。 従業員数3人。 機器の受信強度は、1時間あたり2クライアントです。 また、サービスの強度は2です。従業員の時給は8 cu /時間です。 顧客がキューに入っていることによるサービスの損失は、10 cu /時間です。 会社の総費用を計算する必要があります。」


理論



この問題を解決するプロセスを説明する前に、このプログラムの基になっている理論について簡単に説明します。 Wi!Miは、あらゆる種類の知識の記述と形式化に対するmivarアプローチに基づいています。 このアプローチは、データとルールの統一された表現の進化的多次元動的空間の作成に基づいています。 言い換えると、mivarアプローチは、一般的に受け入れられているアプローチ(たとえば、認知マップやオントロジーなど)を一般化することがわかります。



モデル作成



簡単にするために、すべてのデータを入力と出力に分割し、ナビゲートしやすくしました。



モデル入力:





モデル出力:





プログラムには言語を変更するためのボタンがあり、モデル作成のどの段階でもインターフェース言語を英語/ロシア語に変更できることに注意してください。 残念ながら、多くのプログラムではこれは不可能です(この叙情的な余談は痛みを伴う問題です)。



モデルの作成に戻りましょう。 「モデル入力データ」と「モデル出力データ」の2つのクラスを作成しましょう。 これを行うには、「オブジェクトの追加」ボタンをクリックして、そのタイプ「クラス」を選択します。











クラス名を設定し、その説明を書きます。 次に、クラスにパラメーターを追加する必要があります。 これを行うには、「パラメーターの追加」をクリックし、開いたウィンドウで必要なデータ(名前とタイプ)を入力します。 説明を入力する価値がありますが、これは必須パラメーターではありません。モデルをナビゲートし、このオブジェクトまたはそのオブジェクトが必要な理由を理解しやすくするだけです。











2つのクラスを作成してオブジェクトを入力すると、次のフォームが得られます。











次に、オブジェクト間の関係を作成する必要があります。 これを行うには、[関係]タブに移動し、[関係の追加]をクリックして、[式]タイプを選択します。











1人の従業員Ro = lambda /(Mu * K)の読み込み式を導入し、[式の分析]ボタンをクリックします。 プログラムは自動的に入力および出力パラメーターを決定します。 キュー内の顧客数の式でも同じことを行います。

Q =(K * Math.pow(Ro、K + 1))/(1-Math.pow(Ro、K))および会社の総コストCp = K * S + Ub * Q.











次に、ルールを作成する必要があります。 これを行うには、「ルールの追加」をクリックし、タイプ「単純ルール」を選択します。











次に、作業する関係を選択します。 選択したら、対応するパラメーターを各オブジェクトに添付します。 比率は他の値(x = y + z)の形式で表すことができることに注意する価値があります-主なことは、式の構造を繰り返すことです。 これは、複数のルールがリレーションに関連付けられている場合に便利です。 モデルは小さいため、簡単にするためにパラメーターと同じ値を使用しました。











すべての関係を作成し、それらに規則をバインドした後、次のフォームを取得します。











モデルの作成が完了しました。 次に、チェックアウトする必要があります。 これを行うには、「スマート計算機」タブに移動します。 ルートと2つのクラスを明らかにしましょう。 条件からデータを入力し、取得する必要のあるパラメーターを選択します。











プログラムは計算を行い、解法アルゴリズムを発行しました。

№ 0

:

:

lambda=2;

Mu=2;

K=3;

:

Ro = lambda / (Mu * K)

: Ro=0.333333333333333;

------------------------------------

№ 1

:

:

K=3;

Ro=0.333333333333333;

:

Q = (K * Math.pow(Ro,K+1)) / (1 - Math.pow(Ro,K))

: Q=0.0384615384615384;

------------------------------------

№ 2

:

:

K=3;

S=8;

Ub=10;

Q=0.0384615384615384;

:

Cp = K * S + Ub * Q

: Cp=24.3846153846154;

------------------------------------







「ソリューショングラフを表示する」チェックボックスをクリックすることもできます。 アルゴリズム全体がグラフの形で視覚化されます。











一般的に、このツールは非常にシンプルです-インターフェースの実装であっても。 ただし、プログラミングしたくない、またはプログラミングできない人(およびプログラミングできる場合、Wi!MiにはJavaScriptで記述できる特別な「複雑な」関係があります)、またはこの「もの」を長期間使用する方法を詳しく調べたくない場合-素晴らしいオプション。 また、すべてのモデルは.XML形式で保存されると言いたかった。











実際、インターフェースを作成し、このデータを解析することは残っています。完全なプログラムを取得します。 個人的には、このコンストラクタを使用してロジックをすばやく構築するのが便利でした。



All Articles