WO2006118193A1 - Agent and distributed restriction supplementing method - Google Patents

Agent and distributed restriction supplementing method Download PDF

Info

Publication number
WO2006118193A1
WO2006118193A1 PCT/JP2006/308836 JP2006308836W WO2006118193A1 WO 2006118193 A1 WO2006118193 A1 WO 2006118193A1 JP 2006308836 W JP2006308836 W JP 2006308836W WO 2006118193 A1 WO2006118193 A1 WO 2006118193A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
variable
constraint
improvement
agent
Prior art date
Application number
PCT/JP2006/308836
Other languages
French (fr)
Japanese (ja)
Inventor
Yasuki Iizuka
Takashi Shimojima
Original Assignee
Matsushita Electric Industrial Co., Ltd.
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 Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to JP2007514806A priority Critical patent/JPWO2006118193A1/en
Publication of WO2006118193A1 publication Critical patent/WO2006118193A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life

Definitions

  • the present invention relates to an agent that communicates with neighboring agents and obtains a solution for satisfying a constraint condition in an asynchronous manner, and an agent distributed constraint satisfaction method.
  • FIG. 29 shows the configuration of a computer that constitutes a conventional constraint satisfaction device.
  • a computer 900 includes a CPU 901, a memory 902, a display unit 903, an input unit 904, a secondary storage unit 905, and a network interface 906. Further, the secondary storage unit 905 stores initial values of variables, constraint data, and software for controlling each unit.
  • a constraint satisfaction device can generally apply its operation principle to a constraint satisfaction problem. This can be explained, for example, in Japanese Patent Laid-Open No. 11-316682 (pages 4-5) and Mitsuru Ishizuka, “Course of Information Science Core Curriculum, Knowledge Representation and Fast Reasoning” (Maruzen, 1996, p. 20, 103). — 119).
  • the constraint satisfaction problem is a set of m variables xl, x2,..., Xm and the possible values of each variable Dl, D2,..., Dm, and a set of constraints between each variable
  • P ⁇ pi, p2, ⁇ ⁇ ⁇ , pr ⁇ exists
  • predicate logic it is to find a set of variables when expression 1 is true.
  • tabu search which is a generalized local search method.
  • Tabu search has a mechanism that avoids searching for recently selected neighborhood solutions, and makes searching for neighborhoods efficient. This includes, for example, Japanese Patent Laid-Open No. 11-195 066 (page 9, Fig. 2) and Mitsuru Ishizuka "Information Science Core Curriculum Course, Knowledge Representation and Fast Inference” (Maruzen, 1996, p. 20, 103). — 119), Sadick ⁇ ⁇ Site, 1 other author, Hiroshi Shiraishi, “Latest method of combinatorial optimization algorithm” (Maruzen, 2002, p. 163), Rina's Deciter, “Constraint” 'Processing' ((USA), Morgan 'Power Ufman' Publicishers, 2003).
  • FIG. 30 is a diagram for explaining a constraint network diagram expressing the constraint satisfaction problem.
  • node 1001 indicates the variable of the constraint satisfaction problem
  • arc 1002 indicates the constraint relationship between the variables.
  • the constraint satisfaction problem can be expressed in such a constraint network diagram without losing generality because the constraint between ⁇ variables can be expressed by converting it into a binary constraint. For example, an example will be described in which each node takes one of the values “black” and “white” and the nodes at both ends of each arc cannot have the same value.
  • FIG. 31A is a constraint network diagram showing an example of an initial state of a constraint satisfaction problem
  • FIG. 31B is a constraint network diagram showing an example of a state in which a solution of the constraint satisfaction problem is defined.
  • a node with a “black” value is shown in black
  • a node with a “white” value is shown in white.
  • the values of node ⁇ 203 and node ⁇ 206 are both “black”, and a constraint violation has occurred between them.
  • a constraint violation has occurred between node ⁇ 204 and node ⁇ 205, which have the same value “white”.
  • Figure 31B shows the solution to this problem when the constraints between all nodes are met. One of them shows a fixed state. In the following description, such a restricted network diagram is used as appropriate.
  • a distributed plan such as a network resource allocation plan, a production plan including a large number of operations, or a work stoppage plan for power system equipment, and other plans.
  • a distributed constraint satisfaction device composed of multiple agents is known. It is known that the operating principle of the agents that make up this distributed constraint satisfaction device can be generally applied to distributed constraint satisfaction problems in which the variables and constraints of the constraint satisfaction problem are distributed.
  • FIG. 32 is a diagram for explaining a constraint network diagram expressing the distributed constraint satisfaction problem.
  • 1003a, 1003b, and 1003c are agents
  • a node 1001 is a variable that the agent 1003a has
  • an arc 1002 indicates a constraint relationship between these variables.
  • each agent targets some variables in the distributed constraint satisfaction problem and resolves the constraints asynchronously with agents that have neighboring constraint relationships with the target.
  • a production plan is made so that individual companies such as multiple independent companies and factories that have been signed through delivery contracts make profits, and the profits are increased as a whole. .
  • Plans are prepared independently and in parallel by each operator, and the plans are coordinated between each company.
  • This overall production planning can be generally described as a distributed constraint satisfaction problem.
  • business operators F1 to F7 individually formulate production plans for parts A to E and semi-finished products F, such as the number of products produced, inventories, and the number of deliveries. Adjust the overall plan. At this time, it is necessary to satisfy each constraint condition among business operators such as delivery date, price, production period, and production capacity.
  • each agent must maintain a large amount of constraint violation information called “no good”.
  • This algorithm is, for example, disclosed in Japanese Patent Application Laid-Open No. 11-316682 (pages 4-5), Makoto Yokoo, and three others, “Formulation and Solution of Distributed Cooperative Problem Solving by Satisfying Distributed Constraints” (The Institute of Electronics, Information and Communication Engineers) Journal D—I, 1992, Vol. 75, No. 8, p. 704—713), Makoto Yokoo, and 1 other, “Distribution constraint satisfaction algorithm: review” (autonomous agents and multi-agent systems) (USA), 2000, No. 3, IV, p. 189-212).
  • Asynchronous weak commitment search method that improves the asynchronous distributed backtracking method is known.
  • Asynchronous weak commitment search is fast by introducing the concept of priority, but it needs to hold and exchange large amounts of constraint violation information.
  • costs such as searching for the information and generating further constraint violation information depending on conditions are necessary.
  • it is necessary to distribute the restriction information between specific agents to the third agent, and security between agents cannot be maintained.
  • a diffuse breakout algorithm is known as an algorithm that does not require a knock track and does not have constraint violation information. However, under certain conditions, this algorithm may fall into a loop and fail to obtain a solution. In addition, because the constraints are weighted, it is not possible to deal with dynamic situations in which the constraints change while seeking a solution. This includes, for example, Japanese Patent Laid-Open No. 9-297689 (page 4, Fig. 1), Makoto Yokoo, and one other, "Distributed breakout: Iteratively improved distributed constraint satisfaction algorithm" (Journal of Information Processing Society of Japan, 19 1998, No. 39, No. 6, p. 1889-1897) etc.
  • the conventional agent like the conventional constraint satisfaction device, more specifically includes the hardware and software of the computer.
  • multiple agents communicate asynchronously over the network and work together to resolve constraint violations.
  • each agent tries to obtain a variable for eliminating the constraint violation state between agents asynchronously. Therefore, there is a problem that there is a high possibility of falling into a local optimal solution and a possibility of falling into an infinite loop of processing in which some agents change values in order.
  • the present invention solves such a problem, and when obtaining a variable for eliminating the constraint violation state between agents asynchronously, it does not attempt to resolve the constraint violation with only some of the agents.
  • By solving constraint violations with many agents we provide an agent in which the entire set of agents reaches the solution earlier as a result of not falling into a local optimal solution or an infinite loop.
  • the agent of the present invention is a variable storage that stores variable data indicating a current value of the solution to be obtained in an agent in which a plurality of agents obtain the solution in cooperation in an asynchronous manner.
  • a constraint storage unit for storing constraint data indicating a combination of values of variable data and variable data stored by neighboring agents, and a variable for storing variable change prohibition period data indicating a period during which the change of variable data is prohibited Generated by the change prohibition period storage unit, the improvement degree generation unit that generates the improvement degree data indicating the degree of ease with which the variable data of the own agent satisfies the constraint data, and the variable data and improvement degree generation unit Communication unit that transmits / receives improvement degree data to / from neighboring agents, improvement degree data and variable data obtained from neighboring agents Configuration to The neighborhood situation storage unit that stores the neighboring situation data, the improvement degree data generated by the improvement degree creation unit, and the improvement degree data of the neighboring agents stored in the neighborhood situation storage unit are compared, and According to the change prohibition period data, the variable data is changed to a value that satisfies the combination of the constraint data so that the constraint violation with the variable data of the neighboring agent stored in the neighborhood status storage unit is resolved, and the variable A
  • the improvement ease data includes at least the number of constraints indicating the number of constraint data, the number of constraint violations indicating the number of variable data violating the constraint data, and the variable data
  • the structure has one of the possible improvement numbers indicating the number of constraint data that can resolve the violation status, and the ease of improvement generation unit calculates the total number of constraint data for the variable data.
  • variable data and the variable data of the neighboring agent satisfy the combination of the values of the constraint data, the total number of constraint data is obtained as the constraint violation number, and the variable data and the variable data of the neighboring agent Among the constraint data that does not satisfy the constraint data value combination, the variable data is not included in the variable change prohibition period data, and the variable data value is changed. Therefore, the total number of combinations that can be changed to satisfy the combination of constraint data values is obtained, and the attribute value of the improvement ease data is generated as the number that can be improved.
  • the agent of the present invention further includes an improvement trend storage unit that stores improvement trend data indicating past transitions of the degree to which the variable data satisfies the constraint data
  • the constraint resolution unit includes: Based on the number of constraint violations included in the variable data, the improvement trend data stored in the improvement trend storage is additionally updated, and the length of the variable change prohibition period is determined according to the improvement trend data. Then, after changing the variable data, the variable change prohibition period data stored in the variable change prohibition period storage unit is updated.
  • the agent can adjust the variable change prohibition period of the variable data according to the improvement tendency of the constraint violation and prohibit the change of the variable only for the period adapted to the problem.
  • the possibility of falling into an infinite loop of only a part of the agents or falling is reduced, and as a result, the entire set of agents can reach the solution faster.
  • the improvement level generator generates the improvement level data at every first fixed time interval, and the communication unit transmits the improvement level data to neighboring agents. Configure.
  • the agent can periodically acquire the improvement degree of neighboring agents, and determines whether or not to change the variable based on the more recent improvement status, and as a result, the entire set of agents is determined. Can reach the solution faster.
  • the improvement ease generation unit generates improvement ease data at every second fixed time interval, and the constraint resolution unit determines the neighborhood change according to the variable change prohibition period data.
  • the variable data is changed so as to eliminate the constraint violation with the variable data stored in the agent, and the variable change prohibition period data stored in the variable change prohibition period storage unit is updated.
  • the agent can periodically check his / her improvement level, change the variable based on his / her latest improvement status, and as a result, the entire set of agents reaches the solution earlier. be able to.
  • the agent of the present invention is configured such that the first constant time interval is set smaller than the second constant time interval.
  • the frequency at which the agent checks its improvement level can be lower than the frequency at which the agent sends and receives the improvement level of the neighboring agent, and the improvement level can be checked based on the latest situation of the neighboring agent. As a result, the entire set of agents can reach the solution faster.
  • the agent of the present invention provides a variable change indicating a period during which change of variable data is prohibited.
  • the prohibited period is set to be k times the second fixed time interval (k is an integer).
  • the constraint solving unit determines whether or not to change the variable data, improvement of the neighboring agent stored in the improvement degree data of the own agent and the neighboring state storage unit. Comparing with ease data, there are at least the greatest number of possible improvements, cases where there is no agent that can change the variable data by violating the constraint other than its own agent, and when the number of constraint violations is the largest. It is configured so that it is determined that the variable data will be changed when one of the cases where the number of constraints is the smallest.
  • the agent of the present invention is configured such that, when changing the variable data, the constraint solving unit selects a variable value satisfying the constraint from the constraint data and updates the variable data in the variable storage unit. .
  • the agent can select a value from which the constraint is removed from the combination list, and a value that can properly eliminate the constraint is selected reliably. As a result, the entire set of agents can be solved more quickly. Can be reached.
  • the constraint resolution unit has the total ml of constraint violations in the latest third constant time interval of the improvement trend data and the number of constraint violations in the previous third constant time interval.
  • the current set value of the variable change prohibition period is shortened, and when ml ⁇ mO, it is determined that there is no improvement trend. It is configured to update the variable change prohibition period data by increasing the current setting value of the change prohibition period. [0038] Therefore, the agent can adjust the variable change prohibition period of the variable data according to the actual improvement trend of the number of constraint violations, and prohibit the change of the variable only for the period adapted to the problem. As a whole set of agents can reach the solution faster
  • the agent of the present invention by prohibiting the continuous change of a variable for a certain period under a certain condition, only a part of the agents does not try to resolve the constraint violation, and many By solving the constraint violation with the agent, the set of agents reaches the solution faster as a result of falling into the local optimal solution or infinite loop.
  • the agent stores a variable storage unit that stores variable data indicating a current value of the solution to be obtained, and variable data and neighboring agents store the variable data.
  • a constraint storage unit that stores constraint data indicating a combination of values with variable data, a variable change prohibition period storage unit that stores a period during which variable data is prohibited to be changed, a variable change prohibition period storage unit that stores data, and variable data of the own agent
  • An easy-to-improvement generator that generates easy-to-improvement data indicating the degree of ease for satisfying the constraint data, and a communication unit that transmits and receives variable data and the easy-to-improvement data generated by the easy-to-improvement generator
  • a proximity situation storage unit that stores improvement degree data and variable data obtained from neighboring agents, and an improvement degree generation unit.
  • the neighborhood stored in the neighborhood situation storage unit according to the variable change prohibition period data Constraint resolution by changing the variable data to a value that satisfies the combination of constraint data so that the constraint violation with the agent's variable data is resolved, and setting the variable change prohibition period data to a predetermined period A part.
  • the distributed constraint satisfaction method is a method in which each agent has variable data indicating the current value of a solution to be obtained, constraint data indicating a combination of variable data and variable data of neighboring agents, and variable data.
  • each agent has variable data indicating the current value of a solution to be obtained, constraint data indicating a combination of variable data and variable data of neighboring agents, and variable data.
  • multiple agents cooperate to obtain a solution of variable data in which all constraint relationships between variable data are established, each of which has variable change prohibition period data indicating a period during which the change of the value of the variable is prohibited.
  • Each agent can easily improve its own variable data to show the degree of ease for satisfying the constraint data
  • a generation step for generating degree data a step for asynchronously transmitting / receiving variable data and the improvement degree data generated in the generation step to each neighboring agent, and the variable data and improvement degree data as own improvement degree data
  • the decision step for determining whether or not to change its own variable data, and its own variable data when it is determined to change its own variable data at the decision step Change the data to a value that satisfies the combination of constraint data and notify neighboring agents.
  • Change step and variable change prohibition period when variable data is changed in the change step. Change prohibition to set data to a predetermined period. Steps.
  • FIG. 1 is a configuration diagram of an agent according to a first embodiment of the present invention.
  • FIG. 2A is a diagram showing a structure of variable data stored in the variable storage unit of the agent according to the first exemplary embodiment of the present invention.
  • FIG. 2B is a diagram showing a structure of constraint data stored in the constraint storage unit of the agent according to the first exemplary embodiment of the present invention.
  • FIG. 2C is a diagram showing a structure of ease of improvement data stored in the neighborhood state storage unit of the agent according to the first exemplary embodiment of the present invention.
  • FIG. 2D is a diagram showing a structure of variable change period data stored in the variable change prohibition period storage unit of the agent according to the first exemplary embodiment of the present invention.
  • FIG. 3 is a flowchart showing the operation of the agent according to the first exemplary embodiment of the present invention.
  • FIG. 4 is a diagram showing a setting example of a variable change prohibition period of the agent according to the first embodiment of the present invention.
  • FIG. 5 is a flowchart showing determination processing for changing an agent variable according to the first exemplary embodiment of the present invention.
  • FIG. 6 is a block diagram of the task assignment device according to the first exemplary embodiment of the present invention.
  • FIG. 7 is a diagram showing a task problem restriction network in which the task assignment device according to the first exemplary embodiment of the present invention creates a plan.
  • FIG. 8A is a diagram showing a constraint network in the initial state of the task assignment device according to the first embodiment of the present invention. It is a figure which shows a network.
  • FIG. 8B is a diagram showing the constraint network in the planning state of the task assignment device according to the first exemplary embodiment of the present invention.
  • FIG. 8C is a diagram showing a constrained network in the final state of the task assignment device according to the first exemplary embodiment of the present invention.
  • FIG. 9 is a diagram showing a configuration of an agent according to the second embodiment of the present invention.
  • FIG. 10 is a flowchart showing the operation of the agent according to the second exemplary embodiment of the present invention.
  • FIG. 11A is a diagram showing a structure of agent improvement tendency data according to the second embodiment of the present invention.
  • FIG. 11B is a diagram for explaining the storage operation of agent improvement tendency data according to the second embodiment of the present invention.
  • FIG. 11C is a diagram for explaining the operation of determining the improvement tendency of the agent according to the second embodiment of the present invention.
  • FIG. 12 is a flowchart showing an operation of adjusting the variable change prohibition period of the agent according to the second embodiment of the present invention.
  • FIG. 13 is a configuration diagram of a schedule adjustment apparatus equipped with an agent according to the second embodiment of the present invention.
  • FIG. 14 is a diagram for explaining a scheduling problem in which the schedule adjusting apparatus according to the second embodiment of the present invention creates a plan.
  • FIG. 15 is a diagram showing a schedule problem restriction network in which the schedule adjustment apparatus according to the second embodiment of the present invention creates a plan.
  • FIG. 16 is a diagram for explaining an initial operation of the schedule adjusting apparatus according to the second embodiment of the present invention.
  • FIG. 17 is a diagram for explaining the operation after TP adjustment of the schedule adjustment device according to the second exemplary embodiment of the present invention.
  • FIG. 18 is a configuration diagram of an agent according to the third embodiment of the present invention.
  • FIG. 19 is a collaborative work robot equipped with the agent according to the third embodiment of the present invention.
  • FIG. 19 is a collaborative work robot equipped with the agent according to the third embodiment of the present invention.
  • FIG. 20 is a diagram for explaining a movement problem in which the movement planning apparatus according to the third embodiment of the present invention creates a plan.
  • FIG. 21 is a diagram showing a movement problem restriction network in which the movement planning apparatus according to the third embodiment of the present invention creates a plan.
  • FIG. 22 is an explanatory diagram of the mobile operator of the cooperative work robot according to the third embodiment of the present invention.
  • FIG. 23 is a diagram for explaining an initial state of the movement planning apparatus according to the third embodiment of the present invention.
  • FIG. 24 is a diagram for explaining an intermediate state of the movement planning apparatus according to the third embodiment of the present invention.
  • FIG. 25 is a diagram for explaining the final operation of the movement planning apparatus according to the third embodiment of the present invention.
  • FIG. 26 is a diagram showing an example of a problem constraint network used in the experiment.
  • FIG. 27 is a diagram showing a comparison of the average number of cycles until reaching the solution of the experimental result.
  • FIG. 28 is a diagram showing comparison of solution arrival rates of experimental results.
  • FIG. 29 is a block diagram of a computer constituting a conventional constraint satisfaction device.
  • FIG. 30 is a diagram for explaining a constraint network expressing a constraint satisfaction problem.
  • Figure 31A shows a constraint network showing an example of the initial state of the constraint satisfaction problem.
  • Figure 31B is a diagram showing a constraint network showing an example of a state in which the solution of the constraint satisfaction problem is fixed.
  • Fig. 32 is a diagram for explaining a constraint network diagram expressing the distributed constraint satisfaction problem
  • FIG. 33 is a diagram for explaining an example of a dispersion constraint satisfaction problem.
  • the agent according to the first embodiment prohibits the change of the variable continuously for a certain period under a certain condition, so that it is possible to eliminate the constraint violation of many agents by simply eliminating the constraint violation of some agents.
  • the solution is to eliminate the reaction, and as a result of falling into the local optimal solution, the entire set of agents reaches the solution faster.
  • FIG. 1 is a configuration diagram of an agent according to the first embodiment of the present invention.
  • the agent 100 includes a variable storage unit 101, a constraint storage unit 102, a variable change prohibition period storage unit 104, an improvement ease generation unit 107, a communication unit 106, a neighborhood situation storage unit 103, and a constraint resolution unit 105. ing.
  • the variable storage unit 101 stores variable data indicating the current value of the solution to be obtained.
  • the constraint storage unit 102 stores constraint data indicating a combination of values of variable data and variable data stored in neighboring agents.
  • the variable change prohibition period storage unit 104 stores variable change prohibition period data indicating a period during which variable data change is prohibited.
  • the improvement degree generation unit 107 generates improvement degree data indicating the degree of ease with which the variable data of the own agent satisfies the constraint data.
  • the communication unit 106 transmits / receives the variable data and the improvement degree data generated by the improvement degree generation unit 107 to / from neighboring agents.
  • the neighborhood situation storage unit 103 stores neighborhood situation data composed of improvement ease data and variable data acquired from neighboring agents.
  • the constraint resolving unit 105 compares the improvement ease data generated by the improvement degree generation unit 107 with the improvement ease data of the neighboring agent stored in the neighborhood state storage unit 103, and sets it as variable change prohibition period data. In response, the variable data is changed to a value satisfying the combination of the constraint data so as to eliminate the constraint violation with the neighboring agent variable data stored in the neighborhood status storage unit 103. At the same time, the constraint resolution unit 105 sets the variable change prohibition period data to be a predetermined period.
  • FIG. 2A is a diagram showing a structure of variable data stored in the variable storage unit 101 of the agent according to the first exemplary embodiment of the present invention.
  • the variable data 121 stored in the variable storage unit 101 has a table structure in which variable names and their values are records.
  • Figure 2A shows that home agent A has one variable X and its value is 1.
  • FIG. 2B is a diagram showing a structure of constraint data stored in the constraint storage unit 102 of the agent according to the first exemplary embodiment of the present invention.
  • the constraint data 122 stored in the constraint storage unit 102 has a table structure in which a record indicating a combination of a variable name of its own variable name, a neighboring agent variable name, and a possible value of those values is a record.
  • self-agent A has a constraint related to variable X as a constraint related to variable X. Indicates that there is a constraint that the value combination (x, y) must be (1, 1) or (2, 2) or (3, 3). It is also shown that there is a constraint that the value combination force 1) or (2, 2) or (3, 3) with the variable y of agent C.
  • An agent that has a variable with respect to this variable X is called a neighbor agent.
  • FIG. 2C is a diagram showing a structure of variable change period data stored in the variable change prohibition period storage unit 104 of the agent according to the first exemplary embodiment of the present invention.
  • the variable change prohibition period data 123 stored in the variable change prohibition period storage unit 104 includes a variable name, time information indicating the start and end times of the period during which the change of the variable value is prohibited. Is a table structure in which is a record. In FIG. 2C, it is shown that the value of variable X of own agent A is prohibited until 00:00:00.
  • FIG. 2D is a diagram showing a structure of ease of improvement data stored in the neighborhood state storage unit 103 of the agent according to the first exemplary embodiment of the present invention.
  • the neighbor situation data stored in the neighbor situation storage unit 103 has a table structure in which the variable names and values of neighboring agents that have a constraint relationship with the variable data and the improvement ease data 125 are records.
  • the ease-of-improvement data 125 includes the constraint number 1 indicating the number of constraint data, the constraint violation number m indicating the number of variable data that violates the constraint data, and the restriction data when the variable data value is changed. It consists of a number n that can be improved to indicate the number of constraint data that can resolve the violation state.
  • variable X of own agent A and neighboring agent B that has constraints
  • the value of variable y is 2, and the number of constraints 1 in the improvement ease data 125 is 1, the number of constraint violations m is 1, and can be improved It shows that the number n is 1.
  • the value z of the variable z is S3, and the number of constraints 1 in the improvement ease data 125 is 1, the number of constraint violations m is 1, and the number of possible improvements n force Si.
  • the self-agent improvement ease data 125 is also configured to store the self-agent A improvement ease data 125 in a separate storage means. I don't mind!
  • FIG. 3 is a flowchart showing the operation of the agent according to the first exemplary embodiment of the present invention.
  • the time interval T1 timer event Evl
  • the time interval T2 timer event Ev2
  • This time interval T1 is an example of a first constant time interval.
  • the time interval T2 is an example of a second constant time interval.
  • the constraint resolution unit 105 generates a timer event Evl activated at a time interval T1, a timer event Ev2 activated at a time interval T2, and a message reception event Ev3 by receiving a message from a neighboring agent. Eventually it waits until one event occurs (step S401). Next, the constraint solving unit 105 instructs the start of the next process according to the type of event that has occurred (step S402).
  • the improvement ease generation unit 107 determines whether or not the change of the value of the variable is within the period during which the change of the variable value is prohibited from the variable change prohibition period data stored in the variable change prohibition period storage unit 104. If it is out of the period, the improvement ease generation unit 107 uses the variable data stored in the variable storage unit 101 and the constraint data stored in the constraint storage unit 102 to have 1 constraint, m constraint violations, The improvement ease data composed of the improvement possible number n is generated, and if it is within the period, it is stored that the value of the variable cannot be changed (step S403).
  • the improvement ease generation unit 107 generates the attribute value of the improvement ease data for the variable data stored in the variable data table 121 as follows.
  • the improvement level generation unit 107 calculates the total number of records including the variable name of the variable data from the constraint data 122 stored in the constraint storage unit 102 and sets the number of constraints to 1. And the variable data of neighboring agents are included in the value combination, and the total number of ⁇ records is calculated as the constraint violation number m.
  • the improvement ease generation unit 107 further includes that the variable data value is not stored in the variable change prohibition period data 123 in the record, and the value of the constraint data is changed by changing the variable data value.
  • the total number of records that can be combined is calculated, and the number that can be improved is n.
  • the time interval T1 is preferably shorter than the time interval T2 described later. Neighboring agents can always be notified of the latest situation where the time interval T1 is sufficiently short.
  • the communication unit 106 transmits the improvement ease data to all of the neighboring agents by message communication, and returns to step S401. However, the communication unit 106 uses the If the change of the variable is prohibited and it is determined that the value of the variable cannot be changed within the specified period, a message indicating that the change cannot be made is transmitted (step S404).
  • the communication unit 106 receives a message from a nearby agent (step S405).
  • the communication unit 106 stores the variable data and ease of improvement data of neighboring agents included in the received message in the neighboring state storage unit 103, and returns to step S401 (step S406).
  • the improvement ease generation unit 107 determines whether the change of the variable value is prohibited from the variable change prohibition period data 123 stored in the variable change prohibition period storage unit 104, similarly to the processing in step S403. Further, the ease-of-improvement generation unit 107 uses the variable data 121 stored in the variable storage unit 101 and the constraint data 122 stored in the constraint storage unit 102 to obtain a constraint number 1, a constraint violation number m, and an improvement possible number n. Generated improvement ease data (step S407). However, the neighbor agent name in the self-improvement degree data 125 of the self agent can be distinguished from the data of other agents as a value representing the self agent.
  • the constraint solving unit 105 records the improvement degree data 125 generated by the improvement degree generation unit 107 in step 407 in the neighborhood state storage unit 103, and the improvement degree of each neighboring agent. Compare with data 125 to determine if the value of the variable should be changed. If it is determined to be changed, the process proceeds to step S409. If it is determined not to change, this event processing is terminated, and the process returns to step S401 (step S408). Details of this determination method will be described later.
  • the constraint resolution unit 105 selects one of the variables that can be taken by the agent from the possible combinations of the constraint data 122 stored in the constraint storage unit 102, and obtains the value of the variable.
  • the current value of the variable data 121 stored in the variable storage unit 101 is updated.
  • the ease-of-improvement generation unit 107 generates the ease-of-improvement data with the updated variable data values in the same manner as the processing in step S403, and the communication unit 106 generates the variable data and the ease of improvement generated.
  • the degree data is notified to each neighboring agent by a message (step S409).
  • the constraint resolution unit 105 stores the variable change prohibition period in the variable change prohibition period storage unit 104 so that the value of the variable whose value has been changed in step S408 cannot be changed for a certain period.
  • the current time is set as the start time, the time after a lapse of a certain period is stored as the end time, and the process returns to step S401 (step S410).
  • this operation flow operates asynchronously independent of neighboring agents. For this reason, messages are sent at any time between neighboring agents that operate asynchronously between agents.
  • the message reception event Ev3 is stored in the event queue by the event processing mechanism, and even if a step other than step S401 is being processed, the process proceeds to step S401. This is so that events can be detected. Even if a timer event occurs during message processing in step S405, it can be detected and processed in the same way.
  • step S410 a method for setting the variable change prohibition period in step S410 will be described.
  • the method of prohibiting any change in the value of a variable (prohibition method 1) is used.However, there is a method of prohibiting a variable from being set to a certain value (prohibition method 2) or a certain value strength. It can also be realized as a method that prohibits changing to a value (prohibition method 3), or a method that prohibits the above combinations or other specific changes (prohibition method 4).
  • the range of variable X that is, the set of values taken by variable X is set to ⁇ 1, 2, 3 ⁇ , and the value of variable X is changed from "1" to "2"
  • the operation during the prohibition period according to the prohibition method described above is as follows.
  • variable change prohibition period is set for each variable.
  • the prohibition method 2 a force that prohibits the return of the value of the variable X to “1” for a certain period or a change of the value of the variable X to “2” is prohibited for a certain period. In this case, changing the value of variable X to “3” is not prohibited even during the prohibited period.
  • the variable change prohibition period is set for each variable value.
  • prohibition method 3 change of the value of variable X from “1” to “2” is prohibited. In this case, “1” or Even during the period when the change from “1” to “2” is prohibited, the change from “1” to “3” and the change from “3” to “2” are not prohibited.
  • the variable change prohibition period is set by distinguishing the direction of variable change.
  • prohibition method 4 change of the value of variable X from “3” to “2”, “2” to “1”, and “1” to “3” is prohibited.
  • the value is limited to changes in the ascending order, such as “1” to “2”, “2” to “3”, and “3” to “1”.
  • FIG. 4 is a diagram illustrating a setting example of the variable change prohibition period of the agent according to the first embodiment of the present invention.
  • a variable change prohibition period 151 is set (at time 153) to prohibit the change from “1” to “2”.
  • variable change prohibition period 152 is set (at time 154).
  • Each variable change prohibition period is set independently, and even if it is a variable change prohibition period from ⁇ 1 '' to ⁇ 2 '', it is a variable change prohibition period from ⁇ 2 '' to ⁇ 1 ''. Otherwise, changing from “2” to “1” is not prohibited. After the variable change prohibition period ends, the prohibition setting is canceled (at time 155 and time 156).
  • FIG. 5 is a flowchart showing the determination processing of the constraint solving unit 105 that changes the agent variable according to the first embodiment of the present invention.
  • the determination process shows the detailed operation of step S408 in the flowchart showing the operation of the agent in FIG.
  • the constraint solving unit 105 always determines that the value of the variable is not changed (S509), determines that the value of the variable is changed (S510), and ends.
  • step S501 the constraint resolution unit 105 sets the variable data value of the constraint data from the variable data 121 stored in the variable storage unit 101 and the constraint data 122 stored in the constraint storage unit 102.
  • the record is searched to determine whether there is any variable data that violates the constraint. If there is no variable data that violates the constraint, the constraint resolution unit 105 determines that the variable is not changed (S509), and ends.
  • step S502 the variable force variable violates the constraint examined in step S501. If the variable change prohibition period data 123 stored in the change prohibition period storage unit 104 is included in the prohibition period and the change of the variable is prohibited, the constraint resolution unit 105 must change the value of the variable. Judge (S509) and end.
  • step S503 the constraint resolving unit 105 calculates the ease of improvement data composed of the number of constraints 1, the number of constraint violations m calculated by the improvement ease generator 107, and the number of possible improvements n, and the neighborhood status memory.
  • the improvement ease data 125 of the neighboring agent stored in the part 103 is compared. If the possible improvement number n is greater than the possible improvement number n of any neighboring agent, the constraint solving unit 105 determines to change the value of the variable (S510), and ends. On the contrary, if the improvement possible number n is smaller than the improvement possible number n of any neighboring agent, the constraint solving unit 105 determines that the variable is not changed (S509), and ends.
  • the case where the improvement possible number n is 0 is also included with all neighboring agents.
  • the constraint solving unit 105 includes the ease of improvement data composed of the number of constraints 1, the number of constraint violations m, and the number of possible improvements n calculated by the ease of improvement generation unit 107 and the neighborhood status storage unit 103. From the data on the ease of improvement of the neighboring agents stored in (the number of constraints 1, the number of constraint violations m, the number of possible improvements n ) 125 Check if there is an agent that can change the variable from the number n that can be improved. If the target number of agents is 0, the constraint resolution unit 105 determines to change the variable (S510), and the process ends. If the number of target agents is 1 or more, the process proceeds to step S505.
  • step S505 the constraint resolution unit 105 compares the number of constraint violations m with the number of constraint violations m of the agent targeted in step S504. Determines that the value of the variable is to be changed (S510) and ends. If the number of constraint violations of any neighboring agent is smaller than m, it is determined that the variable should not be changed (S509), and the process ends. If the constraint violation number m is the same as the maximum constraint violation number m of the neighboring agent, the process proceeds to step S506.
  • step S506 the constraint resolution unit 105 compares the constraint number 1 with the constraint number 1 of the agent targeted in step S504, and the constraint number of any neighboring agent is small. If so, it is determined to change the variable (S510), and the process ends. If the number of constraints of any neighboring agent is too large, it is determined that the variable is not changed (S509), and the process ends. If the restriction number 1 is the same as the minimum one of the neighboring agent restriction numbers 1, the process proceeds to step S507.
  • step S507 the constraint resolving unit 105 includes an agent that includes the agent and the agent that is the target in step S504. Determine.
  • step S508 if the constraint solving unit 105 determines that the self agent is to change the variable, the constraint solving unit 105 determines to change the variable, and ends. If it is not determined that the variable is to be changed, it is determined that the variable is not changed, and the process ends.
  • the probabilistic determination of agents in step S508 may be a method of calculating according to data that agents can refer to in common, such as time information and ranking among agents.
  • both variables are determined with an average probability distribution with no bias in the determination result, and at least one of the variables is continuously excellent for a long time on average. It shall not be changed first. For example, the case where only the wrong judgment method is used in which the node with the younger node name is always changed with priority is excluded.
  • step S501 to step S508 an example of the power used as the processing procedure from step S501 to step S508 is shown.
  • the types of steps to be judged and the order of judgment are not limited to this.
  • FIG. 6 is a configuration diagram of the task assignment device according to the first exemplary embodiment of the present invention.
  • the agent 100a, agent 100b,..., Agent 100c in the task assignment device 300 are connected via a wired or wireless network and can communicate with each other.
  • agent 100, agent 100b,..., And agent 100c have the same configuration as agent 100 shown in FIG. If agent 100a is its own agent, agent 100b and the like are neighboring agents.
  • variable storage unit 101 constraints
  • the storage unit 102 and the variable change prohibition period storage unit 104 will be described assuming that initial values necessary for the operation are set in advance, but an initial setting device for setting the initial value of each agent is provided separately through the network. It can also be implemented as a configuration set for each agent.
  • FIG. 7 is a constrained network diagram in which the task assignment device according to the first exemplary embodiment of the present invention creates a plan.
  • each node shows a variable xl of agent XI, a variable X 2 of X2,..., A variable x7 of X7.
  • Each node takes one of the values “black” indicating “black task” and “white” indicating “white task”.
  • each arc represents a constraint between each variable.
  • nodes connected by constraints cannot have the same value.
  • node xl and node x4 must not be “white” or “black” at the same time.
  • the values of node x4 and node x5 are “black” at the same time, and a constraint violation has occurred.
  • FIG. 7 shows the constraint relationship between variables for each agent in the task assignment device, and does not show an actual network connection configuration for connecting the agents. However, as shown in Fig. 6, it is not always necessary to configure communication paths between all agents. It is only necessary to configure communication paths between agents that have at least a variable in a constraint relationship.
  • FIG. 8A is a constrained network diagram of an initial state of the task assignment device according to the first exemplary embodiment of the present invention.
  • FIG. 8B is a constraint network diagram in a planning state of the task assignment device according to the first exemplary embodiment of the present invention.
  • FIG. 8C shows the final state of the task assignment device according to the first exemplary embodiment of the present invention.
  • the ease-of-improvement data for each node is shown as “(number of improvement possible nZ constraint violation number mZ constraint number 1)” after the symbol xj representing each node.
  • the decision whether to change the variable or not is changed when the number n that can be improved is larger. If this is the same, the one with the larger number of constraint violations m changes, and if this is the same, the agent with the smaller number of constraints 1 changes the value of the variable.
  • change of variable values is prohibited.
  • FIG. 8A shows an initial state.
  • a constraint violation occurs between node x4 and node x5.
  • Nodes xl, x2, x3, x6, and x7 do not violate the constraint and the number of constraints is 1, so all the ease of improvement data is (OZOZ1).
  • Node ⁇ 4 has one constraint violation with node ⁇ 5, and if node ⁇ 4 changes to white, the constraint violation with node ⁇ 5 is resolved, but the constraint between nodes xl, ⁇ 2, and ⁇ 3 Since a violation occurs, the number ⁇ that can be improved (in this case, a number greater than or equal to 0) is zero. Therefore, the improvement ease data of the node ⁇ 4 is (0/1/4).
  • the improvement ease data of node ⁇ 5 is (OZ1Z3). This information is exchanged between neighboring agents through step S403, step S404, step S405, and step S406 in FIG.
  • Constraint violation node x4 and variable x5 have almost the same conditions Force Constraint number 1 is smaller in node x5, so node x4 is determined not to change value, and node x5 changes value It is determined to be. Therefore, the node x5 changes the value to “white” and becomes the state shown in FIG. 8B.
  • node x5 can improve two constraint violations between node x6 and node x7 by changing the value from "white” to "black”. Since this is a violation, the number of possible improvements 1 is 1. Therefore, the ease of improvement data for node x5 is (1Z2Z3). The improvement degree data of nodes x6 and x7 are both (1Z1Z1). The number of possible improvements n is the same, but the number of constraints 1 is larger for node x5. If the value of node x5 is changed from “white” to “black” here, it returns to the state shown in Fig. 8A and falls into an infinite loop of the local optimal solution.
  • node x5 is in the variable change prohibition period because the value was changed earlier, and the value cannot be changed. Therefore, node x6 and node x7 change their values in step S504. It is determined. Since node x6 and node x7 are not directly connected, both can change the value at the same time.
  • the agent in the present embodiment exchanges information with neighboring agents at the time interval T1 and improves the state at the time interval T2. However, these operations are executed at the same timing. May be. In other words, the information exchange with the neighboring agent and the judgment of improvement may be operated continuously.
  • the agent is prohibited from changing the variable continuously, and the same variable cannot be changed to the same value for a certain period.
  • the possibility of falling into a local optimal solution decreases, and as a result, the solution can reach the solution faster as a whole.
  • the agent working on the present embodiment eliminates restriction violations of some agents by prohibiting continuous change of variables in a period corresponding to the resolution situation of variable constraint violations.
  • the goal is for the entire set of agents to reach the solution even faster as a result of the local optimal solution and the infinite loop.
  • FIG. 9 is a configuration diagram of an agent according to the second embodiment of the present invention.
  • Agent 200 stores the improvement trend data indicating the past transition of the degree to which the force variable data that has almost the same configuration as Agent 100 shown in Fig. 1 meets the constraint data. 1 is different from FIG. 1 in that a trend storage unit 208 is further provided. Further, when the constraint resolution unit 205 changes the value of the variable data stored in the variable storage unit 101, the latest improvement trend. 1 is different from FIG. 1 in that the direction data is generated and stored in the improvement trend storage unit 208, and the length of the variable change prohibition period of the variable data is adjusted according to the improvement trend data.
  • the improvement trend data stored in the improvement trend storage unit 208 is a table structure of transition data of the variable name and the number of constraint violations m of the variable.
  • the improvement trend data is history data of the number of constraint violations including the past several times. Details of the data structure of past changes will be described later.
  • FIG. 10 is a flowchart showing the operation of the agent according to the second exemplary embodiment of the present invention.
  • the operation of the agent 200 is different from that in FIG. 3 in that force steps S601 and S602 that are substantially the same as the steps of the agent 100 shown in FIG. 3 are added.
  • the time interval T4 which is a period for determining the improvement tendency of variables, and the current set value TP of the variable change prohibition period are used as parameters.
  • This time interval T4 is an example of a third constant time interval.
  • the time interval T4 is a period corresponding to several times the time interval T2, but in the present embodiment, the time interval T4 is described as being set to 5 times the time interval T2.
  • the current set value TP of the variable change prohibition period is k times the time interval T2 (k is an integer) because of the relationship between the synchronization timing of the variable update operation and the determination operation. The set value in will be described later.
  • step S601 the constraint solving unit 205 records the number of constraint violations m calculated by the ease-of-improvement generation unit 107 in the improvement trend storage unit 208 as current improvement trend data.
  • the number of constraint violations, m is set so that a record of about twice the time interval T4 remains.
  • FIG. 11A is a diagram showing a structure of agent improvement tendency data according to the second embodiment of the present invention.
  • improvement trend data 210 has a structure that records the number of constraint violations m for past variables, and stores the current number of constraint violations m in the rightmost column.
  • the constraint violation number m recorded at the previous time is stored, and in the left column, the constraint violation number m recorded two times before is stored. In this way, it is twice as long as T4 time, that is, 10 times as long as T2. The period is recorded.
  • FIG. 11A is a diagram showing a structure of agent improvement tendency data according to the second embodiment of the present invention.
  • improvement trend data 210 has a structure that records the number of constraint violations m for past variables, and stores the current number of constraint violations m in the rightmost column.
  • the constraint violation number m recorded at the previous time is stored, and in the left column, the constraint violation number m recorded two times before is stored. In this way, it is twice as long as T
  • FIG. 11B is a diagram explaining an agent improvement tendency data storage operation according to the second embodiment of the present invention.
  • the number of constraint violations is recorded as new data in the improvement trend data 210
  • the previous records are shifted one by one, and the current number of constraint violations is recorded in the rightmost column. It is recorded to keep the time order according to the past number of constraint violations.
  • step S602 the constraint solving unit 205 determines an improvement trend from the history of the number of constraint violations m recorded in the improvement trend storage unit 208.
  • the constraint resolution unit 205 compares the total number of constraint violations in the latest time interval T4 with the total number of constraint violations in the previous time interval T4, and determines the improvement trend. This determination changes the value of the current setting value TP during the variable change prohibition period.
  • FIG. 11C is a diagram illustrating an operation of determining an improvement tendency of an agent according to the second embodiment of the present invention.
  • the total ml of the constraint violations in the recent time interval T4 and the total mO of the constraint violations in the previous time interval T4 are compared. If ml> mO, it is judged as “not improved”, and if ml ⁇ mO, it is judged as “improved”.
  • the current set value TP of the variable change prohibition period is changed.
  • the total number of previous constraint violations is 6, the total number of recent constraint violations is 5, and the improvement trend is judged as “improved”.
  • FIG. 12 is a flowchart showing an operation of adjusting the variable change prohibition period of the agent according to the second embodiment of the present invention.
  • the current set value TP of the variable change prohibition period takes a value within a predetermined range from the minimum value TP-min to the maximum value TP-max.
  • step S701 the constraint resolution unit 205 determines an improvement tendency from the number of constraint violations m stored in the improvement trend storage unit 208. If it is determined that the improvement is improved, the constraint resolution unit 205 proceeds to step S704. move on. If it is determined that “Improved !, NA! /,”, The process proceeds to step S702. In step S702, if TP is greater than TP-max, the process proceeds to step S703. Otherwise, exit without changing TP.
  • step S703 TP is incremented by a predetermined value, and the process ends.
  • step S704 If TP> TP—min in step S704, the process proceeds to step S705. Otherwise, exit without changing TP.
  • step S705 the predetermined value is reduced by the TP force and the process is terminated.
  • FIG. 13 is a configuration diagram of a schedule adjustment apparatus equipped with an agent that can make full use of Embodiment 2 of the present invention.
  • the schedule adjustment apparatus 301 is composed of a plurality of agents 200a, 200b, 200c,. ⁇ IJ user ⁇ ⁇ inputs / outputs the schedule to Agent 200a, User B to Agent 200b, User C to Agent 200c, and User n to Agent 200 ⁇ via the input / output unit.
  • Each agent adjusts the schedule with other users based on the entered schedule.
  • the user ⁇ ⁇ inputs his / her desired schedule to the schedule adjustment device on which the agent 200a is installed, and instructs the start of conference adjustment and schedule adjustment with other participants.
  • Agent 20 Oa force S The plan created by coordinating with other agents 200b, 200c, and 200 ⁇ is received as a schedule result from the schedule adjustment device.
  • FIG. 14 is a diagram for explaining a schedule problem in which the schedule adjustment device according to the second embodiment of the present invention creates a plan.
  • the settable days for each user are 1 and 2 days for ⁇ IJ user A, 2 days, 3 and 4 days for ⁇ IJ user B, and ⁇ IJ user C for 2 days and 3 days, and the initial setting of the desired date to hold each user's meeting is 2 days. Show.
  • each user cannot set up two meetings at the same time.
  • each user does not disclose the conference setting date to other users from the beginning from the viewpoint of privacy.
  • User B does not disclose to User C that he / she will set up a first meeting with User A.
  • User B does not disclose to User A that he will have a second meeting with User C.
  • FIG. 15 is a restriction network diagram of a schedule problem in which the schedule adjustment apparatus according to the second embodiment of the present invention creates a plan.
  • each node shows variables of the agent 200a, the agent 200b, and the agent 200c.
  • Agent 2 OOa has node x8 indicating the conference setting date of user A, and node x8 takes “1” or “2”.
  • the agent 200b includes a node x9 indicating a date when the user B sets up a conference with the user A, and a node xlO indicating a date when the user B sets up a conference with the user C.
  • Node x9 and node xlO each take one of the values “2”, “3”, and “4”.
  • the agent 200c has a node xl l indicating the date when the user IJ C sets up a meeting with the user B.
  • the node xl l takes “2” or “3”.
  • step S408 for determining whether or not to change the variable value is performed.
  • the node with the younger node name for example, node x9
  • node xlO it shall be determined to change the value with priority.
  • it is possible that such a younger node will be permanently changed in preference and may be judged in this way for a limited period of time.
  • the node value change prohibition method is to change the value back to the value before the change after changing the value. It is prohibited during the prohibited period. However, if there is a possible value other than the value before the change, the change to that value is not prohibited.
  • FIG. 16 is a diagram for explaining an initial operation of the schedule adjusting apparatus according to the second embodiment of the present invention. In Fig. 16, each line shows the value of the variable at each time. In addition, the ease-of-improvement data is indicated after each variable value as “(number of improvement possible nZ constraint violation number mZ constraint number 1)”.
  • agent 200a, agent 200b, and agent 200c have the values of variable x8, variable x9, variable ⁇ 10, and variable xl l all set to "2"
  • a constraint violation has occurred between variable x9 and variable xlO.
  • each agent generates improvement ease data, transmits and receives it, and determines whether to change the value of the variable.
  • Agent 200b changes the value of x9, which has priority, to "3" because variable x9 and variable xlO have the same improvement ease data.
  • Agent 200a and Agent 200c are determined not to change the value of the variable.
  • variable x9 can be changed to the force value "3" and the value "4", which are prohibited from changing to the value "2".
  • variable x8 is prohibited from changing to the value "2". Since variable x8 needs to have a value of “l” or “2”, variable x8 is in a state where its value cannot be changed at all. In addition, the variable change prohibition setting for the variable x9 is cancelled, and the agent 200b determines to change the value of the variable x9.
  • the variable x9 has a constraint violation number m of 1, If the value is changed to “2”, the number of constraint violations m increases to 2, so change it to “4”.
  • variable change prohibition setting for variable x8 is cancelled.
  • agent 200a changes the value of variable x8 from “1” to “2”.
  • the agent 200b changes the value of the variable x9 from "4" to "3" as at time 2.
  • time 5 is almost the same as time 1, and after this time, the operation of changing the values of variable x8 and variable x9 is continued and the constraint violation state is not resolved. .
  • the variable x8 and the variable x9 are in a state of constraint violation power.
  • the constraint resolution unit 205 of agent 200a and agent 200b is judged as “not improved” from the improvement trend data, and agent 200a is currently in the variable change prohibition period for variable x8 and agent 200b for variable x9. Increase the set value TP.
  • Agent 200c does not change the current set value TP of the variable change prohibition period regardless of the variable.
  • FIG. 17 is a diagram for explaining an operation example after the TP adjustment of the schedule adjustment apparatus according to the second embodiment of the present invention.
  • each row indicates the value of the variable at each time.
  • the second operation example shows the operation example that follows the change of the TP of the variable x8 and variable x9 in the first operation example, but the initial values of each variable are easier to compare. Is the same as the initial value of the operation example shown in Fig. 16.
  • variable change prohibition period is set for any variable !, and how the state force starts to operate and how it operates is explained.
  • the variable x8 and the variable x9 are set to a period twice the time interval T2, which is the setting value in the previous operation example shown in FIG. 16, that is, 2 XT2 time. .
  • the agent 200a changes the value of the variable x 9 to “3”.
  • agent 200b changes the variable x9 to the value "2". Set prohibited. The constraint violation between variable x8 and variable x9 has not been resolved. Restriction Change the value of variable x8 with a small number of constraints.
  • the agent 200a changes the value of the variable x8 to "1” and prohibits the change to the value "2". Since the value of the variable x8 needs to be “1” or “2”, the agent 200a cannot change the value of the variable x8 at all. Since the constraint violation between the variable x8 and the variable x9 has not yet been resolved, the agent 200b changes the value of the variable x9 from “3” to “4” in the same manner as the operation at time 2 in FIG. . Variable x9 is changed to the value “4” because changing to the value “2” is prohibited.
  • variable x8 At time n + 3, the constraint violation between variable x8 and variable x9 is resolved. Since the change of the value of the variable x8 is still prohibited, the agent 200b determines to change the value of the variable x9. When variable x9 is changed to value “2”, the number of constraint violations increases to 2, but change to value “3” is prohibited, so change to value “2”.
  • the agent is prohibited from changing the variable continuously during the period according to the resolution state of the constraint violation, and may fall into a local optimal solution.
  • the agent according to the second embodiment is configured by computer hardware and software.
  • the agent according to the second embodiment has the configuration shown in FIG. 29, for example, in the same manner as the conventional agent.
  • the variable storage unit 101, the constraint storage unit 102, the neighborhood status storage unit 103, the variable change prohibition period storage unit 104, and the improvement trend storage unit 208 are realized by the memory 902, the secondary storage unit 905, and software that manages them.
  • the constraint solving unit 205 and the improvement ease generating unit 107 are configured by a software module stored in the CPU 901, the memory 902, and the secondary storage unit 905.
  • the communication unit 106 includes a network interface 906 and software for controlling the network interface 906.
  • a user who uses the schedule adjustment device can interactively set his / her schedule by using the display unit 903 such as a display and the input unit 904 such as a mouse, a keyboard, and a voice input device. Further, the schedule adjustment result can be confirmed by the display unit 903.
  • the display unit 903 such as a display
  • the input unit 904 such as a mouse, a keyboard, and a voice input device. Further, the schedule adjustment result can be confirmed by the display unit 903.
  • a movement planning device for a cooperative work robot (hereinafter referred to as a robot) in which a plurality of agents according to the third embodiment of the present invention are connected will be described.
  • Many of the agents that can be used in this embodiment do not need to continuously change the variables for a certain period of time under certain conditions.
  • the goal is to eliminate constraint violations, and the goal is for the entire set of agents to reach the solution faster as a result of falling into the local optimal solution.
  • Figure 18 is a configuration diagram of an agent according to the third embodiment of the present invention.
  • the agent 700 has almost the same configuration as that of the agent 100 shown in the first embodiment.
  • the agent 700 has a planned coordinate storage unit 701 that stores a planned coordinate series instead of the variable storage unit 101, and The difference is that a neighboring planned coordinate storage unit 703 that stores the planned coordinate series of neighboring agents in place of the storage unit 103 is provided.
  • the data structure of the planned coordinate series stored in the planned coordinate storage unit 701 is an arrangement structure of position coordinates.
  • the data structure of the planned coordinate series stored in the neighboring planned coordinate storage unit 703 has a table structure in which data for identifying neighboring agents and array structure data of position coordinates are used as records.
  • the basic operation of the agent 700 is the same as that of the agent 100 shown in the first embodiment.
  • FIG. 19 is a diagram showing a configuration example of a collaborative work robot equipped with an agent that can perform the third embodiment of the present invention.
  • the robot 800 is an external environment detection unit 801 including sensors for detecting its own position, the position of another robot, an obstacle, etc., a moving unit 802 for a motor or leg force for movement, unplanned or predicted A collision avoidance unit 803 for avoiding a collision with an outside obstacle, and 700 agents who make their own movement plan according to the constraints between various inputs from sensors and the movement plan with other robots.
  • the agent 700 determines other data according to the variable data and constraint data that are preliminarily set and the data acquired by the external detection unit 801 and the collision avoidance unit 803. It communicates with the agent of the robot, adjusts the movement plan, makes a movement plan, and instructs the movement unit 802 to move the movement plan.
  • FIG. 20 is a diagram for explaining a movement problem in which the movement planning apparatus according to the third embodiment of the present invention creates a plan.
  • two robots Ra811 and Rb812 work in the same room.
  • Robot Ra811 and Robot Rb812 have their own Sensors can detect and confirm your position in the room, the position of the opponent, and the position of obstacles.
  • the movement plan is planned with quantized tile coordinate values.
  • the space in which the cooperative robots Ra811 and Rb81 2 can move has a width of 5 in the X direction and a width of 2 in the Y direction. Robot Ra811 and robot Rb812 exist in this space.
  • the cooperative work robot Ra811 is located at the initial coordinates (1, 1), and the robot Rb812 is located at the initial coordinates (0, 0).
  • the robot Ra811 and the robot Rb81 2 move to the goal Ga814 and the goal Gb815 on the shortest path, respectively, and the robot Rb812 stays when it reaches the goal Gb815.
  • the mouth bot Ra811 reaches the final coordinate, that is, the goal Ga814 (coordinate (4, 1)), and the robot Rb812 reaches the goal Gb815 (coordinate (4, 0)) within 5 steps.
  • the planned coordinate series for the robot Ra811 is from the planned coordinates (xl l, y 11) to the planned coordinates (xl5, yl5), and for the robot Rb812, the planned coordinate (x21, y21) force is also the planned coordinates (x25 , y25).
  • the planned coordinates (xl l, yl l) and the planned coordinates (xl5, yl5) are the initial position of the mouth bot Ra811 and the position of the goal Ga814, respectively.
  • the planned coordinates (x21, y21) and the planned coordinates (x25, y25) Is the initial position of robot Rb812 and the position of goal Gb815. These values are already determined, and the movement planning problem is to fill in the coordinates between them
  • FIG. 21 is a restriction network diagram of a movement problem created by the movement planning apparatus according to the third embodiment of the present invention.
  • the X coordinate value of the planned coordinate is “0”, “1”, “2”, “3”, “4”, and the Y coordinate value is “0”, “1”.
  • the coordinate (3, 1) has an obstacle K813 and cannot have this planned coordinate value.
  • the movement operator "op" indicates restrictions on the movement command. There are a total of five movements: one movement operator that moves the coordinates one step up, down, left, or right in one step, and one movement operator that does not move at all.
  • FIG. 22 is an explanatory diagram of the mobile operator of the cooperative work robot according to the third embodiment of the present invention.
  • the “left” operator decrements the X coordinate value by 1 and does not change the Y coordinate value. That is, “X coordinate value change” is “1”, and “Y coordinate value change” is “not changed”.
  • the “right” operator increases the X coordinate value by 1, and does not change the ⁇ coordinate value. That is, “X coordinate value change” is “+1”, and “Y coordinate value change” is “Do not change!”.
  • the “up” operator increases the Y coordinate value by 1, and does not change the X coordinate value. That is, “Y coordinate value change” is “+1”, and “X coordinate value change” is “not changed”.
  • the “down” operator decrements the ⁇ coordinate value by 1 and does not change the X coordinate value. That is, “Y coordinate value change” is “ ⁇ 1”, and “X coordinate value change” is “not changed”. Also, the “stay” operator does not change the coordinate value. In other words, “X coordinate value change” and “Y coordinate value change” are “do not change!”.
  • Robot Ra811 and Robot Rb812 select one of these five operators at a time. At this time, as a restriction between these operators, the coordinate series is determined between the coordinates before and after the movement for each movement.
  • FIG. 23 is a diagram for explaining an initial state of the movement planning apparatus according to the third embodiment of the present invention.
  • the robot Ra811 and the robot Rb812 first have their own planned coordinate series (xl l, y 11) and planned coordinate series (xl 5, yl5) and planned coordinates stored in the planned coordinate storage unit 701, respectively.
  • the plan coordinate series (x25, y25) from the series (x21, y21) is shown as planned by the constraint resolution unit 105 based on the restrictions of the moving operator.
  • the robot Ra811 and the robot Rb812 send and receive the planned coordinate series via the communication unit 106, and from the planned coordinates (xl2, y12) to the planned coordinates (xl5, yl5) and the planned coordinates (x22, y22) ) Plan Detects a violation of the constraint because the mark (x25, y25) exists at the same coordinates
  • FIG. 24 is a diagram for explaining an intermediate state of the movement planning apparatus according to the third embodiment of the present invention.
  • the robot Ra811 with priority to eliminate the constraint condition changes the value of the planned coordinate (xl2, yl2) from coordinate (1, 0) to coordinate (2, 1) for the state force in Fig. 23.
  • Robot Ra811 cannot change the planned coordinate series after the planned coordinates (xl2, yl2) in order to reach the goal Ga814 within the target number of movements.
  • the robot Ra811 transmits to the robot Rb812 improvement ease data including information on the previous change and variable change prohibition period generated by the improvement degree generation unit 107.
  • the robot Rb812 that received the improvement ease data of the robot Ra811 changes the planned coordinates (x23, y23) and changes the subsequent planned coordinates.
  • FIG. 25 is a diagram for explaining the final state of the movement plan planning apparatus according to the third embodiment of the present invention.
  • the planned coordinates of robot Ra811 and robot Rb812 are shown in a state where all the constraints are satisfied.
  • the robot Ra811 can reach the goal Ga814, good!] Coordinates (4, 1).
  • Robot Rb812 can reach Gonore Gb815, ie, coordinates (4, 0). Thereby, the movement plan of the robot Ra811 and the robot Rb812 is completed.
  • the agent uses the coordinate series as a variable, and the sensor device acquires the initial value of the variable data and constraint data and the value at the time of change from the outside. And create a plan.
  • the possibility of falling into a local optimal solution and the possibility of some agents falling into an infinite loop are further reduced.
  • the entire set of agents installed on the robot can make a movement plan quickly.
  • the coordinate series is used as a variable.
  • the mobile operator may be used as a variable.
  • the problem of the task assignment device in 1 is solved using a simulator and evaluated by the number of message exchanges.
  • Figure 26 shows an example of the constraint network.
  • the problem is created by first dividing the agents into three groups, and connecting the agents in different groups randomly with constraints.
  • the constraint is an X ⁇ Y type constraint. When you create a problem like this, you can always create a problem that has a solution.
  • Figure 26 shows 10 types of problems with a total of 120 agents and a total of 324 constraints in the force experiment with 12 agents. This is Issue I.
  • Figures 27 and 28 show the results.
  • Figure 27 shows the average number of cycles to reach the solution.
  • Figure 28 shows the solution arrival rate.
  • the average number of cycles to reach the solution by the method of the present invention is much smaller than the average number of cycles to reach the solution by the existing method.
  • the solution arrival rate according to the method of the present invention is 100% in both the problem I and the problem II.
  • the achievement rate by the existing method reached 100% for both Problem I and Problem ⁇ .
  • the method of the present invention reliably reaches the solution in a shorter time than the existing method.
  • the existing method has 5277.30 cycles (solution attainment rate of 74%), while the method of the present invention has 407.82 cycles (solution attainment rate of 100%). Appears.
  • Embodiments 1 to 3 each problem can be solved by exchanging information several times between agents. But the actual problem is very complex. For example, in the third embodiment, the number of coordinates that the robot can take is very small, the force of the form The constraints in the real world are complicated, and the number of times of information exchange is very large. However, solving such a distributed constraint satisfaction problem with such a complex problem requires a very long time with the existing algorithm, but according to the present invention, it can be solved at high speed. Embodiments 1 to 3 simplify the problem to briefly explain it, and the scope of application of the agent according to the present invention is not limited to a simple problem. .
  • the present invention is not limited to the field of the above-described embodiment.
  • it can also be applied to task distribution to robots, robot position identification, and map creation by multiple robots.
  • variables and constraints are distributed for each robot, and it is necessary to solve them by using a plurality of robots. Therefore, the present invention can be applied.
  • the present invention provides a It can be applied to integration of sensing information. In order to remove the sensing noise and error of each sensor and obtain accurate information as a whole, it is necessary to solve the variables and restrictions of each sensor and the restrictions on the sensing information between sensors. it can.
  • the present invention can be applied to tasks such as task assignment to each sensor, formation of a network between sensors, assignment of communication frequency between sensors, and a device for sending sensing information to a target node.
  • the present invention can also be applied to an apparatus that assigns a tracking target to an observation device in tracking a plurality of observation targets by a plurality of observation devices.
  • an apparatus that assigns a tracking target to an observation device in tracking a plurality of observation targets by a plurality of observation devices.
  • variables and constraints such as the performance of each observation device, the observation range, and movement of the tracking target are distributed among the observation devices.
  • the present invention can be applied when operating in a distributed environment.
  • the present invention can be applied to production planning, inventory planning, delivery planning and the like in supply chain management.
  • the present invention can be applied to solving various logistic problems and planning.
  • the problem can be solved by distributing it, but the present invention can also be applied to concealing some information.
  • the present invention can also be applied to a power system facility work stoppage plan.
  • the present invention can also be applied to energy delivery plans based on energy demand forecasts. For example, in power distribution plans for power plants, the present invention can be applied even when various constraints and variables such as power plant capabilities and maintenance plans, demand forecasts, and distribution networks are distributed and operated in a distributed environment. it can.
  • the present invention can also be applied to an air conditioning plan using a plurality of air conditioning devices. Even when distributed air conditioning equipment adjusts the temperature independently, variables and constraints are dispersed! The present invention can also be applied to the case where each device solves the stale state. Further, the present invention can be applied to failure diagnosis of a system consisting of a plurality of devices, communication route routing, communication frequency allocation of a wireless network, and the like.
  • the present invention can also be applied to schedule creation and work assignment for railways, buses, and the like. For example, the creation of a diagram at a railway company that has multiple trains entering each other can be performed even when the variables of the diagram and restrictions on entry are distributed among the companies and the control of the variables is solved by each device.
  • the invention can be applied.
  • the agent that is effective in the present invention is suitable for a control device or the like that is mounted on a network-connected task allocation device, schedule device, robot, etc., autonomously communicates asynchronously with neighboring agents and cooperates to eliminate restrictions. .

Abstract

An agent comprises a variable storage section storing variable data, a restriction storage section storing restriction data, a variable change inhibition period storage section storing variable change inhibition period data, an improvement easiness creating section for creating improvement easiness data representing the easiness for the variable data to satisfy restriction data, a communication section for communicating the improvement easiness data with neighboring agents, a neighbor situation storage section storing the improvement easiness data on the neighboring agents, a constriction solving section for comparing the improvement easiness data and that on the neighboring agents, changing variable data to solve restriction violation according to the variable change inhibition period data, and updating the variable change inhibition period data. Such many agents cooperate asynchronously and solve restriction violation. The whole group of agents obtains a solution more quickly without falling into a local optimum solution.

Description

エージェントおよび分散制約充足方法  Agents and distributed constraint satisfaction methods
技術分野  Technical field
[0001] 本発明は、近隣のエージェントと通信し、非同期で協調して制約条件を満たすため の解を求めるエージェント、および、エージェントの分散制約充足方法に関する。 背景技術  TECHNICAL FIELD [0001] The present invention relates to an agent that communicates with neighboring agents and obtains a solution for satisfying a constraint condition in an asynchronous manner, and an agent distributed constraint satisfaction method. Background art
[0002] 工場の生産計画や病院の看護士勤務表の作成、ロジスティックスの計画作成など、 1つの計画と他の計画との間で規定された制約を満たす計画案を作成する装置とし て、制約充足装置が知られている。従来の制約充足装置は、より具体的には、計算 機のハードウェアとソフトウェア力 構成される。図 29は、従来の制約充足装置を構 成する計算機の構成を示す。図 29において、計算機 900は、 CPU901、メモリ 902 、表示部 903、入力部 904、二次記憶部 905、ネットワークインタフェース 906で構成 されている。さらに、二次記憶部 905に、変数の初期値と制約データ、および、各部 を制御するソフトウェアが格納されて 、る。  [0002] As a device that creates a plan that satisfies the constraints specified between one plan and other plans, such as production plans for factories, nurses' work schedules for hospitals, and logistics plans, Satisfaction devices are known. More specifically, the conventional constraint satisfaction device is composed of computer hardware and software capabilities. Figure 29 shows the configuration of a computer that constitutes a conventional constraint satisfaction device. In FIG. 29, a computer 900 includes a CPU 901, a memory 902, a display unit 903, an input unit 904, a secondary storage unit 905, and a network interface 906. Further, the secondary storage unit 905 stores initial values of variables, constraint data, and software for controlling each unit.
[0003] また、制約充足装置は、その動作原理を制約充足問題に一般ィ匕できることが知ら れている。このことは、例えば、特開平 11— 316682号公報(第 4— 5頁)や、石塚 満著「情報科学コアカリキュラム講座、知識の表現と高速推論」(丸善、 1996年、 p. 20, 103— 119)に開示されている。  [0003] Further, it is known that a constraint satisfaction device can generally apply its operation principle to a constraint satisfaction problem. This can be explained, for example, in Japanese Patent Laid-Open No. 11-316682 (pages 4-5) and Mitsuru Ishizuka, “Course of Information Science Core Curriculum, Knowledge Representation and Fast Reasoning” (Maruzen, 1996, p. 20, 103). — 119).
[0004] この制約充足問題は、次のように説明される。すなわち、制約充足問題とは、 m個 の変数 xl、 x2、 . . ·、 xmと、各変数のとり得る値の集合 Dl、 D2、 · · ·、 Dm、および、 各変数間の制約の集合 P= {pi, p2, · · · , pr}が存在する時、変数の値がこの制約 をすベて満たす組合せを見つけることである。すなわち、述語論理で記述すると、式 1が真である場合の変数の組を見つけることである。  [0004] This constraint satisfaction problem is explained as follows. In other words, the constraint satisfaction problem is a set of m variables xl, x2,..., Xm and the possible values of each variable Dl, D2,..., Dm, and a set of constraints between each variable When P = {pi, p2, · · ·, pr} exists, it is to find a combination in which the value of the variable satisfies all of this constraint. In other words, in predicate logic, it is to find a set of variables when expression 1 is true.
[0005] [数 1]  [0005] [Equation 1]
("* , ^ x2 }* * * コ m f
Figure imgf000003_0001
[0006] 制約充足問題のアルゴリズムや探索手法が既に提案されている。すべての解の組 合せを探索するノ ックトラック探索手法や、ヒューリスティックスと呼ばれる問題に対す る知識情報を用いる山登り法や最良優先探索、 A * (エー'スター)アルゴリズムなど が知られている。ヒューリスティックサーチは解の評価値を改善する方向に進むため、 高速に解に到達するが、局所最適解に陥るとそこ力 脱出できず、本当の解に到達 し得ない可能性がある。また、シミュレ一テッド 'アニーリングや遺伝的アルゴリズムな どの確率的探索と呼ばれる手法が知られている。また、局所的探索手法を一般化し たタブーサーチが知られている。タブーサーチは、最近選んだ近傍解への探索を避 ける機構を持ち、近傍への探索を効率ィ匕している。これは例えば、特開平 11— 195 066号公報 (第 9頁、第 2図)や石塚 満著「情報科学コアカリキュラム講座、知識の 表現と高速推論」(丸善、 1996年、 p. 20, 103— 119)や、サディック ·Μ·サイト、外 1名著、白石洋ー訳、「組合せ最適化アルゴリズムの最新手法」(丸善、 2002年、 p. 163)や、リナ'デチター著、「コンストレイント 'プロセッシング」((米国)、モルガン'力 ゥフマン'パブリツシヤーズ、 2003年)に開示されている。
("*, ^ X 2 } * * *
Figure imgf000003_0001
[0006] Algorithms and search methods for constraint satisfaction problems have already been proposed. Known methods include a knock track search method that searches for all combinations of solutions, a hill-climbing method that uses knowledge information for a problem called heuristics, a best-first search, and an A * (A 'star) algorithm. Since heuristic search progresses in the direction of improving the evaluation value of the solution, it reaches the solution at high speed, but if it falls into the local optimal solution, it cannot escape, and there is a possibility that it cannot reach the true solution. Also known are methods called stochastic search, such as simulated 'annealing and genetic algorithms. In addition, tabu search, which is a generalized local search method, is known. Tabu search has a mechanism that avoids searching for recently selected neighborhood solutions, and makes searching for neighborhoods efficient. This includes, for example, Japanese Patent Laid-Open No. 11-195 066 (page 9, Fig. 2) and Mitsuru Ishizuka "Information Science Core Curriculum Course, Knowledge Representation and Fast Inference" (Maruzen, 1996, p. 20, 103). — 119), Sadick · Μ Site, 1 other author, Hiroshi Shiraishi, “Latest method of combinatorial optimization algorithm” (Maruzen, 2002, p. 163), Rina's Deciter, “Constraint” 'Processing' ((USA), Morgan 'Power Ufman' Publicishers, 2003).
[0007] また、制約充足問題は制約ネットワーク図を用いて表現することができるので、ここ で制約ネットワーク図について説明する。  [0007] Since the constraint satisfaction problem can be expressed using a constraint network diagram, the constraint network diagram will be described here.
[0008] 図 30は、制約充足問題を表現する制約ネットワーク図を説明する図である。図 30 において、ノード 1001は制約充足問題の変数、アーク 1002は変数間の制約関係を 示している。制約充足問題は、変数 η個の間の制約は 2項制約に変換して表現でき るため、一般性を失うことなぐこのような制約ネットワーク図で表現することができる。 例えば、各ノードが「黒」と「白」のうちどちらか一方の値をとり、各アークの両端のノー ドが同じ値をとることができないという制約を持つ場合の例について説明する。  FIG. 30 is a diagram for explaining a constraint network diagram expressing the constraint satisfaction problem. In Fig. 30, node 1001 indicates the variable of the constraint satisfaction problem, and arc 1002 indicates the constraint relationship between the variables. The constraint satisfaction problem can be expressed in such a constraint network diagram without losing generality because the constraint between η variables can be expressed by converting it into a binary constraint. For example, an example will be described in which each node takes one of the values “black” and “white” and the nodes at both ends of each arc cannot have the same value.
[0009] 図 31Aは、制約充足問題の初期状態例を示す制約ネットワーク図、図 31Bは、制 約充足問題の解の定まった状態例を示す制約ネットワーク図である。図 31Aと図 31 Βにおいて、値が「黒」のノードは黒色で、値が「白」のノードは白色で示されている。 図 31Aでは、ノード Χ203とノード Χ206の値がともに「黒」でありこれらの間で制約違 反が発生している。また、同じ値「白」であるノード Χ204とノード Χ205の間でも制約 違反が発生している。図 31Bは、すべてのノード間の制約が満たされ、この問題の解 の一つが定まった状態を示している。以降の説明では、適時、このような制約ネットヮ 一ク図を用いる。 FIG. 31A is a constraint network diagram showing an example of an initial state of a constraint satisfaction problem, and FIG. 31B is a constraint network diagram showing an example of a state in which a solution of the constraint satisfaction problem is defined. In FIG. 31A and FIG. 31 ノ ー ド, a node with a “black” value is shown in black, and a node with a “white” value is shown in white. In FIG. 31A, the values of node Χ203 and node Χ206 are both “black”, and a constraint violation has occurred between them. Also, a constraint violation has occurred between node Χ204 and node Χ205, which have the same value “white”. Figure 31B shows the solution to this problem when the constraints between all nodes are met. One of them shows a fixed state. In the following description, such a restricted network diagram is used as appropriate.
[0010] 特に、制約充足装置のうちネットワークの資源割当計画や多数の作業を含む生産 計画、あるいは、電力系統設備の作業停止計画など、分散して配置された計画と他 の計画との間で規定された制約を満たす計画案を他の装置と非同期に協調して作 成する装置として、複数のエージェントから構成される分散制約充足装置が知られて いる。この分散制約充足装置を構成するエージェントの動作原理は、制約充足問題 の変数や制約を分散した分散制約充足問題に一般ィ匕できることが知られている。  [0010] In particular, among the constraint satisfaction devices, between a distributed plan such as a network resource allocation plan, a production plan including a large number of operations, or a work stoppage plan for power system equipment, and other plans. As a device that asynchronously cooperates with other devices to create a plan that satisfies the specified constraints, a distributed constraint satisfaction device composed of multiple agents is known. It is known that the operating principle of the agents that make up this distributed constraint satisfaction device can be generally applied to distributed constraint satisfaction problems in which the variables and constraints of the constraint satisfaction problem are distributed.
[0011] ここで、分散制約充足問題を表現する制約ネットワーク図について説明する。分散 制約充足問題も、変数 n個の間の制約は 2項制約に変換して表現できるため、制約 充足問題と同様に制約ネットワーク図で表現することができる。図 32は、分散制約充 足問題を表現する制約ネットワーク図を説明する図である。図 32において、 1003a、 1003b, 1003cはエージェント、ノード 1001はエージェント 1003aが持つ変数、ァー ク 1002はそれら変数間の制約関係を示している。このように各エージェントは、分散 制約充足問題の一部の変数を対象にして、それぞれ対象に近隣の制約関係のある エージェントと非同期に協調して制約を解消する。  Here, a constraint network diagram expressing the distributed constraint satisfaction problem will be described. A distributed constraint satisfaction problem can also be expressed as a constraint network diagram in the same way as the constraint satisfaction problem because the constraint between n variables can be expressed as a binary constraint. FIG. 32 is a diagram for explaining a constraint network diagram expressing the distributed constraint satisfaction problem. In FIG. 32, 1003a, 1003b, and 1003c are agents, a node 1001 is a variable that the agent 1003a has, and an arc 1002 indicates a constraint relationship between these variables. In this way, each agent targets some variables in the distributed constraint satisfaction problem and resolves the constraints asynchronously with agents that have neighboring constraint relationships with the target.
[0012] ここで、納入契約によって結ばれた複数の独立した会社、工場などの個々の事業 者が利益を上げ、し力も全体としても利益が大きくなるように生産計画する場合の例 について説明する。計画は、各事業者が独立して並行に作成し、各自業者間で計画 を調整する。この全体の生産計画作成は分散制約充足問題として一般ィ匕できる。図 33において、事業者 F1から事業者 F7は、それぞれ部品 Aから部品 Eや、半製品 F の生産数や在庫数、納入数など個別に生産計画を立案し、また他の事業者とこれら の全体計画を調整する。この時、納期や価格、生産期間、生産能力などの事業者間 での各制約条件を満足する必要がある。しかし、事業者 F1が、事業者 F4に対して事 業者 F3や事業者 F5の機密情報を漏らすことなく各計画を作成するためには、分散 した変数や制約の情報を一箇所に集めることなく問題を解く方法が必要である。この ように、分散制約充足問題では、制約についての情報を通信しょうとすると通信コスト が大きくなるという課題や、内部データである変数データを他のエージェントに対して 隠蔽しなければいけないなどの課題から、分散制約充足問題についての情報を一 箇所に集めて解くことが現実的ではな 、。 [0012] Here, an example will be described in which a production plan is made so that individual companies such as multiple independent companies and factories that have been signed through delivery contracts make profits, and the profits are increased as a whole. . Plans are prepared independently and in parallel by each operator, and the plans are coordinated between each company. This overall production planning can be generally described as a distributed constraint satisfaction problem. In Fig. 33, business operators F1 to F7 individually formulate production plans for parts A to E and semi-finished products F, such as the number of products produced, inventories, and the number of deliveries. Adjust the overall plan. At this time, it is necessary to satisfy each constraint condition among business operators such as delivery date, price, production period, and production capacity. However, in order for business operator F1 to create each plan without leaking confidential information of business operator F3 and business operator F5 to business operator F4, it is not necessary to collect information on distributed variables and constraints in one place. We need a way to solve the problem. In this way, in the distributed constraint satisfaction problem, communication costs increase when trying to communicate information about constraints, and variable data that is internal data is sent to other agents. It is not practical to collect and solve information about the distributed constraint satisfaction problem in one place because of problems such as having to conceal it.
[0013] 制約充足問題を解く既存のアルゴリズムや探索アルゴリズムをそのまま分散制約充 足問題に適用することは、非常に難しいことが知られている。分散環境でバックトラッ ク探索する方法として、非同期分散バックトラック法が知られている。ノックトラック探 索は、探索時に分岐点を覚えておき、探索中に矛盾が生じたら分岐点まで戻って別 のルートを探索する単純な方法である。これに対し、非同期分散バックトラック法は、 分散環境でこれを実現するために 2種類のメッセージと複数のメモリを使 、分けると いう複雑な構成が必要である。また、この非同期分散バックトラック法は、ノ ックトラッ ク探索と同様にバックトラックを用いた全解探索であるため、探索に著しく時間がかか る。また、各エージェントはノーグッドと呼ばれる制約違反情報を大量に保持する必 要がある。このアルゴリズムは、例えば、特開平 11— 316682号公報 (第 4— 5頁)や 、横尾 真、外 3名、「分散制約充足による分散協調問題解決の定式化とその解法」( 電子情報通信学会論文誌 D—I、 1992年、第 75卷、第 8号、 p. 704— 713)や、横 尾 真、外 1名、「分散制約充足のアルゴリズム:レビュー」(自律エージェントとマルチ エージェント-システム、(米国)、 2000年、第 3卷、 2号、 p. 189— 212)などに開示 されている。  [0013] It is known that it is very difficult to apply an existing algorithm or search algorithm for solving a constraint satisfaction problem to a distributed constraint satisfaction problem as it is. As a method for searching for a backtrack in a distributed environment, an asynchronous distributed backtrack method is known. Knock track search is a simple method that remembers the branch point during the search and returns to the branch point to search for another route if a contradiction occurs during the search. In contrast, the asynchronous distributed backtracking method requires a complex configuration that uses and separates two types of messages and multiple memories to achieve this in a distributed environment. In addition, this asynchronous distributed backtracking method is a full solution search using backtracking in the same way as the knocktracking search, and therefore the search takes a very long time. In addition, each agent must maintain a large amount of constraint violation information called “no good”. This algorithm is, for example, disclosed in Japanese Patent Application Laid-Open No. 11-316682 (pages 4-5), Makoto Yokoo, and three others, “Formulation and Solution of Distributed Cooperative Problem Solving by Satisfying Distributed Constraints” (The Institute of Electronics, Information and Communication Engineers) Journal D—I, 1992, Vol. 75, No. 8, p. 704—713), Makoto Yokoo, and 1 other, “Distribution constraint satisfaction algorithm: review” (autonomous agents and multi-agent systems) (USA), 2000, No. 3, IV, p. 189-212).
[0014] また、非同期分散バックトラック法を改善した非同期弱コミットメント探索法が知られ ている。非同期弱コミットメント探索法は、優先度の概念を導入して高速であるが、制 約違反情報を大量に保持、交換する必要がある。また、その情報を検索し、条件によ つてさらに制約違反情報を生成するなどのコストが必要である。また、特定のエージ ェント間の制約情報を第三のエージェントにも配布する必要があり、エージェント間で のセキュリティを保つことができない。このアルゴリズムは、例えば、リナ 'デチタ一著「 コンストレイント 'プロセッシング」((米国)、モルガン'カウフマン 'パブリツシヤーズ、 2 003年)や、横尾 真「非同期弱コミットメント探索法」(第 1回制約プログラミングの原 理と実践に関する国際会議 (CP— 95) )、(米国)、 1995年、 p. 407— 422) )などに 開示されている。  [0014] Also, an asynchronous weak commitment search method that improves the asynchronous distributed backtracking method is known. Asynchronous weak commitment search is fast by introducing the concept of priority, but it needs to hold and exchange large amounts of constraint violation information. In addition, costs such as searching for the information and generating further constraint violation information depending on conditions are necessary. Moreover, it is necessary to distribute the restriction information between specific agents to the third agent, and security between agents cannot be maintained. This algorithm is, for example, Lina 'Decita's' Constraint' Processing '(USA), Morgan' Kaufman's' Publishers', 2003, and Yokoo Makoto 'Asynchronous Weak Commitment Search Method' (1st Constraint Programming International Conference on the Principles and Practices of Science (CP-95)), (USA), 1995, p. 407-422)).
[0015] また、ノ ックトラックを必要とせず、制約違反情報も持たな 、アルゴリズムとして、分 散ブレークアウトアルゴリズムが知られている。しかし、このアルゴリズムは特定の条件 下では、ループに陥り解が得られない可能性がある。また、制約に対して重み付けを するため、解を求めている途中で制約が変わるような動的状況には対応できない。こ れは、例えば、特開平 9— 297689号公報 (第 4頁、第 1図)や、横尾 真、外 1名、「 分散 breakout :反復改善型分散制約充足アルゴリズム」(情報処理学会論文誌、 19 98年、第 39卷、第 6号、 p. 1889— 1897)など【こ開示されて!ヽる。 [0015] In addition, as an algorithm that does not require a knock track and does not have constraint violation information, A diffuse breakout algorithm is known. However, under certain conditions, this algorithm may fall into a loop and fail to obtain a solution. In addition, because the constraints are weighted, it is not possible to deal with dynamic situations in which the constraints change while seeking a solution. This includes, for example, Japanese Patent Laid-Open No. 9-297689 (page 4, Fig. 1), Makoto Yokoo, and one other, "Distributed breakout: Iteratively improved distributed constraint satisfaction algorithm" (Journal of Information Processing Society of Japan, 19 1998, No. 39, No. 6, p. 1889-1897) etc.
[0016] また、従来のエージェントは、従来の制約充足装置と同様に、より具体的には、計 算機のハードウェアとソフトウェア力も構成される。特に、複数のエージェントがネット ワークを介して非同期に通信し、協調して制約違反を解消するように動作する。  [0016] In addition, the conventional agent, like the conventional constraint satisfaction device, more specifically includes the hardware and software of the computer. In particular, multiple agents communicate asynchronously over the network and work together to resolve constraint violations.
[0017] 上記従来のエージェントでは、各エージェントがそれぞれ非同期でエージェント間 の制約違反状態を解消するための変数を求めようとする。そのため、局所最適解に 陥る可能性や、一部のエージェントが順番に値を変更する処理の無限ループに陥る 可能性が高 、と 、う課題がある。  [0017] In the conventional agent described above, each agent tries to obtain a variable for eliminating the constraint violation state between agents asynchronously. Therefore, there is a problem that there is a high possibility of falling into a local optimal solution and a possibility of falling into an infinite loop of processing in which some agents change values in order.
発明の開示  Disclosure of the invention
[0018] 本発明は、このような課題を解決するもので、非同期でエージェント間の制約違反 状態を解消するための変数を求める際に、一部のエージェントだけで制約違反を解 消しようとせず、多くのエージェントで制約違反解消にあたることで、局所最適解や無 限ループに陥ることなぐ結果としてエージェントの集合全体がより早く解に到達する エージェントを提供するものである。  [0018] The present invention solves such a problem, and when obtaining a variable for eliminating the constraint violation state between agents asynchronously, it does not attempt to resolve the constraint violation with only some of the agents. By solving constraint violations with many agents, we provide an agent in which the entire set of agents reaches the solution earlier as a result of not falling into a local optimal solution or an infinite loop.
[0019] 上記の課題を解決するために、本発明のエージェントは、複数のエージェントが非 同期で協調して解を求めるエージェントにおいて、求める前記解の現在の値を示す 変数データを記憶する変数記憶部と、変数データと近隣のエージェントが記憶する 変数データとの値の組合せを示す制約データを記憶する制約記憶部と、変数データ の変更を禁止する期間を示す変数変更禁止期間データを記憶する変数変更禁止期 間記憶部と、自エージェントの前記変数データが制約データを満たすための容易度 を示す改善容易度データを生成する改善容易度生成部と、変数データと改善容易 度生成部が生成した改善容易度データとを近隣のエージェントと送受信する通信部 と、近隣のエージェントより取得した改善容易度データおよび変数データとで構成す る近隣状況データを記憶する近隣状況記憶部と、改善容易度生成部が生成した改 善容易度データと近隣状況記憶部に格納している近隣のエージェントの改善容易度 データとを比較し、変数変更禁止期間データに応じて、近隣状況記憶部に格納して いる近隣のエージェントの変数データとの間の制約違反を解消するように変数データ を制約データの組合せを満たす値に変更するとともに、変数変更禁止期間データを あらかじめ定められた期間とするよう設定する制約解決部とを備える。 [0019] In order to solve the above-described problem, the agent of the present invention is a variable storage that stores variable data indicating a current value of the solution to be obtained in an agent in which a plurality of agents obtain the solution in cooperation in an asynchronous manner. Part, a constraint storage unit for storing constraint data indicating a combination of values of variable data and variable data stored by neighboring agents, and a variable for storing variable change prohibition period data indicating a period during which the change of variable data is prohibited Generated by the change prohibition period storage unit, the improvement degree generation unit that generates the improvement degree data indicating the degree of ease with which the variable data of the own agent satisfies the constraint data, and the variable data and improvement degree generation unit Communication unit that transmits / receives improvement degree data to / from neighboring agents, improvement degree data and variable data obtained from neighboring agents Configuration to The neighborhood situation storage unit that stores the neighboring situation data, the improvement degree data generated by the improvement degree creation unit, and the improvement degree data of the neighboring agents stored in the neighborhood situation storage unit are compared, and According to the change prohibition period data, the variable data is changed to a value that satisfies the combination of the constraint data so that the constraint violation with the variable data of the neighboring agent stored in the neighborhood status storage unit is resolved, and the variable A constraint resolution unit that sets the change prohibition period data to be a predetermined period.
[0020] そのため、ある条件下で一定の期間において変数を連続して変更することを禁止 することにより、一部のエージェントの制約違反を解消するだけでなぐ多くのエージ ェントで制約違反を解消するもので、局所最適解に陥ることなぐ結果としてエージェ ントの集合全体がより早く解に到達することができる。  [0020] Therefore, by prohibiting the continuous change of variables for a certain period under a certain condition, the constraint violations of many agents can be resolved just by eliminating the constraint violations of some agents. As a result, the entire set of agents can reach the solution more quickly as a result of not falling into the local optimal solution.
[0021] また、本発明のエージェントは、改善容易度データは、少なくとも、制約データの数 を示す制約数と、変数データが制約データに違反している数を示す制約違反数と、 変数データの値を変更した場合に違反状態を解消できる制約データの数を示す改 善可能数とのいずれか 1つを属性とする構造とし、改善容易度生成部が、変数データ に対する制約データの総数を求めて制約数とし、変数データと近隣のエージェントの 変数データとが制約データの値の組合せを満たして 、な 、制約データの総数を求め て制約違反数とし、変数データと近隣のエージェントの変数データとが制約データの 値の組合せを満たしていない制約データのうち、変数データが変数変更禁止期間デ ータに含まれておらず、かつ、変数データの値を変更することによって、制約データ の値の組合せを満たすように変更できる組合せの総数を求めて改善可能数として、 改善容易度データの属性の値を生成する。  In the agent of the present invention, the improvement ease data includes at least the number of constraints indicating the number of constraint data, the number of constraint violations indicating the number of variable data violating the constraint data, and the variable data When the value is changed, the structure has one of the possible improvement numbers indicating the number of constraint data that can resolve the violation status, and the ease of improvement generation unit calculates the total number of constraint data for the variable data. If the variable data and the variable data of the neighboring agent satisfy the combination of the values of the constraint data, the total number of constraint data is obtained as the constraint violation number, and the variable data and the variable data of the neighboring agent Among the constraint data that does not satisfy the constraint data value combination, the variable data is not included in the variable change prohibition period data, and the variable data value is changed. Therefore, the total number of combinations that can be changed to satisfy the combination of constraint data values is obtained, and the attribute value of the improvement ease data is generated as the number that can be improved.
[0022] そのため、エージェントが変数データを変更すべきかどうかについてその変数デー タが制約データを満たす度合いに基づいて判断できるようになり、結果としてエージ ェントの集合全体がより早く解に到達することができる。  [0022] Therefore, it becomes possible to determine whether or not the agent should change the variable data based on the degree to which the variable data satisfies the constraint data. As a result, the entire set of agents may reach the solution earlier. it can.
[0023] また、本発明のエージェントは、変数データが制約データを満たして 、る度合!/、の 過去の推移を示す改善傾向データを記憶する改善傾向記憶部をさらに備え、制約 解決部は、変数データに含まれる制約違反数で改善傾向記憶部にしている改善傾 向データを追加更新し、改善傾向データに応じて変数変更禁止期間の長さを決定し て、変数データを変更後に変数変更禁止期間記憶部に記憶している変数変更禁止 期間データを更新する。 [0023] The agent of the present invention further includes an improvement trend storage unit that stores improvement trend data indicating past transitions of the degree to which the variable data satisfies the constraint data, and the constraint resolution unit includes: Based on the number of constraint violations included in the variable data, the improvement trend data stored in the improvement trend storage is additionally updated, and the length of the variable change prohibition period is determined according to the improvement trend data. Then, after changing the variable data, the variable change prohibition period data stored in the variable change prohibition period storage unit is updated.
[0024] そのため、エージェントが制約違反の改善傾向に応じて変数データの変数変更禁 止期間を調整し、問題に適応した期間だけ変数を変更することを禁止できるようにな り、局所最適解に陥ることなぐあるいは一部のエージェントだけの無限ループに陥る 可能性が低下し、結果としてエージェントの集合全体がより早く解に到達することがで きる。  [0024] Therefore, the agent can adjust the variable change prohibition period of the variable data according to the improvement tendency of the constraint violation and prohibit the change of the variable only for the period adapted to the problem. The possibility of falling into an infinite loop of only a part of the agents or falling is reduced, and as a result, the entire set of agents can reach the solution faster.
[0025] また、本発明のエージェントは、改善容易度生成部は、第 1の一定時間間隔毎に改 善容易度データを生成し、通信部が近隣のエージェントへ改善容易度データを送信 するように構成する。  [0025] Further, in the agent of the present invention, the improvement level generator generates the improvement level data at every first fixed time interval, and the communication unit transmits the improvement level data to neighboring agents. Configure.
[0026] そのため、エージェントが近隣のエージェントの改善度合いを定期的に取得できる ようになり、より最新の改善状況に基づいて変数を変更するかどうかを判断し、結果と して、エージェントの集合全体がより早く解に到達することができる。  [0026] Therefore, the agent can periodically acquire the improvement degree of neighboring agents, and determines whether or not to change the variable based on the more recent improvement status, and as a result, the entire set of agents is determined. Can reach the solution faster.
[0027] また、本発明のエージェントは、改善容易度生成部は、第 2の一定時間間隔毎に改 善容易度データを生成し、制約解決部が変数変更禁止期間データに応じて、近隣 のエージェントの記憶する変数データとの間の制約違反を解消するように変数データ を変更するとともに変数変更禁止期間記憶部に記憶している変数変更禁止期間デ ータを更新するように構成する。  [0027] Also, in the agent of the present invention, the improvement ease generation unit generates improvement ease data at every second fixed time interval, and the constraint resolution unit determines the neighborhood change according to the variable change prohibition period data. The variable data is changed so as to eliminate the constraint violation with the variable data stored in the agent, and the variable change prohibition period data stored in the variable change prohibition period storage unit is updated.
[0028] そのため、エージェントが自身の改善度合いを定期的に確認できるようになり、より 最新の自身の改善状況に基づいて変数を変更し、結果として、エージェントの集合 全体がより早く解に到達することができる。 [0028] Therefore, the agent can periodically check his / her improvement level, change the variable based on his / her latest improvement status, and as a result, the entire set of agents reaches the solution earlier. be able to.
[0029] また、本発明のエージェントは、第 1の一定時間間隔は、第 2の一定時間間隔より小 さく設定するように構成する。 [0029] Further, the agent of the present invention is configured such that the first constant time interval is set smaller than the second constant time interval.
[0030] そのため、エージェントが近隣のエージェントの改善度合いを送受信する頻度よりも 自身の改善度合いを確認する頻度を低くできるようになり、近隣のエージェントの最 新状況に基づいて改善度合いを確認することができ、結果として、エージェントの集 合全体がより早く解に到達することができる。 [0030] Therefore, the frequency at which the agent checks its improvement level can be lower than the frequency at which the agent sends and receives the improvement level of the neighboring agent, and the improvement level can be checked based on the latest situation of the neighboring agent. As a result, the entire set of agents can reach the solution faster.
[0031] また、本発明のエージェントは、変数データの変更を禁止する期間を示す変数変 更禁止期間は、第 2の一定時間間隔の k倍 (kは整数)に設定するように構成する。 [0031] Further, the agent of the present invention provides a variable change indicating a period during which change of variable data is prohibited. The prohibited period is set to be k times the second fixed time interval (k is an integer).
[0032] そのため、エージェントが自身の変数データを変更後に、変数データの変更を禁止 した状態で、変数データの改善度を近隣のエージェントが判断することができるように なり、一部のエージェントの制約違反だけでなぐ多くのエージェントで制約違反を解 消し、一部のエージェントだけの無限ループに陥る可能性がより低下し、結果として エージェントの集合全体がより早く解に到達することができる。 [0032] For this reason, it becomes possible for neighboring agents to judge the degree of improvement of variable data in a state where the change of variable data is prohibited after the agent has changed its own variable data. It is possible to resolve constraint violations with many agents that violate only, and to reduce the possibility of falling into an infinite loop with only some agents, and as a result, the entire set of agents can reach the solution faster.
[0033] また、本発明のエージェントは、制約解決部は、変数データを変更するかどうかを 判定する際に、自エージェントの改善容易度データと近隣状況記憶部が記憶する近 隣のエージェントの改善容易度データとを比較し、少なくとも改善可能数が最も多い 場合と、自エージェント以外に制約違反をして 、て変数データを変更できるエージェ ントがいない場合と、制約違反数が最も多い場合と、制約数が最も少ない場合とのう ちいずれか 1つの場合に変数データを変更すると判定するように構成する。 [0033] Further, in the agent of the present invention, when the constraint solving unit determines whether or not to change the variable data, improvement of the neighboring agent stored in the improvement degree data of the own agent and the neighboring state storage unit. Comparing with ease data, there are at least the greatest number of possible improvements, cases where there is no agent that can change the variable data by violating the constraint other than its own agent, and when the number of constraint violations is the largest. It is configured so that it is determined that the variable data will be changed when one of the cases where the number of constraints is the smallest.
[0034] そのため、エージェントが変数データを変更すべきかどうかについてその変数デー タが制約データを満たす複数の度合いに基づいて判断できるようになり、変数を変更 するエージェントを任意の基準で決定し、結果としてエージェントの集合全体が解に 到達する度合 ヽを調整することができる。 [0034] Therefore, it is possible to determine whether or not the agent should change the variable data based on a plurality of degrees that the variable data satisfies the constraint data. As a result, the degree to which the entire set of agents reaches the solution can be adjusted.
[0035] また、本発明のエージェントは、制約解決部は、変数データを変更する際に、制約 データより制約を満たす変数の値を選択し、変数記憶部の変数データを更新するよ うに構成する。 [0035] In addition, the agent of the present invention is configured such that, when changing the variable data, the constraint solving unit selects a variable value satisfying the constraint from the constraint data and updates the variable data in the variable storage unit. .
[0036] そのため、エージェントが制約を解消する値を組合せリストから選択することができ るようになり、適切に制約を解消できる値を確実に選定し、結果としてエージェントの 集合全体がより早く解に到達することができる。  [0036] Therefore, the agent can select a value from which the constraint is removed from the combination list, and a value that can properly eliminate the constraint is selected reliably. As a result, the entire set of agents can be solved more quickly. Can be reached.
[0037] また、本発明のエージェントは、制約解決部は、改善傾向データの直近の第 3の一 定時間間隔における制約違反数の合計 mlとその前の第 3の一定時間間隔における 制約違反数の合計 mOとを比較により、 ml <mOの場合は改善傾向があると判定して 変数変更禁止期間の現在設定値を短くし、 ml≥mOの場合は改善傾向がないと判 定して変数変更禁止期間の現在設定値を長くして、変数変更禁止期間データを更 新するように構成する。 [0038] そのため、エージェントが実際の制約違反数の改善傾向に応じて変数データの変 数変更禁止期間を調整し、問題に適応した期間だけ変数を変更することを禁止でき るようになり、結果としてエージェントの集合全体がより早く解に到達することができる [0037] Further, in the agent of the present invention, the constraint resolution unit has the total ml of constraint violations in the latest third constant time interval of the improvement trend data and the number of constraint violations in the previous third constant time interval. When ml <mO, the current set value of the variable change prohibition period is shortened, and when ml ≥ mO, it is determined that there is no improvement trend. It is configured to update the variable change prohibition period data by increasing the current setting value of the change prohibition period. [0038] Therefore, the agent can adjust the variable change prohibition period of the variable data according to the actual improvement trend of the number of constraint violations, and prohibit the change of the variable only for the period adapted to the problem. As a whole set of agents can reach the solution faster
[0039] 本発明のエージェントによれば、ある条件下で一定の期間において変数を連続し て変更することを禁止することにより、一部のエージェントだけで制約違反を解消しよ うとせず、多くのエージェントで制約違反の解消にあたることで、局所最適解や無限 ループに陥ることなぐ結果としてエージェントの集合全体がより早く解に到達する。 [0039] According to the agent of the present invention, by prohibiting the continuous change of a variable for a certain period under a certain condition, only a part of the agents does not try to resolve the constraint violation, and many By solving the constraint violation with the agent, the set of agents reaches the solution faster as a result of falling into the local optimal solution or infinite loop.
[0040] エージェントは、複数のエージェントが非同期で協調して解を求めるエージェント において、求める解の現在の値を示す変数データを記憶する変数記憶部と、変数デ ータと近隣のエージヱントが記憶する変数データとの値の組合せを示す制約データ を記憶する制約記憶部と、変数データの変更を禁止する期間を示す変数変更禁止 期間データを記憶する変数変更禁止期間記憶部と、自エージェントの変数データが 制約データを満たすための容易度を示す改善容易度データを生成する改善容易度 生成部と、変数データと改善容易度生成部が生成した改善容易度データとを近隣の エージェントと送受信する通信部と、近隣のエージェントより取得した改善容易度デ ータおよび変数データを記憶する近隣状況記憶部と、改善容易度生成部が生成し た改善容易度データと近隣状況記憶部に格納している近隣のエージェントの改善容 易度データとを比較し、変数変更禁止期間データに応じて、近隣状況記憶部に格納 している近隣のエージェントの変数データとの間の制約違反を解消するように変数デ ータを制約データの組合せを満たす値に変更するとともに、変数変更禁止期間デー タをあらかじめ定められた期間に設定する制約解決部とを備える。  [0040] In an agent that obtains a solution in cooperation with a plurality of agents asynchronously, the agent stores a variable storage unit that stores variable data indicating a current value of the solution to be obtained, and variable data and neighboring agents store the variable data. A constraint storage unit that stores constraint data indicating a combination of values with variable data, a variable change prohibition period storage unit that stores a period during which variable data is prohibited to be changed, a variable change prohibition period storage unit that stores data, and variable data of the own agent An easy-to-improvement generator that generates easy-to-improvement data indicating the degree of ease for satisfying the constraint data, and a communication unit that transmits and receives variable data and the easy-to-improvement data generated by the easy-to-improvement generator A proximity situation storage unit that stores improvement degree data and variable data obtained from neighboring agents, and an improvement degree generation unit. Compared to the improvement ease data of neighboring agents stored in the neighborhood situation storage unit and the improvement ease data created, the neighborhood stored in the neighborhood situation storage unit according to the variable change prohibition period data Constraint resolution by changing the variable data to a value that satisfies the combination of constraint data so that the constraint violation with the agent's variable data is resolved, and setting the variable change prohibition period data to a predetermined period A part.
[0041] 分散制約充足方法は、各エージェントが、求める解の現在の値を示す変数データ と、変数データと近隣のエージェントがもつ変数データとの値の組合せを示す制約デ ータと、変数データの値の変更を禁止する期間を示す変数変更禁止期間データとを それぞれ持ち、変数データ間のすべての制約関係が成立する変数データの解を複 数のエージェントが協調して求める分散制約充足方法において、各エージェントが、 自エージェントの変数データが制約データを満たすための容易度を示す改善容易 度データを生成する生成ステップと、変数データと生成ステップで生成した改善容易 度データとを各近隣のエージェントと非同期に送受信するステップと、変数データと 改善容易度データを自己の改善容易度データと各近隣のエージェントの改善容易 度データとを比較して、自己の変数データを変更するかどうかを決定する判定ステツ プと、判定ステップで自己の変数データを変更すると判定した場合に、自己の変数 データを制約データの組合せを満たす値に変更して近隣のエージェントに通知する 変更ステップと、変更ステップで変数データを変更した場合に、変数変更禁止期間 データをあらかじめ定められた期間に設定する変更禁止ステップとを有する。 [0041] The distributed constraint satisfaction method is a method in which each agent has variable data indicating the current value of a solution to be obtained, constraint data indicating a combination of variable data and variable data of neighboring agents, and variable data. In the distributed constraint satisfaction method, multiple agents cooperate to obtain a solution of variable data in which all constraint relationships between variable data are established, each of which has variable change prohibition period data indicating a period during which the change of the value of the variable is prohibited. Each agent can easily improve its own variable data to show the degree of ease for satisfying the constraint data A generation step for generating degree data, a step for asynchronously transmitting / receiving variable data and the improvement degree data generated in the generation step to each neighboring agent, and the variable data and improvement degree data as own improvement degree data Compared with the improvement ease data of each neighboring agent, the decision step for determining whether or not to change its own variable data, and its own variable data when it is determined to change its own variable data at the decision step Change the data to a value that satisfies the combination of constraint data and notify neighboring agents. Change step and variable change prohibition period when variable data is changed in the change step. Change prohibition to set data to a predetermined period. Steps.
図面の簡単な説明 Brief Description of Drawings
[図 1]図 1は本発明の実施の形態 1にかかるエージェントの構成図である。 FIG. 1 is a configuration diagram of an agent according to a first embodiment of the present invention.
[図 2A]図 2Aは本発明の実施の形態 1にかかるエージェントの変数記憶部に格納す る変数データの構造を示す図である。  FIG. 2A is a diagram showing a structure of variable data stored in the variable storage unit of the agent according to the first exemplary embodiment of the present invention.
[図 2B]図 2Bは本発明の実施の形態 1にかかるエージェントの制約記憶部に格納す る制約データの構造を示す図である。  FIG. 2B is a diagram showing a structure of constraint data stored in the constraint storage unit of the agent according to the first exemplary embodiment of the present invention.
[図 2C]図 2Cは本発明の実施の形態 1にかかるエージェントの近隣状況記憶部に格 納する改善容易度データの構造を示す図である。  FIG. 2C is a diagram showing a structure of ease of improvement data stored in the neighborhood state storage unit of the agent according to the first exemplary embodiment of the present invention.
[図 2D]図 2Dは本発明の実施の形態 1にかかるエージェントの変数変更禁止期間記 憶部に格納する変数変更期間データの構造を示す図である。  FIG. 2D is a diagram showing a structure of variable change period data stored in the variable change prohibition period storage unit of the agent according to the first exemplary embodiment of the present invention.
[図 3]図 3は本発明の実施の形態 1にかかるエージェントの動作を示すフローチャート である。  FIG. 3 is a flowchart showing the operation of the agent according to the first exemplary embodiment of the present invention.
[図 4]図 4は本発明の実施の形態 1にかかるエージェントの変数変更禁止期間の設定 例を示す図である。  FIG. 4 is a diagram showing a setting example of a variable change prohibition period of the agent according to the first embodiment of the present invention.
[図 5]図 5は本発明の実施の形態 1にかかるエージェントの変数を変更する判定処理 を示すフローチャートである。  FIG. 5 is a flowchart showing determination processing for changing an agent variable according to the first exemplary embodiment of the present invention.
[図 6]図 6は本発明の実施の形態 1にかかるタスク割当装置の構成図である。  FIG. 6 is a block diagram of the task assignment device according to the first exemplary embodiment of the present invention.
[図 7]図 7は本発明の実施の形態 1にかかるタスク割当装置が計画を作成するタスク 問題の制約ネットワークを示す図である。  FIG. 7 is a diagram showing a task problem restriction network in which the task assignment device according to the first exemplary embodiment of the present invention creates a plan.
[図 8A]図 8Aは本発明の実施の形態 1にかかるタスク割当装置の初期状態の制約ネ ットワークを示す図である。 [FIG. 8A] FIG. 8A is a diagram showing a constraint network in the initial state of the task assignment device according to the first embodiment of the present invention. It is a figure which shows a network.
圆 8B]図 8Bは本発明の実施の形態 1にかかるタスク割当装置の計画策定中状態の 制約ネットワークを示す図である。 [8B] FIG. 8B is a diagram showing the constraint network in the planning state of the task assignment device according to the first exemplary embodiment of the present invention.
圆 8C]図 8Cは本発明の実施の形態 1にかかるタスク割当装置の最終状態の制約ネ ットワークを示す図である。 [8C] FIG. 8C is a diagram showing a constrained network in the final state of the task assignment device according to the first exemplary embodiment of the present invention.
[図 9]図 9は本発明の実施の形態 2にかかるエージェントの構成を示す図である。  FIG. 9 is a diagram showing a configuration of an agent according to the second embodiment of the present invention.
[図 10]図 10は本発明の実施の形態 2にかかるエージェントの動作を示すフローチヤ ートである。 FIG. 10 is a flowchart showing the operation of the agent according to the second exemplary embodiment of the present invention.
[図 11A]図 11Aは本発明の実施の形態 2にかかるエージェントの改善傾向データの 構造を示す図である。  FIG. 11A is a diagram showing a structure of agent improvement tendency data according to the second embodiment of the present invention.
[図 11B]図 11Bは本発明の実施の形態 2にかかるエージェントの改善傾向データの 記憶動作を説明する図である。  [FIG. 11B] FIG. 11B is a diagram for explaining the storage operation of agent improvement tendency data according to the second embodiment of the present invention.
[図 11C]図 11Cは本発明の実施の形態 2にかかるエージェントの改善傾向を判定す る動作を説明する図である。  [FIG. 11C] FIG. 11C is a diagram for explaining the operation of determining the improvement tendency of the agent according to the second embodiment of the present invention.
圆 12]図 12は本発明の実施の形態 2にかかるエージェントの変数変更禁止期間を調 整する動作を示すフローチャートである。 12) FIG. 12 is a flowchart showing an operation of adjusting the variable change prohibition period of the agent according to the second embodiment of the present invention.
[図 13]図 13は本発明の実施の形態 2にかかるエージェントを搭載するスケジュール 調整装置の構成図である。  FIG. 13 is a configuration diagram of a schedule adjustment apparatus equipped with an agent according to the second embodiment of the present invention.
圆 14]図 14は本発明の実施の形態 2にかかるスケジュール調整装置が計画を作成 するスケジュール問題を説明する図である。 [14] FIG. 14 is a diagram for explaining a scheduling problem in which the schedule adjusting apparatus according to the second embodiment of the present invention creates a plan.
圆 15]図 15は本発明の実施の形態 2にかかるスケジュール調整装置が計画を作成 するスケジュール問題の制約ネットワークを示す図である。 [15] FIG. 15 is a diagram showing a schedule problem restriction network in which the schedule adjustment apparatus according to the second embodiment of the present invention creates a plan.
圆 16]図 16は本発明の実施の形態 2にかかるスケジュール調整装置の初期動作を 説明する図である。 [16] FIG. 16 is a diagram for explaining an initial operation of the schedule adjusting apparatus according to the second embodiment of the present invention.
[図 17]図 17は本発明の実施の形態 2にかかるスケジュール調整装置の TP調整後の 動作を説明する図である。  FIG. 17 is a diagram for explaining the operation after TP adjustment of the schedule adjustment device according to the second exemplary embodiment of the present invention.
[図 18]図 18は本発明の実施の形態 3にかかるエージェントの構成図である。  FIG. 18 is a configuration diagram of an agent according to the third embodiment of the present invention.
圆 19]図 19は本発明の実施の形態 3にかかるエージェントを搭載した協調作業ロボ ットの構成例を示す図である。 [19] FIG. 19 is a collaborative work robot equipped with the agent according to the third embodiment of the present invention. FIG.
圆 20]図 20は本発明の実施の形態 3にかかる移動計画立案装置が計画を作成する 移動問題を説明する図である。 20] FIG. 20 is a diagram for explaining a movement problem in which the movement planning apparatus according to the third embodiment of the present invention creates a plan.
圆 21]図 21は本発明の実施の形態 3にかかる移動計画立案装置が計画を作成する 移動問題の制約ネットワークを示す図である。 21] FIG. 21 is a diagram showing a movement problem restriction network in which the movement planning apparatus according to the third embodiment of the present invention creates a plan.
圆 22]図 22は本発明の実施の形態 3にかかる協調作業ロボットの移動オペレータの 説明図である。 FIG. 22] FIG. 22 is an explanatory diagram of the mobile operator of the cooperative work robot according to the third embodiment of the present invention.
圆 23]図 23は本発明の実施の形態 3にかかる移動計画立案装置の初期状態を説明 する図である。 [23] FIG. 23 is a diagram for explaining an initial state of the movement planning apparatus according to the third embodiment of the present invention.
圆 24]図 24は本発明の実施の形態 3にかかる移動計画立案装置の途中状態を説明 する図である。 24] FIG. 24 is a diagram for explaining an intermediate state of the movement planning apparatus according to the third embodiment of the present invention.
圆 25]図 25は本発明の実施の形態 3にかかる移動計画立案装置の最終動作を説明 する図である。 25] FIG. 25 is a diagram for explaining the final operation of the movement planning apparatus according to the third embodiment of the present invention.
[図 26]図 26は実験に使った問題の制約ネットワークの例を示す図である。  FIG. 26 is a diagram showing an example of a problem constraint network used in the experiment.
[図 27]図 27は実験結果の解到達までの平均サイクル数の比較を示す図である。  FIG. 27 is a diagram showing a comparison of the average number of cycles until reaching the solution of the experimental result.
[図 28]図 28は実験結果の解到達率の比較を示す図である。  [FIG. 28] FIG. 28 is a diagram showing comparison of solution arrival rates of experimental results.
圆 29]図 29は従来の制約充足装置を構成する計算機の構成図である。 [29] FIG. 29 is a block diagram of a computer constituting a conventional constraint satisfaction device.
圆 30]図 30は制約充足問題を表現する制約ネットワークを説明する図である。 圆 31A]図 31Aは制約充足問題の初期状態例を示す制約ネットワークを示す図であ る。 [30] FIG. 30 is a diagram for explaining a constraint network expressing a constraint satisfaction problem. [31A] Figure 31A shows a constraint network showing an example of the initial state of the constraint satisfaction problem.
圆 31B]図 31Bは制約充足問題の解の定まった状態例を示す制約ネットワークを示 す図である。 [31B] Figure 31B is a diagram showing a constraint network showing an example of a state in which the solution of the constraint satisfaction problem is fixed.
圆 32]図 32は分散制約充足問題を表現する制約ネットワーク図を説明する図である 圆 32] Fig. 32 is a diagram for explaining a constraint network diagram expressing the distributed constraint satisfaction problem
[図 33]図 33は分散制約充足問題の例を説明する図である。 FIG. 33 is a diagram for explaining an example of a dispersion constraint satisfaction problem.
符号の説明 Explanation of symbols
100, 100a, 100b, 100c, 200, 200a, 200b, 200c, 200n, 700 エージェ ント 101 変数記憶部 100, 100a, 100b, 100c, 200, 200a, 200b, 200c, 200n, 700 agents 101 Variable storage
102 制約記憶部  102 Constraint memory
103 近隣状況記憶部  103 Neighborhood Status Memory
104 変数変更禁止期間記憶部  104 Variable change prohibition period storage section
105, 205 制約解決部  105, 205 Constraint Resolution Department
106 通信部  106 Communication Department
107 改善容易度生成部  107 Improvement level generator
208 改善傾向記憶部  208 Improvement Trend Memory
210 改善傾向データ  210 Improvement trend data
701 計画座標記憶部  701 Plan coordinate storage
703 近隣計画座標記憶部  703 Neighborhood Plan Coordinate Storage Unit
800, 811, 812 ロボッ卜  800, 811, 812 Robot
801 外界検知部  801 External detector
802 移動部  802 Moving part
803 衝突回避部  803 Collision avoidance part
813 障害物  813 Obstacle
814, 815 ゴール  814, 815 goals
900 計算機  900 calculator
発明を実施するための最良の形態  BEST MODE FOR CARRYING OUT THE INVENTION
[0044] (実施の形態 1)  [0044] (Embodiment 1)
以下、本発明の実施の形態 1にかかる複数のエージェントを接続したタスク割当装 置について、図面を参照しながら説明する。実施の形態 1にかかるエージェントは、 ある条件下で一定の期間において変数を連続して変更することを禁止することにより 、一部のエージェントの制約違反を解消するだけでなぐ多くのエージェントで制約違 反を解消するもので、局所最適解に陥ることなぐ結果としてエージェントの集合全体 力 り早く解に到達するものである。  Hereinafter, a task assignment device in which a plurality of agents according to the first embodiment of the present invention are connected will be described with reference to the drawings. The agent according to the first embodiment prohibits the change of the variable continuously for a certain period under a certain condition, so that it is possible to eliminate the constraint violation of many agents by simply eliminating the constraint violation of some agents. The solution is to eliminate the reaction, and as a result of falling into the local optimal solution, the entire set of agents reaches the solution faster.
[0045] まず、実施の形態 1にかかるエージェントの構成および動作について説明する。図 1は、本発明の実施の形態 1にかかるエージェントの構成図である。図 1において、ェ ージ ント 100は、変数記憶部 101と制約記憶部 102と変数変更禁止期間記憶部 1 04と改善容易度生成部 107と通信部 106と近隣状況記憶部 103と制約解決部 105 とで構成されている。 First, the configuration and operation of the agent according to the first embodiment will be described. FIG. 1 is a configuration diagram of an agent according to the first embodiment of the present invention. In Figure 1, The agent 100 includes a variable storage unit 101, a constraint storage unit 102, a variable change prohibition period storage unit 104, an improvement ease generation unit 107, a communication unit 106, a neighborhood situation storage unit 103, and a constraint resolution unit 105. ing.
[0046] 変数記憶部 101は、求める解の現在の値を示す変数データを記憶する。制約記 憶部 102は、変数データと近隣のエージヱントが記憶する変数データとの値の組合 せを示す制約データを記憶する。変数変更禁止期間記憶部 104は、変数データの 変更を禁止する期間を示す変数変更禁止期間データを記憶する。改善容易度生成 部 107は、自エージェントの変数データが制約データを満たすための容易度を示す 改善容易度データを生成する。通信部 106は、変数データと改善容易度生成部 107 が生成した改善容易度データとを近隣のエージェントと送受信する。近隣状況記憶 部 103は、近隣のエージェントより取得した改善容易度データおよび変数データとで 構成する近隣状況データを記憶する。制約解決部 105は、改善容易度生成部 107 が生成した改善容易度データと近隣状況記憶部 103に格納している近隣のエージェ ントの改善容易度データとを比較し、変数変更禁止期間データに応じて、近隣状況 記憶部 103に格納している近隣のエージェントの変数データとの間の制約違反を解 消するように変数データを制約データの組合せを満たす値に変更する。それとともに 、制約解決部 105は、変数変更禁止期間データをあらかじめ定められた期間とする よう設定する。  [0046] The variable storage unit 101 stores variable data indicating the current value of the solution to be obtained. The constraint storage unit 102 stores constraint data indicating a combination of values of variable data and variable data stored in neighboring agents. The variable change prohibition period storage unit 104 stores variable change prohibition period data indicating a period during which variable data change is prohibited. The improvement degree generation unit 107 generates improvement degree data indicating the degree of ease with which the variable data of the own agent satisfies the constraint data. The communication unit 106 transmits / receives the variable data and the improvement degree data generated by the improvement degree generation unit 107 to / from neighboring agents. The neighborhood situation storage unit 103 stores neighborhood situation data composed of improvement ease data and variable data acquired from neighboring agents. The constraint resolving unit 105 compares the improvement ease data generated by the improvement degree generation unit 107 with the improvement ease data of the neighboring agent stored in the neighborhood state storage unit 103, and sets it as variable change prohibition period data. In response, the variable data is changed to a value satisfying the combination of the constraint data so as to eliminate the constraint violation with the neighboring agent variable data stored in the neighborhood status storage unit 103. At the same time, the constraint resolution unit 105 sets the variable change prohibition period data to be a predetermined period.
[0047] 次に、エージェント 100に格納するデータの構造について説明する。図 2Aは、本 発明の実施の形態 1にかかるエージェントの変数記憶部 101に格納される変数デー タの構造を示す図である。図 2Aにおいて、変数記憶部 101に格納される変数データ 121は、変数名とその値をレコードとするテーブル構造をしている。図 2Aは、自工一 ジェント Aが変数 Xを 1つ持ち、その値が 1であることを示している。  Next, the structure of data stored in the agent 100 will be described. FIG. 2A is a diagram showing a structure of variable data stored in the variable storage unit 101 of the agent according to the first exemplary embodiment of the present invention. In FIG. 2A, the variable data 121 stored in the variable storage unit 101 has a table structure in which variable names and their values are records. Figure 2A shows that home agent A has one variable X and its value is 1.
[0048] 図 2Bは、本発明の実施の形態 1にかかるエージェントの制約記憶部 102に格納さ れる制約データの構造を示す図である。図 2Bにおいて、制約記憶部 102に格納さ れる制約データ 122は、自分の変数名と近隣のエージェントの変数名と、それらの値 の可能な値の組合せを示すリストをレコードとするテーブル構造である。図 2Bにお ヽ て、自エージェント Aは、変数 Xに関連する制約として、エージェント Bの変数 yとの間 に値の組合せ (x, y)が(1, 1)または、 (2, 2)または(3, 3)でなければならないとす る制約があることが示されている。また、エージェント Cの変数 yとの間に値の組合せ 力 1)または、(2, 2)または(3, 3)とする制約があることも示されている。この変数 Xに関して制約のある変数を持つエージェントを近隣のエージェントと呼ぶ。 FIG. 2B is a diagram showing a structure of constraint data stored in the constraint storage unit 102 of the agent according to the first exemplary embodiment of the present invention. In FIG. 2B, the constraint data 122 stored in the constraint storage unit 102 has a table structure in which a record indicating a combination of a variable name of its own variable name, a neighboring agent variable name, and a possible value of those values is a record. . In Fig. 2B, self-agent A has a constraint related to variable X as a constraint related to variable X. Indicates that there is a constraint that the value combination (x, y) must be (1, 1) or (2, 2) or (3, 3). It is also shown that there is a constraint that the value combination force 1) or (2, 2) or (3, 3) with the variable y of agent C. An agent that has a variable with respect to this variable X is called a neighbor agent.
[0049] 図 2Cは、本発明の実施の形態 1にかかるエージェントの変数変更禁止期間記憶部 104に格納される変数変更期間データの構造を示す図である。図 2Cにおいて、変 数変更禁止期間記憶部 104に格納される変数変更禁止期間データ 123は、変数名 と、変数の値の変更を禁止する期間の開始時と終了時を示すそれぞれの時刻情報と をレコードとするテーブル構造である。図 2Cでは、自エージェント Aの変数 Xの値を 時刻 00時 00分力も 00時 05分まで禁止されて 、ることが示されて 、る。  FIG. 2C is a diagram showing a structure of variable change period data stored in the variable change prohibition period storage unit 104 of the agent according to the first exemplary embodiment of the present invention. In FIG. 2C, the variable change prohibition period data 123 stored in the variable change prohibition period storage unit 104 includes a variable name, time information indicating the start and end times of the period during which the change of the variable value is prohibited. Is a table structure in which is a record. In FIG. 2C, it is shown that the value of variable X of own agent A is prohibited until 00:00:00.
[0050] 図 2Dは、本発明の実施の形態 1にかかるエージェントの近隣状況記憶部 103に 格納する改善容易度データの構造を示す図である。図 2Dにおいて、近隣状況記憶 部 103に格納される近隣状況データは、変数データと制約関係のある近隣のエージ ェントの変数名と値、改善容易度データ 125、をレコードとするテーブル構造をしてい る。なお、改善容易度データ 125は、制約データの数を示す制約数 1と、変数データ が制約データに違反して ヽる数を示す制約違反数 mと、変数データの値を変更した 場合に制約違反状態を解消できる制約データの数を示す改善可能数 nで構成され ている。  [0050] FIG. 2D is a diagram showing a structure of ease of improvement data stored in the neighborhood state storage unit 103 of the agent according to the first exemplary embodiment of the present invention. In FIG. 2D, the neighbor situation data stored in the neighbor situation storage unit 103 has a table structure in which the variable names and values of neighboring agents that have a constraint relationship with the variable data and the improvement ease data 125 are records. The In addition, the ease-of-improvement data 125 includes the constraint number 1 indicating the number of constraint data, the constraint violation number m indicating the number of variable data that violates the constraint data, and the restriction data when the variable data value is changed. It consists of a number n that can be improved to indicate the number of constraint data that can resolve the violation state.
[0051] 自エージェント Aの変数 Xと制約を有する近隣のエージェント Bについては、変数 y の値が 2であり、改善容易度データ 125の制約数 1が 1、制約違反数 mが 1、改善可能 数 nが 1であることを示している。同様に、近隣のエージェント Cについて、変数 zの値 力 S3であり、改善容易度データ 125の制約数 1が 1、制約違反数 mが 1、改善可能数 n 力 Siであることを示している。なお、図 2Dでは、自エージェントの改善容易度データ 1 25についても、同様に格納するようにしている力 自エージェント Aの改善容易度デ ータ 125を別の記憶手段に記憶するように構成してもなんら差し支えな!/、。 [0051] For variable X of own agent A and neighboring agent B that has constraints, the value of variable y is 2, and the number of constraints 1 in the improvement ease data 125 is 1, the number of constraint violations m is 1, and can be improved It shows that the number n is 1. Similarly, for the neighboring agent C, the value z of the variable z is S3, and the number of constraints 1 in the improvement ease data 125 is 1, the number of constraint violations m is 1, and the number of possible improvements n force Si. . In FIG. 2D, the self-agent improvement ease data 125 is also configured to store the self-agent A improvement ease data 125 in a separate storage means. I don't mind!
[0052] 次に、エージェントの動作を説明する。図 3は、本発明の実施の形態 1にかかるェ ージェントの動作を示すフローチャートである。図 3においては、パラメータとして、近 隣のエージヱントへ改善容易度データを送信する時間間隔 T1 (タイマイベント Evl) と、改善動作をする時間間隔 T2 (タイマイベント Ev2)が用いられている。尚、この時 間間隔 T1は第 1の一定時間間隔の一例である。また、この時間間隔 T2は第 2の一 定時間間隔の一例である。 Next, the operation of the agent will be described. FIG. 3 is a flowchart showing the operation of the agent according to the first exemplary embodiment of the present invention. In Fig. 3, the time interval T1 (timer event Evl) for sending the improvement ease data to the neighboring agent as a parameter. Then, the time interval T2 (timer event Ev2) for improving operation is used. This time interval T1 is an example of a first constant time interval. The time interval T2 is an example of a second constant time interval.
[0053] まず、制約解決部 105は、時間間隔 T1で起動されるタイマイベント Evlと、時間間 隔 T2で起動されるタイマイベント Ev2と、近隣のエージェントからのメッセージを受信 によるメッセージ受信イベント Ev3のいずれ力 1つのイベントが発生するまで待機する (ステップ S401)。次に、制約解決部 105は、発生したイベントの種類に応じて、それ ぞれ次の処理の開始を指示する (ステップ S402)。  [0053] First, the constraint resolution unit 105 generates a timer event Evl activated at a time interval T1, a timer event Ev2 activated at a time interval T2, and a message reception event Ev3 by receiving a message from a neighboring agent. Eventually it waits until one event occurs (step S401). Next, the constraint solving unit 105 instructs the start of the next process according to the type of event that has occurred (step S402).
[0054] イベントがタイマイベント Evlの場合について説明する。改善容易度生成部 107は 、変数の値の変更が禁止されている期間内かどうかを、変数変更禁止期間記憶部 1 04に記憶された変数変更禁止期間データより判定する。もし、期間外であれば、改 善容易度生成部 107は、変数記憶部 101に格納された変数データと制約記憶部 10 2に格納された制約データから、制約数 1、制約違反数 m、改善可能数 nとで構成され る改善容易度データを生成し、期間内であれば、変数の値が変更できない旨が記憶 される (ステップ S403)。このとき、改善容易度生成部 107は、変数データテーブル 1 21に格納されている変数データに対する改善容易度データの属性値を次のように 生成する。改善容易度生成部 107は、制約記憶部 102に格納している制約データ 1 22からその変数データの変数名を含むレコードの総数を計算して制約数 1とし、その レコードの中で、自エージェントの変数データと近隣のエージェントの変数データとが 値の組合せに含まれて ヽな ヽレコードの総数を計算して制約違反数 mとする。改善 容易度生成部 107は、さらにそのレコードの中で、変数データの値が変数変更禁止 期間データ 123に格納されておらず、かつ、変数データの値を変更することにより制 約データの値の組合せとすることができるレコードの総数を計算して改善可能数 nと する。なお、時間間隔 T1は後に述べる時間間隔 T2よりも短いことが望ましい。時間 間隔 T1が十分に短ぐ常に最新の状況を近隣のエージェントに通知することができ る。  A case where the event is a timer event Evl will be described. The improvement ease generation unit 107 determines whether or not the change of the value of the variable is within the period during which the change of the variable value is prohibited from the variable change prohibition period data stored in the variable change prohibition period storage unit 104. If it is out of the period, the improvement ease generation unit 107 uses the variable data stored in the variable storage unit 101 and the constraint data stored in the constraint storage unit 102 to have 1 constraint, m constraint violations, The improvement ease data composed of the improvement possible number n is generated, and if it is within the period, it is stored that the value of the variable cannot be changed (step S403). At this time, the improvement ease generation unit 107 generates the attribute value of the improvement ease data for the variable data stored in the variable data table 121 as follows. The improvement level generation unit 107 calculates the total number of records including the variable name of the variable data from the constraint data 122 stored in the constraint storage unit 102 and sets the number of constraints to 1. And the variable data of neighboring agents are included in the value combination, and the total number of ヽ records is calculated as the constraint violation number m. The improvement ease generation unit 107 further includes that the variable data value is not stored in the variable change prohibition period data 123 in the record, and the value of the constraint data is changed by changing the variable data value. The total number of records that can be combined is calculated, and the number that can be improved is n. The time interval T1 is preferably shorter than the time interval T2 described later. Neighboring agents can always be notified of the latest situation where the time interval T1 is sufficiently short.
[0055] 続いて、通信部 106は、改善容易度データをメッセージ通信で近隣のエージェント のすべてに送信し、ステップ S401に戻る。ただし、通信部 106は、ステップ S403で 変数の変更が禁止されて 、る期間内で変数の値が変更できな 、と判定して 、た場合 は、変更できな ヽ旨のメッセージを送信する(ステップ S404)。 [0055] Subsequently, the communication unit 106 transmits the improvement ease data to all of the neighboring agents by message communication, and returns to step S401. However, the communication unit 106 uses the If the change of the variable is prohibited and it is determined that the value of the variable cannot be changed within the specified period, a message indicating that the change cannot be made is transmitted (step S404).
[0056] 次に、イベントがメッセージ受信イベント Ev3の場合について説明する。通信部 106 は、近隣のエージェントからメッセージを受信する(ステップ S405)。通信部 106は、 受信したメッセージに含まれる近隣のエージェントの変数データと改善容易度データ を近隣状況記憶部 103に格納し、ステップ S401に戻る(ステップ S406)。 [0056] Next, the case where the event is the message reception event Ev3 will be described. The communication unit 106 receives a message from a nearby agent (step S405). The communication unit 106 stores the variable data and ease of improvement data of neighboring agents included in the received message in the neighboring state storage unit 103, and returns to step S401 (step S406).
[0057] 次に、イベントがタイマイベント Ev2の場合について説明する。改善容易度生成部 1 07は、ステップ S403での処理と同様に、変数変更禁止期間記憶部 104に記憶され た変数変更禁止期間データ 123より変数値の変更が禁止されていないかを判定する 。さらに、改善容易度生成部 107は、変数記憶部 101に格納された変数データ 121 と制約記憶部 102に格納された制約データ 122から、制約数 1、制約違反数 m、改善 可能数 nとで構成される改善容易度データを生成する (ステップ S407)。ただし、自 エージェントの改善容易度データ 125の近隣エージェント名は、自エージェントをあ らわす値として、他エージェントのデータと区別可能としている。 Next, a case where the event is a timer event Ev2 will be described. The improvement ease generation unit 107 determines whether the change of the variable value is prohibited from the variable change prohibition period data 123 stored in the variable change prohibition period storage unit 104, similarly to the processing in step S403. Further, the ease-of-improvement generation unit 107 uses the variable data 121 stored in the variable storage unit 101 and the constraint data 122 stored in the constraint storage unit 102 to obtain a constraint number 1, a constraint violation number m, and an improvement possible number n. Generated improvement ease data (step S407). However, the neighbor agent name in the self-improvement degree data 125 of the self agent can be distinguished from the data of other agents as a value representing the self agent.
[0058] 次に、制約解決部 105は、改善容易度生成部 107がステップ 407で生成した改善 容易度データ 125と、近隣状況記憶部 103に記録して 、る各近隣のエージェントの 改善容易度データ 125とを比較し、変数の値を変更するべきかどうかを判定する。変 更すると判定した場合は、ステップ S409へ進む。変更しないと判定した場合は、この イベント処理を終了し、ステップ S401へ戻る(ステップ S408)。この判定方法の詳細 は後述する。 [0058] Next, the constraint solving unit 105 records the improvement degree data 125 generated by the improvement degree generation unit 107 in step 407 in the neighborhood state storage unit 103, and the improvement degree of each neighboring agent. Compare with data 125 to determine if the value of the variable should be changed. If it is determined to be changed, the process proceeds to step S409. If it is determined not to change, this event processing is terminated, and the process returns to step S401 (step S408). Details of this determination method will be described later.
[0059] 続いて、制約解決部 105は、制約記憶部 102に格納している制約データ 122の可 能な組合せの中から、自エージェントのとれる変数を 1つ選択して変数の値を求め、 変数記憶部 101に格納して 、る変数データ 121の現在の値を更新する。その結果と して、改善容易度生成部 107は、更新した変数データの値で改善容易度データをス テツプ S403での処理と同様に生成し、通信部 106は変数データと生成した改善容 易度データを各近隣のエージェントにメッセージで通知する(ステップ S409)。  [0059] Subsequently, the constraint resolution unit 105 selects one of the variables that can be taken by the agent from the possible combinations of the constraint data 122 stored in the constraint storage unit 102, and obtains the value of the variable. The current value of the variable data 121 stored in the variable storage unit 101 is updated. As a result, the ease-of-improvement generation unit 107 generates the ease-of-improvement data with the updated variable data values in the same manner as the processing in step S403, and the communication unit 106 generates the variable data and the ease of improvement generated. The degree data is notified to each neighboring agent by a message (step S409).
[0060] さらに、制約解決部 105は、ステップ S408で値を変更した変数に対して、その値を 一定期間変更できないように変数変更禁止期間記憶部 104に変数変更禁止期間の 現在の時刻を開始時刻とし、一定期間経過後の時刻を終了時刻として格納し、ステ ップ S401に戻る(ステップ S410)。 [0060] Furthermore, the constraint resolution unit 105 stores the variable change prohibition period in the variable change prohibition period storage unit 104 so that the value of the variable whose value has been changed in step S408 cannot be changed for a certain period. The current time is set as the start time, the time after a lapse of a certain period is stored as the end time, and the process returns to step S401 (step S410).
[0061] なお、ステップ S410で、本実施の形態では、変数の変更を一定期間禁止する設定 とし、この時の期間を時間間隔 T2の k倍 (kは整数)としている。例えば、 k= 2、即ち 2 倍とする。また、この期間が過ぎたら変数変更禁止期間記憶部 104の禁止設定を解 除するようにしている。 In step S410, in the present embodiment, the variable is set to be prohibited from changing for a certain period, and the period at this time is k times the time interval T2 (k is an integer). For example, k = 2, that is, 2 times. Also, when this period has passed, the prohibition setting of the variable change prohibition period storage unit 104 is canceled.
[0062] なお、この動作フローは、近隣のエージェントとは独立して非同期的に動作する。そ のため、各エージヱント間は、非同期で動作する近隣のエージェントから任意の時間 にメッセージが送られてくる。本実施の形態では、メッセージを受信した際にはィベン ト処理機構によるイベントキューにメッセージ受信イベント Ev3が格納され、ステップ S 401以外のステップを処理中であつても、ステップ S401に処理が移行した際にィべ ントを検知できるよう実現している。また、ステップ S405でメッセージ処理中にタイマ イベントが発生した場合でも、同様に検知して処理できる。  It should be noted that this operation flow operates asynchronously independent of neighboring agents. For this reason, messages are sent at any time between neighboring agents that operate asynchronously between agents. In the present embodiment, when a message is received, the message reception event Ev3 is stored in the event queue by the event processing mechanism, and even if a step other than step S401 is being processed, the process proceeds to step S401. This is so that events can be detected. Even if a timer event occurs during message processing in step S405, it can be detected and processed in the same way.
[0063] 次に、ステップ S410での変数変更禁止期間の設定方法について説明する。本実 施の形態では、変数の値の変更を一切禁止する方法 (禁止方法 1)としたが、変数を ある値にすることを禁止する方法 (禁止方法 2)や、ある値力 別のある値へ変更する ことを禁止する方法 (禁止方法 3)、あるいは、上記の組合せやその他の特定の変更 を禁止する方法 (禁止方法 4)として実現することもできる。  Next, a method for setting the variable change prohibition period in step S410 will be described. In this embodiment, the method of prohibiting any change in the value of a variable (prohibition method 1) is used.However, there is a method of prohibiting a variable from being set to a certain value (prohibition method 2) or a certain value strength. It can also be realized as a method that prohibits changing to a value (prohibition method 3), or a method that prohibits the above combinations or other specific changes (prohibition method 4).
[0064] このような禁止方法で、例えば、変数 Xの値域、すなわち、変数 Xのとる値の集合を { 1, 2, 3}とし、変数 Xの値が「1」から「2」へ変更した場合に、先に示した禁止方法によ る禁止期間中の動作はそれぞれ次のようになる。  [0064] With this prohibition method, for example, the range of variable X, that is, the set of values taken by variable X is set to {1, 2, 3}, and the value of variable X is changed from "1" to "2" In this case, the operation during the prohibition period according to the prohibition method described above is as follows.
[0065] 禁止方法 1では、変数 Xの値を変更することが一切禁止され、一定期間中は、変数 Xの値を変更することはできない。変数変更禁止期間は、変数毎に設定される。  In the prohibition method 1, changing the value of the variable X is completely prohibited, and the value of the variable X cannot be changed for a certain period. The variable change prohibition period is set for each variable.
[0066] 禁止方法 2では、変数 Xの値を「1」に戻すことを一定期間禁止にする力、あるいは 変数 Xの値を「2」に変更することを一定期間禁止にする。この場合、禁止期間であつ ても変数 Xの値を「3」に変更することは禁止されない。変数変更禁止期間は、変数の 値毎に設定される。  [0066] In the prohibition method 2, a force that prohibits the return of the value of the variable X to “1” for a certain period or a change of the value of the variable X to “2” is prohibited for a certain period. In this case, changing the value of variable X to “3” is not prohibited even during the prohibited period. The variable change prohibition period is set for each variable value.
[0067] 禁止方法 3では、変数 Xの値を「1」から「2」への変更を禁止する。この場合、「1」か ら「2」への変更を禁止された期間であっても、「1」から「3」への変更や、「3」から「2」 への変更は禁止されない。変数変更禁止期間は、変数の変更の方向を区別して設 定される。 [0067] In prohibition method 3, change of the value of variable X from "1" to "2" is prohibited. In this case, "1" or Even during the period when the change from “1” to “2” is prohibited, the change from “1” to “3” and the change from “3” to “2” are not prohibited. The variable change prohibition period is set by distinguishing the direction of variable change.
[0068] 禁止方法 4では、変数 Xの値を「3」から「2」、「2」から「1」、「1」から「3」への変更を 禁止する。この場合、値は「1」から「2」、「2」から「3」、「3」から「1」のように昇順方向 での変更のみに制限される。  In prohibition method 4, change of the value of variable X from “3” to “2”, “2” to “1”, and “1” to “3” is prohibited. In this case, the value is limited to changes in the ascending order, such as “1” to “2”, “2” to “3”, and “3” to “1”.
[0069] 次に、本実施の形態に力かるエージェントの変数変更禁止期間の設定例について 説明する。図 4は、本発明の実施の形態 1にかかるエージェントの変数変更禁止期間 の設定例を示す図である。図 4において、変数 Aの値を「1」から「2」へ変更後、「1」 から「2」への変更を禁止するように変数変更禁止期間 151が設定 (時刻 153で)され る。さらに、その変数変更禁止期間 151中に変数 Aの値を「2」から「1」へ変更し、変 数 Aの「2」から「1」への変数変更禁止期間 152が設定(時刻 154で)されて 、る。そ れぞれの変数変更禁止期間は独立に設定され、また、「1」から「2」への変数変更禁 止期間であっても、「2」から「1」への変数変更禁止期間でなければ、「2」から「1」へ 変更は禁止されない。変数変更禁止期間の終了後は、禁止設定が解除 (時刻 155と 、時刻 156で)される。  [0069] Next, an example of setting a variable change prohibition period of an agent that works according to the present embodiment will be described. FIG. 4 is a diagram illustrating a setting example of the variable change prohibition period of the agent according to the first embodiment of the present invention. In FIG. 4, after changing the value of variable A from “1” to “2”, a variable change prohibition period 151 is set (at time 153) to prohibit the change from “1” to “2”. Furthermore, during the variable change prohibition period 151, the value of variable A is changed from “2” to “1”, and variable change prohibition period 152 from variable “2” to “1” is set (at time 154). ) Each variable change prohibition period is set independently, and even if it is a variable change prohibition period from `` 1 '' to `` 2 '', it is a variable change prohibition period from `` 2 '' to `` 1 ''. Otherwise, changing from “2” to “1” is not prohibited. After the variable change prohibition period ends, the prohibition setting is canceled (at time 155 and time 156).
[0070] 次に、本実施の形態に力かるエージェントの変数を変更する制約解決部 105の判 定処理の詳細について説明する。図 5は、本発明の実施の形態 1にかかるエージェ ントの変数を変更する制約解決部 105の判定処理を示すフローチャートである。判 定処理は、図 3のエージェントの動作を示すフローチャートのステップ S408の詳細な 動作を示している。なお、図 5では、制約解決部 105は、必ず、変数の値を変更しな いと判定するか (S509)、変数の値を変更すると判定し (S510)、終了する。  Next, the details of the determination processing of the constraint solving unit 105 that changes the agent variables that are relevant to the present embodiment will be described. FIG. 5 is a flowchart showing the determination processing of the constraint solving unit 105 that changes the agent variable according to the first embodiment of the present invention. The determination process shows the detailed operation of step S408 in the flowchart showing the operation of the agent in FIG. In FIG. 5, the constraint solving unit 105 always determines that the value of the variable is not changed (S509), determines that the value of the variable is changed (S510), and ends.
[0071] ステップ S501において、制約解決部 105は、変数記憶部 101に格納している変数 データ 121と制約記憶部 102に格納して 、る制約データ 122とから、変数データの 値が制約データの組合せに含まれて 、な 、レコードを検索して制約に違反して 、る 変数データの有無を判別する。制約に違反している変数データがない場合は、制約 解決部 105は、変数を変更しないと判定し (S509)、終了する。  [0071] In step S501, the constraint resolution unit 105 sets the variable data value of the constraint data from the variable data 121 stored in the variable storage unit 101 and the constraint data 122 stored in the constraint storage unit 102. In the combination, the record is searched to determine whether there is any variable data that violates the constraint. If there is no variable data that violates the constraint, the constraint resolution unit 105 determines that the variable is not changed (S509), and ends.
[0072] ステップ S502において、ステップ S501で調べた制約に違反している変数力 変数 変更禁止期間記憶部 104に格納されている変数変更禁止期間データ 123の禁止期 間に含まれており変数の変更が禁止されている場合は、制約解決部 105は、変数の 値を変更しないと判定し (S509)、終了する。 [0072] In step S502, the variable force variable violates the constraint examined in step S501. If the variable change prohibition period data 123 stored in the change prohibition period storage unit 104 is included in the prohibition period and the change of the variable is prohibited, the constraint resolution unit 105 must change the value of the variable. Judge (S509) and end.
[0073] ステップ S503において、制約解決部 105は、改善容易度生成部 107で計算され た制約数 1、制約違反数 m、改善可能数 nとで構成される改善容易度データと近隣状 況記憶部 103に格納されている近隣のエージェントの改善容易度データ 125とを比 較する。改善可能数 nがどの近隣のエージェントの改善可能数 nよりも大き 、場合は 、制約解決部 105は、変数の値を変更すると判定し (S510)、終了する。逆に、改善 可能数 nが 、ずれかの近隣のエージェントの改善可能数 nよりも小さ 、場合は、制約 解決部 105は、変数を変更しないと判定し (S509)、終了する。上記以外の場合、す なわち、改善可能数 nが近隣のエージェントの改善可能数 nの中で最大のものと同じ 場合は、ステップ S504へ進む。この時、すべての近隣のエージェントとともに改善可 能数 nが 0の場合も含まれる。  [0073] In step S503, the constraint resolving unit 105 calculates the ease of improvement data composed of the number of constraints 1, the number of constraint violations m calculated by the improvement ease generator 107, and the number of possible improvements n, and the neighborhood status memory. The improvement ease data 125 of the neighboring agent stored in the part 103 is compared. If the possible improvement number n is greater than the possible improvement number n of any neighboring agent, the constraint solving unit 105 determines to change the value of the variable (S510), and ends. On the contrary, if the improvement possible number n is smaller than the improvement possible number n of any neighboring agent, the constraint solving unit 105 determines that the variable is not changed (S509), and ends. In cases other than the above, that is, when the improvement possible number n is the same as the maximum improvement number n of neighboring agents, the process proceeds to step S504. At this time, the case where the improvement possible number n is 0 is also included with all neighboring agents.
[0074] ステップ S504において、制約解決部 105は、改善容易度生成部 107で計算した 制約数 1、制約違反数 m、改善可能数 nとで構成される改善容易度データと近隣状況 記憶部 103に格納されている近隣のエージェントの改善容易度データ(制約数 1、制 約違反数 m、改善可能数 n) 125とから、近隣のエージェントの中に、制約違反数 m 力 Si以上で、かつ、改善可能数 nから変数を変更できるエージェントがあるかを調べる 。対象のエージェント数が 0であれば、制約解決部 105は、変数を変更すると判定し ( S510)、終了する。対象のエージェント数が 1以上であれば、ステップ S505へ進む。 [0074] In step S504, the constraint solving unit 105 includes the ease of improvement data composed of the number of constraints 1, the number of constraint violations m, and the number of possible improvements n calculated by the ease of improvement generation unit 107 and the neighborhood status storage unit 103. From the data on the ease of improvement of the neighboring agents stored in (the number of constraints 1, the number of constraint violations m, the number of possible improvements n ) 125 Check if there is an agent that can change the variable from the number n that can be improved. If the target number of agents is 0, the constraint resolution unit 105 determines to change the variable (S510), and the process ends. If the number of target agents is 1 or more, the process proceeds to step S505.
[0075] ステップ S505において、制約解決部 105は、制約違反数 mとステップ S504で対 象となったエージェントの制約違反数 mとを比較し、どの近隣のエージェントの制約 違反数 mよりも大きい場合は、変数の値を変更すると判定し (S510)、終了する。い ずれかの近隣のエージェントの制約違反数 mよりも小さ 、場合は、変数を変更しな!ヽ と判定し (S509)、終了する。また、制約違反数 mが、近隣のエージェントの制約違 反数 mの中で最大のものと同じ場合は、ステップ S506へ進む。  [0075] In step S505, the constraint resolution unit 105 compares the number of constraint violations m with the number of constraint violations m of the agent targeted in step S504. Determines that the value of the variable is to be changed (S510) and ends. If the number of constraint violations of any neighboring agent is smaller than m, it is determined that the variable should not be changed (S509), and the process ends. If the constraint violation number m is the same as the maximum constraint violation number m of the neighboring agent, the process proceeds to step S506.
[0076] ステップ S506において、制約解決部 105は、制約数 1とステップ S 504で対象となつ たエージェントの制約数 1とを比較し、どの近隣のエージェントの制約数はりも小さ 、 場合は、変数を変更すると判定し (S510)、終了する。いずれかの近隣のエージ ン トの制約数はりも大きい場合は、変数を変更しないと判定し (S509)、終了する。制 約数 1が近隣のエージェントの制約数 1の中で最小のものと同じ場合は、ステップ S50 7へ進む。 [0076] In step S506, the constraint resolution unit 105 compares the constraint number 1 with the constraint number 1 of the agent targeted in step S504, and the constraint number of any neighboring agent is small. If so, it is determined to change the variable (S510), and the process ends. If the number of constraints of any neighboring agent is too large, it is determined that the variable is not changed (S509), and the process ends. If the restriction number 1 is the same as the minimum one of the neighboring agent restriction numbers 1, the process proceeds to step S507.
[0077] ステップ S507において、制約解決部 105は、自エージェントとステップ S504で対 象となったエージェントを含めて、あら力じめ設定されて 、る確率的な判定方法で変 数を変更するエージェント判別する。  [0077] In step S507, the constraint resolving unit 105 includes an agent that includes the agent and the agent that is the target in step S504. Determine.
[0078] ステップ S508において、制約解決部 105は、自エージェントが変数を変更する対 象と判別した場合には、変数を変更すると判定し、終了する。変数を変更する対象と 判別されなかった場合には、変数を変更しないと判定し、終了する。  In step S508, if the constraint solving unit 105 determines that the self agent is to change the variable, the constraint solving unit 105 determines to change the variable, and ends. If it is not determined that the variable is to be changed, it is determined that the variable is not changed, and the process ends.
[0079] なお、ステップ S508でのエージェントの確率的な判定は、例えば時刻情報やエー ジェント間の序列など、エージェントが共通に参照できるデータに応じて算出する方 法などとしてもよ 、。  [0079] Note that the probabilistic determination of agents in step S508 may be a method of calculating according to data that agents can refer to in common, such as time information and ranking among agents.
[0080] また、この確率的な判定方法は、決定する結果に偏りがなく平均的な確率分布でど ちらの変数も決定されるものとし、少なくとも一方の変数が平均的に長い間続けて優 先して変更されるようなことがないものとする。例えば、ノードの名前の若い方のノード が必ず優先して変更されるような誤った判定方法のみとする場合は除くものとする。  [0080] Further, in this probabilistic determination method, it is assumed that both variables are determined with an average probability distribution with no bias in the determination result, and at least one of the variables is continuously excellent for a long time on average. It shall not be changed first. For example, the case where only the wrong judgment method is used in which the node with the younger node name is always changed with priority is excluded.
[0081] また、変数を変更する力しな ヽかを判定する処理手順にっ 、て、本実施の形態で は上記ステップ S501からステップ S508の処理手順とした力 一例を示したものであ り、判定するステップの種類や判定する順番はこれに限定されるものではな 、。  [0081] In addition, according to the processing procedure for determining whether or not it is sufficient to change a variable, in the present embodiment, an example of the power used as the processing procedure from step S501 to step S508 is shown. The types of steps to be judged and the order of judgment are not limited to this.
[0082] 次に、本実施の形態に力かる複数のエージェントを接続したタスク割当装置により 計画を作成する実施例について説明する。図 6は、本発明の実施の形態 1にかかる タスク割当装置の構成図である。図 6において、タスク割当装置 300内のエージェント 100a,エージェント 100b、、、、エージェント 100cは、有線あるいは無線のネットヮ ークで接続され互いに通信可能な状態になっている。また、本実施の形態では、ェ ージェント 100、エージェント 100b、、、、エージェント 100cは図 1に示したエージェ ント 100と同様の構成をしている。エージェント 100aが自エージェントとすると、エー ジェント 100bなどが近隣エージェントということになる。また、変数記憶部 101、制約 記憶部 102、変数変更禁止期間記憶部 104には、あらかじめ動作に必要な初期値 が設定されているとして説明するが、各エージェントの初期値を設定する初期設定装 置を別に設けて、ネットワークを通して各エージェントに設定する構成としても実施で きる。 Next, a description will be given of an example in which a plan is created by a task assignment device in which a plurality of agents that are useful for the present embodiment are connected. FIG. 6 is a configuration diagram of the task assignment device according to the first exemplary embodiment of the present invention. In FIG. 6, the agent 100a, agent 100b,..., Agent 100c in the task assignment device 300 are connected via a wired or wireless network and can communicate with each other. In the present embodiment, agent 100, agent 100b,..., And agent 100c have the same configuration as agent 100 shown in FIG. If agent 100a is its own agent, agent 100b and the like are neighboring agents. In addition, variable storage unit 101, constraints The storage unit 102 and the variable change prohibition period storage unit 104 will be described assuming that initial values necessary for the operation are set in advance, but an initial setting device for setting the initial value of each agent is provided separately through the network. It can also be implemented as a configuration set for each agent.
[0083] 次に、本実施の形態に力かる複数のエージェントを接続したタスク割当装置の具体 的動作について説明する。ここでは、「黒タスク」と「白タスク」のどちらか一方を受け持 つ複数のエージェントが、それぞれタスクの種別を示す 1つの変数を持ち、初期の値 の状態力 近隣のエージヱントと制約違反を解消するように非同期に協調してタスク 割当計画を作成する実施例について説明する。  [0083] Next, a specific operation of the task assignment device in which a plurality of agents related to the present embodiment are connected will be described. Here, multiple agents that take charge of either “black task” or “white task” each have one variable that indicates the type of task, and the initial value of state power. An embodiment will be described in which task allocation plans are created in cooperation with each other asynchronously.
[0084] 図 7は、本発明の実施の形態 1にかかるタスク割当装置が計画を作成する制約ネッ トワーク図である。図 7において、各ノードは、エージェント XIの変数 xl、 X2の変数 X 2、 · · ·、 X7の変数 x7を示して 、る。そして各ノードは「黒タスク」を示す「黒」と「白タス ク」を示す「白」のどちらか一方の値をとる。また、各アークは各変数間の制約を示して いる。ここでは、アークで結ばれた近隣のエージェントどうしは同じタスクを受け持つこ とはできないこととする。すなわち、制約で結ばれたノードどうしは互いに同じ値を持 つことができない。例えば、ノード xlとノード x4は、同時に「白」、あるいは「黒」であつ てはいけない。図 7に示される状態では、ノード x4とノード x5の値が同時に「黒」であ り、制約違反が発生している。  FIG. 7 is a constrained network diagram in which the task assignment device according to the first exemplary embodiment of the present invention creates a plan. In FIG. 7, each node shows a variable xl of agent XI, a variable X 2 of X2,..., A variable x7 of X7. Each node takes one of the values “black” indicating “black task” and “white” indicating “white task”. In addition, each arc represents a constraint between each variable. Here, it is assumed that neighboring agents connected by an arc cannot handle the same task. In other words, nodes connected by constraints cannot have the same value. For example, node xl and node x4 must not be “white” or “black” at the same time. In the state shown in Figure 7, the values of node x4 and node x5 are “black” at the same time, and a constraint violation has occurred.
[0085] なお、図 7は、タスク割当装置内の各エージェントについて変数間の制約関係を示 したものであり、各エージェント間を接続する実際のネットワーク接続構成を示すもの ではない。ただし、図 6に示したように必ずしもすべてのエージェント間の通信路を構 成する必要はなぐ少なくとも制約関係にある変数を持つエージ ント間の通信路が 構成されていればよい。  Note that FIG. 7 shows the constraint relationship between variables for each agent in the task assignment device, and does not show an actual network connection configuration for connecting the agents. However, as shown in Fig. 6, it is not always necessary to configure communication paths between all agents. It is only necessary to configure communication paths between agents that have at least a variable in a constraint relationship.
[0086] 次に、本実施の形態に力かる複数のエージェントを接続したタスク割当装置で各ェ ージェントの変数間の制約を解消する例について説明する。図 8Aは、本発明の実 施の形態 1にかかるタスク割当装置の初期状態の制約ネットワーク図である。図 8Bは 、本発明の実施の形態 1にかかるタスク割当装置の計画策定中状態の制約ネットヮ ーク図である。図 8Cは、本発明の実施の形態 1にかかるタスク割当装置の最終状態 の制約ネットワーク図である。なお、図 8Aから図 8Cにおいて、各ノードを表す記号 xj の後ろにそれぞれの改善容易度データが「(改善可能数 nZ制約違反数 mZ制約数 1)」のように示されている。また、ここでは、変数を変更するかどうかの判定については 、改善可能数 nが多い方が変更する。もし、これが同じ場合には、制約違反数 mが多 い方が変更し、もし、これも同じ場合には、制約数 1が少ない方のエージェントが変数 の値を変更するものとしている。また、変数の変更禁止方法については、変数の値の 変更を一切禁止するようにして 、る。 [0086] Next, an example will be described in which the restriction between the variables of each agent is eliminated by a task assignment device in which a plurality of agents that are useful for the present embodiment are connected. FIG. 8A is a constrained network diagram of an initial state of the task assignment device according to the first exemplary embodiment of the present invention. FIG. 8B is a constraint network diagram in a planning state of the task assignment device according to the first exemplary embodiment of the present invention. FIG. 8C shows the final state of the task assignment device according to the first exemplary embodiment of the present invention. FIG. In FIG. 8A to FIG. 8C, the ease-of-improvement data for each node is shown as “(number of improvement possible nZ constraint violation number mZ constraint number 1)” after the symbol xj representing each node. In addition, here, the decision whether to change the variable or not is changed when the number n that can be improved is larger. If this is the same, the one with the larger number of constraint violations m changes, and if this is the same, the agent with the smaller number of constraints 1 changes the value of the variable. In addition, regarding the method of prohibiting variable changes, change of variable values is prohibited.
[0087] 図 8Aは、初期状態を示して 、る。ここでは、ノード x4とノード x5の間で制約違反が 発生している。ノード xl、 x2、 x3、 x6、 x7は、制約違反しておらず、制約数も 1なの で、改善容易度データはすべて(OZOZ1)となる。ノード χ4は、ノード χ5との間で制 約違反を 1つ持ち、ノード χ4が白に変更すると、ノード χ5との間の制約違反は解消さ れるものの、ノード xl、 χ2、 χ3の間で制約違反が発生することから、改善可能数 η (こ の場合は 0以上の数)は 0になる。よって、ノード χ4の改善容易度データは、 (0/1/ 4)となる。ノード χ5の改善容易度データも同様に(OZ1Z3)となる。この情報が図 3 のステップ S403、ステップ S404、ステップ S405、ステップ S406により近隣のエージ ェント間で情報交換される。  [0087] FIG. 8A shows an initial state. Here, a constraint violation occurs between node x4 and node x5. Nodes xl, x2, x3, x6, and x7 do not violate the constraint and the number of constraints is 1, so all the ease of improvement data is (OZOZ1). Node χ4 has one constraint violation with node χ5, and if node χ4 changes to white, the constraint violation with node χ5 is resolved, but the constraint between nodes xl, χ2, and χ3 Since a violation occurs, the number η that can be improved (in this case, a number greater than or equal to 0) is zero. Therefore, the improvement ease data of the node χ4 is (0/1/4). Similarly, the improvement ease data of node χ5 is (OZ1Z3). This information is exchanged between neighboring agents through step S403, step S404, step S405, and step S406 in FIG.
[0088] 制約違反しているノード x4と変数 x5は、ほとんど条件が同じだ力 制約数 1はノード x5の方が小さいため、ノード x4は値を変更しないと判定し、ノード x5は値を変更する と判定する。よってノード x5は値を「白」に変更し、図 8Bに示す状態になる。  [0088] Constraint violation node x4 and variable x5 have almost the same conditions Force Constraint number 1 is smaller in node x5, so node x4 is determined not to change value, and node x5 changes value It is determined to be. Therefore, the node x5 changes the value to “white” and becomes the state shown in FIG. 8B.
[0089] 図 8Bの状態において、ノード x5は、値を「白」から「黒」に変えればノード x6、ノード x7との間の 2つの制約違反を改善できるがノード x4との間の制約に違反することにな るため、改善可能数 1は 1である。よってノード x5の改善容易度データは(1Z2Z3)と なる。ノード x6、 x7の改善容易度データはともに(1Z1Z1)となる。改善可能数 nは すべて同じであるが、制約数 1はノード x5の方が大きい。ここでノード x5の値を「白」か ら「黒」に変更すると、図 8Aの状態に戻って局所最適解の無限ループに陥ってしまう  [0089] In the state of FIG. 8B, node x5 can improve two constraint violations between node x6 and node x7 by changing the value from "white" to "black". Since this is a violation, the number of possible improvements 1 is 1. Therefore, the ease of improvement data for node x5 is (1Z2Z3). The improvement degree data of nodes x6 and x7 are both (1Z1Z1). The number of possible improvements n is the same, but the number of constraints 1 is larger for node x5. If the value of node x5 is changed from “white” to “black” here, it returns to the state shown in Fig. 8A and falls into an infinite loop of the local optimal solution.
[0090] しかし、ノード x5は、先ほど値を変更したため変数変更禁止期間にあり、値は変更 できない。このため、ノード x6、ノード x7は、それぞれがステップ S504で値を変更す ると判定する。ノード x6とノード x7は直接制約で結ばれていないので、両方が同時に 値を変更できる。 [0090] However, node x5 is in the variable change prohibition period because the value was changed earlier, and the value cannot be changed. Therefore, node x6 and node x7 change their values in step S504. It is determined. Since node x6 and node x7 are not directly connected, both can change the value at the same time.
[0091] 最後に、変数 x6、 x7が値を変更し、図 8Cの状態になる。図 8Cは、すべての制約 が満たされた最終状態である。  [0091] Finally, variables x6 and x7 change their values, resulting in the state of FIG. 8C. Figure 8C shows the final state with all constraints satisfied.
[0092] このようにして、すべてのエージェントに白、ある 、は黒のタスク力 制約をすベて満 たすように割当てられた。すなわち、すべての制約が満たされた状態になり、タスク割 当装置によりタスク割当計画が作成された。  [0092] In this way, all agents were assigned to satisfy all white, black, and black task power constraints. In other words, all the constraints were satisfied and a task allocation plan was created by the task allocation device.
[0093] なお、本実施の形態におけるエージェントは、近隣のエージェントと時間間隔 T1で 情報交換し、時間間隔 T2で状態を改善する動作としたが、これらの動作を同じタイミ ングで実行するようにしてもよい。すなわち、近隣のエージェントとの情報交換と改善 の判定を連続して動作するようにしてもょ 、。  Note that the agent in the present embodiment exchanges information with neighboring agents at the time interval T1 and improves the state at the time interval T2. However, these operations are executed at the same timing. May be. In other words, the information exchange with the neighboring agent and the judgment of improvement may be operated continuously.
[0094] このような構成とすることによって、本実施の形態では、エージェントが変数を連続 して変更することを禁止し、一定期間中は同じ変数を同じ値に変更できな 、ようにす ることにより、局所最適解に陥る可能性が低下し、結果としてエージェントの集合全体 力 り早く解に到達することができる。  [0094] By adopting such a configuration, in this embodiment, the agent is prohibited from changing the variable continuously, and the same variable cannot be changed to the same value for a certain period. As a result, the possibility of falling into a local optimal solution decreases, and as a result, the solution can reach the solution faster as a whole.
[0095] (実施の形態 2)  [0095] (Embodiment 2)
次に、本発明の実施の形態 2にかかる複数のエージェントを接続したスケジュール 調整装置について説明する。  Next, a schedule adjustment device connecting a plurality of agents according to the second embodiment of the present invention will be described.
[0096] 本実施の形態に力かるエージェントは、変数の制約違反の解消状況に応じた期間 において変数を連続して変更することを禁止することにより、一部のエージェントの制 約違反を解消するだけでなぐ局所最適解や無限ループに陥ることなぐ結果として エージェントの集合全体がさらに早く解に到達することを目的とする。  [0096] The agent working on the present embodiment eliminates restriction violations of some agents by prohibiting continuous change of variables in a period corresponding to the resolution situation of variable constraint violations. The goal is for the entire set of agents to reach the solution even faster as a result of the local optimal solution and the infinite loop.
[0097] まず、実施の形態 2にかかるエージェントの構成および動作について説明する。図 9は、本発明の実施の形態 2にかかるエージェントの構成図である。図 9において、ェ ージェント 200は、図 1に示したエージェント 100とほぼ同じ構成をしている力 変数 データが制約データを満たして ヽる度合 ヽの過去の推移を示す改善傾向データを 記憶する改善傾向記憶部 208をさらに備えた点が図 1と異なる。さらに、制約解決部 205が、変数記憶部 101に記憶する変数データの値を変更する際に最新の改善傾 向データを生成して改善傾向記憶部 208に記憶し、変数データの変数変更禁止期 間の長さを改善傾向データに応じて調整するようにした点が図 1と異なっている。また 、改善傾向記憶部 208に格納される改善傾向データは、変数名と、その変数の制約 違反数 mの推移データのテーブル構造である。改善傾向データは、過去数回分を含 めた制約違反数 mの履歴データである。過去の推移のデータ構造の詳細につ!ヽて は後述する。 First, the configuration and operation of the agent according to the second embodiment will be described. FIG. 9 is a configuration diagram of an agent according to the second embodiment of the present invention. In Fig. 9, Agent 200 stores the improvement trend data indicating the past transition of the degree to which the force variable data that has almost the same configuration as Agent 100 shown in Fig. 1 meets the constraint data. 1 is different from FIG. 1 in that a trend storage unit 208 is further provided. Further, when the constraint resolution unit 205 changes the value of the variable data stored in the variable storage unit 101, the latest improvement trend. 1 is different from FIG. 1 in that the direction data is generated and stored in the improvement trend storage unit 208, and the length of the variable change prohibition period of the variable data is adjusted according to the improvement trend data. Further, the improvement trend data stored in the improvement trend storage unit 208 is a table structure of transition data of the variable name and the number of constraint violations m of the variable. The improvement trend data is history data of the number of constraint violations including the past several times. Details of the data structure of past changes will be described later.
[0098] 次に、各エージェントの動作を説明する。図 10は、本発明の実施の形態 2にかかる エージェントの動作を示すフローチャートである。図 10において、エージェント 200の 動作は、図 3に示したエージェント 100の各ステップとほぼ同じである力 ステップ S6 01とステップ S602が加わっている点が図 3と異なっている。また、パラメータとして時 間間隔 T1と時間間隔 T2に加えて、変数の改善傾向を判定するための期間である時 間間隔 T4と、変数変更禁止期間の現在設定値 TPが用いられている。なお、この時 間間隔 T4は第 3の一定時間間隔の一例である。また、時間間隔 T4は時間間隔 T2 の数倍に相当する期間とするが、本実施の形態では、時間間隔 T2の 5倍に設定して 説明する。また、変数変更禁止期間の現在設定値 TPは、変数の更新動作と判定動 作の同期タイミングの関係より、時間間隔 T2の k倍 (kは整数)とすることが望ましぐ 本実施の形態での設定値にっ 、ては後述する。  Next, the operation of each agent will be described. FIG. 10 is a flowchart showing the operation of the agent according to the second exemplary embodiment of the present invention. In FIG. 10, the operation of the agent 200 is different from that in FIG. 3 in that force steps S601 and S602 that are substantially the same as the steps of the agent 100 shown in FIG. 3 are added. In addition to the time interval T1 and the time interval T2, the time interval T4, which is a period for determining the improvement tendency of variables, and the current set value TP of the variable change prohibition period are used as parameters. This time interval T4 is an example of a third constant time interval. The time interval T4 is a period corresponding to several times the time interval T2, but in the present embodiment, the time interval T4 is described as being set to 5 times the time interval T2. In addition, it is desirable that the current set value TP of the variable change prohibition period is k times the time interval T2 (k is an integer) because of the relationship between the synchronization timing of the variable update operation and the determination operation. The set value in will be described later.
[0099] ステップ S601において、制約解決部 205は、改善容易度生成部 107で計算した 制約違反数 mを現時点での改善傾向データとして、改善傾向記憶部 208に記録す る。制約違反数 mは、時間間隔 T4の 2倍程度の期間の記録が残るように設定されて いる。  [0099] In step S601, the constraint solving unit 205 records the number of constraint violations m calculated by the ease-of-improvement generation unit 107 in the improvement trend storage unit 208 as current improvement trend data. The number of constraint violations, m, is set so that a record of about twice the time interval T4 remains.
[0100] ここで、改善傾向データの記録処理にっ 、て説明する。なお、本実施の形態では、 改善傾向データとして制約違反数 mを用いている。図 11Aは、本発明の実施の形態 2に力かるエージェントの改善傾向データの構造を示す図である。図 11Aにおいて、 改善傾向データ 210は、過去の変数の制約違反数 mを記録する構造をしており、一 番右の欄に現時点での制約違反数 mを格納する。また、その左の欄には 1つ前の時 刻に記録した制約違反数 mが、さらにその左の欄には 2つ前の回に記録した制約違 反数 mが格納される。このように、 T4時間の 2倍の期間分、すなわち、 T2の 10倍の 期間分が記録されている。図 11Bは、本発明の実施の形態 2にかかるエージェントの 改善傾向データの記憶動作を説明する図である。図 11Bにおいて、改善傾向データ 210に新たなデータとして制約違反数を記録する場合は、それまでの記録を 1つず つ左にシフトして力 一番右の欄に現在の制約違反数が記録され、過去の制約違反 数にっ 、て時刻順を保つよう記録される。 Here, the improvement trend data recording process will be described. In this embodiment, the constraint violation number m is used as improvement trend data. FIG. 11A is a diagram showing a structure of agent improvement tendency data according to the second embodiment of the present invention. In FIG. 11A, improvement trend data 210 has a structure that records the number of constraint violations m for past variables, and stores the current number of constraint violations m in the rightmost column. In the left column, the constraint violation number m recorded at the previous time is stored, and in the left column, the constraint violation number m recorded two times before is stored. In this way, it is twice as long as T4 time, that is, 10 times as long as T2. The period is recorded. FIG. 11B is a diagram explaining an agent improvement tendency data storage operation according to the second embodiment of the present invention. In Fig. 11B, when the number of constraint violations is recorded as new data in the improvement trend data 210, the previous records are shifted one by one, and the current number of constraint violations is recorded in the rightmost column. It is recorded to keep the time order according to the past number of constraint violations.
[0101] ステップ S602において、制約解決部 205は、改善傾向記憶部 208に記録されて いる制約違反数 mの履歴から、改善傾向を判定する。制約解決部 205は、最近の時 間間隔 T4における制約違反数の合計と、その前の時間間隔 T4における制約違反 数の合計を比較し、改善の傾向を判定する。この判定により変数変更禁止期間の現 在設定値 TPの値が変更される。  [0101] In step S602, the constraint solving unit 205 determines an improvement trend from the history of the number of constraint violations m recorded in the improvement trend storage unit 208. The constraint resolution unit 205 compares the total number of constraint violations in the latest time interval T4 with the total number of constraint violations in the previous time interval T4, and determines the improvement trend. This determination changes the value of the current setting value TP during the variable change prohibition period.
[0102] ここで、変数変更禁止期間の現在設定値 TPの値を変更する動作について説明す る。  [0102] Here, the operation for changing the value of the current set value TP during the variable change prohibition period will be described.
[0103] 図 11Cは、本発明の実施の形態 2にかかるエージェントの改善傾向を判定する動 作を説明する図である。図 11Cおいて、改善傾向データ 210のうち、最近の時間間 隔 T4における制約違反数の合計 mlと、その前の時間間隔 T4における制約違反数 の合計 mOの大小が比較される。 ml >mOならば「改善されていない」と判定され、 m l≤mOならば「改善されている」と判定される。この判定に応じて変数変更禁止期間 の現在設定値 TPの値が変更される。ここでは、以前の制約違反数の合計は 6、最近 の制約違反数の合計は 5、であり、改善傾向は「改善されている」と判定される。  [0103] FIG. 11C is a diagram illustrating an operation of determining an improvement tendency of an agent according to the second embodiment of the present invention. In FIG. 11C, in the improvement trend data 210, the total ml of the constraint violations in the recent time interval T4 and the total mO of the constraint violations in the previous time interval T4 are compared. If ml> mO, it is judged as “not improved”, and if ml ≦ mO, it is judged as “improved”. In response to this determination, the current set value TP of the variable change prohibition period is changed. Here, the total number of previous constraint violations is 6, the total number of recent constraint violations is 5, and the improvement trend is judged as “improved”.
[0104] 次に、変数変更禁止期間の現在設定値 TPを調整する制約解決部 205の調整処 理の詳細動作について説明する。図 12は、本発明の実施の形態 2にかかるエージヱ ントの変数変更禁止期間を調整する動作を示すフローチャートである。図 12におい て、変数変更禁止期間の現在設定値 TPは、最小値 TP— minカゝら最大値 TP— max までの決められた範囲の値をとる。  Next, a detailed operation of the adjustment process of the constraint solving unit 205 that adjusts the current set value TP in the variable change prohibition period will be described. FIG. 12 is a flowchart showing an operation of adjusting the variable change prohibition period of the agent according to the second embodiment of the present invention. In Fig. 12, the current set value TP of the variable change prohibition period takes a value within a predetermined range from the minimum value TP-min to the maximum value TP-max.
[0105] ステップ S701において、制約解決部 205は、改善傾向記憶部 208に記憶されて いる制約違反数 mから改善の傾向が判定され、「改善されている」と判定された場合 はステップ S704に進む。「改善されて!、な!/、」と判定された場合はステップ S702へ 進む。 [0106] ステップ S702において、 TPく TP— maxならばステップ S703へ進む。そうでなけ れば TPを変更せずに終了する。 [0105] In step S701, the constraint resolution unit 205 determines an improvement tendency from the number of constraint violations m stored in the improvement trend storage unit 208. If it is determined that the improvement is improved, the constraint resolution unit 205 proceeds to step S704. move on. If it is determined that “Improved !, NA! /,”, The process proceeds to step S702. In step S702, if TP is greater than TP-max, the process proceeds to step S703. Otherwise, exit without changing TP.
[0107] ステップ S703において、 TPがある決められた値分増加されて終了する。 [0107] In step S703, TP is incremented by a predetermined value, and the process ends.
[0108] ステップ S704において、 TP>TP— minならばステップ S705へ進む。そうでなけ れば TPを変更せずに終了する。 If TP> TP—min in step S704, the process proceeds to step S705. Otherwise, exit without changing TP.
[0109] ステップ S705において、ある決められた値を TP力も減じて終了する。 [0109] In step S705, the predetermined value is reduced by the TP force and the process is terminated.
[0110] 次に、本実施の形態に力かる複数のエージェントを接続したスケジュール調整装置 により計画を作成する実施例について説明する。図 13は、本発明の実施の形態 2〖こ 力かるエージェントを搭載するスケジュール調整装置の構成図である。図 13におい て、スケジュール調整装置 301は、ネットワークで接続された複数のエージェント 200 a、エージェント 200b、エージェント 200c、 . . .、エージェント 200ηで構成されている 。禾 IJ用者 Αはエージェント 200aに、利用者 Bはエージェント 200bに、利用者 Cはェ ージェント 200cに、また、利用者 nはエージェント 200ηにそれぞれ入出力部を介し てスケジュールを入出力する。各エージェントは、それぞれ入力されたスケジュール を元に、他の利用者とのスケジュールを調整する。例えば、利用者 Αはエージェント 2 00aを搭載するスケジュール調整装置に自分の希望する予定を入力するとともに、会 議設定と他の参加者とのスケジュール調整の開始を指示する。また、エージェント 20 Oa力 S他のエージェント 200b、エージェント 200c、エージェント 200ηと調整して作成 した計画をスケジュール結果として、スケジュール調整装置より提示を受ける。 [0110] Next, an example in which a plan is created by a schedule adjustment device that connects a plurality of agents that are relevant to the present embodiment will be described. FIG. 13 is a configuration diagram of a schedule adjustment apparatus equipped with an agent that can make full use of Embodiment 2 of the present invention. In FIG. 13, the schedule adjustment apparatus 301 is composed of a plurality of agents 200a, 200b, 200c,.禾 IJ user 入 出力 inputs / outputs the schedule to Agent 200a, User B to Agent 200b, User C to Agent 200c, and User n to Agent 200η via the input / output unit. Each agent adjusts the schedule with other users based on the entered schedule. For example, the user 入 力 inputs his / her desired schedule to the schedule adjustment device on which the agent 200a is installed, and instructs the start of conference adjustment and schedule adjustment with other participants. Agent 20 Oa force S The plan created by coordinating with other agents 200b, 200c, and 200η is received as a schedule result from the schedule adjustment device.
[0111] 次に、本実施の形態に力かる複数のエージェントを接続したスケジュール調整装置 の具体的動作について説明する。ここでは、利用者 Α、利用者 Β、利用者 Cの会議日 を調整する 3つのエージェント 200a、エージェント 200b、エージェント 200cが協調し て利用者 Aと利用者 Bの第 1の会議日を調整し、また、同時に利用者 Bと利用者じの 第 2の会議日を調整する場合の動作について説明する。  [0111] Next, a specific operation of the schedule adjustment apparatus in which a plurality of agents that are useful for the present embodiment are connected will be described. Here, the three agent 200a, agent 200b, and agent 200c that adjust the conference date of user Α, user Β, and user C coordinate the first conference date of user A and user B. In addition, the operation for adjusting the second meeting date between User B and User at the same time will be described.
[0112] 図 14は、本発明の実施の形態 2にかかるスケジュール調整装置が計画を作成する スケジュール問題を説明する図である。図 14において、初期条件として、各利用者 の設定可能日は、禾 IJ用者 Aは 1日と 2日、禾 IJ用者 Bは 2日と 3日と 4日、禾 IJ用者 Cは 2日 と 3日であり、各利用者の会議を開催する希望開催日の初期設定が 2日であることを 示している。このスケジュール計画の作成において、各利用者は、同じ日に 2つの会 議を同時に設定できないものとしている。また、各利用者は、プライバシーの観点から 会議の設定可能日を他の利用者に最初から開示しないものとしている。また、利用者 Bは、利用者 Aと第 1の会議を設定することを利用者 Cには開示しないものとしている 。同様に、利用者 Bは、利用者 Cと第 2の会議をすることを利用者 Aには開示しないも のとしている。 FIG. 14 is a diagram for explaining a schedule problem in which the schedule adjustment device according to the second embodiment of the present invention creates a plan. In Figure 14, as initial conditions, the settable days for each user are 1 and 2 days for 禾 IJ user A, 2 days, 3 and 4 days for 禾 IJ user B, and は IJ user C for 2 days and 3 days, and the initial setting of the desired date to hold each user's meeting is 2 days. Show. In creating this schedule plan, each user cannot set up two meetings at the same time. In addition, each user does not disclose the conference setting date to other users from the beginning from the viewpoint of privacy. Also, User B does not disclose to User C that he / she will set up a first meeting with User A. Similarly, User B does not disclose to User A that he will have a second meeting with User C.
[0113] 図 15は、本発明の実施の形態 2にかかるスケジュール調整装置が計画を作成する スケジュール問題の制約ネットワーク図である。図 15において、各ノードは、エージェ ント 200a、エージェント 200b、エージェント 200cの変数を示している。エージェント 2 OOaは利用者 Aの会議設定日を示すノード x8を持ち、ノード x8は「1」または「2」をと る。エージェント 200bは、利用者 Bが利用者 Aと会議を設定する日を示すノード x9と 、利用者 Bが利用者 Cと会議を設定する日を示すノード xlOを持つ。ノード x9とノード xlOはそれぞれ「2」、「3」、「4」のいずれかの値をとる。エージェント 200cは、禾 IJ用者 Cが利用者 Bと会議を設定する日を示すノード xl lを持つ。ノード xl lは「2」または「 3」をとる。ここでのノード間の制約は、「x8=x9」、「x9≠xl0」、「xlO=xl l」である  FIG. 15 is a restriction network diagram of a schedule problem in which the schedule adjustment apparatus according to the second embodiment of the present invention creates a plan. In FIG. 15, each node shows variables of the agent 200a, the agent 200b, and the agent 200c. Agent 2 OOa has node x8 indicating the conference setting date of user A, and node x8 takes “1” or “2”. The agent 200b includes a node x9 indicating a date when the user B sets up a conference with the user A, and a node xlO indicating a date when the user B sets up a conference with the user C. Node x9 and node xlO each take one of the values “2”, “3”, and “4”. The agent 200c has a node xl l indicating the date when the user IJ C sets up a meeting with the user B. The node xl l takes “2” or “3”. The constraints between the nodes here are "x8 = x9", "x9 ≠ xl0", "xlO = xl l"
[0114] なお、本実施の形態では、変数変更禁止期間の現在設定値 TPを調整動作する状 態について説明するために、変数の値を変更するかどうかを判定するステップ S408 での動作を、次のようにする。制約で結ばれたそれぞれ 2つのノードについて、改善 容易度データの値が全く同じ場合における確率的な判定処理 (ステップ S507)では 、ノードの名前の若い方のノード、例えば、ノード x9がノード xlOに優先して値を変更 するように判定されるものとする。ただし、このような若い方のノードが永続的に優先し て変更されることは誤って 、る力 限られた期間にお 、てはこのように判定される場 合はありうる。本実施の形態では、このような状態の動作について説明するために、 少なくとも時間間隔 T4の 2倍以内の期間にお 、て、一方のノードに偏って多く変更 すると判断するとしている。また、各変数の持つ変数変更禁止期間の現在設定値 TP の初期値は、時間間隔 T2と同じ時間相当とする。さらに、本実施の形態において、ノ ードの値の変更禁止方法は、値を変更した後は、変更前の値に戻すことを変数変更 禁止期間の間は禁止することとする。ただし、値を変更前の値以外にとり得る値があ れば、その値への変更は禁止されない。 [0114] In the present embodiment, in order to explain the state in which the current set value TP of the variable change prohibition period is adjusted, the operation in step S408 for determining whether or not to change the variable value is performed. Do as follows. In the probabilistic decision process (step S507) when the improvement ease data values are exactly the same for each of the two nodes connected by the constraint, the node with the younger node name, for example, node x9, becomes node xlO. It shall be determined to change the value with priority. However, it is possible that such a younger node will be permanently changed in preference and may be judged in this way for a limited period of time. In the present embodiment, in order to explain the operation in such a state, it is determined that a large number of changes are biased toward one node at least in a period within twice the time interval T4. In addition, the initial value of the current set value TP of the variable change prohibition period of each variable is equivalent to the same time as the time interval T2. Furthermore, in this embodiment, the node value change prohibition method is to change the value back to the value before the change after changing the value. It is prohibited during the prohibited period. However, if there is a possible value other than the value before the change, the change to that value is not prohibited.
[0115] 次に、実施の形態 2にかかる複数のエージェントを接続したスケジュール調整装置 で変数変更禁止期間の現在設定値 TPを調整しながら各エージェントの変数間の制 約違反を解消する動作例について説明する。まず、動作を開始後、局所最適解に陥 り変数の改善が進まず制約解決部 205で「改善されて 、な 、」と判定され、変数変更 禁止期間の現在設定値 TPの調整を開始するに至るまでの第 1の動作例について説 明する。図 16は、本発明の実施の形態 2にかかるスケジュール調整装置の初期動作 を説明する図である。図 16において、各行はそれぞれの時刻における変数の値を示 している。また、変数の値の後ろに、それぞれ改善容易度データを「(改善可能数 nZ 制約違反数 mZ制約数 1)」のように示して 、る。  [0115] Next, an example of an operation for eliminating the constraint violation between variables of each agent while adjusting the current setting value TP of the variable change prohibition period with the schedule adjustment device connected to multiple agents according to the second embodiment explain. First, after starting the operation, it falls into the local optimal solution, and the improvement of the variable does not progress. The constraint resolution unit 205 determines “Improved, no,” and starts adjusting the current set value TP of the variable change prohibition period. The first operation example up to is described. FIG. 16 is a diagram for explaining an initial operation of the schedule adjusting apparatus according to the second embodiment of the present invention. In Fig. 16, each line shows the value of the variable at each time. In addition, the ease-of-improvement data is indicated after each variable value as “(number of improvement possible nZ constraint violation number mZ constraint number 1)”.
[0116] 時刻 0、すなわち、初期状態において、エージェント 200a、エージェント 200b、ェ ージェント 200cは、それぞれの変数 x8、変数 x9、変数 χ10、変数 xl lの値がすべて 「2」に設定されており、変数 x9と変数 xlOの間で制約違反が発生している。ここで各 エージェントは、改善容易度データを生成して送受信し、変数の値を変更するかどう かが判定される。エージェント 200bは、変数 x9と変数 xlOは改善容易度データが同 じため、優先度を持つ x9の値が「3」に変更される。エージェント 200aとエージェント 2 00cは変数の値を変更しな 、と判定される。  [0116] At time 0, that is, in the initial state, agent 200a, agent 200b, and agent 200c have the values of variable x8, variable x9, variable χ10, and variable xl l all set to "2" A constraint violation has occurred between variable x9 and variable xlO. Here, each agent generates improvement ease data, transmits and receives it, and determines whether to change the value of the variable. Agent 200b changes the value of x9, which has priority, to "3" because variable x9 and variable xlO have the same improvement ease data. Agent 200a and Agent 200c are determined not to change the value of the variable.
[0117] 時刻 1において、変数 x9は値「2」への変更が禁止されている力 値「3」と値「4」へ は変更できる状態になっている。また、変数 x8と変数 x9の間で制約違反が発生して いる。変数 x8と変数 x9の改善容易度データを比較すると、改善可能制約違反数 nと 制約違反数 mは同じだ力 制約数 1が変数 x8の方が小さいので、エージェント 200a は変数 x8の値を「1」に変更すると判定する。一方、エージェント 200bは変数 x9の値 を変更しないと判定する。  [0117] At time 1, the variable x9 can be changed to the force value "3" and the value "4", which are prohibited from changing to the value "2". In addition, there is a constraint violation between variable x8 and variable x9. Comparing the improvement degree data of variable x8 and variable x9, the number of improveable constraint violations n and the number of constraint violations m are the same. Since the number of constraints 1 is smaller in variable x8, agent 200a sets the value of variable x8 as `` It is determined to change to “1”. On the other hand, the agent 200b determines not to change the value of the variable x9.
[0118] 時刻 2において、変数 x8は、値「2」への変更が禁止された状態になっている。変数 x8は、値力「l」または「2」とする必要があるため、変数 x8は、値をまったく変更できな い状態になっている。また、変数 x9の変数変更禁止設定は、解除されており、エージ ヱント 200bは変数 x9の値を変更すると判定する。変数 x9は、制約違反数 mが 1で、 仮に値「2」へ変更すると制約違反数 mが 2に増加することになるので、値「4」へ変更 する。 [0118] At time 2, the variable x8 is prohibited from changing to the value "2". Since variable x8 needs to have a value of “l” or “2”, variable x8 is in a state where its value cannot be changed at all. In addition, the variable change prohibition setting for the variable x9 is cancelled, and the agent 200b determines to change the value of the variable x9. The variable x9 has a constraint violation number m of 1, If the value is changed to “2”, the number of constraint violations m increases to 2, so change it to “4”.
[0119] 時刻 3において、変数 x8の変数変更禁止設定は、解除されている。時刻 1の時と同 様に、エージェント 200aは、変数 x8の値を「1」から「2」へ変更する。  [0119] At time 3, the variable change prohibition setting for variable x8 is cancelled. As with time 1, agent 200a changes the value of variable x8 from “1” to “2”.
[0120] 時刻 4において、変数 x8が変数変更禁止設定され値が変更できないため、時刻 2 の時と同様に、エージェント 200bは変数 x9の値を「4」から「3」へ変更する。  [0120] At time 4, since the variable x8 is set to prohibit variable change and the value cannot be changed, the agent 200b changes the value of the variable x9 from "4" to "3" as at time 2.
[0121] 時刻 5において、時刻 5は時刻 1とほぼ同じ動作であり、この時刻以降も同様に変数 x8と変数 x9の値を交互に変更する動作を続けるのみで制約違反状態は解消されな い。この時、変数 x8と変数 x9は制約違反数力^の状態が続いている。ここで、エージ ェント 200a、エージェント 200bの制約解決部 205力 改善傾向データより「改善され ていない」と判定し、エージェント 200aは変数 x8、エージェント 200bは変数 x9につ いての変数変更禁止期間の現在設定値 TPを増加する。エージェント 200cは、どの 変数にっ ヽても変数変更禁止期間の現在設定値 TPを変更しな ヽ。  [0121] At time 5, time 5 is almost the same as time 1, and after this time, the operation of changing the values of variable x8 and variable x9 is continued and the constraint violation state is not resolved. . At this time, the variable x8 and the variable x9 are in a state of constraint violation power. Here, the constraint resolution unit 205 of agent 200a and agent 200b is judged as “not improved” from the improvement trend data, and agent 200a is currently in the variable change prohibition period for variable x8 and agent 200b for variable x9. Increase the set value TP. Agent 200c does not change the current set value TP of the variable change prohibition period regardless of the variable.
[0122] 次に、第 1の動作例に続いて変数変更禁止期間の現在設定値 TPが調整された後 から、調整した新たな値により局所最適解力 の脱出を強制的に誘発して制約違反 を解消するに至る第 2の動作例について説明する。図 17は、本発明の実施の形態 2 にかかるスケジュール調整装置の TP調整後の動作例を説明する図である。図 17に おいて、図 16と同様に、各行はそれぞれの時刻における変数の値を示している。な お、第 2の動作例は、第 1の動作例で変数 x8、変数 x9の TPが変更された後に続く 動作例を示すが、動作の違いを比較しやすくするため、各変数の初期値は図 16で 示した動作例の初期値と同じ状態とする。すなわち、どの変数についても変数変更 禁止期間が設定されて!、な 、状態力も動作を開始してどのように動作するかにつ!、 て説明する。ただし、変数の現在設定値 TPについては、変数 x8と変数 x9について は図 16に示した先の動作例での設定値である時間間隔 T2の 2倍の期間、すなわち 、 2 XT2の時間としている。  [0122] Next, after the current setting value TP of the variable change prohibition period has been adjusted following the first operation example, the local optimal solution escape is forcibly induced by the adjusted new value to be constrained. A second example of operation that resolves the violation will be explained. FIG. 17 is a diagram for explaining an operation example after the TP adjustment of the schedule adjustment apparatus according to the second embodiment of the present invention. In FIG. 17, as in FIG. 16, each row indicates the value of the variable at each time. The second operation example shows the operation example that follows the change of the TP of the variable x8 and variable x9 in the first operation example, but the initial values of each variable are easier to compare. Is the same as the initial value of the operation example shown in Fig. 16. That is, the variable change prohibition period is set for any variable !, and how the state force starts to operate and how it operates is explained. However, for the current setting value TP of the variable, the variable x8 and the variable x9 are set to a period twice the time interval T2, which is the setting value in the previous operation example shown in FIG. 16, that is, 2 XT2 time. .
[0123] 時刻 nにおいて、図 16の時刻 0における動作と同様に、エージェント 200aは変数 x 9の値を「3」に変更する。  At time n, similar to the operation at time 0 in FIG. 16, the agent 200a changes the value of the variable x 9 to “3”.
[0124] 時刻 n+ 1において、エージェント 200bは、変数 x9の値「2」への変更を変数変更 禁止設定する。変数 x8と変数 x9の間の制約違反は、まだ解消されていない。制約 数の少な 、変数 x8の値を変更する。 [0124] At time n + 1, agent 200b changes the variable x9 to the value "2". Set prohibited. The constraint violation between variable x8 and variable x9 has not been resolved. Restriction Change the value of variable x8 with a small number of constraints.
[0125] 時刻 n+ 2において、エージェント 200aは、変数 x8の値を「1」へ変更し、値「2」へ の変更を禁止設定する。変数 x8の値を「1」または「2」とする必要があるため、エージ ェント 200aは、変数 x8の値を全く変更できない状態となっている。変数 x8と変数 x9 の間の制約違反は、まだ解消されていないので、エージェント 200bは、図 16の時刻 2における動作と同様〖こ、変数 x9の値を「3」から「4」に変更する。変数 x9は、値「2」 への変更が禁止された状態のため、値「4」へ変更する。  [0125] At time n + 2, the agent 200a changes the value of the variable x8 to "1" and prohibits the change to the value "2". Since the value of the variable x8 needs to be “1” or “2”, the agent 200a cannot change the value of the variable x8 at all. Since the constraint violation between the variable x8 and the variable x9 has not yet been resolved, the agent 200b changes the value of the variable x9 from “3” to “4” in the same manner as the operation at time 2 in FIG. . Variable x9 is changed to the value “4” because changing to the value “2” is prohibited.
[0126] 時刻 n+ 3にお 、て、変数 x8と変数 x9の間の制約違反は解消されて ヽな 、。変数 x8は、まだ値の変更が禁止されているので、エージェント 200bは、変数 x9の値を変 更すると判断する。変数 x9は、値「2」へ変更すると制約違反数が 2に増えるが、値「3 」への変更が禁止されているので、値「2」へ変更する。  [0126] At time n + 3, the constraint violation between variable x8 and variable x9 is resolved. Since the change of the value of the variable x8 is still prohibited, the agent 200b determines to change the value of the variable x9. When variable x9 is changed to value “2”, the number of constraint violations increases to 2, but change to value “3” is prohibited, so change to value “2”.
[0127] 時刻 n+4において、変数 x8と変数 x9の間、および、変数 x9と変数 xlOの間でそ れぞれ制約違反が生じている。エージェント 200bは、変数 x9の値「3」への変更と、 値「4」への変更がどちらも禁止されているので、値を変更することができない。しかし 、エージェント 200aは、変数 x8の値を変更すれば制約違反が解消できるため、値を 「2」へ変更する。エージェント 200bは、変数 xlOの近隣で制約違反している変数 x9 の値の変更が禁止されて 、るので、変数 xlOの値を「2」から「3」へ変更する。  [0127] At time n + 4, constraint violations occur between variable x8 and variable x9 and between variable x9 and variable xlO, respectively. The agent 200b cannot change the value of the variable x9 because the change to the value “3” and the change to the value “4” are both prohibited. However, the agent 200a changes the value to “2” because the constraint violation can be resolved by changing the value of the variable x8. The agent 200b changes the value of the variable xlO from “2” to “3” because the change of the value of the variable x9 that violates the constraint in the vicinity of the variable xlO is prohibited.
[0128] 時刻 n+ 5において、変数 x8と変数 x9の間、および、変数 x9と変数 xlOの間の制 約違反は解消されている。変数 xlOと変数 xl lの間で制約違反が発生しているが、 変数 xl lが値を変更すれば制約違反が解消できるので、エージェント 200cは、変数 xl 1の値を「2」から「3」へ変更する。  [0128] At time n + 5, the constraint violations between variable x8 and variable x9 and between variable x9 and variable xlO are resolved. A constraint violation has occurred between the variable xlO and the variable xl l, but if the variable xl l changes its value, the constraint violation can be resolved, so Agent 200c changes the value of variable xl 1 from “2” to “3” To "".
[0129] 時刻 n+6において、変数間のすべての制約が満たされた状態になり、スケジユー ル調整装置は動作を終了する。  [0129] At time n + 6, all the constraints between the variables are satisfied, and the schedule adjustment device ends its operation.
[0130] 上記 2つの動作例について説明した。図 16に示した第 1の動作例では、時刻 5に おいて、変数名の若い方を変更すると判定される状態が確率的に継続し、一時的に 局所最適解のループに陥った。しかし、時刻 5以降の処理で変数変更禁止期間の現 在設定値 TPの値を調整することにより、その結果、第 2の動作例へと移行した。図 17 に示した第 2の動作例では、変数 xlO、変数 xl lの値を変更するべきところで、変数 X 8と変数 x9の変更だけでこれを解決しょうとすることにより、一時的に、局所最適解に 陥った。しかし、変数変更禁止期間が第 1の動作例より長く調整されていたので変数 xlOが値を変更して局所最適解力も脱出し、時刻 n+6において動作を完了した。 [0130] The above two operation examples have been described. In the first operation example shown in Fig. 16, at time 5, the state determined to change the younger one of the variable names stochastically continued, and temporarily entered a local optimal solution loop. However, by adjusting the value of the current set value TP during the variable change prohibition period in the processing after time 5, the process moved to the second operation example. Fig. 17 In the second operation example shown in Fig. 1, the values of the variables xlO and xl l should be changed. By trying to solve this by changing only the variables X 8 and x9, the local optimal solution is temporarily I fell into. However, since the variable change prohibition period was adjusted to be longer than in the first operation example, the variable xlO changed its value and the local optimal solution escaped, completing the operation at time n + 6.
[0131] このような構成とすることによって、本実施の形態では、エージェントが制約違反の 解消状態に応じた期間において、変数を連続して変更することを禁止し、局所最適 解に陥る可能性や、一部のエージェントが無限ループに陥る可能性をより低下させ、 結果としてエージェントの集合全体がさらに早く解に到達することができる分散制約 充足装置を提供することができる。  [0131] With this configuration, in this embodiment, the agent is prohibited from changing the variable continuously during the period according to the resolution state of the constraint violation, and may fall into a local optimal solution. In addition, it is possible to provide a distributed constraint satisfaction device that further reduces the possibility that some agents fall into an infinite loop, and as a result, the entire set of agents can reach the solution more quickly.
[0132] なお、実施の形態 2にかかるエージェントは、より具体的には、計算機ハードウェア 、および、ソフトウェアから構成される。実施の形態 2にかかるエージェントは、従来の エージェントと同様に、例えば、図 29に示す構成をしている。変数記憶部 101と制約 記憶部 102と近隣状況記憶部 103と変数変更禁止期間記憶部 104と改善傾向記憶 部 208は、メモリ 902と二次記憶部 905およびこれらを管理するソフトウェアで実現さ れる。制約解決部 205と改善容易度生成部 107は、 CPU901とメモリ 902および二 次記憶部 905に格納されたソフトウェアカゝら構成される。通信部 106はネットワークィ ンタフェース 906、およびこれを制御するソフトウェアから構成される。また、スケジュ ール調整装置を利用する利用者は、ディスプレイなどの表示部 903、およびマウスや キーボード、音声入力装置などの入力部 904を用いることで対話的に自分のスケジ ユールを設定できる。また、スケジュール調整結果を表示部 903により確認できる。  Note that, more specifically, the agent according to the second embodiment is configured by computer hardware and software. The agent according to the second embodiment has the configuration shown in FIG. 29, for example, in the same manner as the conventional agent. The variable storage unit 101, the constraint storage unit 102, the neighborhood status storage unit 103, the variable change prohibition period storage unit 104, and the improvement trend storage unit 208 are realized by the memory 902, the secondary storage unit 905, and software that manages them. The constraint solving unit 205 and the improvement ease generating unit 107 are configured by a software module stored in the CPU 901, the memory 902, and the secondary storage unit 905. The communication unit 106 includes a network interface 906 and software for controlling the network interface 906. In addition, a user who uses the schedule adjustment device can interactively set his / her schedule by using the display unit 903 such as a display and the input unit 904 such as a mouse, a keyboard, and a voice input device. Further, the schedule adjustment result can be confirmed by the display unit 903.
[0133] (実施の形態 3)  [Embodiment 3]
次に、本発明の実施の形態 3にかかるエージェントを複数接続した協調作業ロボッ ト(以下、ロボットと記載)の移動計画立案装置について説明する。本実施の形態に 力かるエージェントは、ある条件下で一定の期間において変数を連続して変更するこ とを禁止することにより、一部のエージェントの制約違反を解消するだけでなぐ多く のエージェントで制約違反を解消するもので、局所最適解に陥ることなぐ結果として エージェントの集合全体がより早く解に到達することを目的とする。  Next, a movement planning device for a cooperative work robot (hereinafter referred to as a robot) in which a plurality of agents according to the third embodiment of the present invention are connected will be described. Many of the agents that can be used in this embodiment do not need to continuously change the variables for a certain period of time under certain conditions. The goal is to eliminate constraint violations, and the goal is for the entire set of agents to reach the solution faster as a result of falling into the local optimal solution.
[0134] まず、本実施の形態に力かるエージェントの構成および動作について説明する。図 18は、本発明の実施の形態 3にかかるエージェントの構成図である。図 18において 、エージェント 700は、実施の形態 1で示したエージェント 100とほぼ同じ構成をして Vヽるが、変数記憶部 101に代わり計画座標系列を記憶する計画座標記憶部 701と、 近隣状況記憶部 103に代わり近隣のエージェントの計画座標系列を記憶する近隣 計画座標記憶部 703を備えている点が異なっている。また、計画座標記憶部 701に 記憶される計画座標系列のデータ構造は、位置座標の配列構造をしている。また、 近隣計画座標記憶部 703に記憶される計画座標系列のデータ構造は、近隣のエー ジェントを識別するデータと、位置座標の配列構造データとをレコードとするテーブル 構造をしている。 [0134] First, the configuration and operation of an agent that works with this embodiment will be described. Figure 18 is a configuration diagram of an agent according to the third embodiment of the present invention. In FIG. 18, the agent 700 has almost the same configuration as that of the agent 100 shown in the first embodiment. However, the agent 700 has a planned coordinate storage unit 701 that stores a planned coordinate series instead of the variable storage unit 101, and The difference is that a neighboring planned coordinate storage unit 703 that stores the planned coordinate series of neighboring agents in place of the storage unit 103 is provided. The data structure of the planned coordinate series stored in the planned coordinate storage unit 701 is an arrangement structure of position coordinates. Further, the data structure of the planned coordinate series stored in the neighboring planned coordinate storage unit 703 has a table structure in which data for identifying neighboring agents and array structure data of position coordinates are used as records.
[0135] 次に、エージェントの動作を説明する。エージェント 700の基本動作は実施の形態 1で示したエージェント 100と同じである。  [0135] Next, the operation of the agent will be described. The basic operation of the agent 700 is the same as that of the agent 100 shown in the first embodiment.
[0136] なお、本実施の形態に力かるエージェントはロボットに搭載され、他のロボットに搭 載されるエージェントと通信するよう構成される。図 19は、本発明の実施の形態 3〖こ 力かるエージェントを搭載した協調作業ロボットの構成例を示す図である。図 19にお いて、ロボット 800は、自位置、他のロボットの位置、障害物などを検知するセンサか らなる外界検知部 801、移動のためのモータあるいは脚力 なる移動部 802、計画 外あるいは予想外の障害物への衝突を回避するための衝突回避部 803、センサから の各種入力と他のロボットとの移動計画との制約に応じて自分の移動計画を立案す るエージェント 700力らなる。このような構成で、ロボット 800は、起動後、エージェント 700が、あら力じめ設定される変数データと制約データと、外界検知部 801と衝突回 避部 803が取得するデータに応じて他のロボットのエージェントと通信して移動計画 を調整して立案し、その移動計画を移動部 802に指示して移動する。  [0136] Note that an agent that works in the present embodiment is mounted on a robot and is configured to communicate with an agent mounted on another robot. FIG. 19 is a diagram showing a configuration example of a collaborative work robot equipped with an agent that can perform the third embodiment of the present invention. In FIG. 19, the robot 800 is an external environment detection unit 801 including sensors for detecting its own position, the position of another robot, an obstacle, etc., a moving unit 802 for a motor or leg force for movement, unplanned or predicted A collision avoidance unit 803 for avoiding a collision with an outside obstacle, and 700 agents who make their own movement plan according to the constraints between various inputs from sensors and the movement plan with other robots. With such a configuration, after the robot 800 starts up, the agent 700 determines other data according to the variable data and constraint data that are preliminarily set and the data acquired by the external detection unit 801 and the collision avoidance unit 803. It communicates with the agent of the robot, adjusts the movement plan, makes a movement plan, and instructs the movement unit 802 to move the movement plan.
[0137] 次に、実施の形態 3にかかる複数のエージェントを接続した移動計画立案装置の 具体的動作について説明する。ここでは、 2台のロボット Ra、ロボット Rbに搭載される エージェントが仮想的な移動計画立案装置を構成し、協調して目的地まで移動する 計画を立案する。図 20は、本発明の実施の形態 3にかかる移動計画立案装置が計 画を作成する移動問題を説明する図である。図 20において、 2台のロボット Ra811、 Rb812が同じ室内で作業する。ロボット Ra811、ロボット Rb812は、それぞれの持つ センサで室内での自分の位置、相手の位置、障害物の位置などを検知して確認でき る。ただし、センサの精度、ロボット本体の大きさなどの条件により、移動計画は量子 化したタイル状の座標値で計画する。また、協調作業ロボット Ra811、ロボット Rb81 2の移動できる空間は、 X方向の幅 5、 Y方向の幅 2の大きさを持つ。この空間にロボ ット Ra811とロボット Rb812が存在する。 Next, a specific operation of the movement plan planning apparatus in which a plurality of agents according to the third embodiment is connected will be described. Here, the agents mounted on the two robots Ra and Rb constitute a virtual movement planning device, and plan to move to the destination in cooperation. FIG. 20 is a diagram for explaining a movement problem in which the movement planning apparatus according to the third embodiment of the present invention creates a plan. In FIG. 20, two robots Ra811 and Rb812 work in the same room. Robot Ra811 and Robot Rb812 have their own Sensors can detect and confirm your position in the room, the position of the opponent, and the position of obstacles. However, depending on conditions such as the accuracy of the sensor and the size of the robot body, the movement plan is planned with quantized tile coordinate values. The space in which the cooperative robots Ra811 and Rb81 2 can move has a width of 5 in the X direction and a width of 2 in the Y direction. Robot Ra811 and robot Rb812 exist in this space.
[0138] 協調作業ロボット Ra811は、初期座標(1, 1)に、ロボット Rb812は初期座標(0, 0 )に位置する。また、座標(3, 1)には、障害物 K813があり、ロボット Ra811、ロボット Rb812はここに移動できない。障害物 K813の存在は、ロボット Ra811、ロボット Rb8 12のそれぞれのセンサにより既に認識されているものとする。また、ロボットは、 1ステ ップで、 X方向もしくは Y方向に 1つしか移動できない。ロボット Ra811、ロボット Rb81 2は、それぞれ最短経路でゴール Ga814、ゴール Gb815に移動し、ロボット Rb812 についてはゴール Gb815に到達したところで留まるものとする。このような条件で、口 ボット Ra811は、最終座標すなわちゴール Ga814 (座標(4, 1) )に、ロボット Rb812 はゴール Gb815 (座標 (4, 0) )に 5ステップ以内に到達するものとする。この移動計 画を立てることを考える。  The cooperative work robot Ra811 is located at the initial coordinates (1, 1), and the robot Rb812 is located at the initial coordinates (0, 0). In addition, there is an obstacle K813 at coordinates (3, 1), and the robot Ra811 and the robot Rb812 cannot move here. It is assumed that the presence of the obstacle K813 has already been recognized by the sensors of the robot Ra811 and the robot Rb812. Also, only one robot can move in the X or Y direction in one step. The robot Ra811 and the robot Rb81 2 move to the goal Ga814 and the goal Gb815 on the shortest path, respectively, and the robot Rb812 stays when it reaches the goal Gb815. Under these conditions, the mouth bot Ra811 reaches the final coordinate, that is, the goal Ga814 (coordinate (4, 1)), and the robot Rb812 reaches the goal Gb815 (coordinate (4, 0)) within 5 steps. Consider setting up this mobility plan.
[0139] ここで、計画座標系列をロボット Ra811については、計画座標(xl l, y 11)から計 画座標(xl5, yl5)、ロボット Rb812については計画座標(x21, y21)力も計画座標 (x25, y25)と表す。計画座標 (xl l, yl l)と計画座標 (xl5, yl5)は、それぞれ口 ボット Ra811の初期位置とゴール Ga814の位置であり、計画座標(x21, y21)と計 画座標(x25, y25)はロボット Rb812の初期位置とゴール Gb815の位置である。こ れらの値は既に決まっており、移動計画立案問題はこの間の座標を埋めることである  [0139] Here, the planned coordinate series for the robot Ra811 is from the planned coordinates (xl l, y 11) to the planned coordinates (xl5, yl5), and for the robot Rb812, the planned coordinate (x21, y21) force is also the planned coordinates (x25 , y25). The planned coordinates (xl l, yl l) and the planned coordinates (xl5, yl5) are the initial position of the mouth bot Ra811 and the position of the goal Ga814, respectively. The planned coordinates (x21, y21) and the planned coordinates (x25, y25) Is the initial position of robot Rb812 and the position of goal Gb815. These values are already determined, and the movement planning problem is to fill in the coordinates between them
[0140] 次に、計画問題の制約条件について説明する。制約計画座標系列が変数であり、 ロボット Ra811、ロボット Rb812が同じ座標を占めないこと、障害物 K813と同じ座標 をとれないことなどが制約になる。またロボット Ra811、ロボット Rb812の移動能力も 制約となる。図 21は、本発明の実施の形態 3にかかる移動計画立案装置が計画を作 成する移動問題の制約ネットワーク図である。図 21において、計画座標の X座標値 は「0」、「1」、「2」、「3」、「4」のいずれかの値、 Y座標値は「0」、「1」のいずれかの値 をとるが、ロボット Ra811とロボット Rb812が同じ時刻に同じ座標を持つことはできな い。また、座標(3, 1)には、障害物 K813があり、この計画座標の値を持つことはで きない。 [0140] Next, the constraint conditions of the planning problem will be described. The constraint plan coordinate series is a variable, and the restriction is that the robot Ra811 and the robot Rb812 do not occupy the same coordinates, and cannot take the same coordinates as the obstacle K813. In addition, the movement capabilities of robot Ra811 and robot Rb812 are also a limitation. FIG. 21 is a restriction network diagram of a movement problem created by the movement planning apparatus according to the third embodiment of the present invention. In Figure 21, the X coordinate value of the planned coordinate is “0”, “1”, “2”, “3”, “4”, and the Y coordinate value is “0”, “1”. The value of the However, the robot Ra811 and the robot Rb812 cannot have the same coordinates at the same time. Also, the coordinate (3, 1) has an obstacle K813 and cannot have this planned coordinate value.
[0141] また、移動オペレータ「op」は、移動コマンドに関する制約を示す。移動は、 1ステツ プにっき座標を上下左右どちらかの方向に 1つ動く 4種の移動オペレータと、全く動 かない 1つの移動オペレータの、計 5つがある。  [0141] Further, the movement operator "op" indicates restrictions on the movement command. There are a total of five movements: one movement operator that moves the coordinates one step up, down, left, or right in one step, and one movement operator that does not move at all.
[0142] 図 22は、本発明の実施の形態 3にかかる協調作業ロボットの移動オペレータの説 明図である。図 22において、「left」オペレータは X座標値を 1減らし、 Y座標値は変 更しない。即ち、「X座標値変更」は「一 1」であって、「Y座標値変更」は「変更しない」 である。「right」オペレータでは X座標値を 1増やし、 Υ座標値は変更しない。即ち、「 X座標値変更」は「 + 1」であって、「Y座標値変更」は「変更しな!、」である。「up」オペ レータは Y座標値を 1増やし、 X座標値は変更しない。即ち、「Y座標値変更」は「 + 1 」であって、「X座標値変更」は「変更しない」である。「down」オペレータは Υ座標値 を 1減らし、 X座標値は変更しない。即ち、「Y座標値変更」は「― 1」であって、「X座 標値変更」は「変更しない」である。また、「stay」オペレータは座標値を変更しない。 即ち、「X座標値変更」も「Y座標値変更」は「変更しな!ヽ」である。  [0142] FIG. 22 is an explanatory diagram of the mobile operator of the cooperative work robot according to the third embodiment of the present invention. In Figure 22, the “left” operator decrements the X coordinate value by 1 and does not change the Y coordinate value. That is, “X coordinate value change” is “1”, and “Y coordinate value change” is “not changed”. The “right” operator increases the X coordinate value by 1, and does not change the Υ coordinate value. That is, “X coordinate value change” is “+1”, and “Y coordinate value change” is “Do not change!”. The “up” operator increases the Y coordinate value by 1, and does not change the X coordinate value. That is, “Y coordinate value change” is “+1”, and “X coordinate value change” is “not changed”. The “down” operator decrements the Υ coordinate value by 1 and does not change the X coordinate value. That is, “Y coordinate value change” is “−1”, and “X coordinate value change” is “not changed”. Also, the “stay” operator does not change the coordinate value. In other words, “X coordinate value change” and “Y coordinate value change” are “do not change!”.
[0143] また、ロボット Ra811、ロボット Rb812は、これら 5つのオペレータから一度に 1つ を選択するものとする。この時、これらのオペレータ間の制約として、座標系列は、 1 回の移動毎に移動前後の座標との間にそれぞれ制約が決定する。  [0143] Robot Ra811 and Robot Rb812 select one of these five operators at a time. At this time, as a restriction between these operators, the coordinate series is determined between the coordinates before and after the movement for each movement.
[0144] 次に、本実施の形態に力かる複数のエージェントを接続した移動計画立案装置で 各エージェントの変数間の制約を解消する動作例について説明する。図 23は、本発 明の実施の形態 3にかかる移動計画立案装置の初期状態を説明する図である。図 2 3において、最初にロボット Ra811とロボット Rb812は、計画座標記憶部 701に格納 されているそれぞれ自分の計画座標系列 (xl l, y 11)から計画座標系列 (xl 5, yl5 )と計画座標系列 (x21, y21)から計画座標系列 (x25, y25)を、制約解決部 105に より、移動オペレータの制約から計画した状態を示している。最初の計画を立てた後 、ロボット Ra811とロボット Rb812は通信部 106により計画座標系列を送受信し、計 画座標 (xl2, y 12)から計画座標 (xl 5, yl5)と計画座標 (x22, y22)から計画座 標 (x25, y25)とが同じ座標に存在することから制約違反状態であることを検知する [0144] Next, an operation example for eliminating restrictions between variables of each agent in a movement plan planning apparatus in which a plurality of agents that are useful in the present embodiment are connected will be described. FIG. 23 is a diagram for explaining an initial state of the movement planning apparatus according to the third embodiment of the present invention. In Fig. 23, the robot Ra811 and the robot Rb812 first have their own planned coordinate series (xl l, y 11) and planned coordinate series (xl 5, yl5) and planned coordinates stored in the planned coordinate storage unit 701, respectively. The plan coordinate series (x25, y25) from the series (x21, y21) is shown as planned by the constraint resolution unit 105 based on the restrictions of the moving operator. After making the initial plan, the robot Ra811 and the robot Rb812 send and receive the planned coordinate series via the communication unit 106, and from the planned coordinates (xl2, y12) to the planned coordinates (xl5, yl5) and the planned coordinates (x22, y22) ) Plan Detects a violation of the constraint because the mark (x25, y25) exists at the same coordinates
[0145] 図 24は、本発明の実施の形態 3にかかる移動計画立案装置の途中状態を説明す る図である。図 24において、制約条件を解消する優先度を持つロボット Ra811が、 図 23の状態力も計画座標 (xl2, yl2)の値を座標(1, 0)から座標(2, 1)に変更し、 この変数を変更禁止設定した状態を示している。ロボット Ra811は目標移動数以内 でゴール Ga814に到達するためには、計画座標 (xl2, yl2)以降の計画座標系列 を変更することができない。そして、ロボット Ra811は、改善容易度生成部 107にて 生成した先の変更と変数変更禁止期間についての情報を含む改善容易度データを ロボット Rb812へ送信する。ロボット Ra811の改善容易度データを受信したロボット R b812は、計画座標 (x23, y23)を変更し、それ以降の計画座標についても変更する [0145] FIG. 24 is a diagram for explaining an intermediate state of the movement planning apparatus according to the third embodiment of the present invention. In Fig. 24, the robot Ra811 with priority to eliminate the constraint condition changes the value of the planned coordinate (xl2, yl2) from coordinate (1, 0) to coordinate (2, 1) for the state force in Fig. 23. This shows the state where the variable is set to prohibit modification. Robot Ra811 cannot change the planned coordinate series after the planned coordinates (xl2, yl2) in order to reach the goal Ga814 within the target number of movements. Then, the robot Ra811 transmits to the robot Rb812 improvement ease data including information on the previous change and variable change prohibition period generated by the improvement degree generation unit 107. The robot Rb812 that received the improvement ease data of the robot Ra811 changes the planned coordinates (x23, y23) and changes the subsequent planned coordinates.
[0146] 図 25は、本発明の実施の形態 3にかかる移動計画立案装置の最終状態を説明す る図である。図 25において、ロボット Ra811とロボット Rb812の計画座標ですベての 制約が満たされた状態を示している。図 25に示される通り、ロボット Ra811はゴール Ga814、良!]ち座標(4, 1)に迪り着くこと力できる。ロボット Rb812はゴーノレ Gb815、 即ち座標(4, 0)に迪り着くことができる。これにより、ロボット Ra811とロボット Rb812 の移動計画が立案動作を終了する。 FIG. 25 is a diagram for explaining the final state of the movement plan planning apparatus according to the third embodiment of the present invention. In Fig. 25, the planned coordinates of robot Ra811 and robot Rb812 are shown in a state where all the constraints are satisfied. As shown in FIG. 25, the robot Ra811 can reach the goal Ga814, good!] Coordinates (4, 1). Robot Rb812 can reach Gonore Gb815, ie, coordinates (4, 0). Thereby, the movement plan of the robot Ra811 and the robot Rb812 is completed.
[0147] このような構成とすることによって、実施の形態 3では、エージェントが変数として座 標系列を用いて、変数データや制約データの初期値や変更時の値をセンサ装置に よって外部より取得して計画を作成する。また、この作成した計画に応じて稼動部を 制御することによって、局所最適解に陥る可能性や、一部のエージェントが無限ルー プに陥る可能性がより低下する。結果として、ロボットに搭載されるエージェントの集 合全体が移動計画を早く立案することができる。  [0147] With this configuration, in Embodiment 3, the agent uses the coordinate series as a variable, and the sensor device acquires the initial value of the variable data and constraint data and the value at the time of change from the outside. And create a plan. In addition, by controlling the operating part according to the created plan, the possibility of falling into a local optimal solution and the possibility of some agents falling into an infinite loop are further reduced. As a result, the entire set of agents installed on the robot can make a movement plan quickly.
[0148] なお、実施の形態 3では変数として座標系列を用いる形態としたが、移動オペレー タを変数として用いる形態としてもょ ヽ。  [0148] In the third embodiment, the coordinate series is used as a variable. However, the mobile operator may be used as a variable.
[0149] (実施例)  [0149] (Example)
以上で説明した実施の形態 1を用いて、効果の測定実験を行なった。分散アルゴリ ズムの速度評価は通信回数で行うのが一般的であるため、本実験では、実施の形態An effect measurement experiment was conducted using the first embodiment described above. Distributed algorithm In this experiment, the speed of the network is generally evaluated by the number of communications.
1におけるタスク割り当て装置の問題につ!、てシミュレータを用いて解き、そのメッセ ージ交換回数で評価を行うことにする。 The problem of the task assignment device in 1 is solved using a simulator and evaluated by the number of message exchanges.
[0150] 以下、本発明による手法と、既存アルゴリズムとしては最速である分散ブレークァゥ トアルゴリズム (横尾 真、外 1名、「分散 breakout:反復改善型分散制約充足アルゴ リズム」、情報処理学会論文誌、 1998年、第 39卷、第 6号、 p. 1889— 1897を参照 )を比較する。分散アルゴリズムの動作は本来、分散しているエージェント間で非同 期だ力 今回の実験では各エージェントがシミュレータ上で同期的にメッセージ交換 と処理を行 、、全ての制約が充足されたことをシミュレータが検知した時点までの全 体のメッセージ交換回数 (以下ではサイクル数と呼ぶ)で比較を行う。  [0150] Hereafter, the method according to the present invention and the distributed breakout algorithm that is the fastest among existing algorithms (Makoto Yokoo, 1 other, "distributed breakout: iterative improved distributed constraint satisfaction algorithm", IPSJ Journal, 1998, pp. 3989, 6, p. 1889-1897). The operation of the distributed algorithm is inherently asynchronous among the distributed agents. In this experiment, each agent exchanges messages and processes synchronously on the simulator, and all the constraints are satisfied. A comparison is made based on the total number of message exchanges (hereinafter referred to as the number of cycles) up to the point of detection.
[0151] 実施の形態 1におけるタスク割り当て装置においては、実施例として各エージェン トが 2種類のタスクだけを選択し得る図 7の制約ネットワークを用いた。本実験では、 各エージェントは 3種類、あるいは 4種類のタスクを選択し得るさらに複雑な制約ネット ワークの問題を用いて実験を行った。  [0151] In the task assignment device in the first embodiment, the constraint network in Fig. 7 in which each agent can select only two types of tasks is used as an example. In this experiment, each agent performed experiments using a more complicated constraint network problem in which three or four types of tasks could be selected.
[0152] 図 26は、その制約ネットワークの例を示す。 3つのタスクを選択し得る場合の問題 について説明する。図 26のように最初にエージェントを 3つのグループに分け、違う グループのエージェントの間を制約によりランダムに結ぶことで問題が作成される。制 約は、 X≠Y型の制約とする。このように問題を作成すると、必ず解が存在する問題を 作ることができる。  [0152] Figure 26 shows an example of the constraint network. Explain the problem when three tasks can be selected. As shown in Fig. 26, the problem is created by first dividing the agents into three groups, and connecting the agents in different groups randomly with constraints. The constraint is an X ≠ Y type constraint. When you create a problem like this, you can always create a problem that has a solution.
[0153] 図 26は、エージェントの数が 12だ力 実験ではエージェントの総数 120、制約の 総数 324となる問題を 10種類用意した。これを課題 Iとする。  [0153] Figure 26 shows 10 types of problems with a total of 120 agents and a total of 324 constraints in the force experiment with 12 agents. This is Issue I.
[0154] 4つのタスクを選択し得る場合についても同様に、エージェントを 4つのグループ に分けて、違うグループのエージェント間を制約でランダムに結ぶことで、解がある問 題を作成した。エージェントの総数 120、制約の総数 564となる問題を 10種類用意し た。これを課題 IIとする。  [0154] Similarly, when four tasks can be selected, we divided the agents into four groups and created a problem with a solution by randomly connecting the agents in different groups. Ten types of problems with a total of 120 agents and 564 constraints were prepared. This is Issue II.
[0155] 本実験では、課題 Iと課題 IIそれぞれ各 10種類ずつの課題について、実行時にラ ンダム値で初期化し、解に到達するまでのサイクル数を計測した。課題 Iの 10種類に ついてそれぞれ 10回、課題 IIの 10種類についてそれぞれ 10回実行し、その解到達 までの平均サイクル数を評価値として集計した。ただし、 10000サイクル(回)メッセ一 ジを交換しても解に到達しない場合、解に到達しな力つたものとして扱い、 10000サ イタルを評価値として平均計算に組み込む。 [0155] In this experiment, for each of the 10 types of tasks I and II, each was initialized with a random value at the time of execution, and the number of cycles to reach the solution was measured. Executed 10 times for each of the 10 types of Task I and 10 times for each of the 10 types of Task II, and reached the solution The average number of cycles until then was tabulated as an evaluation value. However, if the solution is not reached even after exchanging messages of 10,000 cycles (times), it is treated as if it did not reach the solution, and 10000 cycles are included in the average calculation as an evaluation value.
[0156] 図 27および図 28は、この結果を示す。図 27は、解到達までの平均サイクル数で ある。図 28は、解到達率である。図 27に示されている通り、課題 Iでも課題 Πでも、本 発明の方式による解到達までの平均サイクル数は既存方式による解到達までの平均 サイクル数よりも大変少ない値である。また、図 28に示されている通り、課題 Iでも課 題 IIでも、本発明の方式による解到達率は 100%である。一方、既存方式による解到 達率は、課題 Iでも課題 Πでも 100%に達して 、な ヽ。  [0156] Figures 27 and 28 show the results. Figure 27 shows the average number of cycles to reach the solution. Figure 28 shows the solution arrival rate. As shown in Fig. 27, in both Problem I and Problem 解, the average number of cycles to reach the solution by the method of the present invention is much smaller than the average number of cycles to reach the solution by the existing method. Further, as shown in FIG. 28, the solution arrival rate according to the method of the present invention is 100% in both the problem I and the problem II. On the other hand, the achievement rate by the existing method reached 100% for both Problem I and Problem 、.
[0157] 本発明の手法は、既存の手法よりも短い時間で確実に解に到達していることがわ かる。特に問題 IIにおいては、既存の手法が 5277. 30サイクル (解到達率 74%)で あるのに対し、本発明の方式では 407. 82サイクル (解到達率 100%)であり、顕著 な差が現れている。  [0157] It can be seen that the method of the present invention reliably reaches the solution in a shorter time than the existing method. In particular, in Problem II, the existing method has 5277.30 cycles (solution attainment rate of 74%), while the method of the present invention has 407.82 cycles (solution attainment rate of 100%). Appears.
[0158] なお、実施の形態 1から実施の形態 3において、それぞれの問題を、エージェント 間で数回の情報交換をすることで解決できた。しかし実際の問題は非常に複雑であ る。例えば、実施の形態 3にお 、てロボットのとり得る座標は非常に少な 、形態とした 力 実世界での制約条件は複雑であり、情報交換の回数も非常に多くなる。ただし、 このような複雑な問題で分散制約充足問題を解くことは、既存のアルゴリズムでは非 常に長い時間が必要であるが、本発明によれば高速に解くことが可能である。実施 の形態 1から実施の形態 3はそれを端的に説明するために問題を単純ィ匕したもので あり、本発明にかかるエージェントの応用の範囲は、単純な問題に限定されるもので はない。  [0158] In Embodiments 1 to 3, each problem can be solved by exchanging information several times between agents. But the actual problem is very complex. For example, in the third embodiment, the number of coordinates that the robot can take is very small, the force of the form The constraints in the real world are complicated, and the number of times of information exchange is very large. However, solving such a distributed constraint satisfaction problem with such a complex problem requires a very long time with the existing algorithm, but according to the present invention, it can be solved at high speed. Embodiments 1 to 3 simplify the problem to briefly explain it, and the scope of application of the agent according to the present invention is not limited to a simple problem. .
[0159] なお、本発明は、上記した実施の形態の分野に限定されるものではない。例えば、 複数の自律ロボットが共同で作業する場合、ロボットへのタスクの分配、ロボットの位 置特定、複数ロボットによる地図作成などでも応用できる。このような問題ではロボット 毎に変数や制約が分散しており、これを複数のロボットにより分散して解く必要があり 、本発明が応用できる。  Note that the present invention is not limited to the field of the above-described embodiment. For example, when multiple autonomous robots work together, it can also be applied to task distribution to robots, robot position identification, and map creation by multiple robots. In such a problem, variables and constraints are distributed for each robot, and it is necessary to solve them by using a plurality of robots. Therefore, the present invention can be applied.
[0160] また、複数のセンサがネットワーク接続されている場合でも、本発明は各センサのセ ンシング情報の統合などに応用できる。これは各センサのセンシングノイズや誤差を とり除き全体として正確な情報を得るためには、各センサの持つ変数や制約、センサ 間のセンシング情報についての制約を解決する必要があり、本発明が応用できる。あ るいは各センサへのタスクの割当や、センサ間のネットワークの形成、センサ間の通 信周波数の割当、センシング情報を目的のノードにまで送る装置などに本発明が応 用できる。 [0160] Even when a plurality of sensors are connected to the network, the present invention provides a It can be applied to integration of sensing information. In order to remove the sensing noise and error of each sensor and obtain accurate information as a whole, it is necessary to solve the variables and restrictions of each sensor and the restrictions on the sensing information between sensors. it can. Alternatively, the present invention can be applied to tasks such as task assignment to each sensor, formation of a network between sensors, assignment of communication frequency between sensors, and a device for sending sensing information to a target node.
[0161] また、本発明は、複数の観測機器による複数の観測対象の追跡において、追跡対 象を観測機器に割当てる装置にも応用できる。監視カメラに監視対象を割当てる場 合や、レーダーに追跡対象を割当てる場合などで、それぞれの観測機器の性能や 観測範囲、追跡対象の移動など、変数と制約が観測機器に分散していて、これを分 散環境で動作する場合に本発明が応用できる。  [0161] Further, the present invention can also be applied to an apparatus that assigns a tracking target to an observation device in tracking a plurality of observation targets by a plurality of observation devices. When assigning a monitoring target to a surveillance camera or assigning a tracking target to a radar, variables and constraints such as the performance of each observation device, the observation range, and movement of the tracking target are distributed among the observation devices. The present invention can be applied when operating in a distributed environment.
[0162] また、サプライチェーンマネージメントでの生産計画、在庫計画、納入計画などの立 案にも本発明を応用することができる。あるいはロジスティックスの各種問題解決、計 画立案に本発明が応用できる。分散して問題を解決するのはもちろんであるが、一 部の情報を隠蔽する場合にも、本発明が応用できる。  [0162] Further, the present invention can be applied to production planning, inventory planning, delivery planning and the like in supply chain management. Alternatively, the present invention can be applied to solving various logistic problems and planning. Of course, the problem can be solved by distributing it, but the present invention can also be applied to concealing some information.
[0163] また、電力系統設備作業停止計画にも本発明が応用できる。また、エネルギー需 要予測に基づくエネルギー配送計画にも本発明が応用できる。例えば発電所力もの 電力配送計画では、発電所の能力とメンテナンス計画、需要予測、配電網などの各 種制約と変数が分散していて、これを分散環境で動作する場合にも本発明が応用で きる。  [0163] The present invention can also be applied to a power system facility work stoppage plan. The present invention can also be applied to energy delivery plans based on energy demand forecasts. For example, in power distribution plans for power plants, the present invention can be applied even when various constraints and variables such as power plant capabilities and maintenance plans, demand forecasts, and distribution networks are distributed and operated in a distributed environment. it can.
[0164] また、本発明は、複数の空調機器を用いる空調計画にも応用できる。分散した空調 機器が独立に温度調整する場合でも、変数や制約が分散して!/ヽる状態を各機器で 解決する場合にも本発明が応用できる。また、複数の機器カゝらなるシステムの故障診 断、通信経路ルーティング、無線ネットワークの通信周波数割当などにも本発明が応 用できる。  [0164] The present invention can also be applied to an air conditioning plan using a plurality of air conditioning devices. Even when distributed air conditioning equipment adjusts the temperature independently, variables and constraints are dispersed! The present invention can also be applied to the case where each device solves the stale state. Further, the present invention can be applied to failure diagnosis of a system consisting of a plurality of devices, communication route routing, communication frequency allocation of a wireless network, and the like.
[0165] また、鉄道、バスなどのダイヤ作成、勤務割当にも本発明が応用できる。例えば、複 数の相互に乗り入れをしている鉄道会社でのダイヤ作成は、ダイヤという変数、乗り 入れに関する制約が会社間に分散し、変数の制御を各装置で解決する場合にも本 発明が応用できる。 [0165] The present invention can also be applied to schedule creation and work assignment for railways, buses, and the like. For example, the creation of a diagram at a railway company that has multiple trains entering each other can be performed even when the variables of the diagram and restrictions on entry are distributed among the companies and the control of the variables is solved by each device. The invention can be applied.
産業上の利用可能性 Industrial applicability
本発明に力かるエージェントは、ネットワーク接続されたタスク割当装置、スケジユー ル装置、ロボット等に搭載され自律的に近隣のエージェントと非同期で通信し協調し て制約を解消する制御機器等に好適である。  The agent that is effective in the present invention is suitable for a control device or the like that is mounted on a network-connected task allocation device, schedule device, robot, etc., autonomously communicates asynchronously with neighboring agents and cooperates to eliminate restrictions. .

Claims

請求の範囲 The scope of the claims
[1] 複数のエージェントが非同期で協調して解を求めるエージェントにおいて、  [1] In an agent where multiple agents work together asynchronously to find a solution,
求める前記解の現在の値を示す変数データを記憶する変数記憶部と、  A variable storage unit for storing variable data indicating a current value of the solution to be obtained;
前記変数データと近隣のエージェントが記憶する変数データとの値の組合せを示す 制約データを記憶する制約記憶部と、  A constraint storage unit that stores constraint data indicating a combination of values of the variable data and variable data stored by neighboring agents;
前記変数データの変更を禁止する期間を示す変数変更禁止期間データを記憶する 変数変更禁止期間記憶部と、  A variable change prohibition period storage unit for storing variable change prohibition period data indicating a period during which the change of the variable data is prohibited;
自エージェントの前記変数データが前記制約データを満たすための容易度を示す 改善容易度データを生成する改善容易度生成部と、  An easy-to-improvement generation unit that generates easy-to-improvement degree data indicating the degree of ease with which the variable data of the own agent satisfies the constraint data;
前記変数データと前記改善容易度生成部が生成した前記改善容易度データとを前 記近隣のエージェントと送受信する通信部と、  A communication unit that transmits / receives the variable data and the improvement ease data generated by the improvement degree generation unit to / from a neighboring agent;
前記近隣のエージェントより取得した改善容易度データおよび変数データを記憶す る近隣状況記憶部と、  A neighborhood situation storage unit for storing the improvement ease data and variable data obtained from the neighboring agents;
前記改善容易度生成部が生成した前記改善容易度データと前記近隣状況記憶部 に格納して 、る前記近隣のエージェントの改善容易度データとを比較し、前記変数 変更禁止期間データに応じて、前記近隣状況記憶部に格納して 、る前記近隣のェ ージ ントの変数データとの間の制約違反を解消するように前記変数データを前記 制約データの組合せを満たす値に変更するとともに、前記変数変更禁止期間データ をあらかじめ定められた期間に設定する制約解決部と  The improvement ease data generated by the improvement degree generation unit is compared with the improvement degree data of the neighboring agent stored in the neighborhood status storage unit, and according to the variable change prohibition period data, The variable data is changed to a value satisfying the combination of the constraint data so as to eliminate the constraint violation with the neighboring agent variable data stored in the neighborhood status storage unit, and A constraint resolution unit that sets variable change prohibition period data in a predetermined period;
を備えるエージェント。  Agent with.
[2] 前記改善容易度生成部は、前記変数データに対する前記制約データの総数を求め た制約数と、前記変数データと前記近隣のエージェントの変数データとが前記制約 データの値の組合せを満たして 、な 、制約データの総数を求めた制約違反数と、前 記変数データと前記近隣のエージェントの変数データとが前記制約データの値の組 合せを満たしていない制約データのうち、前記変数データが前記変数変更禁止期間 データに含まれておらず、かつ、前記変数データの値を変更することによって、前記 制約データの値の組合せを満たすように変更できる組合せの総数を求めた前記改 善可能数の少なくとも 1つからなる改善容易度データを生成する 請求項 1記載のエージェント。 [2] The improvement ease generator generates a constraint number obtained by calculating a total number of the constraint data for the variable data, and the variable data and the variable data of the neighboring agent satisfy a combination of the constraint data values. Of the constraint data for which the total number of constraint data is obtained and the constraint data whose variable data and the neighboring agent variable data do not satisfy the combination of the constraint data values, the variable data is The variable change prohibition period The improvement possible number obtained by calculating the total number of combinations that are not included in the data and that can be changed to satisfy the combination of the values of the constraint data by changing the values of the variable data Generate ease of improvement data consisting of at least one of The agent of claim 1.
[3] 前記変数データが前記制約データを満たして!/ヽる度合!ヽの過去の推移を示す改善 傾向データを記憶する改善傾向記憶部をさらに備え、 [3] The degree to which the variable data satisfies the constraint data! / The degree to speak! Further includes an improvement trend storage unit that stores improvement trend data indicating past transitions of
前記制約解決部は、前記変数データを変更する前に、前記改善容易度データに含 まれる前記制約違反数で前記改善傾向記憶部に記憶している前記改善傾向データ を追加更新し、前記改善傾向データに応じて前記変数変更禁止期間の長さを決定 して、変数データを変更後に前記変数変更禁止期間データを設定する  The constraint resolution unit additionally updates the improvement trend data stored in the improvement trend storage unit with the number of constraint violations included in the ease of improvement data before changing the variable data, and improves the improvement. Determine the length of the variable change prohibition period according to the trend data, and set the variable change prohibition period data after changing the variable data
請求項 2記載のエージェント。  The agent according to claim 2.
[4] 前記改善容易度生成部は、第 1の一定時間間隔毎に前記改善容易度データを生成 し、前記通信部が前記近隣のエージェントへ前記改善容易度データを送信する 請求項 1または請求項 3のいずれか 1項に記載のエージェント。  [4] The improvement ease generating unit generates the improvement ease data every first fixed time interval, and the communication unit transmits the improvement ease data to the neighboring agents. The agent according to any one of items 3.
[5] 前記改善容易度生成部は、第 2の一定時間間隔毎に前記改善容易度データを生成 し、前記制約解決部が前記変数変更禁止期間データに応じて、前記近隣のエージ ントの記憶する変数データとの間の制約違反を解消するように前記変数データを 変更するとともに前記変数変更禁止期間データを設定する  [5] The improvement ease generation unit generates the improvement ease data every second fixed time interval, and the constraint resolution unit stores the neighboring agent according to the variable change prohibition period data. Change the variable data and set the variable change prohibition period data so as to eliminate the constraint violation with the variable data
請求項 1または請求項 3のいずれか 1項に記載のエージェント。  The agent according to claim 1 or claim 3.
[6] 前記第 2の一定時間間隔は、前記第 1の一定時間間隔より大きい請求項 5記載のェ ージェント。  6. The agent according to claim 5, wherein the second constant time interval is greater than the first constant time interval.
[7] 前記変数データの変更を禁止する期間を示す前記変数変更禁止期間は、前記第 2 の一定時間間隔の k倍であり、 kは整数である請求項 6記載のエージェント。  7. The agent according to claim 6, wherein the variable change prohibition period indicating a period during which change of the variable data is prohibited is k times the second constant time interval, and k is an integer.
[8] 前記制約解決部は、前記変数データを変更するかどうかを判定する際に、自エージ ントの前記改善容易度データと前記近隣状況記憶部が記憶する前記近隣のエー ジェントの改善容易度データとを比較し、少なくとも前記改善可能数が最も多い場合 と、自エージェント以外に制約違反をして 、て変数データを変更できるエージェント 力 Sいない場合と、前記制約違反数が最も多い場合と、前記制約数が最も少ない場合 とのうちいずれか 1つの場合に前記変数データを変更すると判定する  [8] When the constraint resolution unit determines whether to change the variable data, the improvement ease data of the own agent and the improvement degree of the neighboring agent stored in the neighborhood state storage unit are stored. Compared with data, at least when the number of improvement possible is the largest, when there is no agent force S that can change the variable data by violating the constraint other than the own agent, and when the number of constraint violation is the largest, It is determined that the variable data is to be changed when the number of constraints is the smallest or any one of
請求項 1または請求項 3のいずれか 1項に記載のエージェント。  The agent according to claim 1 or claim 3.
[9] 前記制約解決部は、前記変数データを変更する際に、前記制約データより制約を満 たす変数の値を選択し、変数記憶部の変数データを更新する [9] When changing the variable data, the constraint resolution unit satisfies the constraints from the constraint data. Select the value of the variable to be added, and update the variable data in the variable storage unit
請求項 1または請求項 3のいずれか 1項に記載のエージェント。  The agent according to claim 1 or claim 3.
[10] 前記制約解決部は、前記改善傾向データの直近の第 3の一定時間間隔における制 約違反数の合計 mlとその前の第 3の一定時間間隔における制約違反数の合計 mO とを比較により、 ml <mOの場合は改善傾向があると判定して前記変数変更禁止期 間の現在設定値を短くし、 ml≥mOの場合は改善傾向がないと判定して前記変数 変更禁止期間の現在設定値を長くして、前記変数変更禁止期間データを設定する 請求項 3記載のエージェント。 [10] The constraint resolution unit compares the total ml of constraint violations in the latest third fixed time interval of the improvement trend data with the total mO of constraint violations in the previous third fixed time interval. Therefore, if ml <mO, it is determined that there is an improvement trend, and the current set value for the variable change prohibition period is shortened, and if ml≥mO, it is determined that there is no improvement trend and the variable change prohibition period 4. The agent according to claim 3, wherein the currently set value is lengthened and the variable change prohibition period data is set.
[11] 各エージェントが、求める解の現在の値を示す変数データと、前記変数データと近隣 のエージェントがもつ変数データとの値の組合せを示す制約データと、前記変数デ ータの値の変更を禁止する期間を示す変数変更禁止期間データとをそれぞれ持ち、 前記変数データ間のすべての制約関係が成立する前記変数データの解を複数のェ ージヱントが協調して求める分散制約充足方法において、 [11] Variable data that indicates the current value of the solution that each agent seeks, constraint data that indicates a combination of the variable data and variable data of neighboring agents, and change of the value of the variable data In a distributed constraint satisfaction method in which a plurality of agents cooperate to obtain a solution of the variable data, each of which has variable change prohibition period data indicating a period during which the variable data is prohibited, and all constraint relationships between the variable data are established.
各エージェントが、  Each agent
自エージェントの前記変数データが前記制約データを満たすための容易度を示す 前記改善容易度データを生成する生成ステップと、  A generation step of generating the improvement ease data indicating the ease with which the variable data of the self agent satisfies the constraint data;
前記変数データと前記生成ステップで生成した前記改善容易度データとを各近隣の エージェントと非同期に送受信するステップと、  Asynchronously transmitting and receiving the variable data and the improvement ease data generated in the generation step to each neighboring agent;
前記変数データと前記改善容易度データを自己の前記改善容易度データと各近隣 のエージェントの改善容易度データとを比較して、自己の前記変数データを変更す るかどうかを決定する判定ステップと、  A step of determining whether to change the variable data of the self by comparing the variable data and the ease of improvement data with the self-improvement data of the self and the improvement ease data of each neighboring agent; ,
前記判定ステップで自己の前記変数データを変更すると判定した場合に、自己の前 記変数データを前記制約データの組合せを満たす値に変更して前記近隣のエージ ェントに通知する変更ステップと、  A change step in which, when it is determined in the determination step that the variable data of the self is changed, the variable data of the self is changed to a value satisfying the combination of the constraint data and notified to the neighboring agents;
前記変更ステップで前記変数データを変更した場合に、変数変更禁止期間データを あらかじめ定められた期間に設定する変更禁止ステップと  A change prohibition step for setting variable change prohibition period data in a predetermined period when the variable data is changed in the change step;
を有する分散制約充足方法。  A dispersion constraint satisfaction method comprising:
[12] 前記生成ステップは、前記変数データに対する前記制約データの総数を求めた制 約数と、前記変数データと前記近隣のエージェントの変数データとが前記制約デー タの値の組合せを満たして 、な 、制約データの総数を求めた制約違反数と、前記変 数データと前記近隣のエージェントの変数データとが前記制約データの値の組合せ を満たしていない制約データのうち、前記変数データが前記変数変更禁止期間デー タに含まれておらず、かつ、前記変数データの値を変更することによって、前記制約 データの値の組合せを満たすように変更できる組合せの総数を求めた前記改善可 能数の少なくとも 1つからなる改善容易度データを生成する [12] In the generating step, a control for obtaining a total number of the constraint data for the variable data. The divisor, the variable data and the variable data of the neighboring agent satisfy the combination of the values of the constraint data, the number of constraint violations for which the total number of constraint data is obtained, the variable data and the neighborhood Among the constraint data whose agent variable data does not satisfy the combination of the constraint data values, the variable data is not included in the variable change prohibition period data, and the variable data value is changed. To generate improvement degree ease data consisting of at least one of the improvement possible numbers, which is obtained as a total number of combinations that can be changed to satisfy the combination of values of the constraint data.
請求項 11記載の分散制約充足方法。  The dispersion constraint satisfaction method according to claim 11.
[13] 前記変数データを変更すると判定した場合に、前記制約違反数の現在の値を改善 傾向データとして自工ージヱント内に追加格納するステップと、 [13] When it is determined that the variable data is to be changed, a step of additionally storing the current value of the number of violations of the constraint as improvement trend data in the home agent;
前記改善傾向データより、前記変数データの変更を禁止する期間を調整するステツ プと  A step of adjusting a period during which the change of the variable data is prohibited based on the improvement trend data;
をさらに有する請求項 12記載の分散制約充足方法。  The dispersion constraint satisfaction method according to claim 12, further comprising:
[14] 前記判定ステップにおいて、自己の前記改善容易度データと各近隣のエージェント の改善容易度データとを比較した場合に、少なくとも前記改善可能数が最も多い場 合と、自エージェント以外に制約違反をして 、て変数データを変更できるエージェン トがいない場合と、前記制約違反数が最も多い場合と、前記制約数が最も少ない場 合とのうちいずれか 1つの場合に前記変数データを変更すると決定する  [14] In the determination step, when comparing the self-improvement data of self with the ease-of-improvement data of each neighboring agent, if there is at least the largest possible number of improvements and a constraint violation other than the self agent If the variable data is changed when there is no agent that can change the variable data, when the number of violations of the constraint is the largest, or when the number of the constraints is the smallest. decide
請求項 11記載の分散制約充足方法。  The dispersion constraint satisfaction method according to claim 11.
[15] 前記変更ステップにおいて、  [15] In the changing step,
自己の前記変数データを変更する際に、前記制約データより制約を満たす変数の値 を選択して決定し前記変数データを更新する  When changing the variable data of its own, the variable data satisfying the constraint is selected and determined from the constraint data, and the variable data is updated.
請求項 11記載の分散制約充足方法。  The dispersion constraint satisfaction method according to claim 11.
PCT/JP2006/308836 2005-04-27 2006-04-27 Agent and distributed restriction supplementing method WO2006118193A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007514806A JPWO2006118193A1 (en) 2005-04-27 2006-04-27 Agents and distributed constraint satisfaction methods

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005129304 2005-04-27
JP2005-129304 2005-04-27

Publications (1)

Publication Number Publication Date
WO2006118193A1 true WO2006118193A1 (en) 2006-11-09

Family

ID=37307991

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/308836 WO2006118193A1 (en) 2005-04-27 2006-04-27 Agent and distributed restriction supplementing method

Country Status (2)

Country Link
JP (1) JPWO2006118193A1 (en)
WO (1) WO2006118193A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011013810A (en) * 2009-06-30 2011-01-20 Internatl Business Mach Corp <Ibm> System, method, and program for determining validity of character string
US8528095B2 (en) 2010-06-28 2013-09-03 International Business Machines Corporation Injection context based static analysis of computer software applications
US8584246B2 (en) 2009-10-13 2013-11-12 International Business Machines Corporation Eliminating false reports of security vulnerabilities when testing computer software
JP2016166697A (en) * 2015-03-09 2016-09-15 富士電機株式会社 Load distribution determination support device, program thereof, and load distribution determination support method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09297689A (en) * 1996-04-30 1997-11-18 Nippon Telegr & Teleph Corp <Ntt> Method for assigning distributed resource to plural jobs

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09297689A (en) * 1996-04-30 1997-11-18 Nippon Telegr & Teleph Corp <Ntt> Method for assigning distributed resource to plural jobs

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FINK A. ET AL.: "Generic Application of Tabu Search Methods to Manufacturing Problems", PROCEEDINGS OF THE 1998 IEEE INTERNATIONAL CONFERENCE ON SYSTEMS, MAN, AND CYBERNETICS, October 1998 (1998-10-01), pages 2385 - 2390, XP010310633 *
HIRAYAMA K. ET AL.: "Local Search for Distributed SAT with Complex Local Problems", PROC. FIRST INT. JOINT CONF. AUTONOMOUS AGENT AND MULTIAGENT SYSTEM, July 2002 (2002-07-01), pages 1199 - 1206, XP003003083 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011013810A (en) * 2009-06-30 2011-01-20 Internatl Business Mach Corp <Ibm> System, method, and program for determining validity of character string
US8584246B2 (en) 2009-10-13 2013-11-12 International Business Machines Corporation Eliminating false reports of security vulnerabilities when testing computer software
US8528095B2 (en) 2010-06-28 2013-09-03 International Business Machines Corporation Injection context based static analysis of computer software applications
JP2016166697A (en) * 2015-03-09 2016-09-15 富士電機株式会社 Load distribution determination support device, program thereof, and load distribution determination support method

Also Published As

Publication number Publication date
JPWO2006118193A1 (en) 2008-12-18

Similar Documents

Publication Publication Date Title
Li et al. An effective hybrid genetic algorithm and tabu search for flexible job shop scheduling problem
Çelik et al. The post-disaster debris clearance problem under incomplete information
Fink et al. Robust control for mobility and wireless communication in cyber–physical systems with application to robot teams
Fanti Event-based controller to avoid deadlock and collisions in zone-control AGVS
Liu et al. An iterative two-phase optimization method based on divide and conquer framework for integrated scheduling of multiple UAVs
Unhelkar et al. Contact: Deciding to communicate during time-critical collaborative tasks in unknown, deterministic domains
Berman et al. Bio-inspired group behaviors for the deployment of a swarm of robots to multiple destinations
US20210232990A1 (en) Workflow deployment
CN101459915A (en) Wireless sensor network node coverage optimization method based on genetic algorithm
WO2006118193A1 (en) Agent and distributed restriction supplementing method
Chen et al. Optimal path planning with spatial-temporal mobility modeling for individual-based emergency guiding
Lim et al. Congestion-aware multi-agent path planning: distributed algorithm and applications
Chouhan et al. Dmapp: A distributed multi-agent path planning algorithm
Pongchairerks et al. A particle swarm optimization algorithm on job-shop scheduling problems with multi-purpose machines
Wang et al. Hybrid bidirectional rapidly exploring random tree path planning algorithm with reinforcement learning
De Paz et al. Mathematical model for dynamic case-based planning
Chen et al. Distributed in‐network path planning for sensor network navigation in dynamic hazardous environments
KR20210143402A (en) Mobile robot for performing scenario-based tasks and method for generating task-based paths
Reveliotis et al. Min-time coverage in constricted environments: Problem formulations and complexity analysis
Navarro et al. Temporal bounded reasoning in a dynamic case based planning agent for industrial environments
Yu et al. Probability-triggered formation control with adaptive roles
Niu et al. Real-time evacuation strategy based on cell-inspired simulation model
Fazel Zarandi et al. A simulated annealing algorithm for routing problems with fuzzy constrains
Ahmed Modeling, Scheduling and Optimization of Wireless Sensor Networks lifetime
Finnson et al. A framework for modeling trustworthiness of users in mobile vehicular ad-hoc networks and its validation through simulated traffic flow

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2007514806

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: RU

122 Ep: pct application non-entry in european phase

Ref document number: 06745764

Country of ref document: EP

Kind code of ref document: A1