JP2005332082A - Distributed processing system and distributed processing program - Google Patents
Distributed processing system and distributed processing program Download PDFInfo
- Publication number
- JP2005332082A JP2005332082A JP2004148239A JP2004148239A JP2005332082A JP 2005332082 A JP2005332082 A JP 2005332082A JP 2004148239 A JP2004148239 A JP 2004148239A JP 2004148239 A JP2004148239 A JP 2004148239A JP 2005332082 A JP2005332082 A JP 2005332082A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- task
- agent
- information
- communication channel
- 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.)
- Granted
Links
Images
Landscapes
- Multi Processors (AREA)
Abstract
Description
本発明は、ネットワークで接続された多数のコンピュータからなるシステムにおいて、一つのタスクを異なる多数の計算機資源を用いて分散処理する分散処理システムおよび分散処理プログラムに関する。 The present invention relates to a distributed processing system and a distributed processing program for performing distributed processing of one task using a large number of different computer resources in a system composed of a large number of computers connected by a network.
コンピュータやネットワークの普及により、さまざまな種類の多くのコンピュータからなる、さまざまな形態で接続されたネットワークが増加している。 With the spread of computers and networks, networks connected in various forms, consisting of many computers of various types, are increasing.
このような状況の下、近年、多数のコンピュータからなるユビキタスコンピューティングが注目されている(たとえば、非特許文献1を参照)。ユビキタスコンピューティングでは、計算機資源の分布などのネットワーク環境が未知な場合や動的に変化する場合が想定される。 Under such circumstances, in recent years, ubiquitous computing including a large number of computers has attracted attention (see, for example, Non-Patent Document 1). In ubiquitous computing, it is assumed that the network environment such as the distribution of computer resources is unknown or changes dynamically.
このような環境における分散処理の最適化には、ネットワーク構造や処理手順の適応的な獲得が期待される。 In the optimization of distributed processing in such an environment, adaptive acquisition of the network structure and processing procedure is expected.
一方で、マルチエージェントシステム(以下、MASと記す)の研究として、たとえば、エージェントが知覚できる範囲の情報である利得や報酬、評価などを個体最適性と定義し、システムの大域的目的として、すべてのエージュントがそれぞれの行動から得る利得の総和をシステム最適性とそれぞれ定義したときに、エージェント学習によるシステム最適性の向上をシミュレート可能な「動的離隔型遺伝的アルゴリズム(Dynamically Separating Genetic Algorithms、以下、DS−GAと記す)」(たとえば、非特許文献2を参照)や「動的離隔型学習アルゴリズム(Dynamically Separating Learning Algorithms、以下、DS−LAと記す)」(たとえば、非特許文献3を参照)の提案がなされている。 On the other hand, as research on multi-agent systems (hereinafter referred to as MAS), for example, the gain, reward, and evaluation, which are information within the range perceived by agents, are defined as individual optimality. Dynamically Separating Genetic Algorithms (below) that can simulate the improvement of system optimization by agent learning when each agent defines the total gain gained from each action as system optimization. , DS-GA) ”(for example, see Non-Patent Document 2) and“ Dynamically Separating Learning Algorithms (hereinafter, referred to as DS-LA) ”(for example, see Non-Patent Document 3) ) Has been proposed.
このDS−GAは、個体数に応じて個体を「コロニー」と呼ぶグループに動的に離隔する遺伝的アルゴリズム(以下、GA)である。個体を離隔する遺伝的アルゴリズムとしては、他に島モデルGAなどがあるが、DS−GAは離隔状態が個体数に応じて動的に変化する点で異なる。
しかしながら、従来は、上述したようなコンピュータネットワーク上に多数のコンピュータが存在する場合に、MASを用いることで、一つのタスクを異なる多数の計算機資源を用いて効率良く分散処理するための手法が、必ずしも明らかでない、という問題があった。 However, conventionally, when a large number of computers exist on the computer network as described above, a method for efficiently performing distributed processing of one task using a large number of different computer resources by using MAS is as follows. There was a problem that was not always obvious.
本発明は、上記のような問題を解決するためになされたものであって、その目的は、ネットワークで接続された多数のコンピュータにおいて、効率の良い分散処理やタスク共有を実現する分散処理システムおよび分散処理プログラムを提供することである。 The present invention has been made to solve the above problems, and an object of the present invention is to provide a distributed processing system that realizes efficient distributed processing and task sharing in a large number of computers connected via a network. It is to provide a distributed processing program.
このような目的を達成するために、本発明の分散処理システムは、時系列で実行される複数の処理を含む所定のタスクを分散処理するための分散処理システムであって、ネットワークを介して相互に通信可能な複数の情報処理機器を備え、各情報処理機器は、複数のチャンネルのうち選択を指示した通信チャンネルで、ネットワークと通信するための通信手段と、複数の処理のうち対応する処理を実行するための情報処理手段と、処理を行うための情報を格納する記憶手段とを含み、情報処理手段は、複数の情報処理機器間を通信チャンネルを介して移動可能な複数のエージェント演算処理手段を含み、各エージェント演算処理手段は、タスクに対応し現在所属する情報処理機器と移動先の処理機器とを関連づける移動テーブルに基づいて通信し、移動後に所属する情報処理機器の記憶手段に、タスクを実行するための処理プログラムと、タスクを実行するための処理データと、所属する通信チャンネルを示す通信チャンネル情報と、移動テーブルと、評価値とを関連づけて格納させる移動手段と、所属する情報処理機器の記憶手段に格納される情報に基づいて、タスクの複数の処理のうち、所属する情報処理機器に対応する処理を実行するタスク処理手段と、タスクの処理が完了することに応じて、評価値を更新する評価値更新手段と、評価値の値に応じて、エージェント演算処理手段の分裂処理を行う分裂処理手段と、同一の通信チャンネルに属する複数のエージェント演算処理手段の個数が所定数を超えることに応じて、同一の通信チャンネルに属する複数のエージェント演算処理手段に対応する通信チャンネルを離隔する処理を行う通信チャンネル離隔手段とを含む。 In order to achieve such an object, a distributed processing system of the present invention is a distributed processing system for distributed processing of a predetermined task including a plurality of processes executed in time series, and is mutually connected via a network. A plurality of information processing devices capable of communicating with each other, and each information processing device performs communication processing for communicating with a network on a communication channel instructed to select among the plurality of channels, and corresponding processing among the plurality of processing. Information processing means for executing and storage means for storing information for processing, wherein the information processing means is a plurality of agent arithmetic processing means movable between a plurality of information processing devices via a communication channel Each of the agent calculation processing means is based on a movement table that associates an information processing apparatus that currently belongs to a task and a processing apparatus that is a movement destination. The processing means for executing the task, the processing data for executing the task, the communication channel information indicating the belonging communication channel, the movement table, the evaluation, Task processing for executing processing corresponding to the information processing device to which the processing belongs among a plurality of processing of the task based on information stored in the storage means of the information processing device to which the information belongs and moving means for storing the values in association with each other The same communication with the means, the evaluation value updating means for updating the evaluation value in response to completion of the task processing, and the division processing means for performing the division processing of the agent arithmetic processing means in accordance with the value of the evaluation value When the number of agent calculation processing means belonging to a channel exceeds a predetermined number, a plurality of agent operations belonging to the same communication channel are processed. And a communication channel separating means for performing processing for separating the communication channels corresponding to the processing means.
好ましくは、各エージェント演算処理手段は、通信チャンネルのうち、選択された通信チャンネルに属するエージェント演算処理手段に消去処理を指示する消去指示手段をさらに含む。 Preferably, each agent computation processing means further includes an erasure instruction means for instructing the agent computation processing means belonging to the selected communication channel among the communication channels to perform erasure processing.
好ましくは、分裂処理手段は、分裂前のエージェント演算処理手段に付随する処理プログラムと、処理データと、通信チャンネル情報と、移動テーブルとを引き継いだエージェント演算処理手段を生成する。 Preferably, the division processing means generates an agent calculation processing means that takes over the processing program associated with the agent calculation processing means before division, the processing data, the communication channel information, and the movement table.
好ましくは、分裂処理手段は、所定の突然変異確率で、移動テーブルを更新する突然変異処理手段を含む。 Preferably, the division processing means includes a mutation processing means for updating the movement table with a predetermined mutation probability.
好ましくは、移動手段は、さらに、複数のタスクのうち対応するエージェント演算処理手段の処理するタスクを指定するタスク指定情報と、複数のタスクごとに対応する複数の処理を関連づけたタスク処理手順テーブルとを移動後に所属する情報処理機器の記憶手段に格納させ、タスク処理手段は、タスク指定情報により指定されるタスクの所属する情報処理機器に対応する処理を実行する。 Preferably, the moving unit further includes task designation information for designating a task to be processed by the corresponding agent calculation processing unit among a plurality of tasks, and a task processing procedure table in which a plurality of processes corresponding to each of the plurality of tasks are associated with each other. Is stored in the storage means of the information processing equipment to which the task belongs after the movement, and the task processing means executes processing corresponding to the information processing equipment to which the task specified by the task specification information belongs.
この発明の他の局面に従うと、時系列で実行される複数の処理を含む所定のタスクを分散処理するために、複数の情報処理機器間をネットワークの通信チャンネルを介して移動可能な複数のエージェントプログラムを用いた分散処理プログラムであって、各エージェントプログラムは、タスクに対応し現在所属する情報処理機器と移動先の処理機器とを関連づける移動テーブルに基づいて、複数のチャンネルのうち選択を指示した通信チャンネルでネットワークと通信し、移動後に所属する情報処理機器の記憶手段に、タスクを実行するための処理プログラムと、タスクを実行するための処理データと、所属する通信チャンネルを示す通信チャンネル情報と、移動テーブルと、評価値とを関連づけて格納させる移動ステップと、所属する情報処理機器の記憶手段に格納される情報に基づいて、タスクの複数の処理のうち、所属する情報処理機器に対応する処理を実行するタスク処理ステップと、タスクの処理が完了することに応じて、評価値を更新する評価値更新ステップと、評価値の値に応じて、エージェント演算処理手段の分裂処理を行う分裂処理ステップと、同一の通信チャンネルに属する複数のエージェント演算処理手段の個数が所定数を超えることに応じて、同一の通信チャンネルに属する複数のエージェント演算処理手段に対応する通信チャンネルを離隔する処理を行う通信チャンネルステップとを、情報処理機器に実行させる。 According to another aspect of the present invention, a plurality of agents that can move between a plurality of information processing devices via a communication channel of a network in order to perform distributed processing of a predetermined task including a plurality of processes executed in time series A distributed processing program that uses a program, and each agent program instructs selection of a plurality of channels based on a movement table that corresponds to a task and associates an information processing device that currently belongs to a processing device that is a movement destination. A communication program that communicates with a network through a communication channel, and stores a processing program for executing a task, processing data for executing the task, and communication channel information indicating the communication channel to which the task belongs. , Movement step to store the movement table and evaluation value in association with each other, and the information to which it belongs Based on the information stored in the storage means of the physical device, out of a plurality of tasks processing, a task processing step for executing processing corresponding to the information processing device to which it belongs, and in response to completion of the task processing, An evaluation value update step for updating the evaluation value, a split processing step for splitting the agent arithmetic processing means according to the value of the evaluation value, and a predetermined number of a plurality of agent arithmetic processing means belonging to the same communication channel In response, the information processing device is caused to execute a communication channel step for performing processing for separating communication channels corresponding to a plurality of agent calculation processing means belonging to the same communication channel.
好ましくは、各エージェントプログラムは、通信チャンネルのうち、選択された通信チャンネルに属するエージェントプログラムに消去処理を指示する消去指示ステップをさらに含む。 Preferably, each agent program further includes an erasure instruction step for instructing an erasure process to an agent program belonging to the selected communication channel among the communication channels.
好ましくは、分裂処理ステップは、分裂前のエージェント演算処理手段に付随する処理プログラムと、処理データと、通信チャンネル情報と、移動テーブルとを引き継いだエージェントプログラムを生成するステップを含む。 Preferably, the division processing step includes a step of generating an agent program that takes over the processing program associated with the agent calculation processing means before the division, the processing data, the communication channel information, and the movement table.
好ましくは、分裂処理ステップは、所定の突然変異確率で、移動テーブルを更新する突然変異処理ステップを含む。 Preferably, the division processing step includes a mutation processing step of updating the movement table with a predetermined mutation probability.
好ましくは、移動ステップは、さらに、複数のタスクのうち対応するエージェント演算処理手段の処理するタスクを指定するタスク指定情報と、複数のタスクごとに対応する複数の処理を関連づけたタスク処理手順テーブルとを移動後に所属する情報処理機器の記憶手段に格納させるステップを含み、タスク処理ステップは、タスク指定情報により指定されるタスクの所属する情報処理機器に対応する処理を実行する。 Preferably, the moving step further includes task designation information for designating a task to be processed by the corresponding agent calculation processing means among a plurality of tasks, a task processing procedure table in which a plurality of processes corresponding to each of the plurality of tasks are associated with each other. Is stored in the storage means of the information processing device to which the task belongs after the movement, and the task processing step executes processing corresponding to the information processing device to which the task designated by the task designation information belongs.
以下、図面を参照して本発明の実施の形態について説明する。 Embodiments of the present invention will be described below with reference to the drawings.
(本発明の概要)
本発明においては、ネットワークなどで接続された多数のコンピュータが、それぞれエージェントと呼ぶ自律的に処理を実行するプログラムを多数用いて、一つのタスクを異なる多数の計算機資源を用いて効率良く分散処理する。
(Outline of the present invention)
In the present invention, a large number of computers connected by a network or the like use a large number of autonomously executing programs called agents, and efficiently distribute one task using a large number of different computer resources. .
以下にも説明するとおり、本発明では、コンピュータネットワーク全体での分散処理を最適化する手法として、マルチエージェントシステム(MAS)の学習手法、特に、上述したMASの学習手法の一つであるDS−LAを用いる。 As will be described below, in the present invention, as a method for optimizing the distributed processing in the entire computer network, a multi-agent system (MAS) learning method, in particular, DS-- which is one of the above-described MAS learning methods. Use LA.
DS−LAでは、エージェントをコロニーと呼ぶ集団に動的に離隔している。エージェントは、それぞれ特定の集団に所属する。そして、DS−LAでは、エージェントの相互作用を、原則として、その集団内に制限する。また、高いパフォーマンスを得る他のエージェントの所属集団を真似する。その結果、集団の構成は動的に変化する。 In DS-LA, agents are dynamically separated into groups called colonies. Each agent belongs to a specific group. In DS-LA, the interaction of agents is restricted within the group in principle. Also imitate the group of other agents who get high performance. As a result, the composition of the group changes dynamically.
より特定的には、本発明においては、この「集団」の一例として、ネットワーク全体をチャンネルと呼ぶ相互干渉のないいくつかのネットワークに仮想的に分割する。各チャンネルに所属するエージェント数が増加した場合、そのチャンネルに所属するエージェントは動的に離隔される。 More specifically, in the present invention, as an example of this “group”, the entire network is virtually divided into several networks called channels that have no mutual interference. When the number of agents belonging to each channel increases, agents belonging to that channel are dynamically separated.
本発明においては、一つのタスクを異なる多数の計算機資源を用いて分散処理するという目的を達成するために、コンピュータに所属する多数のエージェントが、コンピュータ間を移動しながら移動先の計算機資源を用いてタスクを処理する。各エージェントは、処理データとその処理プログラム(処理プログラムコード)、条件ごとの移動先、移動に用いる通信チャンネル、及び自己評価値などの情報をもつ。コンピュータは、計算機資源の一部を所属するエージェントに提供する。エージェントは、コンピュータウイルスとは異なり、提供された計算機資源でのみタスクを処理する。エージェントの移動は、各エージェントの属する通信チャンネルを介して行われる。 In the present invention, in order to achieve the purpose of distributed processing of one task using a large number of different computer resources, a large number of agents belonging to the computer use the destination computer resources while moving between the computers. Process the task. Each agent has information such as processing data and its processing program (processing program code), a destination for each condition, a communication channel used for movement, and a self-evaluation value. The computer provides a part of the computer resources to the agent to which it belongs. Unlike computer viruses, agents process tasks only with the provided computer resources. The agent is moved through the communication channel to which each agent belongs.
DS−LAによる学習において、エージェントはチャンネルごとに離隔され、ネットワーク上で自らが知覚できる情報のみに基づいて更新される自己評価値が規定値を超えたものは分裂する。エージェント数が規定値を超えたチャンネルは、さらに動的に離隔される。 In learning by DS-LA, agents are separated for each channel, and those whose self-evaluation values updated based on only information that can be perceived by themselves on the network exceed a specified value are split. Channels in which the number of agents exceeds the specified value are further separated dynamically.
このエージェントの学習により分散処理の効率化が図られることになるが、効率化の際に、処理順序(直列分散)もエージェント学習により最適化される。これに伴い、ネットワークの構造自体、言い換えると、上述したようなコンピュータの集団の構造もエージェント学習により最適化を行うことができる。 The efficiency of distributed processing is achieved by learning of this agent, but the processing order (serial distribution) is also optimized by learning of agent at the time of efficiency improvement. Accordingly, the network structure itself, in other words, the computer group structure as described above can be optimized by agent learning.
[発明の実施の形態]
図1は、本発明の分散処理システム1000の一例を示す概念図である。
[Embodiment of the Invention]
FIG. 1 is a conceptual diagram showing an example of a
図1を参照して、システム1000は、無線ネットワークにより相互に通信が可能なコンピュータ10.1〜10.Nと、コンピュータ10.1〜10.Nを相互に無線ネットワークにより、いわゆる「インフラストラクチャモード」により接続することが可能な無線アクセスポイント20とを備える。
Referring to FIG. 1,
ここで、無線アクセスポイント20と各コンピュータ10.1〜10.Nとは、所定の通信周波数帯を複数の周波数帯にさらに分割したチャンネルのいずれかにより通信を行うものとする。そして、あるチャンネルで通信するコンピュータと、他のチャンネルで通信するコンピュータとは、ネットワークとしては分離されているものとする。さらに、後に説明するように、各コンピュータ10.1〜10.Nは、自己に所属するエージェントプログラムに応じて、通信するチャンネルを学習経過に基づいて変更することが可能であるものとする。したがって、無線アクセスポイント20は、一台で複数のチャンネルでの通信を同時に行うことが可能な構成を有するものとする。また、後に説明するように、通常は、異なるチャンネル間の通信を許可しないものの、所定のブロードキャスト通信では、異なるチャンネル間での通信も許されるものとする。
Here, the
また、このようなネットワークの例を考える場合、ネットワークの構成は、図1のような無線ネットワークに限られず、各コンピュータが、自己の通信するチャンネルを選択できる構成であれば、有線ネットワークでもかまわない。 Further, when considering an example of such a network, the configuration of the network is not limited to the wireless network as shown in FIG. 1, and may be a wired network as long as each computer can select a channel with which the computer communicates. .
なお、図1は、あくまでも本発明を説明するための具体例の1つであり、より一般的には、本発明は、以下のような条件をみたすコンピュータネットワークシステムに適用可能なものである。 FIG. 1 is only one specific example for explaining the present invention, and more generally, the present invention can be applied to a computer network system that satisfies the following conditions.
(本発明を適用するシステムの条件)
i)ネットワークで接続されている多数のコンピュータが存在する。
(Conditions of the system to which the present invention is applied)
i) There are many computers connected by a network.
ii)上記コンピュータのハードウェア構成や処理能力は不均質でもかまわない。 ii) The hardware configuration and processing capability of the computer may be inhomogeneous.
iii)「処理すべきデータ」や「処理系(プログラムなど)」を持つ自律的で移動可能なエージェントと呼ぶプログラムが多数存在する、このエージェントに割り当てられるタスクも不均質でかまわない。 iii) There are many programs called autonomous and mobile agents having "data to be processed" and "processing systems (programs, etc.)", and tasks assigned to these agents may be inhomogeneous.
iv)コンピュータは、エージェントに計算機資源を提供する。エージェントは、自らのタスク処理系により、コンピュータ内で自律的に処理する
[ハードウェア構成]
図2に、図1に示したコンピュータ10.1の外観を例として示す図である。
iv) The computer provides computer resources to the agent. Agents process autonomously in computers using their task processing system [Hardware configuration]
FIG. 2 is a diagram illustrating an example of the appearance of the computer 10.1 illustrated in FIG.
図2を参照してこのコンピュータ10.1は、CD−ROM(Compact Disc Read-Only Memory )等のディスク118上の情報を読込むためのディスクドライブ108およびフレキシブルディスク(Flexible Disk、以下FD)116に情報を読み書きするためのFDドライブ106を備えたコンピュータ本体102と、コンピュータ本体102に接続された表示装置としてのディスプレイ104と、同じくコンピュータ本体102に接続された入力装置としてのキーボード110およびマウス112と、コンピュータ本体102に接続された無線通信装置114とを含む。
Referring to FIG. 2, this computer 10.1 stores information in a
図3は、このコンピュータ10.1の構成をブロック図形式で示す図である。 FIG. 3 is a block diagram showing the configuration of the computer 10.1.
図3に示されるように、このコンピュータ10.1を構成するコンピュータ本体102は、ディスクドライブ108およびFDドライブ106に加えて、それぞれバスBSに接続されたCPU(Central Processing Unit )120と、ROM(Read Only Memory) およびRAM (Random Access Memory)を含むメモリ122と、直接アクセスメモリ装置、たとえば、ハードディスク124と、無線通信装置114とデータの授受を行うための通信インタフェース128とを含んでいる。ディスクドライブ108にはディスク118が装着される。FDドライブ106にはFD116が装着される。
As shown in FIG. 3, in addition to the
なお、ディスク118は、コンピュータ本体に対してインストールされるプログラム等の情報を記録可能な媒体であれば、CD−ROM以外の他の媒体、たとえば、DVD−ROM(Digital Versatile Disc)やメモリカードなどでもよく、その場合は、コンピュータ本体102には、これらの媒体を読取ることが可能なドライブ装置が設けられる。
The
本発明の分散処理システムの主要部は、コンピュータハードウェアと、CPU120により実行されるソフトウェアとにより構成される。一般的にこうしたソフトウェアはディスク118、FD116等の記憶媒体に格納されて流通し、ディスクドライブ108またはFDドライブ106等により記憶媒体から読取られてハードディスク124に一旦格納される。または、当該装置がネットワークに接続されている場合には、ネットワーク上のサーバから一旦ハードディスク124にコピーされる。そうしてさらにハードディスク124からメモリ122中のRAMに読出されてCPU120により実行される。なお、ネットワーク接続されている場合には、ハードディスク124に格納することなくRAMに直接ロードして実行するようにしてもよい。
The main part of the distributed processing system of the present invention is composed of computer hardware and software executed by the
図2および図3に示したコンピュータのハードウェア自体およびその動作原理は一般的なものである。したがって、本発明の最も本質的な部分は、FD116、ディスク118、ハードディスク124等の記憶媒体に記憶されたソフトウェアである。
The computer hardware itself and its operating principle shown in FIGS. 2 and 3 are general. Therefore, the most essential part of the present invention is software stored in a storage medium such as the
なお、一般的傾向として、コンピュータのオペレーティングシステムの一部として様々なプログラムモジュールを用意しておき、アプリケーションプログラムはこれらモジュールを所定の配列で必要な時に呼び出して処理を進める方式が一般的である。そうした場合、当該分散処理システムを実現するためのソフトウェア自体にはそうしたモジュールは含まれず、当該コンピュータでオペレーティングシステムと協働してはじめて分散処理システムが実現することになる。しかし、一般的なプラットフォームを使用する限り、そうしたモジュールを含ませたソフトウェアを流通させる必要はなく、それらモジュールを含まないソフトウェア自体およびそれらソフトウェアを記録した記録媒体(およびそれらソフトウェアがネットワーク上を流通する場合のデータ信号)が実施の形態を構成すると考えることができる。 As a general tendency, various program modules are prepared as a part of a computer operating system, and an application program generally calls a module in a predetermined arrangement and advances the processing when necessary. In such a case, the software itself for realizing the distributed processing system does not include such a module, and the distributed processing system is realized only when the computer cooperates with the operating system. However, as long as a general platform is used, it is not necessary to distribute software including such modules, and the software itself not including these modules and the recording medium storing the software (and the software distributes on the network). Data signal) can be considered to constitute the embodiment.
なお、他のコンピュータ10.2〜10.Nも、コンピュータ10.1と基本的には、同様な構成を有する。 Other computers 10.2 to 10. N also has basically the same configuration as the computer 10.1.
[本発明による分散処理システムの基本的原理]
[DS−LAの概要]
図4は、DS−LAの概念を示す図である。
[Basic Principle of Distributed Processing System According to the Present Invention]
[Overview of DS-LA]
FIG. 4 is a diagram illustrating the concept of DS-LA.
DS−LAは、更新された行動戦略による行動戦略の上書きと、所属変更による動的離隔をもつアルゴリズムである。以下に説明する行動戦略の上書きとして、エージェントの移動先を示すテーブルの更新が行なわれ、自身に付随する評価値が所定値を超えたエージェントは分裂し、分裂する際には、この移動先を示すテーブル(行動戦略)は引き継ぐ。さらに、所属するチャンネルのエージェント数が、所定数を越えたチャネルに属するエージェントは、図4に示すとおり2つのチャンネルに離隔される。このような動的離隔では、個々のエージェントは、複数のチャンネルと呼ぶ仮想集団のいずれかに所属し、他のチャンネルに属するエージェントとは、原則的に相互作用しない。あるチャンネルに所属するコンピュータ数がある限度以上増加する場合、たとえば、そのチャンネルに所属するエージェントの半数は新しいチャンネルに所属を変更する。 DS-LA is an algorithm having an overwriting of an action strategy by an updated action strategy and a dynamic separation by an affiliation change. As an overwriting of the action strategy described below, the table indicating the agent's destination is updated, and agents whose evaluation value associated with them exceeds a predetermined value are split. The table (action strategy) shown is taken over. Further, agents belonging to channels whose number of agents belonging to a channel exceeds a predetermined number are separated into two channels as shown in FIG. In such dynamic separation, each agent belongs to one of a virtual group called a plurality of channels, and in principle does not interact with agents belonging to other channels. If the number of computers belonging to a channel increases beyond a certain limit, for example, half of the agents belonging to that channel change their affiliation to a new channel.
[シミュレーション実験に用いるDS−LAのアルゴリズム]
図5は、DS−LAのアルゴリズムを説明するためのフローチャートである。
[DS-LA algorithm used for simulation experiments]
FIG. 5 is a flowchart for explaining the DS-LA algorithm.
以下、図5を参照して、DS−LAのアルゴリズムについて、さらに詳しく説明する。 Hereinafter, the DS-LA algorithm will be described in more detail with reference to FIG.
なお、以下で各エージェントが行う処理は、エージェントに付随して移動する対応するタスクの処理プログラムに基づいて、その時点で当該エージェントが所属するコンピュータのCPU120が実行するものである。
Note that the processing performed by each agent below is executed by the
(1)初期化
まず、システム1000には、DS−LAを適用するN台(N:2以上の自然数)のコンピュータ、たとえば、5つのコンピュータ{A,B,C,D,E}、所定数、たとえば10000の通信チャンネル、および所定数、たとえば100000のエージェントが存在するものとする。すなわち、以下の説明では、コンピュータ10.1〜10.Nとして、コンピュータA〜Eがシステム1000に存在するものとする。
(1) Initialization First, the
各コンピュータA〜Eにおいて、まず、以下の初期設定の処理が行われる(ステップ100)。 In each of the computers A to E, first, the following initial setting process is performed (step 100).
各エージェントは、ランダムに選択したコンピュータ、およびチャンネルに所属し、自らの評価値、処理すべきタスクの種類、処理すべきタスクのデータ、および移動するコンピュータを示すテーブルをもつ。 Each agent belongs to a randomly selected computer and channel, and has a table indicating its own evaluation value, the type of task to be processed, task data to be processed, and the computer to be moved.
ここで、図6は、あるエージェントが、コンピュータAに所属する際に、コンピュータAのハードディスク124内に格納するデータテーブルの例を示す図である。
FIG. 6 is a diagram showing an example of a data table stored in the
すなわち、このエージェントは、たとえば、ハードディスク124の所定の記憶領域に、自分の所属するコンピュータを示す変数BLpc、処理するタスクの種類Tk、処理すべきタスクのデータD、所属チャンネル番号Nchan(i)、評価値U(i、t)および後に説明するようにして獲得した自身と同一チャネルに属するエージェントの個数Nagを格納している。また、処理の単位時間の経過を示す変数tを1とする。
That is, this agent stores, for example, in a predetermined storage area of the
「変数BLpc」は、この例では、コンピュータ{A,B,C,D,E}のうちの何れかの値をとる。 In this example, “variable BLpc” takes any value of the computers {A, B, C, D, E}.
「所属チャンネル番号Nchan(i)」は、i番目のエージェントが所属するチャンネルを示す番号であり、ここでは、Nchan(i) ∈{1,2,…,Nchansum(=10000)}であるものとする。 “Affiliation channel number Nchan (i)” is a number indicating a channel to which the i-th agent belongs, and here, Nchan (i) ∈ {1, 2,..., Nchansum (= 10000)}. To do.
「評価値U(i、t)」は、自らの累積評価に基づく各コンピュータの学習指標であり、初期値U(i、0)は、たとえば「10」である。 “Evaluation value U (i, t)” is a learning index of each computer based on its own cumulative evaluation, and initial value U (i, 0) is, for example, “10”.
さらに、図7は、あるエージェントが、コンピュータAに所属する際に、コンピュータAのハードディスク124内に格納する、タスクの処理手順テーブルおよび移動先のコンピュータを示す移動テーブルの例を示す図である。
Further, FIG. 7 is a diagram illustrating an example of a task processing procedure table and a migration table indicating a migration destination computer that are stored in the
図7(A)に示すとおり、タスクの種類として、たとえば2つのタスクXおよびタスクYがあるとき、「タスクの処理手順テーブル」には、タスクXでは、第1〜第5の処理として、処理a、処理b、処理c、処理d、処理eがこの順序で行なわれ、タスクYでは、第1〜第5の処理として、処理a、処理c、処理e、処理b、処理dがこの順序で行なわれるとの情報が格納される。 As shown in FIG. 7A, when there are, for example, two tasks X and Y as the types of tasks, the “task processing procedure table” includes processing as the first to fifth processing in task X. a, process b, process c, process d, and process e are performed in this order, and in task Y, process a, process c, process e, process b, and process d are performed in this order as the first to fifth processes. Stores information that is performed in
一方、図7(B)に示すとおり、「移動テーブル」には、タスクI(I=X,Y)を行なっているエージェントが、あるタイムステップにおいてコンピュータJ(J=A,B,C,D,E)に所属する場合に、次のタイムステップでどのコンピュータに移動するかを示す情報T(J,I)(ここで、T(J,I)∈{A,B,C,D,E})が格納されている。 On the other hand, as shown in FIG. 7B, in the “movement table”, an agent performing a task I (I = X, Y) has a computer J (J = A, B, C, D) at a certain time step. , E), information T (J, I) (where T (J, I) ∈ {A, B, C, D, E) indicating to which computer to move to in the next time step. }) Is stored.
以上の「移動テーブル」、所属チャンネル番号Nchan(i)および評価値U(i、t)は、学習によりその値が変化する。 The values of the “movement table”, the assigned channel number Nchan (i), and the evaluation value U (i, t) change as a result of learning.
初期の「移動テーブル」としては、T(J,X)およびT(J,Y)とも、{A,B,C,D,E}から無作為に選択された値を有するものとし、初期チャンネル番号としても無作為に選択されたチャンネル番号を持つものとする。また、各エージェントは、自身と同一チャンネル内に存在する他のエージェントを照会し、照会の結果得られる個数Nagをハードディスク124中に記録しておくものとする。
As an initial “movement table”, T (J, X) and T (J, Y) have values randomly selected from {A, B, C, D, E}, and the initial channel It shall have the channel number chosen at random as a number. Each agent inquires about another agent existing in the same channel as the agent, and the number Nag obtained as a result of the inquiry is recorded in the
再び、図5を参照して、初期設定に続いて以下の処理が行われる。 Referring to FIG. 5 again, following the initial setting, the following processing is performed.
(2)タスク獲得:タスクを保持していない、またはタスクを完了したエージェントは、無作為に選択されたタスクXまたはYを得る(ステップS102)。言い換えると、エージェントが発生する乱数にしたがって、いずれかのタスクを自己の処理する対象とするかを選択する。 (2) Task acquisition: An agent that does not hold a task or completes a task obtains a randomly selected task X or Y (step S102). In other words, according to a random number generated by the agent, one of the tasks is selected for processing.
(3)タスク処理:各エージェントは、ステップS102において選択されたタスクに応じて、図7(A)に従う処理手順を行う(ステップS104)。ここで、コンピュータA、B、C、D、Eに所属するエージェントは、それぞれ、処理a、処理b、処理c、処理d、処理eを行うことができる。このとき、エージェントは、自己の所属するコンピュータが、その時点で行うべき処理に対応していないときには、この単位時間の処理においては、タスク処理についての処理を行わず、次のステップへ処理を進める。 (3) Task processing: Each agent performs a processing procedure according to FIG. 7A according to the task selected in step S102 (step S104). Here, the agents belonging to the computers A, B, C, D, and E can perform the process a, the process b, the process c, the process d, and the process e, respectively. At this time, if the computer to which the agent belongs does not correspond to the processing to be performed at that time, the processing for the unit time is not performed for the processing of the unit time, and the processing proceeds to the next step. .
なお、各コンピュータで、いずれの処理が可能かは、各コンピュータが情報として格納しておき、エージェントがコンピュータに問い合わせることにより判断できる。または、各エージェントが、各コンピュータでいずれの処理が可能かのテーブルを保持しつつ移動することとしてもよいし、あるいは、各エージェントが、現在所属するコンピュータのハードウェアの情報を診断して、現時点で行うべき処理が、現在所属するコンピュータで実行可能かをその都度判断することとしてもよい。 Each computer can determine which processing is possible by storing each computer as information, and the agent inquiring the computer. Alternatively, each agent may move while holding a table of what processing is possible on each computer, or each agent diagnoses hardware information of the computer to which it currently belongs and It may be determined each time whether the processing to be performed in step S3 can be executed by the computer to which the user currently belongs.
(4)タスク完了判定:各エージェントはタスクを完了したかを判定し(ステップS106)、タスクの処理を完了したエージェントは、評価値を、たとえば、以下の式にしたがって更新する(ステップS108)。 (4) Task completion determination: Each agent determines whether the task has been completed (step S106), and the agent that has completed the processing of the task updates the evaluation value, for example, according to the following equation (step S108).
U(i、t)=U(i、t−1)+(50−t×2)
すなわち、より短い時間でタスクを完了したエージェントほど評価値が増加し、所定の時間以上をタスク完了に要したエージェントの評価値は、初期値を下回ることになる。
U (i, t) = U (i, t−1) + (50−t × 2)
In other words, the evaluation value increases as the agent completes the task in a shorter time, and the evaluation value of the agent that took a predetermined time or longer to complete the task falls below the initial value.
なお、タスクが終了したエージェントは、たとえば、処理の結果を所定のコンピュータに通知するものとしておけば、ユーザは、タスクの処理結果を閲覧することができる。 For example, if the agent that has finished the task notifies the predetermined computer of the processing result, the user can view the processing result of the task.
一方、タスクが完了していない場合は、処理はステップS110に移行する。 On the other hand, if the task has not been completed, the process proceeds to step S110.
(5)移動:各エージェントは、10の状態空間(タスクの種類×所属するコンピュータの種類)ごとに移動テーブルの値(T(J,I)∈{A,B,C,D,E})に従い、自らの保持するタスクと共に移動する(ステップS110)。 (5) Migration: Each agent has a migration table value (T (J, I) ∈ {A, B, C, D, E}) for each of 10 state spaces (task type × computer type to which it belongs). And moves with the task held by itself (step S110).
すなわち、各エージェントは、図6に示したデータテーブルの情報ならびに図7に示した「タスクの処理手順テーブル」および「移動テーブル」の情報を伴って移動する。言い換えると、移動元のCPU120は、エージェントの処理プログラム自身と、図6に示したデータテーブルの情報ならびに図7に示した「タスクの処理手順テーブル」および「移動テーブル」の情報とを、エージェントに対応する通信チャネルを介して送信し、移動先のコンピュータのハードディスク124に格納させる。移動先のCPU120は、これら移動してきたエージェントの処理プログラムと付随する情報とに基づいて、処理を実行する。
That is, each agent moves with the information of the data table shown in FIG. 6 and the information of the “task processing procedure table” and “movement table” shown in FIG. In other words, the
(6)エージェントの分裂:続いて、各エージェントは分裂処理を実行する(ステップS112)。 (6) Agent splitting: Subsequently, each agent executes splitting processing (step S112).
図8は、このような分裂処理の手順を示すフローチャートである。図8を参照して、エージェントの評価値が、所定の値、たとえば、初期評価値の2倍を越えた場合(ステップS200)、そのエージェントは分裂する(ステップS202)。このとき、評価値の分配も行われる(ステップS202)。たとえば、分裂後の各エージェントの評価値は、分裂前の評価値の半分ずつになり、移動テーブルは引き継ぐ。 FIG. 8 is a flowchart showing the procedure of such division processing. Referring to FIG. 8, when the evaluation value of the agent exceeds a predetermined value, for example, twice the initial evaluation value (step S200), the agent is divided (step S202). At this time, evaluation values are also distributed (step S202). For example, the evaluation value of each agent after division is half of the evaluation value before division, and the movement table is taken over.
つまり、エージェントの分裂では、エージェントは、自身に付随する、処理プログラムと、処理データと、通信チャンネル情報と、移動テーブルとを引き継いだエージェントを、所属するコンピュータのハードディスク124上に生成する。
That is, in the splitting of the agent, the agent generates on the
続いて、突然変異確率Pmut(たとえば、Pmut=0.05)に従いテーブルの値が変異する。このとき、突然変異確率に従い、突然変異を行うこととなったときには、たとえば、T(J,X)およびT(J,Y)とも、{A,B,C,D,E}から無作為に値を選択するものとする。 Subsequently, the values in the table are changed according to the mutation probability Pmut (for example, Pmut = 0.05). At this time, when mutation is to be performed according to the mutation probability, for example, both T (J, X) and T (J, Y) are randomly selected from {A, B, C, D, E}. A value shall be selected.
(7)チャンネルの動的離隔:再び、図5を参照して、続いて、各エージェントは、所属するエージェント数が限界個体数(たとえば、10)を超えたか否かを判断し(ステップS114)、限界数を超えている場合は、当該チャンネルに所属するエージェントは、2つのチャンネルに離隔される(ステップS116)。このときは、同一のチャンネルに属するエージェントは相互に通信可能であるので、たとえば、無線アクセスポイント20に現在空き状態であるチャネルを照会した上で、相互に情報を交換して、従前のチャンネルに残るエージェントと、新しいチャンネル(空チャンネル)に移るエージェントを決定する。なお、このとき、2つのグループは、ほぼ同数となるようにするとの条件を付加してもよい。
(7) Channel dynamic separation: Again referring to FIG. 5, each agent determines whether or not the number of agents to which it belongs has exceeded the limit number of individuals (for example, 10) (step S114). If the limit number is exceeded, the agent belonging to the channel is separated into two channels (step S116). At this time, since agents belonging to the same channel can communicate with each other, for example, the
さらに、たとえば、チャンネル離隔を行ったエージェントのうち、元のチャンネルに残存したエージェントは、相互通信によりランダムに他のチャンネルを選択し、ブロードキャスト通信により、その選択されたチャンネルに所属する全てのエージェントに対して消去を指示する。消去が指示されたチャンネルに属するエージェントは自身を消去する(ステップS118)。 Further, for example, among agents that have separated channels, agents remaining in the original channel randomly select other channels by mutual communication, and by broadcast communication to all agents belonging to the selected channel. Instructs erasure. The agent belonging to the channel instructed to delete deletes itself (step S118).
続いて、変数tをインクリメントして、処理は、ステップS102に復帰する。 Subsequently, the variable t is incremented, and the process returns to step S102.
このようなステップS102からステップS118までの処理を行う期間を「単位時間」と呼ぶ。 A period during which the processing from step S102 to step S118 is performed is referred to as “unit time”.
以上説明したようなエージェントの動作により、各エージェントは、この場合510通りの移動テーブルから最適なものを学習する。
The operation of the agent as described above, each agent learns the optimum one moving table in this
(シミュレーション実験の結果)
図9は、実験結果の一つとして、移動テーブルにおける状態空間ごとの個体数比率の時間変化を示す図である。
(Results of simulation experiment)
FIG. 9 is a diagram showing the change over time in the individual number ratio for each state space in the movement table as one of the experimental results.
たとえば、タスクXをコンピュータAで実行するエージェントについて、次の移動先T(A,X)は、時間の経過とともに、コンピュータBに収束していく。他のコンピュータB〜Eについても、特定の移動先に収束する。 For example, for an agent that executes task X on computer A, the next destination T (A, X) converges on computer B over time. Other computers B to E converge to a specific destination.
同様に、タスクYをコンピュータAで実行するエージェントについて、次の移動先T(A,Y)は、時間の経過とともに、コンピュータCに収束していく。タスクYにおいても、他のコンピュータB〜Eおける移動先は、特定のコンピュータに収束する。 Similarly, for the agent that executes the task Y on the computer A, the next destination T (A, Y) converges on the computer C as time passes. Also in the task Y, the movement destinations in the other computers B to E converge to a specific computer.
図10は、このようにして移動先が収束した際に生成されるタスク処理のネットワークを示す図である。 FIG. 10 is a diagram showing a network of task processes generated when the movement destination converges in this way.
図10に示すとおり、タスクXについては、コンピュータA→コンピュータB→コンピュータC→コンピュータD→コンピュータE→コンピュータAというネットワークができる。これは、タスクXの処理の順序に対応したネットワークである。 As shown in FIG. 10, for task X, a network of computer A → computer B → computer C → computer D → computer E → computer A is created. This is a network corresponding to the processing order of task X.
同様に、タスクYについては、コンピュータA→コンピュータC→コンピュータE→コンピュータB→コンピュータD→コンピュータAというネットワークができる。これも、タスクYの処理の順序に対応したネットワークである。 Similarly, for task Y, a network of computer A → computer C → computer E → computer B → computer D → computer A can be created. This is also a network corresponding to the processing order of task Y.
図11は、エージェントの平均評価値の時間変化示す図である。時間の経過とともに、各エージェントの評価値の平均値も時間の経過とともに一定値に収束する。 FIG. 11 is a diagram showing temporal changes in the average evaluation value of agents. As time elapses, the average value of the evaluation values of the agents converges to a constant value as time elapses.
図9〜図11に示したこれらの結果から、各エージェントがタスクの種類と自らの所属するコンピュータに応じて最適な移動先を自律的に選択し、高い評価値を獲得していることがわかる。 From these results shown in FIG. 9 to FIG. 11, it can be seen that each agent autonomously selects an optimum destination according to the type of task and the computer to which the agent belongs and obtains a high evaluation value. .
タスク処理の手順やネットワーク状況が未知である多数のエージェントが、DS−LAにより学習することで、コンピュータ間を最適な手順で移動しタスクを処理した実験結果から、創発的なネットワーク生成が可能であることがわかる。 Numerous agents whose task processing procedures and network status are unknown learn by DS-LA, and it is possible to generate emergent networks from experimental results of moving tasks between computers and processing tasks. I know that there is.
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.
10.1〜10.N コンピュータ、20 無線アクセスポイント、102 コンピュータ本体、104 ディスプレイ、106 FDドライブ、108 ディスクドライブ、110 キーボード110、112 マウス、114 無線通信装置、118 CD−ROM、 120 CPU、 122 メモリ、124 ハードディスク、128 通信インタフェース、1000 システム。
10.1-10. N computer, 20 wireless access point, 102 computer main body, 104 display, 106 FD drive, 108 disk drive, 110
Claims (10)
ネットワークを介して相互に通信可能な複数の情報処理機器を備え、
各前記情報処理機器は、
複数のチャンネルのうち選択を指示した通信チャンネルで、前記ネットワークと通信するための通信手段と、
前記複数の処理のうち対応する処理を実行するための情報処理手段と、
前記処理を行うための情報を格納する記憶手段とを含み、
前記情報処理手段は、前記複数の情報処理機器間を前記通信チャンネルを介して移動可能な複数のエージェント演算処理手段を含み、
各前記エージェント演算処理手段は、
前記タスクに対応し現在所属する前記情報処理機器と移動先の前記処理機器とを関連づける移動テーブルに基づいて通信し、移動後に所属する前記情報処理機器の前記記憶手段に、前記タスクを実行するための処理プログラムと、前記タスクを実行するための処理データと、所属する通信チャンネルを示す通信チャンネル情報と、前記移動テーブルと、評価値とを関連づけて格納させる移動手段と、
所属する前記情報処理機器の前記記憶手段に格納される情報に基づいて、前記タスクの前記複数の処理のうち、前記所属する前記情報処理機器に対応する処理を実行するタスク処理手段と、
前記タスクの処理が完了することに応じて、前記評価値を更新する評価値更新手段と、
前記評価値の値に応じて、前記エージェント演算処理手段の分裂処理を行う分裂処理手段と、
同一の前記通信チャンネルに属する複数の前記エージェント演算処理手段の個数が所定数を超えることに応じて、前記同一の前記通信チャンネルに属する複数の前記エージェント演算処理手段に対応する前記通信チャンネルを離隔する処理を行う通信チャンネル離隔手段とを含む、分散処理システム。 A distributed processing system for distributed processing of a predetermined task including a plurality of processes executed in time series,
It has multiple information processing devices that can communicate with each other via a network.
Each of the information processing devices
A communication means for communicating with the network in a communication channel instructing selection from a plurality of channels;
Information processing means for executing a corresponding process among the plurality of processes;
Storage means for storing information for performing the processing,
The information processing means includes a plurality of agent arithmetic processing means capable of moving between the plurality of information processing devices via the communication channel,
Each of the agent calculation processing means
To communicate based on a movement table that associates the information processing device that currently corresponds to the task and the processing device that is the movement destination, and executes the task in the storage unit of the information processing device that belongs after the movement The processing program, the processing data for executing the task, the communication channel information indicating the communication channel to which the task belongs, the moving table, and a moving means for storing the evaluation value in association with each other,
Based on information stored in the storage means of the information processing device to which the task belongs, out of the plurality of processes of the task, task processing means for executing processing corresponding to the information processing device to which the task belongs,
An evaluation value updating means for updating the evaluation value in response to completion of processing of the task;
In accordance with the value of the evaluation value, splitting processing means for splitting the agent arithmetic processing means,
The communication channels corresponding to the plurality of agent calculation processing units belonging to the same communication channel are separated in accordance with the number of the plurality of agent calculation processing units belonging to the same communication channel exceeding a predetermined number. A distributed processing system including communication channel separation means for performing processing.
分裂前の前記エージェント演算処理手段に付随する前記処理プログラムと、前記処理データと、前記通信チャンネル情報と、前記移動テーブルとを引き継いだエージェント演算処理手段を生成する、請求項1記載の分散処理システム。 The division processing means is
2. The distributed processing system according to claim 1, wherein an agent arithmetic processing unit that inherits the processing program associated with the agent arithmetic processing unit before division, the processing data, the communication channel information, and the movement table is generated. 3. .
所定の突然変異確率で、前記移動テーブルを更新する突然変異処理手段を含む、請求項3記載の分散処理システム。 The division processing means is
The distributed processing system according to claim 3, further comprising a mutation processing unit that updates the movement table with a predetermined mutation probability.
前記タスク処理手段は、前記タスク指定情報により指定されるタスクの前記所属する前記情報処理機器に対応する処理を実行する、請求項1記載の分散処理システム。 The moving means further includes a task processing procedure table in which task designation information for designating a task to be processed by the corresponding agent calculation processing means among a plurality of tasks is associated with the plurality of processes corresponding to the plurality of tasks. Are stored in the storage means of the information processing equipment to which the user belongs after the movement,
The distributed processing system according to claim 1, wherein the task processing unit executes a process corresponding to the information processing device to which the task specified by the task specifying information belongs.
各前記エージェントプログラムは、
前記タスクに対応し現在所属する前記情報処理機器と移動先の前記処理機器とを関連づける移動テーブルに基づいて、複数のチャンネルのうち選択を指示した通信チャンネルで前記ネットワークと通信し、移動後に所属する前記情報処理機器の記憶手段に、前記タスクを実行するための処理プログラムと、前記タスクを実行するための処理データと、所属する通信チャンネルを示す通信チャンネル情報と、前記移動テーブルと、評価値とを関連づけて格納させる移動ステップと、
所属する前記情報処理機器の前記記憶手段に格納される情報に基づいて、前記タスクの前記複数の処理のうち、前記所属する前記情報処理機器に対応する処理を実行するタスク処理ステップと、
前記タスクの処理が完了することに応じて、前記評価値を更新する評価値更新ステップと、
前記評価値の値に応じて、前記エージェント演算処理手段の分裂処理を行う分裂処理ステップと、
同一の前記通信チャンネルに属する複数の前記エージェント演算処理手段の個数が所定数を超えることに応じて、前記同一の前記通信チャンネルに属する複数の前記エージェント演算処理手段に対応する前記通信チャンネルを離隔する処理を行う通信チャンネルステップとを、前記情報処理機器に実行させる、分散処理プログラム。 A distributed processing program using a plurality of agent programs that can move between a plurality of information processing devices via a network communication channel in order to perform a distributed processing of a predetermined task including a plurality of processes executed in time series. And
Each said agent program
Based on a movement table that associates the information processing apparatus that currently belongs to the task and the processing apparatus that is the movement destination, communicates with the network through a communication channel instructed to be selected from a plurality of channels, and belongs after movement In the storage unit of the information processing device, a processing program for executing the task, processing data for executing the task, communication channel information indicating a communication channel to which the task belongs, the movement table, an evaluation value, A moving step for storing and associating,
Based on information stored in the storage means of the information processing device to which the task belongs, a task processing step of executing processing corresponding to the information processing device to which the task belongs among the plurality of processes of the task;
An evaluation value update step of updating the evaluation value in response to completion of processing of the task;
In accordance with the value of the evaluation value, a split processing step for performing split processing of the agent arithmetic processing means,
The communication channels corresponding to the plurality of agent calculation processing units belonging to the same communication channel are separated in accordance with the number of the plurality of agent calculation processing units belonging to the same communication channel exceeding a predetermined number. A distributed processing program for causing the information processing device to execute a communication channel step for processing.
分裂前の前記エージェント演算処理手段に付随する前記処理プログラムと、前記処理データと、前記通信チャンネル情報と、前記移動テーブルとを引き継いだエージェントプログラムを生成するステップを含む、請求項6記載の分散処理プログラム。 The splitting step includes
The distributed processing according to claim 6, comprising a step of generating an agent program that takes over the processing program associated with the agent operation processing means before division, the processing data, the communication channel information, and the movement table. program.
所定の突然変異確率で、前記移動テーブルを更新する突然変異処理ステップを含む、請求項8記載の分散処理プログラム。 The splitting step includes
The distributed processing program according to claim 8, further comprising a mutation processing step of updating the movement table with a predetermined mutation probability.
前記タスク処理ステップは、前記タスク指定情報により指定されるタスクの前記所属する前記情報処理機器に対応する処理を実行する、請求項6記載の分散処理プログラム。 The movement step further includes a task processing procedure table in which task designation information for designating a task to be processed by the corresponding agent arithmetic processing means among a plurality of tasks is associated with the plurality of processes corresponding to the plurality of tasks. And storing in the storage means of the information processing equipment that belongs to after the movement,
The distributed processing program according to claim 6, wherein the task processing step executes processing corresponding to the information processing device to which the task specified by the task specification information belongs.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004148239A JP4279196B2 (en) | 2004-05-18 | 2004-05-18 | Distributed processing system and distributed processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004148239A JP4279196B2 (en) | 2004-05-18 | 2004-05-18 | Distributed processing system and distributed processing program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005332082A true JP2005332082A (en) | 2005-12-02 |
JP4279196B2 JP4279196B2 (en) | 2009-06-17 |
Family
ID=35486725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004148239A Expired - Fee Related JP4279196B2 (en) | 2004-05-18 | 2004-05-18 | Distributed processing system and distributed processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4279196B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017191373A (en) * | 2016-04-11 | 2017-10-19 | 株式会社東芝 | Multi-agent system, task assignment device, task assignment method, and program |
JP2020086785A (en) * | 2018-11-21 | 2020-06-04 | 国立大学法人佐賀大学 | Information processing system, recommendation system and information processing program |
-
2004
- 2004-05-18 JP JP2004148239A patent/JP4279196B2/en not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017191373A (en) * | 2016-04-11 | 2017-10-19 | 株式会社東芝 | Multi-agent system, task assignment device, task assignment method, and program |
JP2020086785A (en) * | 2018-11-21 | 2020-06-04 | 国立大学法人佐賀大学 | Information processing system, recommendation system and information processing program |
JP7126700B2 (en) | 2018-11-21 | 2022-08-29 | 国立大学法人佐賀大学 | Information processing system, recommendation system and information processing program |
Also Published As
Publication number | Publication date |
---|---|
JP4279196B2 (en) | 2009-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dao et al. | Parallel bat algorithm for optimizing makespan in job shop scheduling problems | |
Nseef et al. | An adaptive multi-population artificial bee colony algorithm for dynamic optimisation problems | |
CN108009016B (en) | Resource load balancing control method and cluster scheduler | |
CN102947796B (en) | For the method and apparatus of mobile virtual resource in thimble border in the data | |
KR102310187B1 (en) | A distributed computing system including multiple edges and cloud, and method for providing model for using adaptive intelligence thereof | |
CN107404523A (en) | Cloud platform adaptive resource dispatches system and method | |
CN102713824A (en) | Allocating storage memory based on future use estimates | |
US20060003823A1 (en) | Dynamic player groups for interest management in multi-character virtual environments | |
JP5182095B2 (en) | RESOURCE INFORMATION PROVIDING SYSTEM, METHOD, RESOURCE INFORMATION PROVIDING DEVICE, AND PROGRAM | |
Siqueira et al. | Simplified binary cat swarm optimization | |
CN111143039B (en) | Scheduling method and device of virtual machine and computer storage medium | |
JP2009528649A (en) | Improvements on distributed computing | |
CN110413282A (en) | A kind of redundant resource processing method, device, equipment and storage medium | |
Li et al. | Research on QoS service composition based on coevolutionary genetic algorithm | |
Bentley et al. | Effects of memory on spatial heterogeneity in neutrally transmitted culture | |
Tsai et al. | Isolated particle swarm optimization with particle migration and global best adoption | |
KR102432809B1 (en) | Neural Network Apparatus for Resource Efficient Inference | |
JP4279196B2 (en) | Distributed processing system and distributed processing program | |
WO2009156809A1 (en) | Method, apparatus and computer program product for distributed information management | |
Nithyanantham et al. | Hybrid Deep Learning Framework for Privacy Preservation in Geo-Distributed Data Centre. | |
CN108182243A (en) | A kind of Distributed evolutionary island model parallel method based on Spark | |
CN116050235A (en) | Workflow data layout method under cloud side environment and storage medium | |
Maia et al. | Collective decision-making by bee colonies as model for optimization-the OptBees algorithm | |
Torkestani | A new distributed job scheduling algorithm for grid systems | |
Lalejini et al. | What else is in an evolved name? Exploring evolvable specificity with SignalGP |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061220 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090303 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090311 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120319 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140319 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |