ぼうWEB2−ソフトウェア−TRS

ソフトウェア概要

Term Rewriting System (TRS)のなかで主要なアルゴリズム(多分)である, Unification,Critical Pair,CompletionをFlashで実装したものです. 私はTRSの専門家ではないので,本当に正しく実装されているかどうかはアレです.

デモ

使い方

画面は3つあります.Unificationのデモ,Critical Pairのデモ,Completionのデモです. 画面上のバーの名前をクリックすることで,それぞれの画面に遷移することができます.

右側には,関数入力フィールドと,各種コマンドがあります. 関数入力フィールドには,関数名とその引数の数をコンマ区切りで記述します. "+,2"という行は,+関数は2つの引数を取ると言う意味です. コマンドは,update,next,exec, clearの4つあります. updateは,画面状態を更新するときに用います. nextは,サンプルがあれば次のサンプルを入力します. execは,各アルゴリズムを実行します. clearは,画面を初期化します. なお,execコマンドを実行する前は,かならずupdateコマンドを実行してください.

なお,各関数式は,前置記法を取っています.

Unification

Unificationを実行する画面です. 左,右,下と3つのパートに分かれています. 左と右は,Unificationを行う二つの関数式および木が表示されます. 下は,Unificationの結果が表示されます.

木のノードをクリックすることで,対応する部分木がオレンジ色で表示されます.

Critical Pair

Critical Pairを求める画面です. 左,右,下の3つのパートに分かれています. 左はCritical Pairの元のペアです. 右は結果です. 下は,選択されているRewriting Ruleの木を表示します.

なお,現状では式の編集はできません.

Completion

Completionを実行する画面です. 左,右,下の3つのパートに分かれています. 左は元のRewriting Rule群です. 右はCompletionされたRewriting Rule群です. 下は,選択されているRewriting Ruleの木を表示します.

なお,現状では式の編集はできません.

動作環境

ダウンロード

swfファイル単体と,ソースコード一式を置いておいたので,欲しい方は適当にダウンロードしてください. なお,FlashMX 2004で開発しましたので,それ以外で読み込めるかどうかは分かりません.

既知のバグ

Cricical Pair内の,関数合成が怪しい動作をします. そのため,ときどき変な結果を返します. よって,Completionも変な結果が混ざっています. ようするに,バグ.

注意事項

本ページで配布しているプログラムにより発生したいかなる損害も,私は責任を負いません. swfファイルの再配布は自由とします. ソースコード一式をダウンロードし,改変した後に,公開することも自由とします. ただし,先の行為により発生したいかなる問題や損害も,私は責任を負いません.

最終更新日:2005/3/20
ぼうWEB2 © Copyright 2005 myanya<myanya_s@yahoo.co.jp>