To save content items to your account,
please confirm that you agree to abide by our usage policies.
If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account.
Find out more about saving content to .
To save content items to your Kindle, first ensure no-reply@cambridge.org
is added to your Approved Personal Document E-mail List under your Personal Document Settings
on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part
of your Kindle email address below.
Find out more about saving to your Kindle.
Note you can select to save to either the @free.kindle.com or @kindle.com variations.
‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi.
‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.
The problem of searching in complex networks is a very relevant issue, with a large number of practical applications. As the most obvious example of this problem we can consider the World Wide Web. It is an immense data depot that, however, acquires a practical interest and value only if it is possible to locate the particular information one is looking for. Probably, the first instance in which searching in complex networks has been considered is in the sociological context. In a now famous experiment, Milgram (1967) randomly selected people in a town in the Midwest, and asked them to send a letter to a target person living in Boston. The rule was that letters could not be sent directly but passed from person to person, only between people known on a first-name basis, until reaching the target. The unexpected result of this experiment was that the letters that arrived to the target traveled through short chains of acquaintances, with an average length of only six intermediate hops. The conclusion that can be drawn from this result is not only that short paths exist between the vertices of a social network (the small-world property), but that these paths can be efficiently found in order to transmit information. The very same scenario turns out to be very relevant also for technological networks such as the Internet.
In this chapter we will review the main searching strategies that can be applied in order to retrieve information from the vertices of a network, focusing specially on the Internet and the virtual networks hosted by it.
The Internet is such a rapidly evolving system that sometimes the effort put in its study might appear as extenuating and futile as Sisyphus' pursuit. Indeed, one cannot but ask the question: Would the picture and results obtained today still be valid for the Internet of tomorrow?
The scientific community has just started to partially understand the complex properties of present Internet maps, as new and more ambitious mapping projects are being developed, and new kinds of networks are making their appearance, posing new theoretical and experimental challenges. For instance, P2P and ad-hoc networks define a new class of dynamical system for which new types of monitoring infrastructures and different modeling frameworks need to be developed.
Another rapidly changing aspect of the Internet is related to traffic load and performance. The traffic in the Internet is steadily increasing, due to users' demands, along with the available bandwidth of communications lines. Unfortunately, we have not yet achieved a proper theoretical understanding of the interplay and mutual feedback between topological features and traffic load. This makes it very difficult to forecast if the existing infrastructures, as well as new networks joining the Internet, will reorganize in view of this interplay, providing a different global picture of the Internet.
As if all that were not enough, new technical improvements, at the software, hardware, and protocol levels, are constantly changing many of the mechanisms that rule the fundamental processes that make the Internet work at the “microscopic” level.
Recall that a matching of a graph G is a set S ⊂ E (G) such that ∣δG(v) ∩ S∣ ≤ 1, ∀ v ∈ V(G). Also, the matching S is perfect if ∣δG(v) ∩ S∣ = 1, ∀ v ∈ V(G). We have already studied matchings in bipartite graphs in some detail. König's Theorem provides a characterization of maximum-cardinality matchings for bipartite graphs (see the bipartite matching example, pp. 85, 100, and see p. 44). The total unimodularity of the vertex-edge incidence matrix of a bipartite graph yields a characterization of the characteristic vectors of matchings in bipartite graphs as extreme points of a polytope (see p. 44). The Matroid-Intersection Algorithms provide efficient methods for finding maximum-cardinality and maximum-weight matchings in bipartite graphs (see Chapter 3). In this chapter, an efficient direct algorithm is provided for finding a maximum-weight matching in a (complete) bipartite graph.
The study of matchings in nonbipartite graphs is more complicated.We will study an efficient algorithm for the problem of finding a maximum-cardinality matching in a general graph. Additionally, an inequality description of the convex hull of the characteristic vectors of matchings of a general graph is provided. Finally, some applications of minimum-weight matchings are described.
Augmenting Paths and Matroids
Let S be a matching of G. A path or cycle P of G is alternating with respect to S if the elements of P alternate, along the path or cycle, between elements of S and elements of E(G) \ S.
One of the simplest combinatorial-optimization problems is that of finding a minimum-weight dipath in an edge-weighted digraph (under some natural restrictions on the weight function). Not only are there rather simple algorithms for this problem, but algorithms for the minimum-weight dipath problem are fundamental building blocks for developing solution methods for more complicated problems.
Let G be a strict digraph. A v w diwalk is a sequence of edges ei, 1 ≤ i ≤ p (with p ≥ 0), such that t(e1) = v (if p > 0), h(ep) = w (if p > 0), and h(ei) = t(ei+1), for 1 ≤ i < p. Neither the edges nor the vertices need be distinct. The v w diwalk imputes the sequence of vertices v = t(e1),h(e1) = t(e2), h(e2) = t(e3), …, h(ep-1) = t(ep), h(ep) = w. If no vertex in this imputed vertex sequence is repeated, then the vw diwalk is called a vw dipath. In such a case, every vertex of the imputed sequence other than v and w is called an interior vertex. Note that the empty sequence of edges is a vv diwalk for any vertex v; the associated imputed sequence of vertices is also empty, so the empty sequence of edges is a vv dipath. If v = w, and the only repetition in the imputed vertex sequence is the consonance of the first element with the last, then the diwalk is a dicycle.
A discrete-optimization problem is a problem of maximizing a real-valued objective function c on a finite set of feasible solutions S. Often the set S naturally arises as a subset of 2E (the set of all subsets of E), for some finite ground set E, in which case we have a combinatorial-optimization problem. Of course, there is no problem because we can just enumerate all feasible solutions but we seek to do better. Usually, the feasible solutions are described in some concise manner, rather than being explicitly listed. The challenge is to develop algorithms that are provably or practically better than enumerating all feasible solutions.
Applications of discrete-optimization problems arise in industry (e.g., manufacturing and distribution, telecommunication-network design and routing, airline crew scheduling) and in applied sciences (e.g., statistics, physics, and chemistry).
Besides the applications, discrete optimization has aspects that connect it with other areas of mathematics (e.g., algebra, analysis and continuous optimization, geometry, logic, numerical analysis, topology, and, of course, other subdisciplines of discrete mathematics such as graph theory, matroid theory, and enumerative combinatorics) as well as computer science. Thus research in discrete optimization is driven by mathematics as well as by applications.
It is almost always the case that the set of feasible solutions S is delivered to us descriptively rather than by an explicit list. For example, S might be the set of spanning trees of a connected graph.