You are on page 1of 3

Graphs book

Introduction How many times have you found yourself among strangers, for example on an airplane, only to discover that you have a connection with someone you meet, which seems improbable? I bet you can guess what happens next... someone says it's a small world, isn't it? A more accurate, if less eloquent response might be it's a highly interconnected world. Graphs are about connections. Connections are relationships between things. Objects and relationships among them are at the core of graph theory. Heaps of math can further elucidate aspects of these connections, but if you can just hold onto the notion that graphs are about connections, then you have mastered the essence of graph theory. And you should be encouraged by the fact that so many aspects of graph theory are both conceptually accessible, and mathematically (and thus computationally) explorable. This text is intentionally heavy on the former and light on the latter. If you can download open source tools to generate and explore a graph, then the key to unlocking graph theory is to understand graphs and what they are good for. In fact, you'll get more mileage out of a good conceptual overview of graph theory than you would by trying to understand conceptually how your car works. After all, if you have an idea of what goes on inside an internal combustion engine, you still can't fix it if it stops working (and sometimes your mechanic can't either). But you can use graph theory to explore some aspect of a complex system, explain how the graph works (what are the objects and what are the relationships between them). Maybe you can peven learn to use open source software to generate and analyze that graph, or at least be able to explain what you need to someone who can do it. A programmer shouldn't be too hard to find, because after all, it's a small world! Graphs are both concrete and abstract. They are concrete in that they typically represent an aspect of the real world, but abstract in the sense that whatever it is they are used to represent is typically more complex than the graph itself. After all, a graph of the real world would be the real world. That might be okay for something small, but if you are trying to understand how a bacteria works or how a virus spread from a jungle in Malaysia to suburban Atlanta, you would be quickly overwhelmed if you had to try and comprehend something as complex as that. But, you have a fighting chance if you can think about how Carl hiked through the rainforest in Borneo and was bitten by a mosquito that carried some pathogen unknown to science, fell ill and was bitten by other mosquitoes who bit other people, one of whom boarded a plan for the United States, and ended up in the hospital a few days after he arrived in Georgia. The problem is reduced to Carl is connected to someone who is connected to the patient in Georgia, via a pathogen that is transmitted by mosquitoes. If we can be

certain of that relationship, then we can focus on it to the exclusion of something that is spread through touch or the air or various other potential avenues of transmission, or the fact that Carl had chicken curry for dinner two nights, or stayed in a particular hotel. Carl is a node in our graph, mosquitoes are edges that connect him to other nodes (people). As you might guess from this example, epidemiologists love graphs. Actually, many disciplines love graphs. Sociologists study communities and communication with graphs. Chemists can study graph representations of compounds before they ever attempt to produce them in the Lab. Physicists can study phase transitions and myriad other aspects of matter and energy. Astronomers can study galactic clusters with graphs. Environmental scientists can represent food chains with graphs. Cell biologists can model metabolic processes in a cell and even get some sense for how such a process evolved over time. Economists can study purchasing or investing patterns among consumers. City planners can study traffic patterns to figure out where mass transit might relieve congested roadways, and when that transit system is in place, the subway map daily commuters use is itself a graph. In a connected world, being able to analyze connections is a powerful tool. Part III of this book is devoted to the use of graphs in various fields, and we use these reviews to illustrate various important concepts in graph theory, often building on concepts introduced in earlier chapters. But ultimately our assumption is that you are particularly interested in the applications of graph theory to information science problems. The semantic web is a set of technologies which explicitly represent information as graphs. This sort of turns the tables on graph theory. The semantic web leverages graph theory as an information representation mechanism. You can make statements about any piece of information using semantic graphs. Much of the effort in the semantic web is invested in generating descriptions of a knowledge domain. These descriptions are called ontologies. Elements of an ontology become edges in semantic graphs. Nodes are identifiers or values which characterize the things identified, in various ways. For example, a book identifier node might be an ISBN, an edge could be has author and the author's name is another node. Another edge could be has title and another node would be the book's title. You might already notice something different about this graph there are multiple relationships expressed in this one graph. That's typical of semantic graphs, and it is one of the things that make the semantic web so powerful. This will all become much clearer when we explore the semantic web in part II. And for the reader who wants to get his or her hands dirty, we look at an array of tools for exploring graphs. At the lower end of the complexity scale are graph visualization tools, which generate visual representations of graphs which can be manipulated by a user. These are typically prepackaged applications that you can run on your desktop or access over the Web. Beyond these are graph analytic toolkits. These are typically not stand-alone applications, but libraries of software, toolkits if you will, which can be used to write programs that can process and analyze graphs. How do I get from node A to node F? Well, there's a paths library for that. How do I figure out which node has the most connections? There's a library for that too. Part IV introduces all these tools and more. So far we've promised a lot and shown you little. And indeed, a picture, or a mathematical formula, can be worth a thousand words. You'll see a lot of graphs in this book, and a few formula. You probably already have some idea what a graph looks like, based on what we've told you so far, or maybe you've encountered a graph, like a subway map. But to make sure we're on the same page (pun intended), here's a perfectly serviceable graph, of nothing in particular, and the formula that mathematicians use when they begin a conversation about graphs:

G= (V,E) All this says is, a graph G is a set of vertices (nodes) and edges which connect them. Now we can begin.

You might also like