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.
For the majority of people the word “Internet” means access to an e-mail account and the ability to mine data through any one of the most popular public web search engines. The Internet, however, is much more than that. In simple terms, it is a physical system that can be defined as a collection of independently administered computer networks, each one of them (providers, academic and governmental institutions, private companies, etc.) having its own administration, rules, and policies. There is no central authority overseeing the growth of this networks-of-networks, where new connection lines (links) and computers (nodes) are being added on a daily basis. Therefore, while conceived by human design, the Internet can be considered as a prominent example of a self-organized system that combines human associative capabilities and technical skills.
The exponential growth of this network has led many researchers to realize that a scientific understanding of the Internet is necessarily related to the mathematical and physical characterization of its structure. Drawing a map of the Internet's physical architecture is the natural starting point for this enterprise, and various research projects have been devoted to collecting data on Internet nodes and their physical connections. The result of this effort has been the construction of graph-like representations of large portions of the Internet. The statistical analysis of these maps has highlighted, to the surprise of many, a very complex and heterogeneous topology with statistical fluctuations extending over many scale lengths.
The natural framework for a correct mathematical description of complex networks is graph theory. The origins of graph theory can be traced back to the pioneering work of Euler to solve the Königsberg bridges problem (Euler, 1736), and has now reached a maturity in which a wealth of results of immediate applicability are useful for the understanding of real complex networks. In this appendix we shall provide a cursory introduction to the main definitions and concepts of graph theory, useful for the analysis of real networks. The main sources followed are the books by Chartrand and Lesniak (1986), Bollobás (1998), and Bollobás (1985), as well as the review articles by Albert and Barabási (2002), Dorogovtsev and Mendes (2002), and Newman (2003), covering more recent aspects.
Graphs and subgraphs
An undirected graph G is defined by a pair of sets G = (V, E), where V is a non-empty countable set of elements, called vertices or nodes, and E is a set of unordered pairs of different vertices, called edges or links. Throughtout the book a vertex is reffered to by its order i in the set V. The edge (i, j) joins the vertices i and j, which are said to be adjacent or connected. The total number of vertices in the graph (the cardinality of the set V) is denoted as N, the size of the graph.
In this paper we are interested in the decision problem faced by an agent when requesting bids for collections of tasks with complex time constraints and interdependencies. In particular, we study the problem of specifying an appropriate schedule for the tasks in the request for bids. We expect bids to require resource commitments, so we expect different settings of time windows to solicit different bids and different costs. The agent is interested in soliciting “desirable” bids, where desirable means bids that can be feasibly combined in a low-cost combination that covers the entire collection of tasks. Since the request for bids has to be issued before the agent can see any bids, in this decision process there is a probability of loss as well as a probability of gain. This requires the decision process to deal with the risk posture of the person or organization on whose behalf the agent is acting. We describe a model based on Expected Utility Theory and show how an agent can attempt to maximize its profits while managing its financial risk exposure. We illustrate the operation and properties of the model and discuss what assumptions are required for its successful integration in multiagent contracting applications.
The characterization of how routers, computers, and physical links interconnect with each other in the global Internet is a very difficult task due to several key features of network development. A first one is the Internet's size and continued growth. The Internet is growing exponentially and its size has already increased by five orders of magnitude since its birth. In other words, the Internet is a large-scale object whose global properties cannot be inferred, in general, from local ones. A second difficulty is the intrinsic heterogeneity of the Internet, that is it is composed of networks engineered with large technical and administrative diversity. The different networking technologies are merged together by the TCP/IP architecture that, while providing connectivity, does not imply uniform behavior. Moreover, networks range from small local campuses to large transcontinental backbone providers. This difference in size is reflected in different administrative policies that make routing through the Internet a highly unpredictable and heterogeneous phenomenon. Also very important is the fact that the Internet is a self-organizing system, whose properties cannot be traced back to any blueprint or chart. It evolves and drastically changes over time according to evolutionary principles dictated by the interplay between cooperation (the network has to work efficiently) and competition (providers wish to earn money). This means that routers and links are added by competing entities according to local economic and technical constraints, leading to a very intricate physical structure that does not comply with any globally optimized plan.
Case-based reasoning (CBR) is a promising methodology for solving many complex engineering design problems. CBR employs past problem-solving experiences when solving new problems. This paper presents a case study of how to apply CBR to a specific engineering problem: mechanical bearing design. A system is developed that retrieves previous design cases from a case repository and uses adaptation techniques to modify them to satisfy the current problem requirements. The approach combines both parametric and constraint satisfaction adaptations. Parametric adaptation considers not only parameter substitution but also the interrelationships between the problem definition and its solution. Constraint satisfaction provides a method to globally check the design requirements to assess case adaptability. Currently, our system has been implemented and tested in the domain of rolling bearings. This work serves as a template for application of CBR techniques to realistic engineering problems.
In the seminal paper ‘A mathematical theory of communication’ published in 1948, Claude Shannon showed that, given a noisy communication channel, there is a number, called the capacity of the channel, such that reliable communication can be achieved at any rate below the channel capacity, if proper encoding and decoding techniques are used. This marked the birth of coding theory, a field of study concerned with the transmission of data across noisy channels and the recovery of corrupted messages.
In barely more than half a century, coding, theory has seen phenomenal growth. It has found widespread application in areas ranging from communication systems, to compact disc players, to storage technology. In the effort to find good codes for practical purposes, researchers have moved beyond block codes to other paradigms, such as convolutional codes, turbo codes, space-time codes, low-density-parity-check (LDPC) codes and even quantum codes. While the problems in coding theory often arise from engineering applications, it is fascinating to note the crucial role played by mathematics in the development of the field. The importance of algebra, combinatorics and geometry in coding theory is a commonly acknowledged fact, with many deep mathematical results being used in elegant ways in the advancement of coding theory.
Coding theory therefore appeals not just to engineers and computer scientists, but also to mathematicians. It has become increasingly common to find the subject taught as part of undergraduate or graduate curricula in mathematics.
While the scope of this book is to look at the Internet as a self-organizing complex system and to study its large-scale properties by using a statistical approach, a general knowledge of how the Internet works is necessary to identify the main elements forming the Internet, as well as their respective interactions. To give a physical analogy, if we want to understand the properties of a certain material we first have to know the atomic elements it is composed of, and how they interact. Similarly, it is impossible to approach the Internet without first having some hint of what a router is and how it communicates with its peers.
In this chapter we provide a brief description of the different elements, both hardware and software, at the basis of the Internet's functioning, to allow the non-expert readers to familiarize themselves with the general mechanisms that make it possible to transfer data from host to host. These mechanisms will turn out to be very relevant for understanding problems related with measurement infrastructures and other communication processes taking place in the Internet. Our exploration of the Internet's workings will be necessarily non-technical and, needless to say, the expert reader can freely skip this chapter and use it later on for convenient reference.
Physical description
In providing a general picture of the Internet, the starting point is the concept of a computer network. A network is any set of computers – usually referred to as hosts – connected in such a way that each one of them can inter-operate with all the others.
This paper presents a novel approach, which is based on integrated (automatic/interactive) knowledge acquisition, to rapidly develop knowledge-based systems. Linguistic rules compatible with heuristic expert knowledge are used to construct the knowledge base. A fuzzy inference mechanism is used to query the knowledge base for problem solving. Compared with the traditional interview-based knowledge acquisition, our approach is more flexible and requires a shorter development cycle. The traditional approach requires several rounds of interviews (both structured and unstructured). However, our method involves an optional initial interview, followed by data collection, automatic rule generation, and an optional final interview/rule verification process. The effectiveness of our approach is demonstrated through a benchmark case study and a real-life manufacturing application.
We saw in Chapter 1 that the purpose of channel coding is to introduce redundancy to information messages so that errors that occur in the transmission can be detected or even corrected. In this chapter, we formalize and discuss the notions of error-detection and error-correction. We also introduce some well known decoding rules, i.e., methods that retrieve the original message sent by detecting and correcting the errors that have occurred in the transmission.
Communication channels
We begin with some basic definitions.
Definition 2.1.1 Let A = {a1, a2, …, aq} be a set of size q, which we refer to as a code alphabet and whose elements are called code symbols.
(i) A q-ary word of length n over A is a sequence w = w1w2 … wn with each wi ∈ A for all i. Equivalently, w may also be regarded as the vector (w1, …, wn).
(ii) A q-ary block code of length n over A is a nonempty set C of q-ary words having the same length n.
(iii) An element of C is called a codeword in C.
(iv) The number of codewords in C, denoted by ∣C∣, is called the size of C.
(v) The (information) rate of a code C of length n is defined to be (logq ∣C∣)/n.
(vi) A code of length n and size M is called an (n, M)-code.
The Internet is composed by thousands of different elements – both at the hardware and software level – which are naturally susceptible to errors, malfunctioning, or other kind or failures, such as power outages, hardware problems, or software errors (Paxson, 1997; Labovitz, Ahuja, and Jahanian, 1999). Needless to say, the Internet is also subject to malicious attacks. The most common of those are the denial-of-service attacks, that encompass a broad set of attacks aimed at a diversity of Internet services, such as the consumption of limited resources or the physical destruction of network components (C.E.R. Team, 2001). Given so many open chances for errors and failures, it might sometimes be surprising that the Internet functions at all.
The design of a computer network resilient to local failures (either random malfunctions or intentional attacks) was indeed one of the main motivations for the original study of distributed networks by Paul Baran (1964). Considering the worst possible scenario of an enemy attack directed towards the nodes of a nationwide computer network, Baran analyzed the “survivability” (defined as the average fraction of surviving nodes capable of communication with any other surviving node) of the several network designs available at that time. His conclusion was that the optimal network, from the survivability point of view, was a mesh-like graph with a sufficient amount of redundancy in the paths between vertices. Even in the case of a severe enemy strike, depleting a large number of components, such network topology, would ensure the connectivity among the surviving computers, diverting communications along the ensemble of alternative paths.
The design of sheet metal components is perhaps one of the more challenging concurrent activities for design and manufacturing engineers. To aid this design process, a method is developed to encapsulate the constraints of sheet metal that make designing such components a tedious and iterative procedure. This project involves the implementation and testing of a geometric representation scheme for building feasible sheet metal components through the use of 17 grammar rules that capture manufacturing operations like cutting and bending. The implemented system has benefits both as a user interaction tool and as the basis for a computational design synthesis approach for designing sheet metal components. An example of a constructed sheet metal component is shown along with the method for invoking the sheet metal grammar to create this component.
In previous chapters we have presented an X-ray picture of the Internet's topological skeleton and the consequences that the revealed structure has on several properties of this network. There is, however, another dimension to add to the Internet picture that refers to the quantitative characterization of the actual flow of data and transmission capacity of the various elements forming the Internet. Physical links have a large heterogeneity in their data transmission capacity. Also, the traffic load is highly variable on different connections and at different times; that is, a full characterization of the network cannot prescind from the knowledge of the interplay between the topological structure, the detailed physical properties of each element, and the traffic generated by users.
The measurement and modeling of link traffic and performance in LANs or WANs has been a major area of activity over the recent years. These studies pointed out the failure of the Poisson traffic model, providing empirical evidence for traffic self-similarity. The modeling of these properties finds a natural framework in the vast mathematical theory of self-similar stochastic processes, and intense research activity has been focused both on the understanding of the origin of the scale-free nature of traffic and its implications at the performance level. Measurements of link traffic imply the accumulation of very long time series of traffic loads and usually refer to a specific link or very small networks.
The preceding chapter covered the subject of general cyclic codes. The structure of cyclic codes was analyzed, and two simple decoding algorithms were introduced. In particular, we showed that a cyclic code is totally determined by its generator polynomial. However, in general it is difficult to obtain information on the minimum distance of a cyclic code from its generator polynomial, even though the former is completely determined by the latter. On the other hand, if we choose some special generator polynomials properly, then information on the minimum distance can be gained, and also simpler decoding algorithms could apply. In this chapter, by carefully choosing the generator polynomials, we obtain several important classes of cyclic codes, such as BCH codes, Reed–Solomon codes and quadratic-residue codes. In addition to their structures, we also discuss a decoding algorithm for BCH codes.
BCH codes
The class of Bose, Chaudhuri and Hocquenghem (BCH) codes is, in fact, a generalization of the Hamming codes for multiple-error correction (recall that Hamming codes correct only one error). Binary BCH codes were first discovered by A. Hocquenghem [8] in 1959 and independently by R. C. Bose and D. K. Ray-Chaudhuri [1] in 1960. Generalizations of the binary BCH codes to q-ary codes were obtained by D. Gorenstein and N. Zierler [5] in 1961.
Definitions
We defined the least common multiple lcm(f1(x), f2(x)) of two nonzero polynomials f1(x), f2(x) ∈ Fq[x] to be the monic polynomial of the lowest degree which is a multiple of both f1(x) and f2(x) (see Chapter 3).