Exhaustive search system and method using space-filling curves
First Claim
1. A distributed search system for controlling two or more agents to exhaustively search an area in parallel as a coordinated, coherent communicating group, wherein the distributed search system comprises an agent search system associated with each agent, and wherein each agent search system comprises:
- a) a locator, in communication with the agent;
b) a search controller, responsive to the locator and generating an exhaustive search pattern for the search area comprising a space-filling curve along which the agent travels; and
c) means for communicating information with other agents.
3 Assignments
0 Petitions
Accused Products
Abstract
A search system and method for one agent or for multiple agents using a space-filling curve provides a way to control one or more agents to cover an area of any space of any dimensionality using an exhaustive search pattern. An example of the space-filling curve is a Hilbert curve. The search area can be a physical geography, a cyberspace search area, or an area searchable by computing resources. The search agent can be one or more physical agents, such as a robot, and can be software agents for searching cyberspace.
34 Citations
25 Claims
-
1. A distributed search system for controlling two or more agents to exhaustively search an area in parallel as a coordinated, coherent communicating group, wherein the distributed search system comprises an agent search system associated with each agent, and wherein each agent search system comprises:
-
a) a locator, in communication with the agent;
b) a search controller, responsive to the locator and generating an exhaustive search pattern for the search area comprising a space-filling curve along which the agent travels; and
c) means for communicating information with other agents. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
a) a computer, responsive to the locator, b) a communicator, accessible from the computer and communicating an initial position for the agent; and
c) a program implementing the exhaustive search pattern on the computer.
-
-
9. The distributed search system of claim 1, wherein the search controller of each agent search system comprises:
-
a) an initalizer, responsive to the locator;
b) a searcher, generating the exhaustive search pattern; and
c) a terminator, indicating a termination condition for the search controller.
-
-
10. The distributed search system of claim 9, wherein the initializer of each agent search system'"'"'s controller comprises;
-
a) means for determining an initial position for the agent, indicated by the locator; and
b) means for determining an identified extrema position of the search area.
-
-
11. The distributed search system of claim 10, wherein each agent has an associated agent coverage size, and wherein the initializer of each agent search system'"'"'s controller further comprises a search pattern parameter, determined from the identified extrema position and the agent coverage size.
-
12. The distributed search system of claim 1, wherein each agent searches along the same space-filling curve.
-
13. A computer-implemented method for controlling two or more agents to exhaustively search an area as a coordinated, coherent communicating group, wherein each agent comprises a locator and a search controller, wherein the method, for each agent, acting in parallel with the other agents, comprises:
-
a) determining a characteristic of the agent from the locator;
b) searching the search area, according to a space-filling curve and the characteristic;
c) communicating information with other agents; and
d) terminating the search controller, according to a termination condition. - View Dependent Claims (14, 15, 16, 17, 18, 19)
a) wherein the characteristic comprises: i) an initial position for the agent; and
ii) an extreme position of the search area;
b) and the method further comprises communicating the initial position with other agents in the two or more agents.
-
-
15. The method of claim 14, wherein each agent has an associated agent coverage size, the method further comprising generating a search pattern parameter, determined from the extreme position and the agent coverage size, and indicative of the space-filling curve.
-
16. The method of claim 13, wherein the termination condition comprises a current agent position selected from the group consisting of:
- an initial position for a preceding agent, a terminal position for a follower agent, initial position for the agent, a position along the space-filling curve, and combinations thereof.
-
17. The method of claim 13, wherein searching the search area comprises:
-
a) transforming a current position in a multi-dimensional space to a one-dimensional position along the space-filling curve;
b) incrementing the position along the space-filling curve; and
c) transforming the incremented position along the space-filling curve to a successor position in the multi-dimensional space.
-
-
18. The method of claim 13, wherein the two or more agents are selected from the group consisting of:
- robots, cyberspace agents, software agents, search agents, coverage agents, and combinations thereof.
-
19. The method of claim 13, wherein communicating information with other agents comprises performing one or more tasks selected from the group consisting of dropping a marker or token and detecting a marker or token dropped at the beginning or end of an immediate neighbor agent'"'"'s path to communicate an “
- all done”
signal without performing any broadcast communications.
- all done”
-
20. A computer-implemented method for controlling two or more agents to exhaustively search an area in parallel as a coordinated, coherent communicating group, wherein each agent comprises a locator and a search controller;
- wherein the method, for each agent, comprises;
a) locating its initial position;
b) computing a subregion size;
c) communicating its initial position with other agents;
d) determining extrema position of the search area if not already known;
e) determining self-position in search area;
f) determining search parameters based on the search area and subregion size;
g) determining number of subregions and length of a space-filling curve;
h) locating self on the space-filling curve;
i) searching along the space-filling curve until a termination condition is met;
j) communicating an “
all done”
signal and communicating search output;
k) continuing to search along the space-filling curve if its preceding agent has not communicated an “
all done”
signal; and
l) repeating steps i) through k) until an exhaustive search has been completed. - View Dependent Claims (21, 22, 23, 24, 25)
- wherein the method, for each agent, comprises;
-
22. The method of claim 20, wherein the space-filling curve comprises a Hilbert curve.
-
23. The method of claim 20, wherein the search area comprises a physical geography, and each agent comprises a robot.
-
24. The method of claim 23, wherein searching comprises traveling through the search area and leaving or removing something.
-
25. The method of claim 24, wherein leaving or removing something comprises performing one or more tasks selected from the group consisting of:
- applying paint or fertilizer to a surface, mowing a lawn, maintaining a golf course, cleaning a swimming pool, and moving or clearing earth.
Specification