0% found this document useful (0 votes)
27 views15 pages

BAB 9 Matroid

Uploaded by

kopisusu8ip
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views15 pages

BAB 9 Matroid

Uploaded by

kopisusu8ip
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 15

BAB 9

Matroid dan Pengoptimuman


9.1 Matroid Theory
 Introduction
Matroid is a general structure that is independent. Current practical
applications in designAlgebra. There are many ways to define a matroid, and
each is aconcept of independence. This page will focus on detailselementary
matroids, level functions, independent sets andloops.In this article we look
at how graphs and matrices workcan be seen as a matroid. Now we change
the designalgebra and vice versa, using matroid expression for convenience
Discussion. More evidence about the nature of the Matroid descriptionhas
been omitted from this article, but you can find the full proof at:Oxley [1],
Whitney [2] and Wilson [3].The four definitions of matroid introduced in
this article are equivalentfacing. However, evidence of this has also been
publishedpages. A complete reference can be found in Whitney [2].The
following sections provide a brief introduction to the basics.graphs and
linear algebra.
9.1.1 Matroid Definisi
Misal S adalah himpunan berhingga dan Ĩ adalah koleksi himpunan bagian
dari S yang memenuhi

 CONTOH
Elemen-elemen dari S disebut elemen dari matroid M. Anggota-anggota disebut himpunan
bebas dari M. Subset-subset dari S yang bukan anggota Ĩ disebut himpunan tak bebas dari M .
Koleksi himpunan tak bebas dilambangkan dengan D . Himpunan bebas yang maksimal adalah
himpunan bebas yang tidak termuat dalam himpunan bebas lainnya. Basis dari matroid M adalah
sebuah himpunan bebas yang maksimal dari . Koleksi basis dari M dinotasikan sebagai B(M).
Sirkit dari M matroid adalah himpunan tak bebas yang minimal dari M . Koleksi sirkit dari
dilambangkan dengan C(M). Misal A adalah himpunan bagian dari S, rank dari A yang
dinotasikan p(A) adalah p(A) maksimum

Rank dari matroid yang dinotasikan sebagai p( M) adalah rank dari


himpunan . [10
 Aksioma Matroid
EXAMPLE MATROID MATRIKS
Recall that in our previous example of the matrix A, the column vectors are in R5. These
columns form a matroid. We will take the base of a matroid to be a maximal linearly independent
set that spans the column space (i.e., a basis for the column space). Consider two bases of our
matroid

Now if we remove the second vector in B1, then we can replace it with the second vector in B2
to get a new base, B3,

For this case, B(ii) is satisfied. We would find the same results if we continued this process with
all possible bases of A. It is well known from Linear Algebra that no basis of A properly
contains another basis.
EXAMPLE MATROID GRAF.
We will take a base of our matroid to be a spanning tree of G. The following is a
definition of a spanning tree. Let G be a graph with n vertices. A spanning tree is a connected
subgraph that uses all vertices of G that has n − 1 edges.[4] If we refer back to Figure 1, then we
can see that the bases of the graph, G, are in Table 2.2.

By observing the set of bases listed above, we can see that B(i) is satisfied, because no base
properly contains another base. We can now demonstrate B(ii) by using this property with two
bases. If we choose, B1 = {a, b, c, d} and B2 = {c, g, a, e}, then we can see the spanning trees of
B1 and B2 in Figures 2 and 3.
Notice that each spanning tree has 5 vertices and 4 edges. We can demonstrate B(ii) by removing
an element {a} from B1, and then there exists an element in B2 such that a new base is created,
B3 = (B1 \ {a}) ∪ {e}). Figure 4 shows the new base, B3.

A similar computation works for any choice of bases.


Exercise 9.11 in Robin Wilson’s book, Introduction to Graph Theory,explains the exchange
axiom for spanning trees.Let T1 and T2 be spanning trees of a connected graph G. [4]
(i) If e is any edge of T1, show that there exists an edge f of T2 such that the graph (T1 − {e}) ∪
{f }(obtained from T1 on replacing e by f ) is also a spanning tree.
(ii) Deduce that T1 can be ’transformed’ into T2 by re-placing the edges of T1 one at a time by
edges of T2 in such a way that a spanning tree is obtained at each stage.
Because we take the spanning trees of a graph to be the bases of a matroid, we can conclude that
the bases of a matroid have the same number of elements, and by the definition of a spanning
tree has n – 1 elements (if there are n vertices).

9.2 PENGOPTIMUMAN DISKRIT


 The Greedy Algorithm
this section we will discuss the generalization of the Kruskal algorithm.so-called
Greedy algorithm. This algorithm can be used for many conversionsfor 'autonomous
systems' (e.g. algorithm-related)Kruskal, a system for traversing image forests). But
strategy Theis used in a very forward-thinking way: we always choose the item that
looksgood For now it's(so we choose something from all the things allowedexcess
weight) and add this to the result we created (thisnames explain!). In general this strategy
doesn't work, but for some it doesstructural levels called matroids (these play an
important role)Combination Optimizer) definitely leads to better results. Actually,This
class of structures is characterized by a greedy algorithmworks for them, but there are
other possible explanations for matroids. We will do I see other qualities of matroids and
I see the concept of dualitymatroids
.Next we will consider the Greedy Algorithm as a comparison
method.Multiplication and evaluation of independent non-matroid systems We want to
remove the limit on the ratio between themanswers given by Greedy Algorithm and best
solution. Also wesees the problem of reducing the autonomy of the system. FinallyIn the
last section we discuss other generalizations and properties of matroidsrelationship with
greedy algorithm.
Applications of Greedy Algorithm
There are many applications of the greedy method in DAA. Some important greedy algorithm
applications are:

 Assigning tasks to resources to minimize waiting time or maximize efficiency.

 Selecting the most valuable items to fit into a knapsack with limited capacity.

 Dividing an image into regions with similar characteristics.

 Reducing the size of data by removing redundant information.

 The Greedy algorithm and matroid


First, recall the Algorithm of Kruskal for determining a maximal spanning
tree or forest, respectively. Let G be a simple graph and w : E -t ffi. a weight
function on G. We order the edges according to decreasing weight and treat
them consecutively; we insert an edge into the set T if it does not form a cycle
with the edges which are already in T. At the end of the algorithm, T is a
maximal spanning forest (if G is connected, a maximal spanning tree). We
can describe the technique used by the Algorithm of Kruskal as follows: Let
S be the set of all subsets of E which are forests. Then the edge e examined
at the moment is added to T if and only if T U {e} is also in S. This strategy
- namely choosing the edge which is maximal of all edges satisfying certain

conditions - can of course be applied to other systems (E, S), too. We give some definitions. An
independence system is a pair (E, S), where E is a set and S is a subset of the power set of E
closed under inclusion: from A ∈ S and B ⊂ A it follows that B ∈ S. The elements of S are called
independent sets. The optimization problem associated with (E, S) is the following: for a given
weight function w : E -t ~ , we want to find an independent set A whose weight

is maximal. (The restriction to non-negative weight functions makes sure that there is a maximal
independent set among the independent sets of maximal weight. We can drop this restriction if
we assume A to be a maximal independent set, see Theorem 5.5.1.)
Thus, determining a maximal spanning forest is the optimization problem associated with (E, S),
where E is the edge set of the graph G, and S is the set of all edge sets which are forests. We
generalize the Algorithm of Kruskal to work for an arbitrary independence system.
Algorithm 5.1.1. Let (E, S) be an independence system and w : E -t IR+
a weight function

3 Results for Graph Problems


In this section we present our results for FIXED and ADAPTIVE priority algorithms.The proofs
of lower bounds here and in Sect. 4 resemble derivation of integrality gaps for given LP
formulation, in that easy instances are used to establish bounds on the approximation ratio (see
[23] for examples). Our results are used to evaluate the power and weaknesses of the priority
algorithms framework and not to establish hardness of approximation results for the particular
problem in general.
3.1 Shortest Paths
FIXED priority algorithms are simpler and ADAPTIVE priority algorithms can simulate them.
We want to show that the two priority models ADAPTIVE and FIXED,are not equivalent in
power. We define the following graph optimization problem.
Definition 2 (S HORTEST PATH P ROBLEM ) Given a directed graph G = (V , G) and two
nodes s ∈ V and t ∈ V , find a directed tree of edges, rooted at s. The objective function is to
minimize the combined weight of the edges on the path from s to t.
We consider the S HORTEST PATH problem in the edge model. The edge model is
natural for graph problems where the solution is a path or a tree, because the solution labels the
edges, either in or out. Furthermore, the standard algorithm for this problem (Dijkstra’s) is a
priority algorithm, in the edge model. A minor point is that, if we
Algorithmica (2009) 54: 269–317 283
Fig. 1 Adversary selects
1 = {x, y, z, u, v, w}
consider the problem in the edge model, then we could define the problem for multi-
graph instances.
Algorithmica (2009) 54: 269–317 283
Fig. 1 Adversary selects
1 = {x, y, z, u, v, w}
consider the problem in the edge model, then we could define the problem for multi-
graph instances.
The data items are the edges in the graph, represented as a triple (u, v, w), where the edge
goes from u to v and has a weight w. The set of options is ∑ = {accept, reject}. A valid instance
of the problem is a graph, represented as a set of edges, in which there is at least one path from
node s to t. An alternative definition of the S HORTEST PATH problem would insist on the
edges selected to form a path, rather than a tree. However, most standard algorithms construct a
single source shortest paths tree, rather than a single path. In fact, not only is constructing a tree a
more general version of the problem; it is not difficult to show that no priority algorithm can
guarantee a path. (A brief justification why no priority algorithm can guarantee a path is given in
a paragraph, after the end of the proof of Theorem 4.)The well-known Dijkstra algorithm, which
belongs to the class of ADAPTIVE priority algorithms, solves this problem exactly.
Theorem 4 No FIXED priority algorithm can solve the S HORTEST PATH problem with any
constant approximation ratio ρ.
Proof We show an Adversary strategy for the FIXED priority game for any ρ. Let k ≥ 2ρ. Let T
be the set of directed graphs on four vertices s, t, a, b with edge weights either k or 1, so that t is
reachable from s. The Adversary selects the set 1 , as shown on Fig. 1. For example, u stands for
the edge from s to a, with weight k. Note that the parallel edges in the figure are just possible
data items; the instance graph will be guaranteed to be a simple graph. The next move is by the
Solver. She must assign distinct priorities to all edges, prior to making any decisions, and this
order cannot change. Thus one of the edges y and z must appear first in the order. Since the set of
data items is symmetrical, we assume, without loss of generality, that y appears before z in this
order. The Adversary then removes edges v and w, restricting the remaining set of data items to
2 = {x, y, z, u}. The Adversary’s strategy is to wait until the Solver considers edge y before
deleting any other items, and applies the following strategy after he observes Solver’s decision
on y:
1. If the Solver decides to reject y, then the Adversary removes z from the remaining
set of data items. The Adversary does not subsequently remove any other data
items. Thus, the instance will be I = {v, x, y}. The Adversary outputs a solution S
= {y, v}, while the Solver’s solution PS ⊆ {v, x} cannot contain any path from s
to t

Output: 0 4 12 19 21 11 9 8 14
Explanation: The distance from 0 to 1 = 4.
The minimum distance from 0 to 2 = 12. 0->1->2
The minimum distance from 0 to 3 = 19. 0->1->2->3
The minimum distance from 0 to 4 = 21. 0->7->6->5->4
The minimum distance from 0 to 5 = 11. 0->7->6->5
The minimum distance from 0 to 6 = 9. 0->7->6
The minimum distance from 0 to 7 = 8. 0->7
The minimum distance from 0 to 8 = 14. 0->1->2->8

Algorithm:

Algorithm :

 Create a set sptSet (shortest path tree set) that keeps track of vertices included in the
shortest path tree, i.e., whose minimum distance from the source is calculated and
finalized. Initially, this set is empty.

 Assign a distance value to all vertices in the input graph. Initialize all distance values as
INFINITE . Assign the distance value as 0 for the source vertex so that it is picked first.

 While sptSet doesn’t include all vertices

o Pick a vertex u that is not there in sptSet and has a minimum distance value.

o Include u to sptSet .
o Then update the distance value of all adjacent vertices of u .

 To update the distance values, iterate through all adjacent vertices.

 For every adjacent vertex v, if the sum of the distance value of u (from
source) and weight of edge u-v , is less than the distance value of v , then
update the distance value of v .

Note: We use a boolean array sptSet[] to represent the set of vertices included in SPT . If a
value sptSet[v] is true, then vertex v is included in SPT , otherwise not. Array dist[] is used to
store the shortest distance values of all vertices.

Step 1:

 The set sptSet is initially empty and distances assigned to vertices are {0, INF, INF, INF,
INF, INF, INF, INF} where INF indicates infinite.

 Now pick the vertex with a minimum distance value. The vertex 0 is picked, include it in
sptSet . So sptSet becomes {0}. After including 0 to sptSet , update distance values of its
adjacent vertices.

 Adjacent vertices of 0 are 1 and 7. The distance values of 1 and 7 are updated as 4 and 8.

The following subgraph shows vertices and their distance values, only the vertices with finite distance
values are shown. The vertices included in SPT are shown in green colour.
Step 2:

 Pick the vertex with minimum distance value and not already included in SPT (not in
sptSET ). The vertex 1 is picked and added to sptSet .

 So sptSet now becomes {0, 1}. Update the distance values of adjacent vertices of 1.

 The distance value of vertex 2 becomes 12 .

Step 3:

 Pick the vertex with minimum distance value and not already included in SPT (not in
sptSET ). Vertex 7 is picked. So sptSet now becomes {0, 1, 7}.

 Update the distance values of adjacent vertices of 7. The distance value of vertex 6 and 8
becomes finite ( 15 and 9 respectively).
Step 4:

 Pick the vertex with minimum distance value and not already included in SPT (not in
sptSET ). Vertex 6 is picked. So sptSet now becomes {0, 1, 7, 6} .

 Update the distance values of adjacent vertices of 6. The distance value of vertex 5 and 8
are updated.

We repeat the above steps until sptSet includes all vertices of the given graph. Finally, we get the
following S hortest Path Tree (SPT).
Matroid Greedy Theorem

The Matroid Greedy Theorem is a fundamental result in combinatorial optimization that provides
conditions under which a greedy algorithm yields an optimal solution. Matroids are
mathematical structures that generalize the notion of linear independence in vector spaces and
provide a unifying framework for various optimization problems.
Definitions

1. Matroid: A matroid M = (E, I) consists of a finite set E and a collection I of subsets of E


(called the independent sets) satisfying:

2. Weight Function A function w: E →R that assigns a real number (weight) to each element of
E.
3. Greedy Algorithm for Matroids: Given a matroid M = (E,I) and a weight function w, the
greedy algorithm constructs a maximal independent set by iteratively adding the element with
the highest weight that maintains independence.

Matroid Greedy Theorem


Statement

Proof Sketch

Examples

Example 1: Minimum Spanning Tree (MST)


- Problem: Find the minimum spanning tree of a weighted graph.
- Matroid: The graphic matroid, where E is the set of edges and I is the set of acyclic edge sets
(forests).
- Algorithm: Kruskal's or Prim's algorithm, both of which are greedy algorithms that build the
MST by selecting the smallest weight edge that does not form a cycle.

Example 2: Maximum Weight Independent Set in a Forest


- Problem: Find a maximum weight independent set in a forest.
- Matroid: The independent set matroid, where E is the set of vertices and I is the collection of
independent sets in the graph (no two vertices are adjacent).
- Algorithm: A greedy algorithm that iteratively adds the heaviest vertex that does not share an
edge with any vertex in the current independent set.
.
REFERENCE
[1] Oxley, James G. Matroid theory. Vol. 3. Oxford University Press, USA, 2006.
[2] Hassler Whitney. ”On The Abstract Properties of Linear Independence”. Amer-

ican Journal of Mathematics. Vol 57. John Hopkins University Press, 1935.

[3] Robin Wilson. Introduction to Graph Theory. Harlow:Pearson Education Lim-

ited, 1996.

Alvinaria, Alvinaria. "Dual pada Matroid." MATHunesa, vol. 2, no. 3, Aug. 2013.

Jungnickel, Dieter, and Dieter Jungnickel. "The greedy algorithm." Graphs, networks and
algorithms (1999): 129-153.

Vazirani, V.V.: Approximation Algorithms. Springer, Berlin (2001)


"Introduction to Algorithms" by Thomas H. Cormen et al.
"Matroid Theory" by D.J.A. Welsh

You might also like