Ownway.Info
 
HOME → プロダクションシステム
プロダクションシステム
■ SmallOPS version 1.0.1
最新コード(SmallOPS.zip

SmallOPS(Small Official Production System)は、 OPS5(Official Production System 5)を参考にして C/C++で製作した自前の前向き推論型プロダクションシステムである。 プロダクションシステムとしてシンプルな機能しか備えていないが、 プログラムがわかりやすいのが特徴である。 このプロダクションシステムの簡単な仕様を以下に示す。

単純な実装ではあるが、拡張を考慮した設計がなされており 単純であるが故に自分で新しい属性値や行動を追加したり、 別の競合解消戦略を採用したりといった改善を施しやすい状態に仕上げているつもりである。 SmallOPSこれ自体は、シンプルであることが重要なのでバグの修正などを除きこれ以上の開発は行わない。

SmallOPSをコンパイルするための補足的な情報としては、 SmallOPSの概要を参考にすること。

■ オープンソース化

本ソースを元に SourceForge.JP にプロジェクトを立てて開発の継続を検討中。

SmallOPSについて
■ プロダクションシステムとOPS5

本題に入る前にプロダクションシステムとはどういうものか、 そしてその一つの実装としてOPS5を取り上げて概要を説明する。

■ SmallOPSの概要

プロダクションシステムとして単純な実装を持つSmallOPSについて取り上げて概要を説明する。

■ 全体構成

SmallOPSの全体を構成するクラスについて、プロダクションシステムの概念と対比しながら説明を行う。

■ OAV形式のデータ

SmallOPSの文法にも取り入れられているOAV形式のデータをどのように構成するか。 まずは、OAV形式のデータがSmallOPSの文法の中でどのように使われているのかを説明し、 またそれぞれを表すクラスについて説明する。

■ 値

SmallOPSが扱う値には、アトム・整数・変数の3種類ある。 これらはOAV形式のデータの中に埋め込まれるものであるが、これらをどのように扱えばいいか、 またそれぞれを表すクラスについて説明する。

■ 行動

SmallOPSが扱う行動は、makeのみである。 しかし、SmallOPSは行動に関して拡張を許す設計がなされている。 makeに関するクラスを説明すると共に拡張を行うための方法を示す。

■ 競合解消

SmallOPSは競合解消戦略にfraction・first matchのアルゴリズムを採用しているが、 その他の戦略アルゴリズムを考慮に入れた効果的な競合集合の求め方の説明を行う。 その上でfraction・first matchのアルゴリズムがどのように実装されるのか、 また他の競合解消戦略を実装するための指針を示す。

■ 最後に

SmallOPSのこれからを示して終わりとする。

戻る: HOME