Geoinformatics 2 Terms

Lakukan tugas rumah & ujian kamu dengan baik sekarang menggunakan Quizwiz!

What does the traversal of graphs mean?

(traversal = to visit each vertex of a graph) to perform an operation on these vertices or to collect info of the graph from vertices with certain properties

A flow f of a network N is an assignment of values f(e) to each edge e that satisfies the following conditions:

- the flow f(e) of each edge e is nonnegative and less than or equal to its capacity c(e) (capacity rule) - the total amount of flow going out of each vertex v must be equal to the total amount of flow coming into vertex v (conservation rule)

The choice of data structure to describe a graph can be dependent on what?

- what kind of (adjacency, incidence) info the application needs - how many edges are commonly presented in the graph - if additional information needs to be stored within the vertices or the edges - particular algorithm that run on the graph

What is the capacity rule?

0 ≤ f(e) ≤ c(e)

What is a spanning tree?

A subgraph of this graph with the same set of vertices

Comparison between the Algorithm of Kruskal and the Algorithm of Prim?

Algorithm of Kruskal looks globally in each step for the shortest edges and explicitly checks whether its addition leads to a circle (runtime depends on the sorted edge (priority queue)) Algorithm of Prim only considers the edges that extend from vertices of the previously constructed graph to the complementary set (runtime characterized by the number of vertices)

What is FIFO?

First in First Out (similar to a line at the store - whoever gets in the line first, will also get out of the line first)

What is a maximum flow (for flow network N)

a flow with maximum value over all flows for N (most efficient use of network N)

Conditions for connected graphs:

a graph is connected if there exist a path from any vertex to any other vertex of the graph. Otherwise the graph is disconnected

Conditions for planar graphs:

a graph is planar if it can be drawn on the (Euclidean) plane without any crossing

What is a weighted graph?

a graph that associates a "cost value" (weight) with every edge in the graph: c: Eà S, where S is an user-defined value set In most cases, S is the set of positive rational or integer numbers the weight of a path is the sum of the weights of the edges that below to the path

What is a minimum spanning forest?

a minimum spanning forest is the union of a minimum spanning trees of its connected components. Which means we can calculate the minimum spanning tree for every component to get the minimum spanning forest of a disconnected graph

What is a path in a graph?

a path p in a graph G = (V,E) is a sequence p = w1,w2,...,wk of vertices with (wi, wi+1) ∈ E for 1 ≤ i ≤ k wi = start vertex wk = end vertex e.g. path from wi=0 to wk=8 p = 0,2,3,1,4,6,8

What is a cycle in a graph?

a path p where the start vertex wi and the end vertex wk are the same e.g. C = 0,1,3,5,4,0

What is an Eulerian path?

a path that uses each edge exactly once (graph is called traversable or semi-eulerian)

What is a Hamiltonian path?

a path that uses each vertex exactly once (graph is called traceable)

Existence of an Eulerian path or cycle

a planar graph contains an Eulerian path if it is connected and, with the exception of the start and end vertex, the degree of all vertices is even a planar graph contains an Eulerian cycle if it is connected and the degree of all vertices is even

What are some queue operations?

enqueue: adds an element to the end of the queue dequeue: removes and returns the element at the beginning of the queue isempty: returns true if the queue contains no elements, and false otherwise contains: returns true if the queue contains the element, and false otherwise

All data structures have their advantages and disadvantages, most important is the...

correctness of the graph itself and the easiness to effectively implement the algorithms

What are the two basic strategies during the mouse/cheese traversal?

depth first search breadth first search

What is topological modeling?

describes the spatial relations between geographical features

Time complexity

everything that is higher than linear complexity O(n), should be avoided because the time increases quadratically

What is the shortest path problem?

finding a path between two given vertices, the start vertex and the end vertex, with shortest length

What is Maximum Bipartite Matching?

for a bipartite graph 𝐺𝑛,𝑚 (𝑚 ≥ 𝑛), find a matching M with the greatest number of edges (over all matchings) - matching M is a vertex disjoint set

What is the Minimum Cut Problem?

for a given flow network N, find a cut along a set of edges with smallest total capacity that disconnects the source s from the sink t

What is the Maximum Flow Problem?

given a connected weighted directed graph G = (V, E, c, s, t) (also called a flow network N), where each edge e ∈ E has nonnegative capacity c(e), find a way of transporting the maximum amount of some material from a source vertex s to a sink vertex t

What is the residual capacity?

given an edge e of G directed from vertex u to vertex v, the residual capacity Δ𝑓(𝑢, 𝑣) from 𝑢 to 𝑣 (with respect to the flow 𝑓) is: Δ𝑓 (𝑢, 𝑣) = 𝑐(𝑒) − 𝑓(𝑒) and the residual capacity from 𝑣 to 𝑢 is: Δ𝑓 (𝑣, 𝑢) = 𝑓(𝑒)

What are the applications of trees?

hierarchical file systems, derivations trees, search trees, sorting with trees, priority queue implemented as a heap, etc.

What is the Ford-Fulkerson algorithm?

incrementally increases the value of a flow f until it cannot be increased anymore - initially, the flow f(e) of each edge is 0 - in each iteration, an augmentation path 𝜋 is determined and an amount of flow equal to the residual capacity of 𝜋 is pushed along 𝜋 - the algorithm terminates when the current flow f cannot be increased anymore ⇔ no augmenting path is found anymore

What is the value | f | of a flow f (of a network N) equal to?

it is equal to the total amount of flow coming out from the source s (and going into sink t)

Disjoint-set ADT: tree-based implantation

the tree is cycle-free graph the canonical element is the root element of the tree (at the top)

What is the importance of topology?

1. consistency checks (overhanging lines, dangling lines, etc) 2. redundant free coordinates (coordinates stored exactly once) 3. topological checks (shortest path, min spanning trees)

Abstract data type defines 3 operations:

1. makeSet(S) --> initializes the data structure with (elements of) set S 2. find(x) --> returns the canonical element of the set in which element x is found 3. union (r,s) --> unite the two sets r and s and appoint the canonical element of r as the new canonical element of the result set

What is the dog walking problem?

N dogs and m kids (m≥n) + info, if a kid would take a dog for a walk (we have info on who wants to go on a walk with which dogs) assign vertex to each kid + dog. connect a kid to a dog by an edge if the kid would like to walk this dog model with bipartite graph (no edges between 2 kids and no edges between 2 dogs). Must take care of dogs which are the preferences of only 1 kid

What is a minimum spanning tree?

The spanning tree that minimizes the sum of the weights along its edges

Dynamic Methods vs. Static Methods

With dynamic methods, the algorithm used to find the shortest path is changed

What is network modeling?

a collection of interconnecting lines along which there is a flow of data, objects, or materials

What is a Eulerian cycle?

a cycle that uses each edge exactly once (graph is called Eulerian or unicursal)

What is a Hamiltonian cycle?

a cycle that uses each vertex exactly once (graph is called Hamiltonian)

What is the Chinese postman problem?

a postman is supposed to deliver mail following the shortest path for a road network so that every road is visited and the mail is delivered to each house on that road (crossings as vertices and roads as edges that connect these vertices) the problem can be solved by an Eulerian path through the graph - exactly the same walk that we have found over the königsberg bridges - on occasion, additional edges have to be added that have minimal costs optimal solution: the postman must not only follow each edge, but also find a path where the sum of all lengths is the min. In the end, it would be the additional edges that are introduced and the costs that need to be minimized

What is a path?

a sequence of edges, where the end vertex of one edge is equal to the start vertex of the next edge in the sequence and the set of edges in the sequence must be a subset of the edges in the original graph

What did the invention of networks result in?

a whole new type of geometry called Topology. Topology is now used in many ways, including for planning and mapping railway networks.

What is the disjoint set (or union find)?

an abstract data type that is suitable for managing connected components used to keep track of elements that are divided into disjoint subsets

What is the queue?

an abstract data type where the first element added to the queue will be the first one to get removed and returned

What is a recursive algorithm?

an algorithm that solves a problem by calling itself with a smaller (simpler) version of the same problem (input data) at some point the problem is so simple that it can be solved directly -> termination criteria of the recursion

What is an iterative algorithm?

an algorithm that solves a problem step-wise by repeating a process (sequence of instructions)

What is a forest (acyclic graph)?

an undirected graph without a cycle connected components of a forest are the trees --> a tree is a connected undirected graph that does not contain a cycle

What is the meaning of VxV?

any pairwise combination of vertices with any other vertex (including the same vertex). For the graph G, it is therefore a set of 81 vertex labels where no combination is repeated e.g. VxV = {(0,0), (0,1), (0,2),..., (0,8), (1,0), (1,2),...(1,8).... (8,0), (8,1),...,(8,8)

How can turning restrictions be modeled?

as an edge pair (e1, e2), where 𝜔(e1 ) = 𝛼(e2 ) 𝛼(e2 ) = start vertex of e 𝜔(e1 ) = end vertex of e

What is a weighted graph?

associates a "cost" value (weight) with every edge in the graph: c: E --> S where S is a user-defined value set the weight of a path is the sum of the weights of the edges that belong to the paths

Traversal of graphs - mouse/cheese example:

mouse wants to find the cheese in the maze. the maze can be modeled as a graph, where each empty cell that is without a wall that is depicted as a black cell, is represented as a vertex. Two vertices are connected by an edge if the cells are next to each other. By having the mouse traverse the graph, it will eventually find the cheese

What is the Algorithm of Kruskal?

one of two famous algorithms for determining the minimum spanning tree of a given graph

How to get the shortest path from start vertex s to target vertex t?

perform a breadth first search traversal with start vertex s and store the parent information (as directed edges) à results in a spanning tree follow the parent information (edges) from vertex t to vertex s, and store the traversed edges invert the found sequence edge to get the final shortest path

What is an example of a recursive function?

the calculation of the factorial of a natural number e.g factorial of the number 0 is 1

What is the degree of a vertex in a graph?

the degree d(v) of a vertex v ∈ V is the number of edges that are incident to the vertex

What is the breadth first search (informal)

the goal of this traversal is the same as the first search - we want to visit all vertices of the graph in an ordered way algorithm starts by enqueueing the start vertex x into the queue 1. dequeue the next vertex v of queue a. mark current vertex as been visited b. look up all neighbor vertices n of v that have not been marked as visited are not in the queue i. store v as the parent of n ii. enqueue n 2. repeat from step 1

What is the priority queue?

the management of edges and the determination of the edge with the lowest weight can be realized with the help of the abstract data type priority queue - items are stored with a key - key value determines the priority - items are retrieved in the order of decreasing priority

What is the distance?

the number of edges that connect two vertices in a shortest path e.g. the shortest path from vertex 0 to vertex 5 has a distance of 3

What is the spanning tree of the graph?

the path that the breadth first search and depth first search generate while traversing a graph a spanning tree S of a connected graph G is a connected, cycle-free subgraph S=(V,E') that contains all vertices of G minimal set of edges E' that connects all vertices

What is the algorithm of Prim?

the second famous algorithm for finding the minimum spanning tree is Prim! works more like a graph traversal algorithm, building with any vertex, the algorithm of Prim gradually builds the minimum spanning tree (MST) by adding adjacent vertices

What is the Hamiltonian cycle problem a special case of?

the traveling salesman problem (TSP) from a list of cities and their pairwise distances, find a shortest possible tour that visits each exactly once In the Hamiltonian cycle problem, the distances are all the same

What is the Hamiltonian path problem or Hamiltonian cycle problem?

there is no efficient algorithm known that determines if a graph G contains a Hamiltonian path of cycle --> try out all possibilities until a Hamiltonian path (or cycle) is found

Algorithm of Dijkstra - Informal

this is the most famous algorithm to solve the single-pair or single-source shortest path problem works iteratively like breadth-first search, but has two distinct differences: 1. How it organizes the already discovered neighbor vertices 2. How to choose the next vertex to follow

Why are backward edges needed?

to correct errors made while finding the maximum flow (without backward edges, further flow is blocked!)

map coloring problem: How can a map be colored so that neighboring regions do not get the same color?

two regions are set to be neighboring if they share at least one point of their boundary line the problems of course very easy to solve if you're allowed to use any number of colors, it is therefore a matter of using as few colors as possible

What is the depth first search algorithm?

we denote the currently vertex as v (start vertex that we begin with), mark current vertex as visited to ensure we don't return to this vertex one after the other, we look at the next neighbor vertex n of v, which was not visited if no neighbors exist anymore, then the recursion ends and we return to the previous step in the recursion, which is the previous vertex that we came from. The current sub problem of the depth first search from vertex v is now completed and we continue with the neighbor n of this vertex if all neighbors of the start vertex have been visited, then the recursion ends and the problem is solved

What is rubber sheet geometry?

where we draw the world or spatial situation on a balloon or rubber sheet when we press or stretch the balloon, the geometries of the objects on the balloon changes, but topological properties are still the same (neighborhood of the countries remain)

What is the Königsberg bridge problem (seven bridges of Königsberg?

within Königsberg are two river islands that are connected to the banks with seven bridges. The problem was to devise a walk through the city that would cross each of those bridges once and only once. Euler proved that the walk was not possible to do. He proved this by inventing a kind of diagram called a network, that is made up of vertices (dots where lines meet) and arcs (lines). Euler proved that the walk was not possible to do. He proved this by inventing a kind of diagram called a network, that is made up of vertices (dots where lines meet) and arcs (lines). On Euler's network this meant tracing over each arc only once, visiting all the vertices. Euler proved it couldn't be done because he worked out that to have an odd vertex you would have to begin or end the trip at that vertex. (Think about it). Since there can only be one beginning and one end, there can only be two odd vertices if you're going to be able to trace over each arc only once. Since the bridge problem has 4 odd vertices, it just isn't possible to do!

What is the motivation for minimum spanning trees (e.g.)?

you are a power company that wants to supply all households with electricity at the lowest possible costs --> how can you connect a number of consumers (every house) at the lowest cost?


Set pelajaran terkait

EU Training Module 2 - Introduction to Humanitarian Action, The Union Humanitarian Aid Policy, and the EU Aid Volunteers Initiative

View Set

Learn Python the Hard Way Exercise 32-33: For loops, lists, and while loops.

View Set

Chapter 17: The Cardiovascular System

View Set

Ch 7- Business Strategy: Innovation and Entrepreneurship

View Set