JP2009151634A - Inconsistent process detecting apparatus, inconsistent process detecting program, and inconsistent process detecting method - Google Patents

Inconsistent process detecting apparatus, inconsistent process detecting program, and inconsistent process detecting method Download PDF

Info

Publication number
JP2009151634A
JP2009151634A JP2007330161A JP2007330161A JP2009151634A JP 2009151634 A JP2009151634 A JP 2009151634A JP 2007330161 A JP2007330161 A JP 2007330161A JP 2007330161 A JP2007330161 A JP 2007330161A JP 2009151634 A JP2009151634 A JP 2009151634A
Authority
JP
Japan
Prior art keywords
agent
processing
inconsistent
inconsistency
control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007330161A
Other languages
Japanese (ja)
Inventor
Kenta Cho
健太 長
Hisashi Hayashi
久志 林
Masaaki Kikuchi
匡晃 菊池
Naoki Iketani
直紀 池谷
Yoshiaki Nishimura
圭亮 西村
Masanori Hattori
正典 服部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2007330161A priority Critical patent/JP2009151634A/en
Publication of JP2009151634A publication Critical patent/JP2009151634A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an inconsistent process detecting apparatus, an inconsistent process detecting program, and an inconsistent process detecting method for quickly detecting inconsistent processes due to an agent. <P>SOLUTION: A monitoring unit 3 monitors a memory unit 7, which stores simulation results by an agent controller 11 or a process history by an agent simulator 100; and when an agent is detected which matches with inconsistent process detecting rule set 4, the monitoring unit 3 stores the agent states detected and states of agent simulator 100 at the detected time into an instance memory unit 5. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、ルールベースのシミュレータにおける特にエージェントの不整合な処理を検出する不整合処理検出装置、不整合処理検出プログラム、および不整合処理検出方法に関する。   The present invention relates to an inconsistency processing detection apparatus, an inconsistency processing detection program, and an inconsistency processing detection method for detecting inconsistent processing of agents in a rule-based simulator.

システムの処理を模擬し、システム開発、設計支援を行うためのシミュレータが存在する。それらのシミュレータの中には社会システムを模擬する、エージェントシミュレータなどが含まれる。   There are simulators for simulating system processing and supporting system development and design. These simulators include agent simulators that simulate social systems.

エージェントとは、自律性を持つ行動主体を実現するソフトウェアである。複数のエージェントの協力で動作を行うシステムを特にマルチエージェントシミュレータという。 An agent is software that realizes an action subject with autonomy. A system that operates in cooperation with multiple agents is called a multi-agent simulator.

エージェントシミュレータにおいては、システム動作をモデル化するために、ルールベースが用いられることが多い。各ルール(制御ルール)は独立と考えられ、「if」条件から、「then」アクション「else」アクションを表した形式の記述が多く用いられる。各ルールは宣言的に表記され、独立に評価、処理される。各エージェントはそれら制御ルールに基づいた動作を行い、それが相互作用し複雑な系のシミュレーションが可能となる。   In an agent simulator, a rule base is often used to model system operation. Each rule (control rule) is considered to be independent, and a description of a format representing “then” action “else” action is often used from the “if” condition. Each rule is written declaratively and evaluated and processed independently. Each agent performs actions based on these control rules, and they interact to enable simulation of complex systems.

ルールベースを用いたシミュレータの場合、システムを模擬するために適切なルールセットを作成する必要があるが、それらルールがどのように発火するかをあらかじめ予想することが非常に困難である。   In the case of a simulator using a rule base, it is necessary to create an appropriate rule set to simulate the system, but it is very difficult to predict in advance how those rules will fire.

ルールベースのシステム開発において開発者がルールを構築する作業が最も重要であり、かつ作業時間を必要している。そのため開発者をサポートするデバッグ技術がある。開発者がルールベースのシステムを採用したプログラムの実行中に生ずる選択条件に基づいてブレークポイントを設定し、プログラムがブレークポイントに到達したときに開発者がシステムの状態を検査しルールを変更することができるデバッグ方法である(例えば特許文献1)。 In rule-based system development, the task of building rules by the developer is the most important and requires work time. Therefore, there are debugging technologies that support developers. A developer sets breakpoints based on selection conditions that occur during the execution of a program that employs a rule-based system, and when the program reaches a breakpoint, the developer checks the state of the system and changes the rules. This is a debugging method (for example, Patent Document 1).

しかし、これらの方法ではプログラムを繰り返し動作させ、不整合な動作が起きブレークポイントに到達する度に、開発者がデバッグを行い、その修正結果を評価しなければならず、ルールの構築に非常に時間がかかるという問題がある。特に、エージェントの数が多いルールベースのシミュレータシステムを作成する際には更に多大なデバッグ時間が必要になってしまう。
特開平5−151025号公報
However, with these methods, the program must be run repeatedly, and every time an inconsistent operation occurs and a breakpoint is reached, the developer must debug and evaluate the correction results, which is very There is a problem that it takes time. In particular, when a rule-based simulator system having a large number of agents is created, much more debugging time is required.
Japanese Patent Laid-Open No. 5-151025

本発明は、エージェントシミュレータの実行結果において生じた不整合な処理を容易に検出することができる不整合動作検出装置、方法、およびプログラムを提供することを目的とする。   An object of the present invention is to provide an inconsistent operation detecting apparatus, method, and program capable of easily detecting inconsistent processing occurring in an execution result of an agent simulator.

上記課題を解決するために請求項1の発明は、仮想環境内の初期状態を与える初期状態生成部と、エージェントの動作の処理を制御する制御ルールが格納された第1の格納部と、前記仮想環境内の状態を前記制御ルールに与えて生成された前記エージェントの内部状態を生成する内部状態生成部と、前記内部状態生成部で生成された前記エージェントの内部状態を記憶する第1の記憶部とを備えるシミュレータ装置が構築する仮想環境内での仮想的な行動主体であるエージェントを動作させる処理としては不整合な処理を検出する不整合処理検出装置であって、前記シミュレータ装置の処理としては不整合と見なされる前記エージェントの制御処理を検出する検出ルールを格納した第2の格納部と、前記シミュレータ装置の前記エージェントの処理のうち前記検出ルールに該当する不整合な前記エージェントの制御処理を監視する監視部と、前記監視部が前記不整合な処理を検出した場合、前記エージェントの内部状態を不整合なエージェントの制御処理がされた事例として記憶する第2の記憶部を具備した事を特徴とする不整合処理検出装置を提供する。   In order to solve the above-mentioned problem, the invention of claim 1 is characterized in that an initial state generation unit that gives an initial state in a virtual environment, a first storage unit that stores a control rule for controlling processing of an agent operation, An internal state generation unit that generates an internal state of the agent generated by giving a state in a virtual environment to the control rule, and a first storage that stores the internal state of the agent generated by the internal state generation unit A mismatch processing detection device for detecting inconsistent processing as processing for operating an agent that is a virtual action subject in a virtual environment constructed by a simulator device comprising: Is a second storage unit that stores a detection rule for detecting control processing of the agent that is regarded as inconsistent, and the agent of the simulator device A monitoring unit that monitors the control processing of the inconsistent agent corresponding to the detection rule, and when the monitoring unit detects the inconsistent processing, the internal state of the agent is controlled to be inconsistent. There is provided an inconsistency processing detection device characterized in that a second storage unit is provided for storing as a processed case.

又請求項7の発明は仮想環境内の初期状態を生成する機能と、エージェントの動作の処理を制御する制御ルールを格納する機能と、前記仮想環境内の状態を前記制御ルールに与えて前記エージェントの内部状態を生成する機能と、生成された前記エージェントの内部状態を記憶する機能とを備えるシミュレータが構築する前記仮想環境内での仮想的な行動主体である前記エージェントを動作処理する時の不整合な処理を検出するプログラムであって、前記シミュレータの処理としては不整合と見なされる前記エージェントの制御処理を検出する検出ルールを格納する機能と、前記シミュレータ装置の前記エージェントの処理のうち前記検出ルールに該当する不整合な前記エージェントの制御処理を監視する機能と、前記検出ルールに該当する不整合な前記エージェントの制御処理を検出した場合、前記不整合な処理がなされた前記エージェントの内部状態を不整合なエージェントの制御処理がされた事例として記憶する機能とをコンピュータに実現させる事を特徴とする不整合処理検出プログラムを提供する。   The invention according to claim 7 provides a function for generating an initial state in a virtual environment, a function for storing a control rule for controlling processing of an agent operation, and a state in the virtual environment for the control rule. And a function for generating the internal state of the agent and a function for storing the generated internal state of the agent. A program for detecting a consistent process, a function for storing a detection rule for detecting the control process of the agent, which is regarded as inconsistent as the process of the simulator, and the detection of the agent process of the simulator device A function to monitor the control processing of the inconsistent agent corresponding to the rule, and corresponding to the detection rule When a matching control process of the agent is detected, the computer realizes a function of storing the internal state of the agent that has undergone the inconsistent process as a case in which the control process of the inconsistent agent has been performed. An inconsistency processing detection program is provided.

又請求項8の発明は仮想環境内の初期状態を与えるステップと、エージェントの動作の処理を制御する制御ルールが格納するステップと、前記仮想環境内の状態を前記制御ルールに与えて生成された前記エージェントの内部状態を生成するステップと、生成された前記エージェントの内部状態を記憶するステップを備えるシミュレータが構築する前記仮想環境内での仮想的な行動主体である前記エージェントを動作処理する時の不整合な処理を検出する方法であって、前記シミュレータの処理としては不整合と見なされる前記エージェントの制御処理を検出する検出ルールを格納するステップと、前記シミュレータの前記エージェントの処理のうち前記検出ルールに該当する不整合な前記エージェントの制御処理を監視するステップと、記検出ルールに該当する不整合な前記エージェントの制御処理を検出した場合、前記不整合な処理がなされた前記エージェントの内部状態を不整合なエージェントの制御処理がされた事例として記憶するステップとを具備した事を特徴とする不整合処理検出方法を提供する。   The invention of claim 8 is generated by providing an initial state in the virtual environment, a step of storing a control rule for controlling processing of the agent operation, and giving the state in the virtual environment to the control rule. A step of generating an internal state of the agent, and a step of storing the generated internal state of the agent, when operating the agent that is a virtual action subject in the virtual environment constructed by a simulator A method of detecting inconsistent processing, the step of storing a detection rule for detecting control processing of the agent that is regarded as inconsistent as processing of the simulator, and the detection of the processing of the agent of the simulator Monitoring the control processing of the inconsistent agent corresponding to the rule; Storing the internal state of the agent that has been subjected to the inconsistent processing as a case in which the inconsistent agent control processing has been performed when the inconsistent agent control processing corresponding to the rule is detected. An inconsistency detection method characterized by the above is provided.

本発明によれば、マルチエージェントシミュレータであっても、そのシミュレーション結果から不整合な処理を短時間で検出及び蓄積できるようにしたので、開発者の不整合処理検出作業時間を短縮可能なエージェント第2の実施形態、エージェント不整合処理検出プログラム、およびエージェント不整合処理検出方法を提供することができる。
According to the present invention, even in a multi-agent simulator, inconsistent processes can be detected and accumulated in a short time from the simulation results. The second embodiment, the agent inconsistency processing detection program, and the agent inconsistency processing detection method can be provided.

以下、図面を参照しながら発明の実施の形態を詳細に説明する。ここで、互いに同一の部分には同一の符号を付して、重複説明は省略する。   Hereinafter, embodiments of the invention will be described in detail with reference to the drawings. Here, the same reference numerals are given to the same parts, and redundant description is omitted.

(第1の実施形態)
図1は、本発明の第1の実施形態に係るエージェントシミュレータ及び、不整合処理検出部のブロック図を示したものである。
(First embodiment)
FIG. 1 shows a block diagram of an agent simulator and an inconsistency processing detection unit according to the first embodiment of the present invention.

図1に示すように、第1の実施形態に係るエージェントシミュレータ装置は、エージェントシミュレータ100としての主な構成としてシミュレータ制御部1、エージェント制御ルールセット2、エージェント制御部11、およびシミュレーションの履歴(ログ)を蓄積する記憶部7を持つ。   As shown in FIG. 1, the agent simulator apparatus according to the first embodiment includes a simulator control unit 1, an agent control rule set 2, an agent control unit 11, and a simulation history (log) as the main configuration of the agent simulator 100. ) Is stored.

シミュレータ制御部1は仮想環境内で複数のエージェントソフトウエアを処理し、動作のシミュレーションを行う上で、どれ位の時間、どのような環境で行うか等のシミュレーションの全体の流れを制御する。エージェント制御ルールセット2内には、エージェントの個々の処理を行うルール群が格納されている。エージェントは、エージェント制御ルールセット2内にあらかじめ規定されたルールに従ってエージェント制御部11によって制御される。まずシミュレータ制御部1は初期状態生成部6にエージェント制御部11に与える初期状態を生成させる。初期状態とは、環境情報、及びエージェント状態などの集合である。これら初期状態は完全な乱数から生成してもよいし、開発者が作成した初期状態の一部をシステムが自動的に変更してもよい。与えられた初期状態及びエージェント制御ルールセット2に基づいて、エージェント制御部11はエージェントを処理し、動作をシミュレートする。シミュレータ制御部1は、予め設定した回数、または時間だけシミュレーションを行う。それらシミュレーション内の環境情報やエージェントの内部状態を含めたログは、記憶部7に記憶される。シミュレータ内のエージェントは、エージェント制御ルールセット2に規定されたルールに基づいてエージェント制御部11によって制御される。   The simulator control unit 1 processes a plurality of agent software in a virtual environment, and controls the overall flow of simulation such as how long and in what environment when simulating the operation. In the agent control rule set 2, rule groups for performing individual processing of agents are stored. The agent is controlled by the agent control unit 11 according to a rule defined in advance in the agent control rule set 2. First, the simulator control unit 1 causes the initial state generation unit 6 to generate an initial state to be given to the agent control unit 11. The initial state is a set of environment information, agent state, and the like. These initial states may be generated from complete random numbers, or a part of the initial state created by the developer may be automatically changed by the system. Based on the given initial state and the agent control rule set 2, the agent control unit 11 processes the agent and simulates the operation. The simulator control unit 1 performs simulation for a preset number of times or time. Logs including the environment information in the simulation and the internal state of the agent are stored in the storage unit 7. The agents in the simulator are controlled by the agent control unit 11 based on the rules defined in the agent control rule set 2.

さらに、第1の実施形態では、エージェントシミュレータ100内に不整合な処理があったかどうかを自動的に検出するための、不整合処理検出ルールセット4、監視部3、事例記憶部5を含む不整合動作検出部110を備える。この不整合動作検出部200は、エージェントシミュレータ100と同時(並列)に動作してもよいし、エージェントシミュレータ100のシミュレーション動作が終了してから、記憶部7に保存されたシミュレーションの内部状態や環境情報等の時系列データを利用して不整合動作の検出をおこなってもよい。   Furthermore, in the first embodiment, the inconsistency including the inconsistency processing detection rule set 4, the monitoring unit 3, and the case storage unit 5 for automatically detecting whether or not there is inconsistent processing in the agent simulator 100. An operation detection unit 110 is provided. The inconsistent motion detection unit 200 may operate simultaneously (in parallel) with the agent simulator 100, or after the simulation operation of the agent simulator 100 ends, the internal state and environment of the simulation stored in the storage unit 7 The mismatch operation may be detected using time series data such as information.

監視部3は、エージェント制御部11によるシミュレーション、若しくはエージェントシミュレータ100の動作履歴を記憶した記憶部7を監視し、不整合処理検出ルールセット4に合致するエージェントを検出した場合、検出されたエージェントの状態、および検出時のエージェントシミュレータ100内の状態を事例記憶部5に蓄積する。蓄積されるエージェントシミュレータ内の状態として、検出時のシミュレータ内時間より少し前の状態を記録することで、後で不整合処理の回避をチェックするときに、不整合処理が発生した時点よりも前からチェックを行えるようにしてもよい。   The monitoring unit 3 monitors the storage unit 7 storing the simulation by the agent control unit 11 or the operation history of the agent simulator 100, and when detecting an agent that matches the inconsistency processing detection rule set 4, the monitoring unit 3 The state and the state in the agent simulator 100 at the time of detection are stored in the case storage unit 5. By recording the state in the agent simulator that is accumulated slightly before the time in the simulator at the time of detection, when checking for avoidance of inconsistency processing later, the time before inconsistency processing occurs is recorded. You may be allowed to check from

図1において、エージェント制御部11はさらに、シミュレーションの仮想環境情報を表示するための環境表示UI220、エージェントの内部状態を表示するための状態表示UI210、不整合処理選択UI230およびシミュレーションの実行を制御するための制御UI200を備えることが好ましい。ここでUIはユーザインターフェースを表す。それぞれのUIは、実際にシミュレートされている情報、事例記憶部5に蓄積された情報、記憶部7に記憶された情報のいずれを参照してもよい。   In FIG. 1, the agent control unit 11 further controls the environment display UI 220 for displaying the virtual environment information of the simulation, the state display UI 210 for displaying the internal state of the agent, the inconsistency processing selection UI 230, and the execution of the simulation. Preferably, a control UI 200 is provided. Here, UI represents a user interface. Each UI may refer to any information that is actually simulated, information stored in the case storage unit 5, or information stored in the storage unit 7.

第1の実施形態では、個々の行動主体であるエージェントが、内部状態にBelief(信念)、Desire(願望)、Intention(意図)という、仮想人格をもったBDIモデルを採用した。Belief(信念)は、エージェント自体及び、周囲の環境の状態などエージェントが認識している情報を表す。Desireは、Beliefに基づいて、エージェントが今行いたいと思っている願望(行動候補)を表す。Intentionは、生成されたDesireの中から実際に今行うと決めた意図を表す。   In the first embodiment, a BDI model having virtual personalities such as Belief, Desire, and Intention (intention) is adopted for agents as individual action subjects in the first embodiment. Belief represents information recognized by the agent, such as the agent itself and the state of the surrounding environment. Desire represents a desire (action candidate) that an agent wants to perform based on Belief. Intention represents the intention that the decision was actually made from the generated Desire.

図2は、第1の実施形態に係るエージェントシミュレータで採用したBDIモデルでエージェントの内部状態を生成する処理を説明するためのフローチャートである。   FIG. 2 is a flowchart for explaining processing for generating the internal state of the agent using the BDI model employed in the agent simulator according to the first embodiment.

シミュレータ制御部1から、初期状態生成部6にエージェントシミュレータ内に与える初期状態の生成を行うように指示を行う(ST30)。その結果生成された初期状態からエージェント制御部11はエージェント制御ルールセット2に基づき、エージェント毎に内部状態を生成する。まず、初期状態からエージェントが環境情報として知覚するBeliefを生成する(ST31)。Beliefの組から、Desireを生成する(ST32)。Desireは、リストとして保持されその中のDesireからひとつをIntentionとして選択する。現在、当該エージェントがIntentionを保持しているか否かを判断し(ST33)、当該エージェントがIntentionを保持していないときには、生成されたDesireの中から、Intention として選択するものを選ぶ(ST36)。選択したIntention を実行するためのコマンドを出力し、エージェントを動作させるよう処理する(ST37)。エージェントが動作を行うと、仮想環境内の環境情報が変化する(ST38)。シミュレータ制御部1から、シミュレーションの停止信号があるか否かを判断し(ST39)、停止信号が無い時には、変化した環境情報から新たにBeliefおよびDesireを生成する(ST31〜ST32)。すでにIntentionを保持しているときには、今あるIntentionを変更するかどうかを判断し(ST34)、変更が必要ない場合には、そのままシミュレーションを続行し環境情報を変化させる(ST38)。また、変更が必要であると判断した時には、新たなDesireをIntentionとして選択する(ST35)。再び、選択されたIntentionを実行するような処理を行うコマンドを出力する(ST37)。以上の動作を繰り返し、シミュレータ制御部1からシミュレーションの停止信号があった場合(ST39)には、シミュレーションを停止する(ST40)。以上が、第1の実施形態に係るエージェントが内部状態を生成するステップを示したものである。複数のエージェントをシミュレータ内で処理するときには、それぞれのエージェント毎に内部状態を生成する。   The simulator control unit 1 instructs the initial state generation unit 6 to generate the initial state given to the agent simulator (ST30). From the initial state generated as a result, the agent control unit 11 generates an internal state for each agent based on the agent control rule set 2. First, a Belief that the agent perceives as environmental information is generated from the initial state (ST31). Desire is generated from the set of Belief (ST32). Desire is held as a list, and one of the Desires is selected as Intention. It is determined whether or not the agent currently holds Intention (ST33), and when the agent does not hold Intention, one selected as Intention is selected from the generated Desire (ST36). A command for executing the selected intention is output, and processing is performed to operate the agent (ST37). When the agent operates, the environment information in the virtual environment changes (ST38). It is determined whether or not there is a simulation stop signal from the simulator control unit 1 (ST39). When there is no stop signal, a new Belief and Desire are generated from the changed environment information (ST31 to ST32). If the intention is already held, it is determined whether or not the existing intention is to be changed (ST34). If no change is necessary, the simulation is continued and the environmental information is changed (ST38). When it is determined that a change is necessary, a new Desire is selected as Intention (ST35). Again, a command for performing a process for executing the selected intention is output (ST37). The above operation is repeated, and when there is a simulation stop signal from the simulator control unit 1 (ST39), the simulation is stopped (ST40). The above has shown the step which the agent which concerns on 1st Embodiment produces | generates an internal state. When a plurality of agents are processed in the simulator, an internal state is generated for each agent.

次に、BDIモデルを採用した第1の実施形態に係るエージェントシミュレータでどのような処理が行われているかの具体的な態様を図3乃至図4を参照しつつ詳細に説明する。第1の実施形態では、仮想環境として野外環境において発生した山火事を、エージェントとして行動する村にいる人型のエージェントUI達が水場から水を汲み消火するという設定を想定したマルチエージェントシミュレーションである。   Next, a specific mode of what processing is performed in the agent simulator according to the first embodiment employing the BDI model will be described in detail with reference to FIGS. In the first embodiment, in a multi-agent simulation assuming a setting in which a human-like agent UI in a village acting as an agent draws water from a water field and extinguishes a fire that occurred in an outdoor environment as a virtual environment. is there.

図3は、環境表示UI220、制御UI200の一例である。環境表示UI220は、野外環境、およびその中で動作するシミュレータ内のエージェントを具現化した人型のエージェントUI203や火等の環境情報を位置情報に則して表示する。また、制御UI200は、シミュレーションを一時停止するための制御ボタン201、今までシミュレートした任意の時点にさかのぼるためのタイムスライダ202を備える。制御ボタン201には、シミュレートをより速い速度で行うボタンなどが付加されていてもよい。制御UI200を通じて命令される開発者からの指示に応じて記憶部7から情報を読み出す。エージェントの内部状態、特に、BeliefからDesireを生成する際の生成ルールは、エージェント制御ルールセット2内に格納されており、そのルールに従ってシミュレートされる。   FIG. 3 is an example of the environment display UI 220 and the control UI 200. The environment display UI 220 displays the outdoor environment and the human-type agent UI 203 that embodies the agent in the simulator that operates in the environment and environmental information such as fire in accordance with the position information. Further, the control UI 200 includes a control button 201 for temporarily stopping the simulation and a time slider 202 for going back to an arbitrary time point simulated so far. A button for performing simulation at a higher speed may be added to the control button 201. Information is read from the storage unit 7 in accordance with an instruction from the developer instructed through the control UI 200. The internal state of the agent, particularly the generation rule when generating Desire from Belief, is stored in the agent control rule set 2, and is simulated according to the rule.

図4は、与えられた環境情報からエージェントが認識するBeliefを表す模式図である。Beliefとは、与えられた環境情報の中でエージェントが認識し内部状態として保持した情報である。それらのBeliefに対応するDesireを生成するためのルールは、エージェント制御ルールセット2内に格納されている。   FIG. 4 is a schematic diagram showing a Belief recognized by an agent from given environment information. Belief is information that an agent recognizes in given environmental information and holds it as an internal state. Rules for generating Desires corresponding to these Beliefs are stored in the agent control rule set 2.

各エージェントや火等のオブジェクトの位置情報はいくつかのグリッドに分割され、エージェントがどのグリッドにどの様な状態で存在しているかを認識し、Beliefとして各エージェントは保持している。例えば、図3に示す様に、横軸をx軸、縦軸をy軸とし、グリッド位置(x,y)と表現するとき。(3,3)にいるエージェントは、(2,3)にエージェントが4人居て、(6,2)に水場があり、(9,6)に強さ3の火があるという情報をBeliefとして認識している。   The position information of each object such as each agent and fire is divided into several grids, and it recognizes in which grid the agent exists and in what state, and each agent holds it as Belief. For example, as shown in FIG. 3, when the horizontal axis is the x axis and the vertical axis is the y axis, the grid position (x, y) is expressed. The agent in (3,3) has information that there are four agents in (2,3), there is a water field in (6,2), and there is a fire of strength 3 in (9,6). Recognized as Belief.

図5は、エージェントが保持しているBeliefからどの様にDesireが生成されるかの一例を示したものである。BDIモデルでは、与えられた環境情報から知覚するBeliefに対してあらかじめ設定した制御ルールを元にDesireを生成する。また、その場その時の行動候補であるDesireはその時のBeliefによってルールが発火したものが生成される。BDIモデルでは複数のDesireを一定期間保持し、その中から1つをIntentionとして選択する。変化する様々な状況に対応してどのDesireをIntentionとして選択するかを変化させることで各エージェントを、適切に処理し、動作させることができる。   FIG. 5 shows an example of how Desire is generated from the Belief held by the agent. In the BDI model, Desire is generated based on a control rule set in advance for a Belief that is perceived from given environment information. In addition, Desire, which is a candidate for action at that time, is generated with a rule fired by Belief at that time. In the BDI model, multiple Desires are retained for a certain period, and one of them is selected as Intention. Each agent can be appropriately processed and operated by changing which Desire is selected as Intention corresponding to various changing situations.

例えば、図に示したように、“グリッド(x1,y1)に火があるというBelief”、及び“水の入ったバケツを持っている”というBeliefの両方をエージェントが保持している場合、エージェント制御ルールセット2に規定された制御ルールから“グリッド(x1,y1)の火を消したい”というDesireが生成される。また、同様に、“グリッド(x2,y2)に人がいる”というBeliefおよび“火の強さがn以上である”というBeliefの両方をエージェントが保持しているとき、“グリッド(x2,y2)の人を呼びに行きたい”というDesireが生成される。また、“水の入ったバケツを持っていない”というBelief、“グリッド(x1,y1)に火がある”というBelief、及び“グリッド(x2,y2)に水場がある”というBeliefをエージェントが保持しているとき、“グリッド(x2,y2)の水を汲みたい”というDesireが生成される。   For example, as shown in the figure, if an agent holds both a “Belief that the grid (x1, y1) has fire” and a “Belief that has a bucket of water”, the agent From the control rule defined in the control rule set 2, Desire is generated that “I want to extinguish the fire of the grid (x1, y1)”. Similarly, when an agent holds both a “Belief that there is a person in the grid (x2, y2)” and a “Belief that the fire strength is n or more”, the “grid (x2, y2) ) “I want to go to the person”). Also, the agent says Belief “I don't have a bucket of water”, “Belief that there is a fire in the grid (x1, y1)”, and “Belief that there is a water field in the grid (x2, y2)” When you hold it, a Desire that says “I want to draw water from the grid (x2, y2)” is generated.

以上のようにして、それぞれのエージェントはBeliefからDesireを生成する。   As described above, each agent generates Desire from Belief.

次に、エージェントは生成された複数のDesireから1つのDesireを選択し、そのDesireをIntentionとして実際に行動する。エージェントはIntentionとして選択されたDesireを解決するように動作する。選択はランダムに行ってもよいし、先述のDesireに付加された重みを用いて、最も重みの高いDesireを選択してもよい。重み付けの方法として、例えば、火の強さや、エージェントの現在位置から火までの距離などの環境情報を用いて、エージェントが対応するDesireをどれだけ望んでいるかの重みを計算することもできる。   Next, the agent selects one Desire from the generated Desires, and actually acts with the Desire as Intention. The agent acts to resolve the Desire selected as Intention. The selection may be performed randomly, or the Desire with the highest weight may be selected using the weight added to the above Desire. As a weighting method, for example, the weight of how much Desire the agent desires can be calculated using environmental information such as the strength of fire and the distance from the current position of the agent to the fire.

例えば、図5に示されたグリッド(x1,y1)の火を消したい、というDesireをIntentionとして選択した場合、エージェントは、実際にグリッド(x1,y1)に移動しバケツの中の水を用いて火を消すという動作を行う。   For example, if Desire to extinguish the fire of the grid (x1, y1) shown in Fig. 5 is selected as Intention, the agent actually moves to the grid (x1, y1) and uses the water in the bucket. To put out the fire.

Desireの生成、およびIntentionの選択は、一定時間毎、もしくはBeliefの変更に伴って行われる。あるIntentionを実行している間は、他のIntentionに切り替わらないように設定してもよいし、そのIntentionの備える重みよりもより高い重みをもつDesireが生成された場合は、そのDesireにIntentionを切り替えるように設定してもよい。   Desire generation and Intention selection are performed at regular time intervals or with changes in Belief. While executing an intention, it may be set not to switch to another intention, and if a desire with a higher weight than the weight provided by the intention is generated, the intention is set to the desire. You may set so that it may switch.

次に、本発明に係るシミュレーションにおいて不整合な処理を検出する方法の具体的な態様を、図面を参照しつつ詳細に説明する。ルールベースのBDIモデルを利用したシミュレーションにおいて、不整合なエージェント処理が行わないような適切なエージェント制御ルールセット2を作成する必要がある。不整合な処理事例を容易に検出する事で、適切な制御ルールを作成する支援をすることが可能である。   Next, a specific mode of a method for detecting inconsistent processing in the simulation according to the present invention will be described in detail with reference to the drawings. In a simulation using a rule-based BDI model, it is necessary to create an appropriate agent control rule set 2 that prevents inconsistent agent processing. By easily detecting inconsistent processing cases, it is possible to support creation of appropriate control rules.

図6及び図7を参照し不整合な処理検出ルールセット4内でエージェントが不整合な処理を行ったと判断するルールを制定する方法の一例を詳細に説明する。   With reference to FIGS. 6 and 7, an example of a method for establishing a rule for determining that the agent has performed inconsistent processing in the inconsistent processing detection rule set 4 will be described in detail.

図6は、エージェントの不整合処理検出ルールセット4内の不整合処理検出ルールを制定するステップを示した図である。まず、シミュレータ制御部1にシミュレーションを開始する命令をする。初期状態生成部6でエージェントシミュレータ内に与える初期状態を生成し(ST1)、シミュレータを実際に動作させる。エージェント制御部11は、エージェント制御ルールセット2に規定されたルールに従ってエージェントを制御する。環境表示UI220、制御UI200等でエージェントを監視し、不整合と見なす処理が実行されていないかを監視する(ST2)。不整合処理を確認すると(ST3)、シミュレータを一時停止させる(ST4)。これらのシミュレータの動作制御は、制御UI200等を使用してもよい。そして、不整合処理を行ったエージェントをクリックなどで選択することにより、状態表示UI210を開く(ST5)。エージェントは、内部にBelief、Desire、Intentionという内部状態を保持してエージェントおり、状態表示UI210にエージェントの内部状態が表示される。それらの内部状態の組を不整合な処理と見なすルールを設定し、不整合処理検出ルールセット4内に保持させる(ST6)。検出時の環境情報でシミュレーションを続行するか否かを選択し、続行する場合は再びシミュレータを動作させ(ST2)、初期状態を変更する場合には、初期状態を再び生成させ(ST1)シミュレータを動作させる。シミュレーションの結果不整合な処理が検出されなかった場合または開発者が不整合処理を十分検出したと判断した場合(ST8)、シミュレーションを終了する。 FIG. 6 is a diagram showing steps for establishing an inconsistency process detection rule in the inconsistency process detection rule set 4 of the agent. First, the simulator control unit 1 is instructed to start simulation. The initial state generation unit 6 generates an initial state to be given to the agent simulator (ST1), and the simulator is actually operated. The agent control unit 11 controls the agent according to the rules defined in the agent control rule set 2. The agent is monitored by the environment display UI 220, the control UI 200, etc., and it is monitored whether processing that is regarded as inconsistent is executed (ST2). When inconsistency processing is confirmed (ST3), the simulator is temporarily stopped (ST4). The operation control of these simulators may use the control UI 200 or the like. Then, the state display UI 210 is opened by selecting the agent that has performed the inconsistency processing by clicking (ST5). The agent is an agent having internal states such as Belief, Desire, and Intention, and the internal state of the agent is displayed on the state display UI 210. A rule that regards the set of these internal states as an inconsistent process is set and held in the inconsistent process detection rule set 4 (ST6). Select whether to continue the simulation based on the environment information at the time of detection. If you want to continue, run the simulator again (ST2). If you want to change the initial state, generate the initial state again (ST1) Make it work. If inconsistent processing is not detected as a result of the simulation or if the developer determines that inconsistent processing has been sufficiently detected (ST8), the simulation is terminated.

図7は、エージェントの不整合処理検出ルールセット4を設定する方法の(ST6)の一例を示した図である。ST3で不整合処理として開発者が確認した特定のエージェントは、前述の状態表示UI210でその内部状態が表示される。(a)(b)はそれぞれ異なるケースで不整合処理の設定を行っている。   FIG. 7 is a diagram showing an example (ST6) of the method for setting the inconsistency processing detection rule set 4 of the agent. The specific state confirmed by the developer as the inconsistency process in ST3 is displayed in the state display UI 210 described above. In (a) and (b), inconsistency processing is set in different cases.

(a)(b)共に上図は、環境表示UI220上に表示されている、不整合な処理と見なされた特定のエージェントをポイント又はクリックした際に表示される状態表示UI210の一例である。不整合処理選択UI230は、状態表示UI210に表示されたそれぞれの内部状態に対して、選択を行うチェックボックス及び不整合処理検出ルール設定ボタンを設けている。開発者が不整合だと認識する内部状態に対応したチェックボックスにチェックし、不整合処理検出ルール設定ボタンを押すことで、不整合処理検出ルールとして設定される。   The upper diagrams in both (a) and (b) are examples of the state display UI 210 displayed on the environment display UI 220 when the specific agent regarded as an inconsistent process is pointed or clicked. The inconsistency process selection UI 230 is provided with a check box for performing selection and an inconsistency process detection rule setting button for each internal state displayed in the state display UI 210. By checking the check box corresponding to the internal state that the developer recognizes as inconsistent and pressing the inconsistency processing detection rule setting button, it is set as the inconsistency processing detection rule.

また、(a)(b)共に下図は上図の状態表示UI210チェックされた内部状態の組が不整合処理検出ルールとして不整合処理検出ルールセット4内に設定される内容を示した図である。   Further, both (a) and (b) are diagrams showing the contents set in the inconsistency processing detection rule set 4 as the inconsistency processing detection rule for the set of internal states checked in the state display UI 210 in the upper diagram. .

図7(a)の状態表示UI210に示すように、水の入ったバケツを持っているというBeliefを持ち、かつ人を呼びに行きたいというDesireをエージェントが持つ、というエージェントの内部状態の組み合わせが生成されている。この場合、エージェントが水の入ったバケツを持っているというBeliefを保持した時に、バケツを用いて消火活動を行いたいというDesireを生成する処理を行って欲しい、と本来開発者が想定している場合、不整合な処理がされたといえる。開発者は、それらの不整合な内部状態に対応する不整合処理選択UI230のチェックボックスにチェックした後に、不整合処理検出ルール設定ボタンを押すことによってチェックした組み合わせの内部状態を持つエージェントの出現を不整合処理とみなす、不整合処理検出ルールセット4を設定することができる。   As shown in the status display UI210 in FIG. 7 (a), there is a combination of the internal state of the agent that the agent has a Belief that has a bucket of water and the Desire that wants to call a person. Has been generated. In this case, the developer originally assumes that when the agent holds a belief that he has a bucket of water, he / she wants to generate a Desire that he / she wants to perform fire fighting using the bucket. In this case, it can be said that inconsistent processing has been performed. The developer checks the check boxes of the inconsistency processing selection UI 230 corresponding to the inconsistent internal state, and then presses the inconsistency processing detection rule setting button to display the appearance of the agent having the combination of internal states. An inconsistency process detection rule set 4 that is regarded as an inconsistency process can be set.

また図7の状態表示UI210(b)に示すように、設定している野外環境で、環境の端のグリッド(10, 10)から水を汲むという動作は効率の面で不適切なので、そのようなIntentionをエージェントが持ったら、不整合処理と考えられる。それらの不整合な内部状態に対応する不整合処理選択UI230のチェックボックスにチェックした後に、不整合処理検出ルール設定ボタンを押すことによって、チェックした組み合わせの内部状態を持つエージェントを不整合な処理によって動作していると監視部3が見なすための不整合処理検出ルールセット4を設定することができる。   In addition, as shown in the status display UI210 (b) in Fig. 7, in the outdoor environment that is set, the operation of drawing water from the grid (10, 10) at the edge of the environment is inappropriate in terms of efficiency, so that If an agent has an Intention, it is considered an inconsistency process. After checking the check boxes of the inconsistency processing selection UI 230 corresponding to those inconsistent internal states, by pressing the inconsistency processing detection rule setting button, the agents having the checked internal states are matched by inconsistent processing. An inconsistency processing detection rule set 4 for the monitoring unit 3 to consider as operating can be set.

これらの内部状態をエージェントが保持した場合、そのエージェントは不整合な処理によって動作していると監視部3に見なされる。   When the agent holds these internal states, the agent is regarded by the monitoring unit 3 as operating by inconsistent processing.

チェックボックスで指定されたエージェントの状態を不整合処理ルールに設定する場合、特定のグリッドに関するBeliefのみを対象とするか、グリッドの位置にかかわらずある種類のBelief全体を対象とするかを選択することができる。また、不整合処理と見なすエージェントの内部状態はBelief - Desire - Intention全ての組み合わせである必要はない。Desire -Intentionの組み合わせや、Belief、Desire、Intentionのうちいずれか一つであっても構わない。   When setting the state of the agent specified in the check box to the inconsistency processing rule, select whether to target only the Belief related to a specific grid, or to the entire type of Belief regardless of the position of the grid. be able to. In addition, the internal state of the agent considered as inconsistent processing does not have to be a combination of all Belief-Desire-Intention. Any combination of Desire-Intention, Belief, Desire, and Intention may be used.

選択は不整合処理ルール設定ボタンを押したときにダイアログで開発者に問い合わせてもいいし、グリッド位置に関する設定を含めるかどうかのチェックボックスを、状態表示UI210の各エージェント状態の横に設置しても、表示されたエージェント状態のグリッドに関する記述部分をクリックすることでその情報を含めるか否かが切り替わるようなUIを備えていてもよい。   When selecting the inconsistency processing rule setting button, the developer can be inquired in the dialog, and a check box for whether to include settings related to the grid position is placed next to each agent status in the status display UI 210. Alternatively, a UI may be provided in which whether or not to include the information is switched by clicking on the description portion regarding the displayed grid of the agent state.

また、状態表示UI210以外のUIから、直接不整合処理ルールを設定可能なUIを備えていてもよい。   Further, a UI that can directly set inconsistency processing rules from a UI other than the status display UI 210 may be provided.

状態表示UI210において表示されたエージェントの内部状態のうち、開発者が想定していない状態の組み合わせを設定することで、シミュレータ中で発生する不整合処理を検出し、不整合処理検出ルールを設定することができる。   By setting a combination of states that the developer does not expect among the internal states of the agent displayed in the status display UI 210, inconsistency processing that occurs in the simulator is detected, and inconsistency processing detection rules are set be able to.

次に、生成された不整合処理検出ルールセット4から事例記憶部5が不整合処理事例の蓄積を行うステップを、図8を参照しつつ詳細に説明する。   Next, steps in which the case storage unit 5 accumulates inconsistent process cases from the generated inconsistent process detection rule set 4 will be described in detail with reference to FIG.

図8は、監視部3が不整合処理検出ルールセット4を元に、エージェントの不整合処理の事例記憶部5への蓄積を行うステップを表したものである。   FIG. 8 shows steps in which the monitoring unit 3 accumulates the inconsistency processing of the agent in the case storage unit 5 based on the inconsistency processing detection rule set 4.

シミュレータ制御部1が初期状態生成部6にエージェント制御部11に与える初期状態を生成するよう命令を送る(ST11)。その後、シミュレータ制御部1がエージェント制御部11にシミュレートの開始を指示し、シミュレートが開始される(ST12)。監視部3は、実際に動作しているシミュレータ内のエージェント群、若しくは記憶部7に記憶されたシミュレータの履歴の監視を行い、不整合処理検出ルールセット4内のルールに合致するエージェントが存在した場合(ST13)、不整合処理事例として事例記憶部5に蓄積を行う(ST14)。一度不整合処理を起こしたエージェントに対しては、今後、もしくはその後一定時間、不整合処理の収集対象とならないというようにしてもよい。あらかじめ開発者が設定した、シミュレート環境内の設定時間分だけシミュレーションを行った後(ST15)、シミュレータ制御部1はシミュレータを停止する。あらかじめ開発者が設定した初期状態設定回数分すでに初期状態設定およびその初期状態からの不整合処理収集を行った場合は終了し、そうでない場合は再び初期状態の生成を行う(ST16)。規定しただけ、シミュレートした場合には、シミュレーションを停止する。   The simulator control unit 1 sends an instruction to the initial state generation unit 6 to generate an initial state to be given to the agent control unit 11 (ST11). Thereafter, the simulator control unit 1 instructs the agent control unit 11 to start simulation, and simulation is started (ST12). The monitoring unit 3 monitors the history of the agent group in the simulator that is actually operating or the simulator stored in the storage unit 7, and there is an agent that matches the rule in the inconsistency processing detection rule set 4. In the case (ST13), accumulation is performed in the case storage unit 5 as an inconsistency processing example (ST14). An agent that has once caused inconsistency processing may not be a collection target of inconsistency processing in the future or for a certain time thereafter. After performing the simulation for the set time in the simulation environment set in advance by the developer (ST15), the simulator control unit 1 stops the simulator. When the initial state setting and the inconsistency processing collection from the initial state have already been performed for the initial state setting number set in advance by the developer, the process ends. Otherwise, the initial state is generated again (ST16). If simulation is performed only as specified, the simulation is stopped.

図9は、第1の実施形態に係る不整合処理選択UI230の一例を示した図である。   FIG. 9 is a diagram showing an example of the inconsistency process selection UI 230 according to the first embodiment.

不整合処理選択UI230には事例記憶部5に蓄積された不整合処理がリスト表示される。具体的には、それぞれの不整合処理に対して、その処理が発生した環境表示UI220のスナップショット、不整合処理をおこしたエージェントの情報、具体的にはそのIDや位置に関する情報、および不整合処理検出ルールセット4に合致したエージェントの内部状態が表示される。それぞれの不整合処理に対して、不整合処理回避割合を算出する際の対象とするか否かを設定するためのチェックボックスを備える。開発者は不整合処理選択UI230を用いて、収集された不整合とされる処理のうち、実際に修正する必要がある事例を選択することができる。   The inconsistency process selection UI 230 displays a list of inconsistency processes accumulated in the case storage unit 5. Specifically, for each inconsistency process, a snapshot of the environment display UI 220 where the process occurred, the information of the agent that performed the inconsistency process, specifically information about its ID and location, and inconsistency The internal status of the agent that matches the process detection rule set 4 is displayed. For each inconsistency process, a check box is provided for setting whether or not the inconsistency process avoidance ratio is a target for calculation. The developer can use the inconsistent process selection UI 230 to select a case that actually needs to be corrected among the collected processes that are regarded as inconsistent.

図9の例の場合、エージェントNo.21の事例は、エージェントがバケツを持ったまま人を呼ぼうとしているが、火の位置が水場から遠く、かつ呼びに行く人のいる場所と火の位置が十分近いため、人を呼んだ後に消火を行っても動作としては不自然でないと開発者は考え、チェックされていない。   In the case of the example in Fig. 9, Agent No. 21's case is that the agent is trying to call a person with a bucket, but the location of the fire is far from the water and there is a place where there is a person going to call. Because the location is close enough, the developer thinks that the operation is not unnatural even if the fire is extinguished after calling a person, and it is not checked.

開発者は、不整合処理選択UI230によって不整合処理を選択した後、その不整合処理を回避するべく、エージェント制御ルールセット2の修正を行う。この例の場合、人を呼びに行くDesireを導出するルールに、バケツを持っていて、呼びに行く人のいる場所と火の距離が遠い場合は、そのDesireを算出しないようエージェント制御ルールセット2を修正する。開発者がエージェント制御ルールセット2を編集するための図示しない制御ルール編集UIを備えてもよい。   The developer selects the inconsistent process by the inconsistent process selection UI 230, and then corrects the agent control rule set 2 to avoid the inconsistent process. In this example, if you have a bucket in the rule that derives Desire to call a person and the fire is far away from the place where the person going to call is far away, the agent control rule set 2 will not calculate that Desire To correct. A control rule editing UI (not shown) for the developer to edit the agent control rule set 2 may be provided.

不整合処理を確認するために、不整合処理選択UI230で選択された不整合処理が起きた際の環境表示UI220、制御UI200に移行するためのUIを備えていてもよい。また、ルールの修正を支援するために、不整合処理選択UI230で選択された不整合処理を発生させたエージェント制御ルールセット2内のルール群を表示するためのUIを備えていてもよい。   In order to confirm the inconsistency processing, a UI for shifting to the environment display UI 220 and the control UI 200 when the inconsistency processing selected by the inconsistency processing selection UI 230 occurs may be provided. Further, in order to support the correction of the rule, a UI for displaying a rule group in the agent control rule set 2 that has generated the inconsistency process selected by the inconsistency process selection UI 230 may be provided.

また、不整合処理選択UI230で選択した内部状態をもったエージェントを排除する、またはそのエージェントの内部状態をクリアする等の処理を行い、シミュレータの実稼働時に不整合処理を行うエージェントを抑制する機能をエージェント制御部11に設定してもよい。それにより、エージェント制御ルールセット2を修正せずに不整合処理を行うエージェントを抑制することが可能である。   In addition, a function that suppresses agents that perform inconsistency processing during simulator operation by performing processing such as eliminating agents with the internal state selected in the inconsistency processing selection UI230 or clearing the internal state of the agent. May be set in the agent control unit 11. Accordingly, it is possible to suppress agents that perform inconsistency processing without correcting the agent control rule set 2.

エージェントの内部状態をクリアするとは、不整合処理ルールに適合するBelief、Desire、Intentionをクリアすることを意味する。Intentionをクリアする場合は、対応するDesireも同時にクリアされる。特定のDesireやIntentionをクリアすることで、クリアされたDesireの次に重みが高いDesireがIntentionとして選ばれる。また、Beliefをクリアすることにより、生成されるDesireが変化する。   Clearing the internal state of the agent means clearing the Belief, Desire, and Intention that conform to the inconsistency processing rule. When clearing Intention, the corresponding Desire is cleared at the same time. By clearing a specific Desire or Intention, a Desire with the next highest weight is selected as the Intention. Moreover, the generated Desire changes by clearing Belief.

また、事例記憶部5に蓄積された不整合処理事例から再び不整合処理検出ルールセット4を作成する機能を設けてもよい。   Further, a function of creating the inconsistency process detection rule set 4 again from the inconsistency process cases stored in the case storage unit 5 may be provided.

第1の実施形態にエージェントシミュレータ及び、不整合処理検出部では、シミュレーション結果から不整合な処理を短時間で検出及び蓄積できるようにしたので、開発者の不整合処理検出作業時間を短縮することが可能である。   In the first embodiment, the agent simulator and the inconsistent process detection unit can detect and accumulate inconsistent processes from simulation results in a short time, thereby reducing the inconsistency process detection work time of the developer. Is possible.

本実施の形態にかかるエージェントシミュレータ及び、不整合処理検出部で実行されるプログラムは、上述した各機能を含むモジュール構成となっている。プログラムはインストール可能な形式又は実行可能な形式のファイルでCD-ROM、フロッピー(R)ディスク、CD−R、DVD等のコンピュータで読み取り可能な記録媒体に記録されて提供しても、ROM等に予め組み込んで提供してもよい。   The agent simulator and the program executed by the inconsistency processing detection unit according to the present embodiment have a module configuration including each function described above. The program is an installable or executable file that is recorded on a computer-readable recording medium such as a CD-ROM, floppy (R) disk, CD-R, DVD, etc. It may be provided by incorporating it in advance.

また、エージェントシミュレータ及び、不整合処理検出部がコンピュータ上に一体に構成されてもよい。   Further, the agent simulator and the inconsistency processing detection unit may be integrally configured on the computer.

(第2の実施形態)
図10は第2の実施形態に係るに係るエージェントシミュレータ及び、不整合処理検出部のブロック図を示したものである。
(Second Embodiment)
FIG. 10 shows a block diagram of an agent simulator and an inconsistency processing detection unit according to the second embodiment.

図10は修正したエージェント制御ルールセット2による不整合処理の発生割合を算出する構成の一例を示した機能ブロック図である。主な構成として、複数のエージェント制御ルールセット2及び、当該エージェント制御ルールセット2に対応する不整合な処理事例を蓄積する複数の事例記憶部5を有する。   FIG. 10 is a functional block diagram showing an example of a configuration for calculating the occurrence rate of inconsistency processing by the modified agent control rule set 2. In FIG. The main configuration includes a plurality of agent control rule sets 2 and a plurality of case storage units 5 for storing inconsistent processing cases corresponding to the agent control rule sets 2.

割合算出部300では、規定した分だけシミュレートされ、不整合処理事例の事例記憶部5への蓄積が十分なされたと判断した後に、シミュレートを行った回数および、発生した不整合処理のカウントを用いて、それぞれのエージェント制御ルールセット2で不整合処理が発生した割合を割合算出部300で算出し、その算出結果を割合表示UI240を用いて開発者に対する表示を行う。   The ratio calculation unit 300 simulates the specified amount and determines that the inconsistency processing examples have been sufficiently stored in the case storage unit 5, and then calculates the number of simulations performed and the count of inconsistency processing that has occurred. The ratio calculation unit 300 calculates the ratio at which inconsistency processing has occurred in each agent control rule set 2, and displays the calculation result for the developer using the ratio display UI 240.

図11は、複数の制御ルールで不整合な処理が発生する割合を算出するフローを示した図である。   FIG. 11 is a diagram illustrating a flow for calculating a rate at which inconsistent processing occurs in a plurality of control rules.

まず、動作させる制御ルールを選択する(ST20)。その後、初期状態生成部6でシミュレータ内のエージェントを含めた環境情報の初期状態を生成させる(ST21)。その後、シミュレーションを開始する(ST22)。監視部3は、不整合処理検出ルールセット4内に規定された不整合処理検出ルールに合致する不整合と見なされるエージェントのシミュレータ内の処理が検出されると(ST23)、不整合処理として事例記憶部5に蓄積する(ST24)。あらかじめ設定した時間だけ同じ初期状態でシミュレートする(ST25)。次に設定回数だけ初期状態を生成してシミュレートしたか判断し、もし回数が満ちていないならば、もう一度初期状態を生成させる(ST27)。あらかじめ設定しただけシミュレーションを行ったと判断した後、その外に、まだシミュレーションを行っていない制御ルールがあるかどうかを判断する。他に、まだシミュレーションを行っていない制御ルールがある場合、他の制御ルールをもちいてシミュレーション及び不整合処理の検出・蓄積動作を繰り返す(ST28)。シミュレートすべき制御ルールすべてでシミュレーションが行われたと判断した後、ST24で蓄積した不整合処理事例の数を、制御ルール毎に算出し、不整合処理が行われる割合を算出する(ST29)。   First, a control rule to be operated is selected (ST20). Thereafter, the initial state generation unit 6 generates the initial state of the environment information including the agent in the simulator (ST21). Thereafter, the simulation is started (ST22). When the monitoring unit 3 detects a process in the simulator of the agent that is considered to be inconsistent that matches the inconsistent process detection rule specified in the inconsistent process detection rule set 4 (ST23), the monitoring unit 3 uses the case as inconsistent process. Accumulate in storage unit 5 (ST24). Simulate in the same initial state for a preset time (ST25). Next, it is determined whether the simulation has been performed by generating the initial state for the set number of times. If the number of times is not full, the initial state is generated again (ST27). After determining that the simulation has been performed only in advance, it is determined whether there is a control rule that has not been simulated yet. If there is another control rule that has not been simulated yet, the simulation and inconsistency detection / accumulation operations are repeated using the other control rule (ST28). After determining that the simulation has been performed for all the control rules to be simulated, the number of inconsistency processing cases accumulated in ST24 is calculated for each control rule, and the proportion of inconsistency processing is calculated (ST29).

エージェント制御ルールの修正および不整合処理回避割合の確認を繰り返すことで、制御ルールを変更に伴う不整合動作の発生割合をそれぞれ評価する事が可能となる。それらの評価結果を元に開発者は、不整合処理を起こす確率の少ないエージェント制御ルールセット2を作成することができる。   By repeating the correction of the agent control rule and the confirmation of the inconsistency processing avoidance ratio, it is possible to evaluate the occurrence ratio of the inconsistent operation accompanying the change of the control rule. Based on the evaluation results, the developer can create an agent control rule set 2 with a low probability of causing inconsistency processing.

ST24では、不整合処理であると検出された状態での仮想環境内の環境情報や、不整合処理と検出されたエージェントの内部状態を貯蓄してもよい。また、不整合処理が行われたことのみをカウントして事例記憶部5に貯蓄し、その不整合処理の回数を元に割合算出部300は不整合処理発生割合を算出してもてもよい。第2の実施形態に係る、エージェントシミュレータ及び、不整合処理検出部では、作成された複数のエージェント制御ルールセット2の評価を行う機構となっておいる。前述の通り、ルールベースのシステムでは、ルールがどの様に発火するのか予想し辛く、制御ルールを修正する事で、他の不整合処理が発生する確率が上がってしまう可能性もある。その為、修正したルールを評価するために、複数の制御ルールに基づいてシミュレーションを行い、不整合処理検出ルールセットにその結果によって制御ルールの妥当性を評価する。その際に、作成された複数のエージェント制御ルールセット2ごとに不整合処理が起こる確率を算出することで評価する。   In ST24, the environment information in the virtual environment in the state detected as inconsistent processing and the internal state of the agent detected as inconsistent processing may be stored. Further, only the inconsistency processing performed may be counted and stored in the case storage unit 5, and the ratio calculation unit 300 may calculate the inconsistency processing occurrence ratio based on the number of inconsistency processes. . The agent simulator and the inconsistency processing detection unit according to the second embodiment have a mechanism for evaluating a plurality of created agent control rule sets 2. As described above, in a rule-based system, it is difficult to predict how the rule will fire, and modifying the control rule may increase the probability that other inconsistency processing will occur. Therefore, in order to evaluate the modified rule, a simulation is performed based on a plurality of control rules, and the validity of the control rule is evaluated based on the result of the inconsistency processing detection rule set. At that time, evaluation is performed by calculating the probability of occurrence of inconsistency processing for each of the plurality of created agent control rule sets 2.

本発明の第1の実施形態のブロック図Block diagram of the first embodiment of the present invention BDIモデルでエージェントの内部状態を生成する処理を示すフローチャート。The flowchart which shows the process which produces | generates the internal state of an agent by a BDI model. シミュレータ環境表示、制御UIの一例を示した図。The figure which showed an example of simulator environment display and control UI. エージェントが認識してBeliefとして保持している環境の状態を表す模式図。The schematic diagram showing the state of the environment which the agent recognizes and holds as Belief. エージェント状態表示UIの一例を示した図。The figure which showed an example of agent state display UI. 不整合処理検出ルールを規定する動作を示すフローチャート。The flowchart which shows the operation | movement which prescribes | regulates an inconsistency process detection rule. 不整合処理検出ルールセットの一例を示した図。The figure which showed an example of the inconsistency process detection rule set. 事例記憶部が不整合処理事例の蓄積を行う動作を示すフローチャート。The flowchart which shows the operation | movement which the case memory | storage part accumulate | stores an inconsistency process case. 不整合処理選択UIの一例を示した図。The figure which showed an example of inconsistency process selection UI. 本発明の第2の実施形態のブロック図。The block diagram of the 2nd Embodiment of this invention. 不整合処理発生割合の算出を行う動作を示すフローチャート。The flowchart which shows the operation | movement which calculates the inconsistency process generation | occurrence | production ratio.

符号の説明Explanation of symbols

1 シミュレータ制御部
2 エージェント制御ルールセット
3 監視部
4 不整合処理検出ルールセット
5 事例記憶部
6 初期状態生成部
7 記憶部
11 エージェント制御部
100 エージェントシミュレータ
110 不整合処理検出部
200 制御UI
201 制御ボタン
202 タイムスライダ
203 エージェントUI
210 状態表示UI
220 環境表示UI
230 不整合処理選択UI
240 割合表示UI
300 割合算出部
1 Simulator control unit
2 Agent control rule set
3 Monitoring unit
4 Inconsistency detection rule set
5 Case memory
6 Initial state generator
7 Memory unit
11 Agent control section
100 agent simulator
110 Inconsistency detection detector
200 Control UI
201 Control button
202 Time Slider
203 Agent UI
210 Status display UI
220 Environment UI
230 Inconsistency selection UI
240 percentage display UI
300 Ratio calculation part

Claims (8)

仮想環境内の初期状態を与える初期状態生成部と、
エージェントの動作の処理を制御する制御ルールが格納された第1の格納部と、
前記仮想環境内の状態を前記制御ルールに与えて生成された前記エージェントの内部状態を生成する内部状態生成部と、
前記内部状態生成部で生成された前記エージェントの内部状態を記憶する第1の記憶部とを備えるシミュレータ装置が構築する仮想環境内での仮想的な行動主体であるエージェントを動作させる処理としては不整合な処理を検出する不整合処理検出装置であって、
前記シミュレータ装置の処理としては不整合と見なされる前記エージェントの制御処理を検出する検出ルールを格納した第2の格納部と、
前記シミュレータ装置の前記エージェントの処理のうち前記検出ルールに該当する不整合な前記エージェントの制御処理を監視する監視部と、
前記監視部が前記不整合な処理を検出した場合、前記不整合な処理がなされた前記エージェントの内部状態を不整合なエージェントの制御処理がされた事例として記憶する第2の記憶部を具備した事を特徴とする不整合処理検出装置。
An initial state generator for giving an initial state in the virtual environment;
A first storage unit storing a control rule for controlling processing of an agent operation;
An internal state generation unit for generating an internal state of the agent generated by giving the state in the virtual environment to the control rule;
As a process of operating an agent that is a virtual action subject in a virtual environment constructed by a simulator device including a first storage unit that stores the internal state of the agent generated by the internal state generation unit. An inconsistency processing detection device for detecting a consistent processing,
A second storage unit that stores a detection rule for detecting the control process of the agent that is regarded as inconsistent as the process of the simulator device;
A monitoring unit that monitors the control processing of the inconsistent agent corresponding to the detection rule among the processing of the agent of the simulator device;
When the monitoring unit detects the inconsistent process, the monitoring unit includes a second storage unit that stores an internal state of the agent that has been subjected to the inconsistent process as a case in which an inconsistent agent control process has been performed. Inconsistency processing detection device characterized by things.
前記エージェントは、仮想人格として信念、欲求、意図を前記内部状態として前記第1の記憶部に保持することを特徴とする請求項1記載の不整合処理検出装置。
2. The mismatch processing detection apparatus according to claim 1, wherein the agent holds belief, desire, and intention as a virtual personality in the first storage unit as the internal state.
前記検出ルールは、前記内部状態に基づいて規定されており、前記監視部は前記エージェントが該検出ルール内に該当する内部状態を保持した際に不整合な処理と見なすことを特徴とする請求項2記載の不整合処理検出装置。
The detection rule is defined based on the internal state, and the monitoring unit regards the inconsistent process when the agent holds an internal state corresponding to the detection rule. 3. The inconsistency processing detection device according to 2.
前記エージェントの前記内部状態を表示する第1の表示手段と、
当該内部状態が開発者の想定していない状態の組み合わせである場合に当該内部状態を検出ルールのひとつとして選択する第1の選択手段と、
選択された前記検出ルールを前記第2のルールセットに記憶する手段をさらに備えたことを特徴とする請求項1記載の不整合処理検出装置。
First display means for displaying the internal state of the agent;
A first selection means for selecting the internal state as one of detection rules when the internal state is a combination of states not assumed by the developer;
2. The inconsistency processing detection apparatus according to claim 1, further comprising means for storing the selected detection rule in the second rule set.
前記第2の記憶部に蓄積された前記不整合と見なされる処理を蓄積し、
前記不整合処理が起こる確率を算出する算出手段をさらに備えたことを特徴とする請求項1記載の不整合処理検出装置。
Storing the processing regarded as the inconsistency stored in the second storage unit;
The inconsistency processing detection apparatus according to claim 1, further comprising a calculation unit that calculates a probability that the inconsistency processing occurs.
前記算出部で算出された前記不整合処理が起こる確率を表示する第2の表示手段をさらに備えたことを特徴とする請求項5記載の不整合処理検出装置。
6. The inconsistency processing detection apparatus according to claim 5, further comprising second display means for displaying a probability of occurrence of the inconsistency processing calculated by the calculation unit.
仮想環境内の初期状態を生成する機能と、
エージェントの動作の処理を制御する制御ルールを格納する機能と、
前記仮想環境内の状態を前記制御ルールに与えて前記エージェントの内部状態を生成する機能と、
生成された前記エージェントの内部状態を記憶する機能とを備えるシミュレータが構築する前記仮想環境内での仮想的な行動主体である前記エージェントを動作処理する時の不整合な処理を検出するプログラムであって、
前記シミュレータの処理としては不整合と見なされる前記エージェントの制御処理を検出する検出ルールを格納する機能と、
前記シミュレータ装置の前記エージェントの処理のうち前記検出ルールに該当する不整合な前記エージェントの制御処理を監視する機能と、
前記検出ルールに該当する不整合な前記エージェントの制御処理を検出した場合、前記不整合な処理がなされた前記エージェントの内部状態を不整合なエージェントの制御処理がされた事例として記憶する機能とをコンピュータに実現させる事を特徴とする不整合処理検出プログラム。
The ability to generate an initial state in the virtual environment;
The ability to store control rules that control the processing of agent actions;
A function of generating an internal state of the agent by giving a state in the virtual environment to the control rule;
A program for detecting inconsistent processing when operating the agent that is a virtual action subject in the virtual environment constructed by a simulator having a function of storing the generated internal state of the agent. And
A function for storing a detection rule for detecting the control process of the agent, which is regarded as inconsistent as the process of the simulator;
A function of monitoring inconsistent agent control processing corresponding to the detection rule in the agent processing of the simulator device;
A function to store the internal state of the agent that has been subjected to the inconsistent process as a case in which the inconsistent agent control process has been performed when the inconsistent agent control process corresponding to the detection rule is detected; An inconsistency processing detection program characterized by being realized by a computer.
仮想環境内の初期状態を与えるステップと、
エージェントの動作の処理を制御する制御ルールが格納するステップと、
前記仮想環境内の状態を前記制御ルールに与えて生成された前記エージェントの内部状態を生成するステップと、
生成された前記エージェントの内部状態を記憶するステップを備えるシミュレータが構築する前記仮想環境内での仮想的な行動主体である前記エージェントを動作処理する時の不整合な処理を検出する方法であって、
前記シミュレータの処理としては不整合と見なされる前記エージェントの制御処理を検出する検出ルールを格納するステップと、
前記シミュレータの前記エージェントの処理のうち前記検出ルールに該当する不整合な前記エージェントの制御処理を監視するステップと、
記検出ルールに該当する不整合な前記エージェントの制御処理を検出した場合、前記不整合な処理がなされた前記エージェントの内部状態を不整合なエージェントの制御処理がされた事例として記憶するステップとを具備した事を特徴とする不整合処理検出方法。
Providing an initial state in the virtual environment;
Steps stored by control rules that control the processing of agent actions;
Generating an internal state of the agent generated by giving a state in the virtual environment to the control rule;
A method for detecting inconsistent processing when operating an agent that is a virtual action subject in the virtual environment constructed by a simulator comprising a step of storing the generated internal state of the agent, ,
Storing a detection rule for detecting the control process of the agent, which is regarded as inconsistent as the process of the simulator;
Monitoring the control processing of the inconsistent agent corresponding to the detection rule in the processing of the agent of the simulator;
Storing the inconsistent agent internal processing as a case in which the inconsistent agent control processing is performed when the inconsistent agent control processing corresponding to the detection rule is detected; An inconsistency processing detection method characterized by comprising.
JP2007330161A 2007-12-21 2007-12-21 Inconsistent process detecting apparatus, inconsistent process detecting program, and inconsistent process detecting method Pending JP2009151634A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007330161A JP2009151634A (en) 2007-12-21 2007-12-21 Inconsistent process detecting apparatus, inconsistent process detecting program, and inconsistent process detecting method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007330161A JP2009151634A (en) 2007-12-21 2007-12-21 Inconsistent process detecting apparatus, inconsistent process detecting program, and inconsistent process detecting method

Publications (1)

Publication Number Publication Date
JP2009151634A true JP2009151634A (en) 2009-07-09

Family

ID=40920708

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007330161A Pending JP2009151634A (en) 2007-12-21 2007-12-21 Inconsistent process detecting apparatus, inconsistent process detecting program, and inconsistent process detecting method

Country Status (1)

Country Link
JP (1) JP2009151634A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022099341A (en) * 2020-12-22 2022-07-04 三菱電機株式会社 Failure analysis assisting program, failure analysis assisting device, failure analysis assisting method and three-dimensional data displaying program
DE102022110210A1 (en) 2021-06-08 2022-12-08 Toyota Jidosha Kabushiki Kaisha Multi-agent simulation system and method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022099341A (en) * 2020-12-22 2022-07-04 三菱電機株式会社 Failure analysis assisting program, failure analysis assisting device, failure analysis assisting method and three-dimensional data displaying program
DE102022110210A1 (en) 2021-06-08 2022-12-08 Toyota Jidosha Kabushiki Kaisha Multi-agent simulation system and method
US11736571B2 (en) 2021-06-08 2023-08-22 Toyota Jidosha Kabushiki Kaisha Multi-agent simulation system and method

Similar Documents

Publication Publication Date Title
KR101022075B1 (en) Visual debugging system for 3d user interface program
US9176490B2 (en) Control program generation device, control program generation program, and control program generation method
WO2019097676A1 (en) Three-dimensional space monitoring device, three-dimensional space monitoring method, and three-dimensional space monitoring program
JPH01267742A (en) System for diagnosing trouble
KR100937689B1 (en) Method of simulation supporting software testing based on user environment profiling
JP6249016B2 (en) Fault recovery procedure generation device, fault recovery procedure generation method, and fault recovery procedure generation program
WO2019061481A1 (en) Fault diagnosis method and apparatus for numerical control machine tool
CN111190826B (en) Testing method, device, storage medium and equipment for virtual reality immersive tracking environment
WO2021247132A1 (en) Feature deployment readiness prediction
CN113626317A (en) Automatic driving software debugging system, method, medium and equipment
JP2009151634A (en) Inconsistent process detecting apparatus, inconsistent process detecting program, and inconsistent process detecting method
JP2009294846A (en) Test case generator, and test case generation program and method
CN117289841A (en) Interaction method and device based on large language model, storage medium and electronic equipment
JP4893951B2 (en) Field device diagnosis apparatus and field device diagnosis method
JP2007233687A (en) Virtual computer system, control method of virtual computer, and virtual computer program
CN115599645A (en) Method and device for testing stability of linux drive module
JP2015004845A (en) Information processing device
Takagi et al. Animated Graphics-based Training Support Method and Prototype Tool for Bug Fixing of Extended Place/Transition Nets.
JP6091764B2 (en) Simulation apparatus, simulation method, and linkage program
JP2007205817A (en) Testing device of radar information processor
JP2003195933A (en) Monitoring control device
JPH0643801A (en) Processing system in simulator for training
JP5867962B2 (en) Information processing apparatus and failure diagnosis method
JPH11194814A (en) Plant simulating device
Takagi et al. Prototype of an Animated Graphics-Based Training Support Tool for Bug Fixing of Extended Place/Transition Nets