CSCE 235
Light
Bulb 9
April 16, 2003
1. In the 1986 film National Lampoon’s European Vacation starring Chevy Chase, the Griswald family made a trip to Europe. Clark Griswald insisted on visiting famous destinations in Britain, France, Germany and Italy, ignoring the “quality” of the trips between cities. If we were to model his trip in either an Euler or a Hamilton circuit, which one would be more appropriate? It would be Hamilton. Why? Because in an Euler circuit, we paid more attention to the edges between vertices, and in a Hamilton circuit, we paid more attention to the vertices. If edges are the journeys (or trips) and vertices are the destinations, then Clark Griswald’s comedic travel-planning approach would be Hamiltonian.
2. In a triathlon, an athlete is required to swim, bike, and run. If a particular race only involves two places—a starting point and a destination, and if we model the race as a graph, what can we say about it? Since the race involves only two places, we have a graph of two vertices. The race also has three ways of getting from one place to another, so we have three edges. See the following graph. Does this graph have an Euler circuit? Does this have a Hamilton circuit?

It has a Hamilton circuit: any of the edges will connect the two vertices.
It does not have an Euler circuit because you cannot traverse all edges (only once) from a starting point and back to that starting point.
3. A very famous graph problem is the Traveling Salesman problem. A salesman has to make stops at several houses and the problem is to find out the optimal route so that the salesman only visits each house once and repeats the same routes as little as possible. This problem is evident in many real-life problems in design, engineering, planning, etc.
4. If you find a closed-path in your program, what does that mean? For example, your program performs the following tasks: (1) setup, (2) calibrate your sensors, (3) search and detect, (4) track the detected target, and (5) destroy the target. And after destroying the target, the program goes back to task (1). If you represent the tasks as vertices (you may also represent them as edges as well!), then you have a closed-path in this program. So, what does a closed-path tell you? It means that you need to pay extra attention to what the program does after task (5) above to bring the state of the program back to task (1). It also means that this may cause an infinite loop in your programming logic.
5. Give examples for
(a) two graphs that have the same number of vertices but are not isomorphic

G1 G2
(b) two graphs that have the same number of edges but are not isomorphic

G1 G2
(c) two graphs that have the same degree sequence but are not isomorphic

G1 G2
6. Graphs are very useful. The subgraphs, complete graphs, bipartite graphs, and isomorphic graphs are concepts that we can use to exploit the usefulness of graphs to real-life problems. How to use graphs? Well, the idea is to model your particular problem at hand (e.g., a circuit design problem, a mathematical proof, a business supply and demand problem for a particular product, etc.) as a graph. Then you can determine whether this graph is a subgraph of another, previously-solved problem; whether this graph is a bipartite; whether this graph is a complete graph; whether this graph is isomorphic to another, previously-solved problem. This way, you basically strip the problem down to its fundamental structure. You then can use various graph-theoretic mechanisms/concepts to predict deterministically the behavior of your problem and the solution. And that is elegant.
Example: Given a graph, tell me whether it contains an Euler circuit. Without a graph theory, you would have to go through visually, manually, try out all possible ways of traversing all edges only once, going from one vertex and back to the same vertex. This is very time consuming and not do-able when the number of vertices and edges is large. However, according to the Euler’s theorem, for a graph to contain an Euler circuit, the degree of any vertex must be even. So now, all you have to do is to go through each vertex and compute its degree. If it is even, you move on to the next vertex; if it is odd, then you stop. And that solves the problem elegantly.