16
Collaborative and Distributed Search System with Mobile Devices Chih-Ya Shen, De-Nian Yang, Senior Member, IEEE, and Ming-Syan Chen, Fellow, IEEE Abstract—With the advances of communications, computing, and positioning technologies, mobile devices have been regarded as mobile computing platforms for various kinds of location-based and human-computation services. However, most existing applications regard each device as a sensor or focus on services with the computation on a single device. In contrast, this paper leverages a group of mobile devices as a collaborative and distributed search platform. Specifically, we propose a search system with mobile devices for rescue and patrol operations. The system utilizes mobile devices to find and assign the search route to each searcher in a collaborative and distributed manner. Given the roads to be searched in an area and the candidate start locations, our system minimizes the time required to search the whole area and guarantees that each road will be searched at least once. We first formulate the k-Person Search Problem for k mobile devices and prove that the problem is NP-Hard. To find the optimal solutions, we propose a centralized algorithm for a special case and an Integer Linear Programming formulation for general cases. We also devise an approximation algorithm. The algorithms can be used to dispatch the searchers before the operation starts. Moreover, to support online adaptation, we formulate the Path Refinement Problem for path exchange among searchers and propose a distributed algorithm to adaptively adjust the paths after the search starts. We also implement the proposed algorithms in mobile devices as a collaborative and distributed search system and demonstrate the efficiency of our algorithms with computation simulations and field trials. Index Terms—Mobile applications, distributed applications, algorithm/protocol design and analysis. Ç 1 INTRODUCTION W ITH the advances of communications and computing technologies, mobile devices have been able to support mobile computation, in addition to voice commu- nications. Moreover, with the decline in the prices of GPS- enabled mobile devices, numerous location-based and human-computation services have been developed and deployed recently. However, most existing works focus on services with the computation on a single device, or they consider each mobile device as a sensor. In contrast, this paper proposes a collaborative and distributed search system with mobile devices for rescue operations, where the devices are supported by mobile ad hoc networks, satellite networks, or cellular networks. Currently, during search and rescue operations, mobile devices are only used as communications and positioning devices; searchers still need to assign the search tasks and search paths manually. This approach has a number of drawbacks. First, manual assignment may increase the search time, but minimizing the search time to find survivors is always very important. Second, manual assignment is not adaptive. During a search operation, different searchers may traverse different paths with different time to cope with the real situations during the search. Therefore, the initial and centralized manual assignment may not be appropriate after the search starts. In this paper, therefore, we leverage mobile devices to adaptively find and assign a search path to each searcher in a collaborative and distributed manner, and our proposed system can also be applied to other applications and scenarios, such as patrol, street cleaning, etc. Given the search area and the candidate start locations, our system minimizes the time required to search all roads in the area and guarantees that each road, instead of each grid, can be searched at least once. Specifically, we formulate the k-Person Search Problem for k mobile devices, and prove that the problem is NP-Hard. To find the optimal solutions, we propose a centralized algorithm for a special case and an Integer Linear Programming formulation for general cases. We also devise an approximation algorithm. The algorithms can be used to dispatch the searchers before the operation starts. Moreover, to support online adaptation, we formu- late the Path Refinement Problem (PRP) for path adjust- ments among searchers and prove that the problem is also NP-Hard. We propose a distributed algorithm to adaptively adjust the paths of searchers after the search starts. Moreover, we also implement the proposed algorithms in mobile devices as a collaborative and distributed search system, where the system has the following features: . Completeness. In contrast to the manual assignment, our search system avoids human errors and guar- antees that each road will be searched at least once. For rescue operations, this feature is important 1478 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 11, NO. 10, OCTOBER 2012 . C.-Y. Shen is with the Department of Electrical Engineering, National Taiwan University, No. 1, Sec. 4, Roosevelt Road, Taipei 10617, Taiwan, ROC. E-mail: [email protected]. . D.-N. Yang is with the Institute of Information Science and the Research Center for Information Technology Innovation (CITI), Academia Sinica, No. 128, Sec. 2, Academia Road, Nankang, Taipei 11529, Taiwan, ROC. E-mail: [email protected]. . M.-S. Chen is with the Research Center for Information Technology Innovation (CITI), Academia Sinica, and the Department of Electrical Engineering, National Taiwan University, No. 1, Sec. 4, Roosevelt Road, Taipei 10617, Taiwan, ROC. E-mail: [email protected]. Manuscript received 15 Aug. 2010; revised 1 Aug. 2011; accepted 4 Aug. 2011; published online 12 Aug. 2011. For information on obtaining reprints of this article, please send e-mail to: [email protected], and reference IEEECS Log Number TMC-2010-08-0384. Digital Object Identifier no. 10.1109/TMC.2011.173. 1536-1233/12/$31.00 ß 2012 IEEE Published by the IEEE CS, CASS, ComSoc, IES, & SPS

Collaborative and Distributed Search System with Mobile Devices

Embed Size (px)

Citation preview

Collaborative and Distributed SearchSystem with Mobile Devices

Chih-Ya Shen, De-Nian Yang, Senior Member, IEEE, and Ming-Syan Chen, Fellow, IEEE

Abstract—With the advances of communications, computing, and positioning technologies, mobile devices have been regarded as

mobile computing platforms for various kinds of location-based and human-computation services. However, most existing applications

regard each device as a sensor or focus on services with the computation on a single device. In contrast, this paper leverages a group

of mobile devices as a collaborative and distributed search platform. Specifically, we propose a search system with mobile devices for

rescue and patrol operations. The system utilizes mobile devices to find and assign the search route to each searcher in a collaborative

and distributed manner. Given the roads to be searched in an area and the candidate start locations, our system minimizes the time

required to search the whole area and guarantees that each road will be searched at least once. We first formulate the k-Person

Search Problem for k mobile devices and prove that the problem is NP-Hard. To find the optimal solutions, we propose a centralized

algorithm for a special case and an Integer Linear Programming formulation for general cases. We also devise an approximation

algorithm. The algorithms can be used to dispatch the searchers before the operation starts. Moreover, to support online adaptation,

we formulate the Path Refinement Problem for path exchange among searchers and propose a distributed algorithm to adaptively

adjust the paths after the search starts. We also implement the proposed algorithms in mobile devices as a collaborative and

distributed search system and demonstrate the efficiency of our algorithms with computation simulations and field trials.

Index Terms—Mobile applications, distributed applications, algorithm/protocol design and analysis.

Ç

1 INTRODUCTION

WITH the advances of communications and computingtechnologies, mobile devices have been able to

support mobile computation, in addition to voice commu-nications. Moreover, with the decline in the prices of GPS-enabled mobile devices, numerous location-based andhuman-computation services have been developed anddeployed recently. However, most existing works focus onservices with the computation on a single device, or theyconsider each mobile device as a sensor.

In contrast, this paper proposes a collaborative anddistributed search system with mobile devices for rescueoperations, where the devices are supported by mobile ad hocnetworks, satellite networks, or cellular networks. Currently,during search and rescue operations, mobile devices are onlyused as communications and positioning devices; searchersstill need to assign the search tasks and search pathsmanually. This approach has a number of drawbacks. First,manual assignment may increase the search time, butminimizing the search time to find survivors is always very

important. Second, manual assignment is not adaptive.During a search operation, different searchers may traversedifferent paths with different time to cope with the realsituations during the search. Therefore, the initial andcentralized manual assignment may not be appropriate afterthe search starts.

In this paper, therefore, we leverage mobile devices toadaptively find and assign a search path to each searcher ina collaborative and distributed manner, and our proposedsystem can also be applied to other applications andscenarios, such as patrol, street cleaning, etc. Given thesearch area and the candidate start locations, our systemminimizes the time required to search all roads in the areaand guarantees that each road, instead of each grid, can besearched at least once. Specifically, we formulate thek-Person Search Problem for k mobile devices, and provethat the problem is NP-Hard. To find the optimal solutions,we propose a centralized algorithm for a special case and anInteger Linear Programming formulation for general cases.We also devise an approximation algorithm. The algorithmscan be used to dispatch the searchers before the operationstarts. Moreover, to support online adaptation, we formu-late the Path Refinement Problem (PRP) for path adjust-ments among searchers and prove that the problem is alsoNP-Hard. We propose a distributed algorithm to adaptivelyadjust the paths of searchers after the search starts.Moreover, we also implement the proposed algorithms inmobile devices as a collaborative and distributed searchsystem, where the system has the following features:

. Completeness. In contrast to the manual assignment,our search system avoids human errors and guar-antees that each road will be searched at least once.For rescue operations, this feature is important

1478 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 11, NO. 10, OCTOBER 2012

. C.-Y. Shen is with the Department of Electrical Engineering, NationalTaiwan University, No. 1, Sec. 4, Roosevelt Road, Taipei 10617, Taiwan,ROC. E-mail: [email protected].

. D.-N. Yang is with the Institute of Information Science and the ResearchCenter for Information Technology Innovation (CITI), Academia Sinica,No. 128, Sec. 2, Academia Road, Nankang, Taipei 11529, Taiwan, ROC.E-mail: [email protected].

. M.-S. Chen is with the Research Center for Information TechnologyInnovation (CITI), Academia Sinica, and the Department of ElectricalEngineering, National Taiwan University, No. 1, Sec. 4, Roosevelt Road,Taipei 10617, Taiwan, ROC. E-mail: [email protected].

Manuscript received 15 Aug. 2010; revised 1 Aug. 2011; accepted 4 Aug.2011; published online 12 Aug. 2011.For information on obtaining reprints of this article, please send e-mail to:[email protected], and reference IEEECS Log Number TMC-2010-08-0384.Digital Object Identifier no. 10.1109/TMC.2011.173.

1536-1233/12/$31.00 � 2012 IEEE Published by the IEEE CS, CASS, ComSoc, IES, & SPS

because it ensures that every injured person will befound during the operations.

. Efficiency. The proposed algorithms minimize thetime required to search all roads of an area. Whenthe search starts, the search path obtained by ouralgorithms is presented as the navigation instructionin each user’s mobile device. As a result, each usercan focus on his/her individual search operationand does not need to be concerned about the searchpaths of other users.

. Adaptiveness. Compared with the fixed assignment,our approach is more flexible for users to adaptivelychange the assignment according to real situations.When the rescue or patrol operation starts, oursystem can adjust the remaining paths of multipleusers dynamically. We can balance the remainingsearch time of users to adapt to the change in eachuser’s speed for handling the real situations. More-over, our system can support new users to join or theexisting users to leave after the search starts. Eachsearcher can also adaptively adjust the remainingsearch path when an existing road in the mapdisappears or a new road shows up.

The contributions of this paper are summarized as follows:

. We propose a collaborative and distributed searchsystem with mobile devices to minimize the requiredsearch time for rescue and patrol operations. Oursystem is complete, efficient, and adaptive.

. We formulate two optimization problems and provethat they are NP-hard. For k-Person Search Problem,we propose an Integer Linear Programming for-mulation and an approximation algorithm. For PathRefinement Problem, we propose a distributedalgorithm to adaptively adjust the paths of thesearchers after the search starts.

. In addition to theoretical analysis, we implement ouralgorithms on mobile devices for field trials andperform extensive simulations on real maps.

The remainder of this paper is organized as follows: Inthe next section, we discuss the related works. In Section 3,we formulate the k-Person Search Problem, propose anInteger Linear Programming formulation for finding theoptimal solution of this problem, and prove that theproblem is NP-Hard. We propose the centralized and thedistributed algorithms in Sections 4 and 5, respectively.Section 6 details the results of computer simulation, and weconclude this paper in Section 7.

2 RELATED WORKS

Most existing mobile applications focus on services with thecomputation on a single device [1], [2], [3], [4], [5], or theyconsider each mobile device as a sensor [6], [7], [8], [9]. Inthese works, LaMarca et al. [1] proposed a beacon-basedradio system for low-cost positioning, and Rukzio et al. [2]developed a pedestrian navigation system that informs auser of the direction with the vibration synchronized withthe corresponding direction. Chung and Schmandt [3]designed a mobile user-aware sightseeing planner, wherethe server collects a user’s GPS data automatically and

chooses a set of landmarks near the user’s destination.Nicholson and Noble [4] devised an algorithm to predictthe movements of users between different wireless net-works at different time. Balan et al. [5] proposed a mobilepayment application with a higher speed and a lowercognitive load than previous systems. Eriksson et al. [6]introduced a mobile sensing application to detect andreport the surface conditions of roads from the sensing andpositioning data of mobile devices, while Lu et al. [7]collected and modeled the sound events of mobile devices.Hartung et al. [8] presented a multi-tiered portable wirelesssystem for monitoring weather conditions in rugged wild-ness fire environments. Moreover, Volgyesi et al. [9]designed a wireless sensor network-based mobile countersniper system for military applications. Recently, theparticipatory urban sensing projects leverage mobiledevices to sense, record, and analyze the environments ofpeople’s everyday lives [10]. However, most existingapplications have not leveraged a group of mobile devicesas a collaborative and distributed computing platform forrescue and patrol operations.

In addition, the objective of our system is different fromthe ones in the existing works for emergency navigationwith wireless sensor networks, in which each sensor isutilized to evacuate users from dangerous areas [11], [12],[13], [14], instead of searching the whole area. Buragohainet al. [11] developed distributed algorithms to find the safepath with the shortest length or the minimum probabilityof detection by enemies. Li et al. [12] proposed analgorithm to find safe paths for users to avoid thedangerous areas. Tseng et al. [13] considered the sizes ofthe hazardous areas in the algorithm design in wirelesssensor networks. Moreover, Li et al. [14] assumed that thelocations of users and sensors are unknown and proposed anavigation system that guarantees the safety of users.Therefore, these works focus on navigating evacuees awayfrom dangerous areas. In contrast, the objective of oursystem is to minimize the time for users to collaborativelysearch all the roads of an area.

Moreover, the mobile search considered in this paper isdifferent from the robotic search [15], [16], [17], [18], [19],[20] because the two approaches consider different scenar-ios. Due to the limited capability of robotics, many roboticsearch algorithms are designed for the scenarios with anunknown region, such as floor cleaning and lawn mowing,and the existing approaches [15], [16], [17] thereby are ableto leverage only limited information in the algorithmdesign. However, with the ripe of the communications,computing, and positioning technologies in mobile devices,complicated algorithms are allowed to be devised to handlecomplex scenarios, such as rescue and patrol, with the roadsof the region given a priori, and the current location of eachuser given at each time. Moreover, the behaviors of roboticscan be fully controlled, programmed, and assumed homo-geneous [18], [19], [20]. On the contrary, mobile searchneeds to adapt to the movement of every user in adistributed manner after the search starts, and centralizedalgorithms thereby are not suitable in this case. Our systemallows each mobile searcher to adaptively adjust the searchpath according to the real situations, such as the changes ofsearch speeds, and join or leave of searchers.

SHEN ET AL.: COLLABORATIVE AND DISTRIBUTED SEARCH SYSTEM WITH MOBILE DEVICES 1479

3 PROBLEM DESCRIPTION

The proposed system is designed for mobile devices withpositioning and communications capabilities, such asmobile ad hoc networks, satellite networks, or cellularnetworks, for rescue and patrol operations. We model thesearch area as a multigraph G ¼ ðV ;EÞ, where each vertexin V is an intersection of multiple physical roads, and eachedge is a physical road with a positive cost correspondingto the length. Let ðv1; v2Þ denote an edge with terminals v1

and v2. Let SPGðu; vÞ denote the shortest path betweenvertices u and v with length cðSPGðu; vÞÞ. A walk ! in G is afinite sequence ðv1; e1; v2; . . . ; en; vnþ1Þ of vertices and edges,n � 0, where v1 and vnþ1 are the start vertex and the endvertex of !, respectively. The length of a walk ! is the sum ofthe lengths of the edges on !, and is denoted by cð!Þ. Forany two walks b! and e! , if the end vertex of b! is the same asthe start vertex of e!, b! [ e! denotes the concatenation of thetwo walks. A walk ! contains an edge e or a vertex v if e or vis on !, and a tour is a closed walk with v1 identical to vnþ1.An edge or a vertex can appear in a walk multiple times. AnEulerian trail is a walk that traverses every edge of the graphexactly once, and a closed Eulerian trail is called an Euleriantour. An Eulerian graph is a graph containing an Euleriantour. A postman tour is a tour that traverses each edge in thegraph at least once, and an optimal postman tour is a postmantour with the total length of the traversed edges minimized.

Specifically, given the search area G and the set ofcandidate start locations VS of k searchers, the k-PersonSearch Problem is to assign a search walk to each searchersuch that every edge in G must be traversed by at least onesearcher. All searchers simultaneously start to search, andthe objective function is to minimize the time that all edgesare traversed. We assume that the start location of eachsearcher is a vertex. For the case that the start location of asearcher is located on an edge, we add a virtual vertex to Gand partition the corresponding edge. In the following, wefirst assume that the moving speed of each searcher is thesame, and the algorithm in Section 5 supports the searcherswith various speeds at different time. Our problem isformulated as follows:

Problem. The k-Person Search Problem (k-PSP).Instance: A connected undirected multigraph G ¼ ðV ;EÞwith edge lengths c : E ! Rþ0 , a set of candidate startlocations VS � V , and k searchers, k � 2.Task: To find a set of k walks that cover E, where each walkstarts from a candidate start location in VS , such that themaximum length of the k walks is minimized.

In the following, we propose an Integer Linear Program-ming formulation for k-Person Search Problem. Ourformulation together with any commercial software formathematical programming, such as CPLEX [21] , is able tofind the optimal solution, which can be used as thebenchmark for the solutions obtained by any algorithms.The formulation contains the following decision variables.In this section, binary variable �i;v denotes if vertex v is thestart location of searcher i, and binary variable &i;vrepresents if i stops the search in vertex v. Since eachsearcher is allowed to traverse an edge multiple times, welet integer variable �i;u;v denote the number of times that

edge ðu; vÞ is traversed by searcher i, while �i;u;v and �i;v;u aredifferent variables to represent that u is traversed beforeand after v, respectively. Therefore, each searcher is allowedto traverse an edge in different directions with differenttimes. In addition, for each vertex v in the walk of i, ourformulation also identifies a path from the start location of ito vertex v to ensure that v must be traversed by i, andbinary variable �i;u;v indicates if edge ðu; vÞ is in this path,while variable "i;v denotes the number of edges from thestart location of i to vertex v in this path. Variable �max

denotes the distance of the longest walk among allsearchers. All variables must be nonnegative.

Our formulation includes the following three categoriesof constraints to guarantee that �max is the optimal solutionto k- Person Search Problem. Flow Continuity Constraintsfirst find the start location and stop location for eachsearcher i and then assign the corresponding search walk.However, because cycles are allowed in any walk, isolatedcycles, i.e., other cycles that are not connected to the walk,may also appear in any solution that follows only FlowContinuity Constraints. Therefore, Connectivity Constraintsensure that we can find a path in the walk to connect thestart location and every other vertex in the walk, to preventisolated cycles. Covering Constraints guarantee that eachedge must be traversed at least once and derive the distanceof the longest walk among all searchers.

Specifically, the objective function is as follows:

min �max:

The objective function minimizes the distance of the longestwalk, and the problem has the following constraints:

1. Flow Continuity Constraints

Xv2VS

�i;v ¼ 1; 8i; 1 � i � k; ð1Þ

Xv2V

&i;v ¼ 1; 8i; 1 � i � k; ð2Þ

�i;v þXðu;vÞ2E

�i;u;v ¼ &i;v þXðv;wÞ2E

�i;v;w; 8i; 8v 2 V ; 1 � i � k: ð3Þ

For each searcher i, the first two constraints choose astart location and a stop location, where the start locationmust be one of the vertex in VS specified in the probleminput. For every other vertex v with �i;v ¼ &i;v ¼ 0, constraint(3) ensures that the number of times that searcher i

traverses to v, i.e., the left-hand-side (LHS), and from v,i.e., the right-hand-side (RHS), must be the same. If v is astart location or stop location, the number of times thatsearcher i traverses to or from v can decrease 1, respectively,because i does not need to move to i initially or from i

finally. For each searcher i and edge ðu; vÞ, variable �i;u;v isallowed to be larger than one because ðu; vÞ can be traversedmultiple times. In addition, although the decision variablesin the proposed formulation do not specifically point outthe sequence of vertices visited in the walk for i, we are ableto find a feasible sequence according to �i;u;v and �i;v;u ofevery edge ðu; vÞ, by removing ðu; vÞ if �i;u;v ¼ �i;v;u ¼ 0, or

1480 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 11, NO. 10, OCTOBER 2012

replacing ðu; vÞ with �i;u;v þ �i;v;u parallel edges if �i;u;v þ�i;v;u > 0. With the above approach, except the start locationand the stop location, the degree of every other vertex in thewalk of i must be even according constraint (3), and wethereby are able to find a Eulerian trail spanning every edgeexactly once [22] in the above modified graph with paralleledges, and the sequence of vertices visited in Eulerian trailcan be the solution.

2. Connectivity Constraints

Xðu;vÞ2E

�i;u;v � 1; 8i; 8v 2 V ; 1 � i � k; ð4Þ

�i;u;v � �i;u;v; 8i; 8ðu; vÞ 2 E; 1 � i � k; ð5Þ

�i;u;v � jEj� �i;v þXðu;vÞ2E

�i;u;v

0@

1A; 8i; 8ðu; vÞ2E; 1 � i � k; ð6Þ

"i;u þ 1 � "i;v þ jEj � ð1� �i;u;vÞ; 8i; 8ðu; vÞ 2 E; 1 � i � k: ð7Þ

For each searcher, Flow Continuity Constraints identify awalk from the start location to the stop location. However,any isolated cycle, which is a cycle not connecting to thewalk, still follows constraint (3) and thereby is allowed toappear in any solution. For any edge ðu; vÞ not in the walk ofsearcher i, a simple isolated cycle is letting �i;u;v ¼ �i;v;u ¼ 1.On the other hand, the proposed formulation needs tosupport cycles within a walk. Therefore, we cannot simplyspecify a constraint to remove all cycles. To address theabove issue, we propose Connectivity Constraints to ensurethat each edge ðu; vÞ with a positive �i;u;v cannot reside in anisolated cycle. Specifically, for each vertex v in the walk of i,we employ variable �i;u;v to identify a path in the walk forconnecting the start location of i and vertex v, and utilizevariable "i;v to ensure that the path has no cycle. Constraint(4) states that at most one incident edge ðu; vÞ of v with�i;u;v ¼ 1 can be chosen in the path, while constraint (5)enforces that �i;u;v cannot be 1 if searcher i never traversesfrom u to v, i.e., �i;u;v ¼ 0.

However, the above two constraints do not guaranteethat every vertex in the walk has chosen an incident edgefor the path. To address the issue, we propose constraint (6)for each vertex v in the walk. When v is not the startlocation, i.e., �i;v ¼ 0, searcher i must traverse from aneighboring vertex u to v, with �i;u;v > 0. In this case,constraint (6) enforces that at least one neighboring vertex umust be selected in the path for connecting the start locationof i to v . Vertex u can be u, or any other neighboring vertexu with �i;u;v > 0 to avoid contradicting constraint (5). Notethat we need to include jEj in the RHS of constraint (6), toensure that only one neighboring vertex is selected in thepath when �i;u;v in the LHS is larger than 1; otherwise,constraint (6) will contradict to (4). Moreover, we do notneed to find a path for v when v is the start location, i.e.,�i;v ¼ 1. If v is the start location, �i;u;v can be 0 for everyneighboring vertex u of v.

For each vertex v, the above three constraints choose aneighboring vertex in the walk to construct a path in the

walk, while constraint (7) guarantees that the path has nocycle. Specifically, when searcher i walks from u to v, i.e.,�i;u;v ¼ 1, constraint (7) becomes "i;u þ 1 � "i;v, which en-forces that v in the path must be at least one edge away fromthe start location, as compared to u. If the path has a cycleincluding v, we can trace back from v to u, and along thecycle back to another neighboring vertex, say w, of v in thecycle. In this case, constraint (7) states that "i;w < "i;u < "i;vmust hold. However, constraint (7) also specifies that "i;v þ1 � "i;w must hold for the vertex w with �i;v;w ¼ 1. Therefore,the above two inequalities contradict to each other. Thepath must have no cycle and eventually connect to the startlocation of i, because there are only finite vertices in thewalk. In other words, Connectivity Constraints ensure thatevery vertex in the walk must connect to the start locationwith the path, and there exists no isolated cycle, i.e., a cyclethat is not connected to the walk, in any feasible solution.Note that cycles are still allowed in any walk, and constraint(7) only removes isolated cycles.

3. Covering Constraints

X1�i�k

�i;u;v þ �i;v;u � 1; 8ðu; vÞ 2 E; ð8Þ

Xðu;vÞ2E

cðu; vÞ � ð�i;u;v þ �i;v;uÞ � �max; 8i; 1 � i � k: ð9Þ

To ensure that every edge ðu; vÞmust be searched at leastonce, constraint (8) states that there must exist at least onesearcher i traversing from u to v or from v to u. The lastconstraint enforces that �max must be no smaller than thelength of every walk, and the objective function min �max

ensures that �max is identical to the length of the longestwalk among all searchers.

In Appendix A, which can be found on the ComputerSociety Digital Library at http://doi.ieeecomputersociety.org/10.1109/TMC.2011.173, we prove that k-PSP is NP-Hard with the reduction from the k-Partition Problem,which is NP-Hard for k � 2 [23]. We propose a centralizedalgorithm for a special case in Appendix B, available in theonline supplemental material. We also devise an approx-imation algorithm in Section 4. The algorithms can be usedto dispatch the searchers before the operation starts.Moreover, to support online adaptation, we formulate thePath Refinement Problem for path exchange amongsearchers and propose a distributed algorithm to adaptivelyadjust the walks after the search starts in Section 5.

4 ALGORITHM DESIGN

To solve k-PSP, we propose algorithm Balanced k SearchWalks, which includes two procedures: Split 1-Man Tour andAssign Dangling Walks. To ensure that each edge must betraversed at least once, procedure Split 1-Man Tour firstfinds an optimal postman tour for G and then divides thetour into k partitions with similar lengths, while eachpartition is a covering walk. We then decide the start locationand assign a covering walk for each searcher, such that thedistance between the start location and the covering walk isminimized. The path between the start location and the

SHEN ET AL.: COLLABORATIVE AND DISTRIBUTED SEARCH SYSTEM WITH MOBILE DEVICES 1481

covering walk is regarded as the core walk for the searcher.The core walk traversed by the searcher may overlap withthe covering walks of other searchers. Therefore, in eachcovering walk, procedure Assign Dangling Walks removesevery edge that appears in any core walk, to avoid the aboveunnecessary traversal among multiple searchers. However,each covering walk may be partitioned and become multi-ple dangling walks, while the walk to traverse these danglingwalks with the same searcher may still be the same as thecorresponding covering walk. To avoid the above case,procedure Assign Dangling Walks reassigns each danglingwalk to a searcher. Moreover, our algorithm is able tofurther divide a dangling walk into multiple parts andassign each part to a different searcher, to further improvethe solution. Later in this section, we prove that for everyinstance with an optimal solution ��, algorithm Balanced kSearch Walks obtains a solution � such that for each walk!i 2 �, cð!iÞ � 3 � cð!�Þ þ cðemaxÞ, where cð!�Þ is the lengthof the longest walk in ��, and cðemaxÞ is the length of thelongest edge in G. We are able to improve the solution byadding several virtual vertices in emax and partition emaxinto smaller ones, for effectively reducing cðemaxÞ.

4.1 Split 1-Man Tour

We describe the details as follows: Procedure Split 1-ManTour first identifies a tour to ensure that every edge iscovered. A simple approach is to find a depth-first-search(DFS) tree for G. However, many edges are required to bewalked multiple times during the traversal of the tree.Therefore, our algorithm starts from finding an optimal

postman tour, which is a tour with the minimum length andtraverses each edge at least once. We then split the optimalpostman tour into k covering walks with similar lengths. Toefficiently assign each covering walk to a searcher, procedureSplit 1-Man Tour distributes the searchers to suitable startlocations, such that the length of the core walk connectingthe start location and the covering walk for each searcheris minimized. Fig. 1a is an example with four searchersand the corresponding covering walks and core walks.

Specifically, procedure Split 1-Man Tour first constructsan optimal postman tour T with the existing algorithms,such as [24]. Consider an example in Fig. 2a with k ¼ 3 andthe candidate start locations as v2 and v3. Fig. 2b shows theoptimal postman tour T on G, where the edge ðv4; v5Þappears twice to let T traverse each edge in G at least oncewith the minimal length. Afterward, we sequentially split Tinto k covering walks. Initially, we start from any candidatestart location on T , such that the length of a core walkbetween the candidate start location and the first coveringwalk is 0. Let !vi ¼ ½pi; qi be the ith covering walk on theoptimal postman tour T , where pi and qi denote the startvertex and the end vertex of the walk, respectively. Toavoid missing any edge on T , the start vertex of the ithcovering walk, pi, is the same as the end vertex of theprevious walk, qi�1. In addition, for balancing the length ofeach covering walk, the length of !vi must be close to cðT Þ

k ,where cðT Þ denotes the length of T . Therefore, we start fromvertex pi and sequentially consider each following vertex inT , and vertex qi is identified as the vertex such that thelength of ½p1; qi is closest to i�cðT Þ

k , as illustrated in Fig. 1b.

1482 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 11, NO. 10, OCTOBER 2012

Fig. 1. Illustrations of procedure Split 1-Man Tour.

Fig. 2. An example of procedure Split 1-Man Tour. (a) The original graph with k ¼ 3. (b) The optimal postman tour T . (c) Partitioning T into threecovering walks. (d) The walk for each searcher.

We then set piþ1 as qi. Fig. 1c illustrates the covering walk !vion the optimal postman tour T . Fig. 2c shows each coveringwalk !vi with the corresponding start and end vertices, piand qi, where cðT Þ

k ¼ 7. Note that cð!v2Þ is 8 because setting q2

as v5 makes the length of ½p1; q2 closest to 2�cðT Þk , and cð!v3Þ

is 6 since ðv2; v4Þ is already contained in !v1.Afterward, we connect the ith covering walk ½pi; qi to the

nearest candidate start location with a core walk !ri , and thenearest candidate start location is assigned as the startlocation of searcher i. Core walk !ri is the path with theminimum length connecting pi or qi to the candidate startlocation nearest to pi or qi, respectively. In other words, thelength of core walk !ri is cð!ri Þ ¼ minfminv2VS cðSPGðpi; vÞÞ;minv2VS cðSPGðqi; vÞÞg, where VS is the set of candidatestart locations. Finally, procedure Split 1-Man Tour assignscovering walk !vi along with its corresponding corewalk !ri as the walk !i for searcher i, i.e., !i ¼ !ri [ !vi .Fig. 1d illustrates the construction of each !i with thecorresponding core walk !ri and covering walk !vi , wherecðSPGðqi; evsÞÞ < cðSPGðpi; bvsÞÞ. Fig. 2d shows the three walks!1, !2, and !3, where !2 contains a shortest path SPGðv2; v5Þas the core walk (dashed line). The detailed pseudocode forprocedure Split 1-Man tour can be found in Appendix C.1,available in the online supplemental material.

4.2 Assign Dangling Walks

Although procedure Split 1-Man Tour balances the lengthsof covering walks and connects each covering walk to theclosest start location, the core walks share the same edgeswith the covering walks and thereby increase the length ofthe search walks, as illustrated in Fig. 3a. This problembecomes more serious when the number of searchersincreases. In addition, only the length of the covering walk

for each searcher is balanced, while the length of the corewalk is not considered in the above procedure. To addressthe above issues, therefore, we first remove each edge froma covering walk when the edge appears in any core walk, toavoid the above unnecessary traversal among multiplesearchers. However, each covering walk is partitioned andbecomes multiple dangling walks, while the walk to traversethese dangling walks with the same searcher may still bethe same as the corresponding covering walk. Therefore, toavoid the above case, we propose procedure AssignDangling Walks to reassign and connect each dangling walkto a core walk. Fig. 3b illustrates that the dangling walks(thick lines) connected by shortest paths (dotted lines) areassigned to three core walks !r1, !r2, and !r3.

Moreover, procedure Assign Dangling Walks is able todivide a dangling walk into multiple parts and connect eachpart to a different core walk, for further improving thesolution. Specifically, our algorithm considers each edge ina dangling walk, instead of the whole dangling walk. Weconnect each dangling edge, such as edge be in Fig. 3c, to acore walk, and any other dangling edge e in the shortestpath between be and the core walk is also connected to thecore walk and no longer considered afterward. In addition,procedure Assign Dangling Walks minimizes the overheadby selecting proper dangling edges with dynamic program-ming. Specifically, we define state �n in dynamic program-ming to represent that n dangling edges have beenconnected to core walks. State �n stores 1) the currentsolution set Wn, where each walk in Wn is a core walk andcan be augmented by connecting multiple dangling edgessequentially, 2) the set Dn of the remaining dangling edgesthat have not been connected to any core walk, and 3) thelength cn of the current longest walk in Wn.

Initially, procedure Assign Dangling Walks constructs aninitial candidate state �0 ¼ fW0; D0; c0g, where W0 is the setof core walks obtained from procedure Split 1-Man Tour,D0 is the set of all dangling edges, and c0 is the length ofthe longest core walk in W0. For example, the core walksand the dangling edges from the previous example areshown in Fig. 4a.

In addition, we also leverage the solution obtained byprocedure Split 1-Man Tour as the seed states, where each seedstate corresponds to a partial solution. Specifically, eachdangling edge in a seed state is allowed to connect to corewalk !ri only when the edge is originally in the correspond-ing covering walk !vi , and the dangling edge must go

SHEN ET AL.: COLLABORATIVE AND DISTRIBUTED SEARCH SYSTEM WITH MOBILE DEVICES 1483

Fig. 3. Illustrations of procedure Assign Dangling Walks. (a) Repeated

edges produced by core walks. (b) Linking dangling walks to core walks

with shortest paths. (c) Linking a dangling edge be to a core walk through

shortest path containing another dangling edge e.

Fig. 4. An example of procedure Assign Dangling Walks.

through the original covering walk to the core walk. Seedstate �sn indicates that n dangling edges are connected to thecore walks via the original covering walks. Therefore, �sn is apartial solution of the solution obtained by procedure Split 1-Man Tour, with n dangling edges connected to thecorresponding core walks, and �s0 ¼ �0. To avoid missinggood solutions, procedure Assign Dangling Walks exploresthe solutions by both connecting dangling edges to the corewalks, i.e., �n, and connecting dangling edges to the partialsolutions of procedure Split 1-Man Tour, i.e., �sn.

Specifically, for each �n, we connect an edge e in Dn to awalk $ in Wn and derive a new corresponding state �n,where n� n� 1 is identical to the number of other danglingedges in the shortest path between $ and e. When thereis no other dangling edge, n ¼ nþ 1. Wn is set asWn [ f$ [ SPGð$; eÞ [ eg � f$g, where SPGð$; eÞ is theshortest path between $ and e, and $ [ SPGð$; eÞ [ edenotes the concatenation of the three parts. The new walk,i.e., the concatenation of the above three parts, is added toWn, while the original walk $ is removed. Meanwhile, Dn isset as Dn � fSPGð$; eÞ [ eg. In other words, every otherdangling edge appearing in SPGð$; eÞ is also removed. cn isset as maxfcn; cð$ [ SPGð$; eÞ [ eÞg.

Consider Fig. 4b as an example, for a state �2 with thecurrent walks W2 and the remaining dangling edges D2. Ifdangling edge ðv4; v1Þ is connected to the third walk of W2,we have a new state �3 because the shortest pathconnecting ðv4; v1Þ to this walk does not contain anydangling edges. In this case, n is 3. Fig. 4c shows the newstate �3 with corresponding W3 and D3, where c3 ¼ 7. Onthe other hand, if we connect dangling edge ðv1; v4Þ to thefirst walk in Fig. 4b through shortest path ðv3; v2; v1Þ, theshortest path contains a dangling edge ðv2; v1Þ. Therefore, nbecomes 4 here because two dangling edges are connectedto this walk, as shown in Fig. 4d. For each n, there may existmultiple �n with different cn. Storing only one state �n withthe smallest cn is not sufficient, because the state with thesmallest cn may not always lead to a good solutioneventually. On the other hand, storing all possible cases iscomputationally intensive. Therefore, we find and store �Cstates with the smallest cn. A larger �C corresponds to alarger search space and leads to a better solution, and wewill compare the solutions with different �C in Section 6.

In addition to �n, we also create a seed state �snþ1 from�sn with the above approach. However, to ensure that �snþ1

is a partial solution of procedure Split 1-Man Tour, hereeach dangling edge that appears in covering walk !vi mustgo through !vi and connect to walk $i, which consists ofcore walk !ri . For example, for the initial seed state �s0shown in Fig. 4a, a dangling edge ðv5; v4Þ can be connectedto the second walk because ðv5; v4Þ is the next edge of it on!2, i.e., the walk for searcher 2 in procedure Split 1-ManTour. Fig. 2d shows the walk !2, and Fig. 4e shows thecurrent solution set of the new state �s1.

Any new state �n can also be derived from a seed state�sn. In this case, we select a dangling edge and connect it to apartial solution of procedure Split 1-Man Tour, where theselected dangling edge that originally appears in coveringwalk !vi is not enforced to be connect to walk $i. In otherwords, the dangling edge that originally assigned tosearcher i in procedure Split 1-Man Tour is not enforced to

be assigned to the same searcher in �n. Therefore,procedure Assign Dangling Walks considers both connectingeach dangling edge to the original walk and to other walks,to avoid missing good solutions. For each n, we maintain aset �n of 1 seed state with the smallest cn among all possibleseed states, together with �C other states with the smallestcn among all the other possible states.

Furthermore, for any two states b�n and e�n, state e�n canbe removed if bcn < ecn and bDn � eDn hold, because b�nconsiders more dangling edges and incurs smaller over-

head. For example, state b�4 in Fig. 4d can merge anotherstate e�4 in Fig. 4f, because bc4 ¼ 7 and ec4 ¼ 8, while they

have the same dangling edge set, i.e., fðv4; v5Þ; ðv3; v5Þg.Finally, at the beginning of this procedure, if there are

overall m dangling edges to be connected, the state with theminimum cm is the solution of the algorithm, as shown in

Fig. 4g with the length of the longest walk is 7.Algorithm Balanced k Search Walks first obtains an initial

assignment for each searcher by invoking procedure Split 1-

Man Tour, and then utilizes procedure Assign Dangling Walks

to refine the search walks of the searchers. The pseudocodes

for procedure Assign Dangling Walks and algorithm Balanced

k Search Walks are detailed in Appendix C.1, available in

the online supplemental material.

4.3 Performance Analysis

Algorithm Balanced k Search Walks first finds an optimalpostman tour and then divides the tour into k partitionswith similar lengths. We then decide the start location andassign a covering walk for each searcher, such that thedistance between the start location and the covering walk isminimized. However, because the core walk traversed byeach searcher may overlap with the covering walks of othersearchers, procedure Assign Dangling Walks reassigns eachdangling edge to a searcher to further improve the solution.In the following, we derive the approximation ratio foralgorithm Balanced k Search Walks.

Theorem 1. For every instance with an optimal solution ��,algorithm Balanced k Search Walks finds a solution � suchthat for each !i 2 �, cð!iÞ � 3 � cð!�Þ þ cðemaxÞ, where cð!�Þis the length of the longest walk in ��, and cðemaxÞ is thelength of the longest edge in G.

Proof. In the following, we first derive two lower bounds onthe longest walk !� in the optimal solution.

1. Lower bound BF for the farthest vertex

BF ¼ maxu2V

�minvs2VSfcðSPGðvs; uÞÞg

�� cð!�Þ:

BF considers the maximum cost for any searcher toreach a vertex from the closest candidate start location,where minvs2VSfcðSPGðvs; uÞÞg finds the length of thepath from a vertex u 2 V to the nearest candidate startlocation vs, and maxu2V fminvs2VSfcðSPGðvs; uÞÞgg identi-fies the farthest vertex u that corresponds to the longestpath. The bound holds since every vertex must betraversed by at least one searcher, and therefore thelength of the walk to reach the farthest vertex in theoptimal solution must be no smaller than BF .

1484 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 11, NO. 10, OCTOBER 2012

2. Lower bound BK for the k partitions,

BK ¼Pðu;vÞ2E cðu; vÞ

k� cð!�Þ:

The total cost of all edges inG isPðu;vÞ2E cðu; vÞ. For every

feasible solution, if there is any searcher with the lengthof the corresponding walk smaller than BK , there mustexist another searcher with the length more thanBK , suchthat the objective value of this solution exceeds BK .Therefore, BK is the lower bound of any feasible solution.

Moreover, we have the following observations. First,

each walk !i in procedure Split 1-Man Tour is the

concatenation of the core walk !ri and the covering

walk !vi . For balancing the length of covering walk

!vi ¼ ½pi; qi, vertex qi is identified as the vertex such that

the length of ½p1; qi is closest to i�cðT Þk . Therefore, Fig. 5

shows the worst case of !vi , where both sides of !vi are

extended to the nearest vertex. In Fig. 5, vertex u is thenext vertex of pi, and vertex v is the previous vertex of qion the optimal postman tour T . The extension of !vi in

the left cannot exceed cðpi;uÞ2 ; otherwise, pi would be set to

u. Similarly, the right extension of !vi must be no larger

than cðv;qiÞ2 . Therefore, cð!vi Þ �

cðT Þk þ

cðpi;uÞ2 þ cðv;qiÞ

2 . Since

cðpi; uÞ � cðemaxÞ and cðv; qiÞ � cðemaxÞ, where emax is the

longest edge in G , we have cð!vi Þ �cðT Þk þ cðemaxÞ.

In addition, for the optimal postman tour, cðT Þ �2Pðu;vÞ2E cðu; vÞ holds [24], and thereby cðT Þ

k � 2BK .Now, we have cð!vi Þ � 2BK þ cðemaxÞ. On the otherhand, because each core walk is a shortest pathconnecting a vertex and its nearest candidate startlocation, cð!ri Þ � BF must hold. Therefore, the length ofeach walk !i obtained by procedure Split 1-Man Touris bounded by cð!iÞ ¼ cð!ri Þ þ cð!vi Þ � BF þ 2 �BK þcðemaxÞ � 3 � cð!�Þ þ cðemaxÞ. Moreover, we are able toadd virtual vertices in emax and partition emax intosmaller ones, for effectively reducing cðemaxÞ.

Procedure Assign Dangling Walks regards each partialsolution obtained from procedure Split 1-Man Tour as theseed state �sn, which represents that n dangling edges areconnected to the core walks via the original coveringwalks. If there are overall m dangling edges to beconnected at the beginning of procedure Assign DanglingWalks, �sm is identical to the solution from procedure Split1-Man Tour, since each dangling edge is connected to theoriginal core walk via the corresponding covering walk.Because procedure Assign Dangling Walks chooses thestate with the minimum cm among all states in �m, theselected state must be no worse than �sm. Therefore,min cm � 3 � cð!�Þ þ cðemaxÞ must hold. tu

The time complexity of algorithm Balanced k Search Walksis shown in Appendix C.2, available in the online supple-mental material. In this section, for k-PSP, we designedalgorithm Balanced k Search Walks to minimize the searchtime of all roads, where each edge is guaranteed to betraversed at least once. In real scenarios, the time requiredfor each searcher to traverse different paths may vary atdifferent time. Therefore, in the next section, we propose adistributed algorithm to adaptively adjust the paths ofmultiple searchers after the search starts.

5 DISTRIBUTED ALGORITHM

In Section 4, we proposed algorithm Balanced k Search Walksto assign walks to all searchers before the search begins. Incontrast, after the search starts, since the search speed ofeach searcher can change at different time, our systemneeds to adapt to the movements of searchers. Therefore, inthe following, we first formulate a problem and propose analgorithm for path refinements. Due to the space constraint,we describe our distributed operation based on theproposed algorithm in Appendix E, available in the onlinesupplemental material, and Appendix F, available in theonline supplemental material, shows that the distributedalgorithm can support the dynamic join and leave ofsearchers and the changes of physical roads.

In the following, we formulate the Path RefinementProblem and propose a distributed algorithm, calledMoving Edges, for adjusting paths after a search starts.Algorithm Moving Edges comprises two procedures: proce-dure Adding Shortcuts, and procedure Constructing MovingState. The algorithm finds the edges that can be moved fromone searcher i to another searcher j in the remaining searchwalks and refine their walks to minimize the search time.With the proposed algorithm, multiple searchers canadaptively adjust the search walks simultaneously in adistributed manner.

Specifically, given a graph G, the residual walks !1 and!2, and the searchers’ average speeds n1 and n2, the PathRefinement Problem is to find new walks !1 and !2 suchthat the maximum search time of the two searchers isminimized. Moreover, all edges on !1 and !2 must betraversed at least once. Let Eð!Þ denote the set of edges on awalk !. PRP is formulated as follows:

Problem. The Path Refinement ProblemInstance: An undirected multigraph G ¼ ðV ;EÞ with theedge lengths, c : E ! Rþ0 , two walks !1, !2 representing twosearchers’ remaining walks on G, where Eð!1Þ, Eð!2Þ � E,and the searchers’ average speeds in the past: n1; n2 2 R.Task: To find two walks !1 and !2, where Eð!1Þ, Eð!2Þ � E,ðEð!1Þ [Eð!2ÞÞ � ðEð!1Þ [ Eð!2ÞÞ and minimize the max-

imum search time, i.e., maxfcð!1Þn1

; cð!2Þn2g.

In the following, we use the shorter walk and the longerwalk to distinguish the two walks considered in thisproblem. If the average moving speeds of the two searchersare the same, the shorter walk corresponds to the walkwith the smaller total length, while the longer walk has alarger total length. To consider different moving speeds,we replace the cost cðeÞ of each edge e with cðeÞ

nifor each

searcher i. Therefore, ifP

e2!1

cðeÞn1

<P

e2!2

cðeÞn2

for searchers

SHEN ET AL.: COLLABORATIVE AND DISTRIBUTED SEARCH SYSTEM WITH MOBILE DEVICES 1485

Fig. 5. The worst case scenario of covering walk !vi .

1 and 2, !1 is the shorter walk, and !2 is the longerwalk. The Path Refinement Problem is identical to theproblem that the two searchers have the same speed, andthe length of each edge e in each walk !i is normalized tocðeÞni

. Therefore, PRP is NP-Hard because k-PSP is NP-Hardwhen k is 2. In the following, without loss of generality, weconsider the above normalized graph, with the same speedfor the two searchers, but the cost for each edge is differentfor each searcher. Our algorithm for PRP contains twoprocedures: Adding Shortcuts and Constructing Moving State.The first one creates inter-shortcuts between the two walksfor allowing the searchers to traverse between the walks.We also create some inter/intra-shortcuts in the longer walkto let the corresponding searcher sl skip some edges forreducing the search time. In this case, the searcher sr withthe shorter walk can first cross the inter-shortcuts and thentraverse the skipped edges. However, crossing the inter-shortcuts increases the search time for sr. Therefore, wepropose algorithm Moving Edges to minimize the additionaloverhead for sr. Specifically, our algorithm sequentiallyconsiders every intra-shortcut for sl and procedure Con-structing Moving State records the amount of time that canbe saved with a set of intra-shortcuts, together with theoverhead incurred to sr, and the corresponding path totraverse the skipped edges. Our algorithm is able tominimize the search time for sl, while the search overheadon sr is also minimized to meet the specific search time of sl.

Specifically, procedure Adding Shortcuts first removesedges on the longer walk that overlap with the shorter walk.After removing such overlapping edges from the longerwalk, the walk becomes partitioned. To connect differentpartitions, we employ the shortest path to connect everytwo partitions in the longer walk. Afterward, procedureAdding Shortcuts creates inter-shortcuts to connect thevertices in the shorter walk and the longer walk. Eachinter-shortcut is a shortest path connecting two vertices inthe two walks to reduce the overhead. Moreover, each inter-shortcut connecting u and w cannot contain any edge thathas appeared in the two walks, such as ðv; wÞ, because inthis case, the inter-shortcut connecting u and v is sufficientfor our algorithm. Procedure Adding Shortcuts also addsintra-shortcuts for the longer walk to reduce the searchtime, and each intra-shortcut is a shortest path connectingtwo vertices of the walk, such that the length of the shortcutis smaller than the length of the walk between the twovertices. Similar to inter-shortcuts, each intra-shortcut inour algorithm also avoids including the edges that haveappeared in the two walks. This procedure can also handle

the scenario that the shorter walk and the longer walk share

some common vertices. Consider Fig. 6 as an example. The

original graph is shown in Fig. 6a. In Fig. 6b, v3r and v3l in

the shorter walk and longer walk correspond to the same

vertex v3. In this example, SPGðv2; v3lÞ is a shortest path

with length 3 and thereby is an intra-shortcut connecting v2

and v3l . SPGðv6; v4Þ is an inter-shortcut between v6 and v4,

and the length of the intra-shortcut between v3l and v3r is 0

because they both correspond to the same vertex v3. The

detailed pseudocode for procedure Adding Shortcuts can be

found in Appendix D.1, available in the online supple-

mental material.Afterward, algorithm Moving Edges is a dynamic

programming algorithm that records the amount of time

saved for sl with a set of intra-shortcuts, together with the

overhead incurred to sr and the corresponding path that

traverses the skipped edges. The algorithm can effectively

merge various candidate approaches to move the edges

from sl to sr. Specifically, on the longer walk, the vertex i is

associated with a set Ci of states, and each state �i;u ¼fri; hi; !r;i;u; !l;i;ug represents a candidate approach to move

the edges, where ri is the length of the search walk reduced

for sl, hi is the length of the search walk increased for sr,

and u is a vertex in the shorter walk. !r;i;u is the

corresponding search walk of sr that covers the edges

skipped by sl and terminates in vertex u, and !l;i;u is the

search walk for sl terminating in vertex i. Initially, we

generate a state �i;u ¼ f0; 0; !rðsvr; uÞ; !lðsvl; iÞg as the initial

state, where !rðsvr; uÞ denotes a part of the existing walk of

sr between u and svr, which is the start vertex of the walk.

Similarly, !lðsvl; iÞ denotes a part of the existing walk of slbetween i and svl, which is the start vertex of the walk. In

Fig. 6c, for the three sets of initial states, C2, C6, and C3l

for v2, v6, and v3l , the initial state �i;u ¼ f0; 0; !rðsvr; uÞ;!lðsvl; iÞg is first generated. For example, C2 ¼ f�2;4; �2;3rg,where �2;4 ¼ f0; 0; !rðv4; v4Þ; !lðv2; v2Þg and �2;3r ¼ f0; 0;!rðv4; v3rÞ; !lðv2; v2Þg, which represent that sr moves to v4

and v3r, respectively, and sl stays at v2. C6 and C3l also have

similar initial states.Next, we sequentially derive and improve the states

along the longer walk. For vertex i on the longer walk, slcan traverse the next edge or skip the edge via an intra-

shortcut. If sl traverses the next edge, it saves no time and

incurs no extra overhead for sr. In this case, if the next

vertex in the longer walk is iþ 1, the candidate states �iþ1;u

is as follows:

1486 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 11, NO. 10, OCTOBER 2012

Fig. 6. An example of algorithm Moving Edges. (a) The original graph G. (b) The longer walk and the shorter walk, !l and !r. (c) The candidate statesets and the inter/intra-shortcuts. (d) The state after constructing �3l;3r.

�iþ1;u ¼ fri; hi; !r;i;u; !l;i;u [ !lði; iþ 1Þg;

where !lði; iþ 1Þ here is the edge between i and iþ 1 for sl.Fig. 7a demonstrates the case that sl traverses the next edge.

In contrast, if sl skips the edge by traversing an intra-shortcut i;j connecting vertices i and j, we derive a set ofnew states for Cj with the terminated vertex v for sridentified later in this section

�j;v ¼ fri þ clð!lði; jÞÞ � clði;jÞ; hi þ crð�u;vÞ� crð!rðu; vÞÞ; !r;i;u [ �u;v; !l;i;u [ i;jg;

where clð!lði; jÞÞ denotes the normalized length of theskipped walk of sl from i to j, clði;jÞ is the normalizedlength of the shortcut, crð�u;vÞ is the normalized length ofthe path starting from u and terminating at v for sr to cover!lði; jÞ and also !rðu; vÞ, and crð!rðu; vÞÞ is the normalizedlength of the walk of sr from u to v. In other words, path �u;valso includes the edges of !rðu; vÞ, but the traversalsequences of �u;v and !rðu; vÞ can be different as describedbelow. Therefore, clð!lði; jÞÞ � clði;jÞ represents the searchlength reduced for sl, and crð�u;vÞ � crð!rðu; vÞÞ is theadditional overhead for sr.

If sr visits i before j in �u;v, our algorithm minimizes theoverhead for sr by deriving �u;v as follows:

�u;v ¼ SPGðu; iÞ [ !lði; jÞ [ SPGðj;maxfm;ugÞ[ !rðmaxfm;ug; vÞ;

where SPGðu; iÞ starts from u and then includes an inter-shortcut connecting m on !r and i on !l, with all edgesbetween u and m on !r included in SPGðu; iÞ. Note that mcan be u or another vertex in the shorter walk. In otherwords, SPGðu; iÞ is allowed to contain some vertices in theshorter walk. In the last term, maxfm;ug identifies thevertex on the right. We consider maxfm;ug, instead of u,because sr does not need to return to u if m is on the right ofu, i.e., u < m.

Moreover, we also identify v in �u;v according toSPGðj;maxfm;ugÞ. We first find a vertex n in the shorterwalk such that an inter-shortcut between j and n appearsin SPGðj;maxfm;ugÞ, and SPGðn;maxfm;ugÞ is a part of

SPGðj;maxfm;ugÞ. We assign v as maxfu;m; ng. Figs. 7bto 7g consider the six cases of u, m, n with differentpositions. After sr returns to m, instead of u, we let srmove to n along the shorter walk as shown in Fig. 7b. Theother cases of u, m, n and the corresponding v are shownin Figs. 7c to 7g.

Note that it is similar to derive �u;v when sr visits j beforei in �u;v, and we choose the smaller one in the two cases asthe solution to �u;v. In addition, our algorithm does notrestrict that the length of the new !r cannot exceed the new!l to avoid missing a good solution. Fig. 6c shows anexample of algorithm Moving Edges, where the speeds of sland sr are identical. When sl is on v2, sl can traverse the nextedge or skip the edge via an intra-shortcut. If sl traverses thenext edge, since no time is saved for sl and sr incurs nooverhead, two initial states, �6;4 ¼ f0; 0; !rðv4; v4Þ; !lðv2; v6Þgand �6;3r ¼ f0; 0; !rðv4; v3rÞ; !lðv2; v6Þg have appeared in C6.In contrast, if sl skips ðv2; v6Þ by traversing the intra-shortcut2;3l ¼ SPGðv2; v3lÞ, we derive new candidate states for C3l

from �2;4 and find �3l;v¼f0þ 18�3; 0þcrð�u;vÞ�crð!rðu; vÞÞ;!rðv4; v4Þ [ �u;v; !lðv2; v2Þ [ 2;3lg, where i ¼ v2, j ¼ v3l, andu ¼ v4 as shown in Fig. 6d. We find �u;v as follows: If srvisits v2 before v3l, then �u;v ¼ SPGðv4; v2Þ [ !lðv2; v3lÞ [SPGðv3l;maxfv3r;v4gÞ[!rðmaxfv3r;v4g; v3rÞ. Here, SPGðv4;v2Þincludes an inter-shortcut connecting v3r on !r and v2

on !l, and m is v3r. Moreover, since SPGðv3l;maxfm; v4gÞincludes an inter-shortcut connecting v3r on !r and v3l on !l,n is v3r, and v is maxfu;m; ng ¼ maxfv4; v3r; v3rg ¼ v3r.Therefore, �u;v¼SPGðv4; v2Þ [ !lðv2; v3lÞ [ SPGðv3l; v3rÞ, withu ¼ v4 and v ¼ v3r. Similarly, if sr visits v3l before v2, we willobtain the same result, and add �3l;3r to C3l.

Let �i;u ¼ fri; hi; !r;i;u; !l;i;ug and b�i;v ¼ fbri; bhi; b!r;i;v; b!l;i;vgdenote any two candidate states for Ci. State �i;u can mergeb�i;v if the length of the longer walk is reduced more, ri � bri,the increment of the length for shorter walk is smaller,hi � bhi, and vertex v is on the left of u in the shorter walk.The dynamic programming algorithm can effectivelymerge the states when moving the edges from sl to sr. Inaddition, except the initial states, our algorithm recordsonly the �D states with the largest ri for each Ci, to considerlimited computation power and memory space in mobile

SHEN ET AL.: COLLABORATIVE AND DISTRIBUTED SEARCH SYSTEM WITH MOBILE DEVICES 1487

Fig. 7. Illustrations of the state construction.

devices. The pseudocodes for algorithm Moving Edges andprocedure Constructing Moving State are elaborated inAppendix D.1, available in the online supplementalmaterial. Appendix D.2, available in the online supple-mental material, analyzes the time complexity of algorithmMoving Edges, and Appendix D.3, available in the onlinesupplemental material, shows a more complete example ofthis algorithm.

In our system, each searcher periodically tries to adjustthe remaining search walk with another nearby searcher,which can be the one in the same hierarchical group in thecurrent MANET protocols [25], [26], [27], or the one withinthe communication range. Each searcher in our distributedoperation can initiate or join at most one path refinementprocess at each time. The distributed operation has fivecontrol messages: REQUEST, INFORM, REFINE, ACK, andCOMPLETE. Each searcher can act as the initiator of thedistributed operation and broadcast REQUEST to deliverits remaining walk to neighbors, while each neighbor findsthe refined walks with algorithm Moving Edges and repliesthe refined walks with INFORM back to the initiator. Aftercollecting all refined walks, the initiator then chooses theneighbor with the best refined walks, such that the longestwalk among the initiator and all its neighbors can beminimized. The initiator notifies the corresponding neigh-bor with REFINE to move some edges in the longer walk tothe shorter walk. ACK is returned by the correspondingneighbor, and COMPLETE is broadcasted by the initiatorto notify that the above refinement procedure is success-fully completed. The detailed distributed operation andanalysis are elaborated in Appendix E, available in theonline supplemental material. Furthermore, we discuss theextensions of the distributed algorithm to support thedynamic join and leave of searchers and dynamic change ofphysical roads in Appendix F, available in the onlinesupplemental material.

6 EXPERIMENTAL RESULTS

In this section, we present the experimental results on threereal maps, as shown in Fig. 8, to evaluate our algorithms indifferent scenarios. The first map is National TaiwanUniversity (NTU) with 75 vertices, 114 edges, and the totallength of all roads is 13.9 km. The second map shows a partof Yangmingshan National Park (YMS). It contains 50 ver-tices, 74 edges, and the total length is also 13.9 km. The third

map is downtown Manhattan in New York (MAN). Itcontains 215 vertices, 393 edges, and the total length is54.8 km. Furthermore, we present the experimental resultson a random large map [28] with 850 vertices, 1,476 edges,and the total length of all roads is 178.6 km. We alsocompare our algorithms with the optimal solutions on arandom small map with 20 vertices and 56 edges. Inaddition to computer simulations, we also implement ouralgorithms in mobile devices and conduct field trials inNational Taiwan University and Yangmingshan NationalPark. The field trial results are detailed in Appendix J,available in the online supplemental material.

In the simulation, we compare our proposed algorithms,algorithm Balanced k Search Walks (CenAlgo) in Section 4and algorithm Balanced k Search Walks together withalgorithm Moving Edges and the distributed operation(CenAlgo+DisAlgo) in Section 5, with the following twoapproaches: Random Walk (RW) and Distributed DFS withcommunications (DDFS), to represent the manual config-urations in the current applications. Random Walk con-siders the case that searchers search an area withoutcommunications and positioning capabilities. In contrast,Distributed DFS considers that each searcher has thecommunications and positioning capability and searchesthe area with the depth-first-search algorithm. In addition,each searcher in Distributed DFS can avoid searching thepaths that have been traversed by other searchers. Toevaluate our algorithms in various scenarios, we change thefollowing parameters:

1. the map,2. the search speed,3. the number of searchers,4. the start location of each searcher,5. �C and �D,6. communication ranges, and7. the frequencies of path refinements in the distrib-

uted operation.

There are two configurations of the searchers’ speeds:fixed speed at 4.2 km/h and variable speed changedbetween 1.8 and 20 km/h with the acceleration randomlychosen between ð�0:2; 0:2Þ m=s2. For each sample, thecandidate start locations are assigned randomly but thesame for CenAlgo and CenAlgo+DisAlgo. RW and DDFSrandomly decide the real start location for each searcher.We measure 100 samples in each scenario with a 95 percentconfidence interval.

1488 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 11, NO. 10, OCTOBER 2012

Fig. 8. Three real maps in our experiment. (a) National Taiwan University. (b) Yangmingshan National Park. (c) Downtown Manhattan.

Here, we use the search time as the performance metric.When the moving speed of each searcher is the same, say, 1,the search time is defined as the length of the longest walkobtained for a searcher, max1�i�k cð!iÞ. However, for realscenarios, we allow each searcher to adjust the movingspeed at any time. Therefore, for each searcher i, if theaverage moving speed of the whole walk is ni, the searchtime of the whole operation is defined as max1�i�k

cð!iÞni

. Inother words, since every edge in G is guaranteed to betraversed by a searcher, the search time is identical to thetime that the last edge in G is traversed by a searcher. Afterthe last edge is traversed, the search operation stops.

In Figs. 9 and 10, we show the comparisons of ourproposed algorithms with RW and DDFS. We set �C ¼ 200for all maps, and set �D ¼ 100 for National TaiwanUniversity and Yangmingshan National Park while �D¼30

for downtown Manhattan and the random large map.The communication range for each searcher is 150 m.Fig. 9 shows the search time reduced by CenAlgo andCenAlgo+DisAlgo as compared to RW and DDFS in thethree real maps and the random generated large map. InFig. 9a, CenAlgo and CenAlgo+DisAlgo reduce 75-93 per-cent and 77-94 percent of the search time, respectively. Forvariable-speed configuration, Fig. 9b shows that CenAlgoand CenAlgo+DisAlgo reduce 61-94 percent and 76-96 per-cent of the search time, respectively. This is because RW onlyleverages very limited information, and DDFS does notconsider balancing and minimizing the length of each walk.Although CenAlgo assumes that the speeds of searchers arethe same, CenAlgo still provides 61-69 percent of theimprovement over DDFS because CenAlgo can balance thesearch time of searchers. Moreover, CenAlgo+DisAlgo

SHEN ET AL.: COLLABORATIVE AND DISTRIBUTED SEARCH SYSTEM WITH MOBILE DEVICES 1489

Fig. 9. Comparisons of the search time for CenAlgo, CenAlgo+DisAlgo, and the other approaches.

Fig. 10. Improvements and overheads for path refinements.

yields more time reduction for all four maps. This is becausealgorithm Moving Edges can effectively move search loads tothe faster searchers to balance the search time. In addition,our algorithms reduce 62-96 percent of search time ascompared to RW and DDFS in the random large map with200 searchers. This result indicates that our algorithms canreduce the search time for operations with many searchersin large maps. In Appendix G, available in the onlinesupplemental material, we show the experimental resultsfor CenAlgo and CenAlgo+DisAlgo with different numbersof searchers on the three real maps.

Fig. 10 shows the reduction of the search time and thecorresponding overhead for DisAlgo. Fig. 10a indicates thatCenAlgo+DisAlgo leads to more successful path refine-ments in downtown Manhattan because algorithm MovingEdges can construct more sets of candidate states to moveedges for reducing the search time, and Fig. 10b shows thatCenAlgo+DisAlgo thereby reduces up to 63 percent of thesearch time in variable-speed configuration. Fig. 10ccompares the number of delivered messages for each mapin both fixed-speed and variable-speed configurations,where all messages for the trials of path refinements areconsidered. The results show that variable-speed config-uration incurs fewer messages because in this case, we havesmaller search time and thereby requires fewer trials forpath refinements.

Fig. 10d shows the average search-time reduction of eachpath refinement. Since we cannot refine a path when thereis only one searcher, Fig. 10d shows the results when k � 2.The results indicate that although CenAlgo+DisAlgorequires more messages in downtown Manhattan, eachpath refinement reduces more search time as compared tothe other maps. This is because, the topology of downtownManhattan enables algorithm Moving Edges to adjust search

walks more flexibly, and the search time after each pathrefinement is thereby more balanced. In Appendix H,available in the online supplemental material, we also com-pare the search time and the number of delivered messageswith different frequencies of the distributed operation.

To demonstrate the results of different communicationranges for the search-time reduction, Fig. 11 shows the ratioof the search time of each communication range, where 150 mis the baseline. We set �C ¼ 200 for all maps, and set �D ¼ 100for National Taiwan University and Yangmingshan NationalPark while �D ¼ 30 for downtown Manhattan. The resultsindicate that the ratio decreases when the communicationrange grows. In this case, more searchers can participate inthe path refinement process, and our algorithm thereby isinclined to obtain a better solution. Figs. 12a, 12b, and 12cconsider the number of requests for path refinements of eachsearcher, the number of delivered messages of each searcher,and the number of successful path refinements of eachsearcher, respectively. As the communication range becomeslarger, the number of requested path refinements and thenumber of delivered messages also increase. Therefore, thenumber of successful path refinements can be improvedbecause searchers in this case have more chances tocommunicate with each other to refine the solutions.

We utilize a small map to find the optimal solutions by theproposed Integer Linear Programming formulation withCPLEX in Fig. 13a. Specifically, we compare the results of ourproposed algorithms with the optimal solutions on a randomsmall map with 20 vertices and 56 edges. We set �C ¼ 200and �D ¼ 100 for CenAlgo and DisAlgo, respectively.Fig. 13a shows that the results returned by CenAlgo andCenAlgo+DisAlgo are within 110 percent of the optimalsolutions. Furthermore, to demonstrate the performance ofDisAlgo, we show the results of decoupling DisAlgo from

1490 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 11, NO. 10, OCTOBER 2012

Fig. 11. Comparisons of the search time with different communication ranges.

Fig. 12. Comparisons of the results with different communication ranges.

CenAlgo in Fig. 13b, where DDFS is used for the initialization

of DisAlgo, and DDFS represents the manual configuration.

We set �D ¼ 100 for DisAlgo and compare DDFS+DisAlgo

with DDFS under variable-speed configuration, where the

latter is the baseline. The communication range is 150 m in

this case. Fig. 13b shows that DisAlgo can effectively improve

the solution obtained by DDFS, in addition to the proposed

centralized algorithm. Moreover, we measure the conver-

gence of the solutions of DisAlgo on the map of downtown

Manhattan with different numbers of searchers, where the

communication range is 600 m, and �D ¼ 30. In Fig. 14a, the

speed is the same for all searchers, and in Fig. 14b, searchers

are allowed to change their speeds once. Fig. 14a indicates

that the solution after each path refinement never deterio-

rates, and the solution converges to about 75 percent of the

search time obtained by the centralized algorithm. In

Fig. 14b, the search time grows only once when the searchers

change their speeds. The result indicates that our approach

is able to adapt to the new speeds.

In Figs. 15 and 16, we compare the solution quality and

the computation time on the map of National Taiwan

University under variable-speed configuration with differ-

ent �C and �D, respectively. The communication range is

150 m. We regard the solutions with �C ¼ 25 and �D ¼ 25 as

baselines in Figs. 15a and 16a. Figs. 15a and 16a indicate that

when �C and �D increase, the solution becomes better,

because the algorithms with larger �C and �D consider

more cases when finding balanced walks. However, setting

a larger �C and �D may consume more computation time;

therefore, we implement CenAlgo and DisAlgo on a

computer with an Intel Core i7 2.67 GHz CPU and 3 GB

RAM. Figs. 15b and 16b indicate that the computation time

grows when �C and �D become larger. However, the

computation time of each path refinement decreases when

the number of searchers grows for DisAlgo, because when

the number of searchers increases, each searcher’s search

walk contains fewer edges. Furthermore, in disasters, a

centralized server may not be available for CenAlgo. In this

SHEN ET AL.: COLLABORATIVE AND DISTRIBUTED SEARCH SYSTEM WITH MOBILE DEVICES 1491

Fig. 13. Comparisons of the proposed algorithms with the Integer Linear Programming formulation and with the distributed algorithm initialized byDDFS.

Fig. 14. Convergence of the distributed algorithm with different numbers of searchers.

Fig. 15. Comparisons of the search time and computation time of CenAlgo with different �C .

case, mobile devices with more computation power may

need to find the initial walks of searchers. Therefore, we

measure the computation time for the centralized algorithm

on mobile devices in Appendix I, available in the online

supplemental material.

7 CONCLUSION

In this paper, we have proposed a collaborative anddistributed search system with mobile devices for rescueand patrol operations. The system leverages mobile devicesto find and assign a search walk to each searcher in acollaborative and distributed manner. We formulate twoproblems and prove that they are NP-Hard. In addition, wedevise a centralized algorithm to find the optimal solutionin a special case and an Integer Linear Programmingformulation for general cases. We also devise an approx-imation algorithm, which can be used to dispatch thesearchers before the operation starts. Moreover, to supportonline adaptation, we propose a distributed algorithm toadaptively adjust the paths of searchers after the searchstarts. We also implement the proposed algorithms inmobile devices as a collaborative and distributed searchsystem, and our experimental results demonstrate that thesearch time can be effectively reduced.

ACKNOWLEDGMENTS

This work was supported in part by the National Science

Council, Taiwan, under NSC 97-2221-E-002-172-MY3,

NSC 100-2221-E-001-006-MY2, NSC 101-2219-E-002-002,

and the Institute for Information Industry, Taiwan, under

III: 100-FS-C01.

REFERENCES

[1] A. LaMarca, Y. Chawathe, S. Consolvo, J. Hightower, I. Smith, J.Scott, T. Sohn, J. Howard, J. Hughes, F. Potter, J. Tabert, P.Powledge, G. Borriello, and B. Schilit, “Place Lab: DevicePositioning Using Radio Beacons in the Wild,” Proc. Int’l Conf.Pervasive Computing, 2005.

[2] E. Rukzio, M. Muller, and R. Hardy, “Design, Implementation andEvaluation of a Novel Public Display for Pedestrian Navigation:The Rotating Compass,” Proc. 27th Int’l Conf. Human Factors inComputing Systems (CHI ’09), pp. 113-122, 2009.

[3] J. Chung and C. Schmandt, “Going My Way: A User-Aware RoutePlanner,” Proc. 27th Int’l Conf. Human Factors in Computing Systems(CHI ’09), pp. 1899-1902, 2009.

[4] A.J. Nicholson and B.D. Noble, “BreadCrumbs: ForecastingMobile Connectivity,” Proc. ACM MobiCom, pp. 46-57, 2008.

[5] R.K. Balan, N. Ramasubbu, K. Prakobphol, N. Christin, and J.Hong, “mFerio: The Design and Evaluation of a Peer-to-PeerMobile Payment System,” Proc. ACM MobiSys, pp. 291-304, 2009.

[6] J. Eriksson, L. Girod, B. Hull, R. Newton, S. Madden, and H.Balakrishnan, “The Pothole Patrol: Using a Mobile SensorNetwork for Road Surface Monitoring,” Proc. ACM MobiSys,pp. 29-39, 2008.

[7] H. Lu, W. Pan, N.D. Lane, T. Choudhury, and A.T. Campbell,“SoundSense: Scalable Sound Sensing for People-Centric Applica-tions on Mobile Phones,” Proc. ACM MobiSys, pp. 165-178, 2009.

[8] C. Hartung, R. Han, C. Seielstad, and S. Holbrook, “FireWxNet: AMulti-Tiered Portable Wireless System for Monitoring WeatherConditions in Wildland Fire Environments,” Proc. ACM MobiSys,pp. 28-41, 2006.

[9] P. Volgyesi, G. Balogh, A. Nadas, C.B. Nash, and A. Ledeczi,“Shooter Localization and Weapon Classification with Soldier-Wearable Networked Sensors,” Proc. ACM MobiSys, pp. 113-126,2007.

[10] The Participatory Urban Sensing Projects, Univ.of California, LosAngeles, http://urban.cens.ucla.edu/projects, 2012.

[11] C. Buragohain, D. Agrawal, and S. Suri, “Distributed NavigationAlgorithms for Sensor Networks,” Proc. IEEE INFOCOM, pp. 1-10,2006.

[12] Q. Li, M.D. Rosa, and D. Rus, “Distributed Algorithm for GuidingNavigation across a Sensor Network,” Proc. ACM MobiCom,pp. 313-325, 2003.

[13] Y.-C. Tseng, M.-S. Pan, and Y.-Y. Tsai, “Wireless Sensor Networksfor Emergency Navigation,” Computer, vol. 39, no. 7, pp. 55-62,July 2006.

[14] M. Li, Y. Liu, J. Wang, and Z. Yang, “Sensor Network Navigationwithout Locations,” Proc. IEEE INFOCOM, pp. 2419-2427, 2009.

[15] I.A. Wagner, M. Lindenbaum, and A.M. Bruckstein, “DistributedCovering by Ant-Robots Using Evaporating Traces,” IEEE Trans.Robotics Automation, vol. 15, no. 5, pp. 918-933, Oct. 1999.

[16] I.A. Wagner, M. Lindenbaum, and A.M. Bruckstein, “MAC vs.PC—Determinism and Randomness as Complementary Ap-proaches to Robotic Exploration of Continuous UnknownDomains,” Int’l J. Robotics Research, vol. 19, pp. 12-31, 2000.

[17] E. Osherovich, V. Yanovki, I.A. Wagner, and A.M. Bruckstein,“Robust and Efficient Covering of Unknown Continuous Domainswith Simple, Ant-Like Agents,” Int’l J. Robotics Research, vol. 27,pp. 815-831, 2008.

[18] Y. Elmaliach, N. Agmon, and G.A. Kaminka, “Multi-Robot AreaPatrol under Frequency Constraints,” Proc. IEEE Int’l Conf.Robotics and Automation (ICRA ’07), 2007.

[19] N. Hazon and G.A. Kaminka, “Redundancy, Efficiency andRobustness in Multi-Robot Coverage,” Proc. IEEE Int’l Conf.Robotics and Automation (ICRA ’05), 2005.

[20] J. Melvin, P. Keskinocak, S. Koenig, C. Tovey, and B.Y. Ozkaya,“Multi-Robot Routing with Rewards and Disjoint Time Win-dows,” Proc. IEEE Int’l Conf. Intelligent Robots and Systems (IROS’07), 2007.

[21] IBM CPLEX Optimizer, http://www-01.ibm.com/software/integration/optimization/cplex-optimizer, 2012.

[22] L. Euler, “Solutii Problematis ad Geometriam Situs Pertinentis,”Commentarii Academiae Scientiarum Petropolitanae, vol. 8, pp. 128-140, 1736.

[23] S. Sahni and T. Gonzalez, “P-Complete Approximation Pro-blems,” J. ACM, vol. 23, pp. 555-565, 1976.

1492 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 11, NO. 10, OCTOBER 2012

Fig. 16. Comparisons of the search time and computation time of DisAlgo with different �D.

[24] N. Christofides, “The Optimum Traversal of a Graph,” Int’l J.Management Science, vol. 1, pp. 719-732, 1973.

[25] W. Heinzelman, A. Chandrakasan, and H. Balakrishnan, “Energy-Efficient Communication Protocol for Wireless Microsensor Net-works,” Proc. Hawaii Int’l Conf. System Sciences, 2000.

[26] A. Manjeshwar and D.P. Agrawal, “TEEN: A Routing Protocol forEnhanced Efficiency in Wireless Sensor Networks,” Proc. 15th Int’lParallel and Distributed Processing Symp. Workshops, 2001.

[27] S. Lindsey and C.S. Raghavendra, “PEGASIS: Power EfficientGathering in Sensor Information Systems,” Proc. IEEE AerospaceConf., 2002.

[28] M. Barthelemy and A. Flammini, “Modeling Urban StreetPatterns,” Physical Rev. Letters, vol. 100, p. 138702, 2008.

[29] H.N. Gabow, “An Efficient Implementation of Edmonds’ Algo-rithm for Maximum Matching on Graphs,” J. ACM, vol. 23,pp. 221-234, 1976.

[30] HTC, http://www.htc.com, 2012.

Chih-Ya Shen received the BS and MS degreesfrom the Department of Computer Science andInformation Engineering, National Chiao TungUniversity, Hsinchu, Taiwan, in 2005 and 2007,respectively. He is currently working towardthe PhD degree in the Department of ElectricalEngineering, National Taiwan University, Taipei,Taiwan.

De-Nian Yang received the BS and PhDdegrees from the Department of ElectricalEngineering, National Taiwan University, in1999 and 2004, respectively. From 2004 to2008, he was a postdoctoral fellow in theDepartment of Electrical Engineering, NationalTaiwan University, for the military services. He isnow an assistant research fellow in the Instituteof Information Science and Research Center forInformation Technology Innovation, Academia

Sinica, Taipei, Taiwan. His research interests include multimedia andmobile networking and social networks. He received the best studentpaper award from IEEE International Conference on Multimedia andExpo (IEEE ICME), Career Development Award from Academia Sinica,Research Exploration Award from the Pan Wen Yuan Foundation, andProject for Excellent Junior Research Investigators in National ScienceCouncil. He is a senior member of the IEEE.

Ming-Syan Chen received the BS degree inelectrical engineering from National TaiwanUniversity, Taipei, and the MS and PhD degreesin computer, information, and control engineer-ing from The University of Michigan, Ann Arbor,in 1985 and 1988, respectively. He is now adistinguished research fellow and the director ofthe Research Center for Information TechnologyInnovation (CITI) at Academia Sinica, Taiwan,and is also a distinguished professor jointly

appointed by the Electrical Engineering Department, the ComputerScience and Information Engineering Department, and the GraduateInstitute of Communication Engineering (GICE) at National TaiwanUniversity. He was a research staff member at the IBM Thomas J.Watson Research Center, Yorktown Heights, New York, from 1988 to1996, the director of the GICE from 2003 to 2006, and also thepresident/CEO of the Institute for Information Industry (III), which is oneof the largest organizations for information technology in Taiwan, from2007 to 2008. His research interests include databases, data mining,cloud computing, and multimedia networking, and he has publishedmore than 300 papers in his research areas. In addition to serving as aprogram chair/vice-chair and keynote/tutorial speaker for many interna-tional conferences, he was an associate editor of IEEE TKDE, VLDBJournal, KAIS, and JISE, is currently the editor-in-chief of theInternational Journal of Electrical Engineering (IJEE), and was adistinguished visitor of the IEEE Computer Society for the Asia-Pacificfrom 1998 to 2000 and 2005 to 2007. He now serves as the chiefexecutive officer of the Networked Communication Program, which is anational program coordinating several primary activities in informationand communication technologies in Taiwan. He holds or has applied for18 US patents and seven ROC patents in his research areas. He is therecipient of the Academic Award of the Ministry of Education, theNational Science Council (NSC) Distinguished Research Award, thePan Wen Yuan Distinguished Research Award, the Teco Award, theHonorary Medal of Information, and the K.-T. Li Research BreakthroughAward for his research work, and also the Outstanding Innovation Awardfrom IBM Corporate for his contribution to a major database product. Hewas also elected as a chair professor by National Chung HsingUniversity. He has received numerous awards for his research,teaching, inventions, and patent applications. He is a fellow of theACM and the IEEE.

. For more information on this or any other computing topic,please visit our Digital Library at www.computer.org/publications/dlib.

SHEN ET AL.: COLLABORATIVE AND DISTRIBUTED SEARCH SYSTEM WITH MOBILE DEVICES 1493