• No results found

The application of graph theory within microeconomics

N/A
N/A
Protected

Academic year: 2021

Share "The application of graph theory within microeconomics"

Copied!
25
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

0

The Application of Graph Theory Within Microeconomics

Name: Artur Grygierczyk Bachelor Thesis Seminar

Student number: 10560440 Academic year 2017-2018

Thesis Supervisor: Emel Öztürk Semester 2, periods 2 and 3 Submitted: June 25th 2018 Amsterdam School of Economics

(2)

1 This document is written by Artur Grygierczyk who declares to take full responsibility for the contents of this document. I declare that the text and the work presented in this document is original and that no sources other than those mentioned in the text and its references have been used in creating it. The faculty of Economics and Business is responsible solely for the supervision of completion of the work, not for the contents.

(3)

2

Introduction

Graph theory is the study of graphs which are a set of vertices that have or do not have a connection between each other. Vertices are nodes that can represent a broad range of subjects like cities (connection could be roads), network of people (connections could be trade), countries (connection could be borders), choice, etc. (Schrijver, 2018). A main focus of economics is the interaction between economic agents and firms which is part of network economics. Looking at economics from a distance, it can be seen as a huge network of economic agents and firms that are connected between each other. With the use of graph theory, this economic network can be represented in a graph. By doing this, certain microeconomic problems of a more complex order can be optimized or minimized with graph theoretical theories and algorithms. Furthermore, complex microeconomic models or games can be simplified with the use of graph theory. Graph theory is also helpful for finding patterns and properties within these networks and interactions. Graph theory is already applied to some extent within the science of economics. For example a ‘tree’ from game theory is a ‘directed graph’ that consists of a set of vertices that are connected to each other. The macroeconomic model of circulation is also a ‘weighted directed graph’. Kusunoki and Tanino (2017) have for example researched the possibilities of minimizing firms costs with the application of graph theory. However, the application of intentional graph theory in economics is yet very minor in contrast to the potentials of graph theory, since graph theory is a fairly young branch of mathematics. Its impact and progression in science has grown when computers started to gain the computational powers to calculate more complex problems. Cartwright (1999) argues that the science of economics lacks the abstract tools to theorize economics more profoundly. It could thus suspect that this fairly young branch of mathematics isn’t fully utilized to its potential within the contemporary science of economics. Applying more concepts of graph theory could help policy-makers, firms, economic agents and individuals to allocate scarce resources more efficiently when more complex networks are involved. An example would be for policy-makers to match 𝑋 different kind of possible policies to 𝑌 different markets or social institutions. The Hungarian method finds the best matching between these set of policies and a set of economic/social issues that would theoretically maximize the sum of welfares. The same method can also be used to optimize the matching between factory facilities and employees in order to maximize profits or the utility of the employees. It could also be used for the kidney market of donors and recipients in order to find the maximum sum of successful transplant with a highest percentage of

(4)

3 functioning kidneys. Economics used to tend to assume homogenous preferences between economic agents with full rationality, but in the recent decades the science of economics has shifted its paradigm into an economy with bounded rational agents with heterogeneous preferences (Hommes, 2012). However this shift in paradigm did complicate economic modelling framework because of the distinction of the agent’s beliefs (Hommes, 2012). Graph theory would have a potency to prove its use and optimize actions between heterogeneous economic agents and give a broader overview of the interaction between these diverse agents. Specific graph properties can show the limitation of these networks or show patterns that could help policies to allocate resources more efficiently. Many more interesting graph theoretical concepts can be applied within this context. Researching the viability and extent of graph theory in the science of economics would susceptibly give an additional view and more efficient solution on some contemporary economic and social issues. This paper applies tools of graph theory to some microeconomic issues. I will first elaborate the theoretical framework of some graph theoretical concepts and some microeconomic and social issues. Then I demonstrate the application of graph theory to these microeconomic and social issues and use optimizing algorithms to solve them. Finally, I list some limitations of applying graph theory to economic and social problems. In the conclusion I address some potential for further research and extensions.

Theoretical Framework

Graph theory is the study of graphs, where graphs can represent anything that has a relationship with each other. Some examples are cities and roads, humans and relationships, transmitters and cables, etc. A graph 𝐺 is defined as a pair of (𝑉, 𝐸). In the graph 𝐺, 𝑉 is the set of vertices and 𝐸 the set of edges which are formally noted 𝑉(𝐺) and 𝐸(𝐺) respectively (Schrijver, 2016). For notation, 𝑒𝑖 ∈ 𝐸(𝐺) and 𝑣𝑖 ∈ 𝑉(𝐺). A simple example of a graph with an arbitraty vertex and edge set would be as follow:

(5)

4

Figure 1: an arbitrary graph

In figure 1 the set of vertices are 𝑉 = {𝐴, 𝐵, 𝐶, 𝐷, 𝐸, 𝐹, 𝐺, 𝐻, 𝐼, 𝐽, 𝐾} and the set of edges 𝐸 = {𝐴𝐵, 𝐴𝐶, 𝐴𝐺, 𝐴𝐽, 𝐵𝐷, 𝐵𝐹, 𝐵𝐼, 𝐶𝐸, 𝐶𝐹, 𝐶𝐻, 𝐷𝐸, 𝐷𝐻, 𝐷𝐽, 𝐸𝐺, 𝐸𝐼, 𝐹𝐾, 𝐺𝐾, 𝐼𝐾, 𝐽𝐾}. In this edge set, 𝐴𝐵 is the same as 𝐵𝐴 when the graph is undirected. The degree of a vertex 𝑣𝑖 noted as 𝑑(𝑣𝑖) is the amount of edges adjacent to 𝑣𝑖. A 𝑘-regular graph is a graph in which each vertex has a degree of 𝑘 (Schrijver, 2016). The maximum degree of a graph is denotes as ∆(𝐺) and the minimum degree of a graph is denotes as 𝜕(𝐺). A leaf is a vertex with degree 1. Isomorphism is bijective morphism, meaning two sets have a one-to-one correspondence that preserves binary relationships between elements of the sets. Graphs in graph theory are considered isomorphic. A graph is isomorphic with itself when two graphs contain the same number of vertices and edges that are connected in the same way (Schrijver, 2016).

(6)

5

Figure 2: isomorphic graphs

Figure 2 shows that both illustrated graphs have the same amount of vertices that are connected to the same vertices, thus being isomorphic. Isomorphism gives the possibility to rearrange a graph in order to have a clearer overview of the graph and makes the search for specific properties more simple. Furthermore, a graph is simple if no vertex has an edge that is connected with itself, for example 𝑒 ≠ 𝐴𝐴, 𝑒 ∈ 𝐸(𝐺). The graphs that are illustrated above are undirected graphs with no edge weight attached to them. Undirected means the you can go along the edge from vertex 𝐵 to vertex 𝐴 but also from vertex 𝐴 to vertex 𝐵. A weighted graph 𝐺 is a graph with non-negative weights on the edges. The weight of 𝑒 ∈ 𝐸(𝐺) is denoted by 𝑤(𝑒) (Schrijver, 2016).

(7)

6

Figure 3: a weighted graph 𝐺

In figure 3 a graph is illustrated with weights on its edges. An analogy for figure 3 could be cities as vertices and roads as weighted edges between the vertices, where its weight represent the cost of building a road between two cities. A path is a walk that goes from a vertex 𝑢 to a vertex 𝑣. In figure 3 a path from 𝐾 to 𝐻 is denoted as 𝐾𝑃𝐻, where 𝐾 is the starting vertex of the path and 𝐻 the end vertex of the path

and P could be 𝑃 = 𝐹𝐴𝐵𝐶.

Let 𝐺 be a graph, then a separating set or vertex cut of 𝐺 is a set of vertices 𝑆 ⊆𝑉(𝐺) such that 𝐺 − 𝑆 is disconnected. The vertex connectivity of 𝐺, denoted 𝐾(𝐺), is the size of the

smallest separating set of G

. 𝐺 is 𝑘-connected if 𝐾(𝐺) ≥ 𝑘, i.e. every separating set has size at least 𝑘 (Patel, 2018). If 𝐺 is a graph with 𝑢, 𝑣 ∈ 𝑉(𝐺), then two 𝑢, 𝑣-paths 𝑃 and 𝑄 are internally vertex-disjoint if they share not vertices except 𝑢 and 𝑣 (i.e. 𝑉(𝑃) ∩ 𝑉(𝑄) = {𝑢, 𝑣}). Menger

theorem states that if a graph 𝐺

is 𝑘-connected if and only if ∀ 𝑎, 𝑏 ∈ 𝑉(𝐺) ∃ 𝑘 pairwise internally vertex-disjoint 𝑎, 𝑏-paths (Patel, 2018). Let 𝐺 be a graph and let 𝐴, 𝐵 ⊆𝑉(𝐺). A path 𝑃 of 𝐺 is an 𝐴, 𝐵-path if it starts in 𝐴 and ends in 𝐵 and has no other vertices in 𝐴 ∪ 𝐵. A set 𝑆 ⊆𝑉(𝐺) is an 𝐴, 𝐵-separator if

(8)

7 -path in 𝐺 − 𝑆. Then the maximum number of vertex-disjoint 𝐴, 𝐵-paths is equal to the size

of the smallest 𝐴, 𝐵-separator.

A tree is a graph that is connected and contains no cycles. Connected means that there exists a path between all vertices of graph 𝐺. A tree has a property in which ∃ a unique 𝑢, 𝑣-path ∀ 𝑢, 𝑣 ∈ 𝑉(𝐺). A spanning tree of a connected graph 𝐺 is a constructed tree that contains all vertices of 𝐺. A minimum weight spanning tree is a weighted spanning tree in which the sum of the edges are minimized. Kruskal’s Algorithm finds such minimum weight spanning trees in a connected weighted graph 𝐺 (Patel, 2018). To illustrate, suppose we have the following connected graph 𝐺 from figure 3. To find the minimum weight spanning tree we apply Kruskal’s algorithm and get the following output:

Figure 4: minimum weight spanning tree of graph 𝐺

A bipartite graph 𝐺 = (𝑉, 𝐸) is a graph with two non-empty vertex classes 𝐴 and 𝐵 such that there exists no edge between the vertices in class 𝐴 and no edge between the vertices in class 𝐵.

(9)

8

Figure 5: a bipartite graph

In figure 4 the set of vertices 𝑄 = {𝐴, 𝐵, 𝐶, 𝐷} is a vertex class of the bipartite graph and the set of vertices 𝑅 = {𝐸, 𝐹, 𝐺, 𝐻} is a vertex class of the bipartite graph, since there exist no edges between the vertices within those sets. A matching 𝑀 is a set of edges in which no two edges have a common vertex. Matching 𝑀 is a matching of a graph 𝐺 if 𝑀 ⊆ 𝐸(𝐺). A perfect matching is when every vertex is saturated by an edge from the matching 𝑀 in 𝐺 (Patel, 2018). A stable matching is a matching where there exists no incentives between some subjects to swap in order to gain more utility for those specific subjects. A stable matching is thus Pareto optimal (Nicholson and Snyder, 2011). A possible matching of the graph in figure 5

would look as follow:

(10)

9 Suppose we have the following weighted bipartite graph 𝐺:

Figure 7: bipartite graph 𝐺

For simplicity and in order to not make the figure too messy, the weights of the edges will be denoted in an adjacency matrix where the rows are the vertices of class 𝑄 = {𝐴, 𝐵, 𝐶, 𝐷, 𝐸} and the columns the vertices of class 𝑅 = {𝐹, 𝐺, 𝐻, 𝐼, 𝐽}. Suppose the bipartite graph 𝐺 has the following adjacency matrix:

This adjacency matrix shows that the edge between 𝐴 and 𝐺 has a weight of 2 and the edge between 𝐷 and 𝐻 has a weight of 4. Then the Hungarian algorithm outputs a transversal of maximum weight. The Hungarian algorithm finds a maximum weight transversal 𝑀 of an 𝑛x𝑚 adjacency matrix 𝐴 of a set of 𝑛𝑚 entries (𝑖, 𝑗) with no two in the same row or column. The weight 𝑤(𝑀) of the transversal 𝑀 is given by 𝑤(𝑀) = ∑(𝑖,𝑗)∈𝑀𝐴𝑖𝑗 (Patel, 2018). In other words, the Hungarian algorithm finds a matching in a bipartite graph that maximizes the sum of weighted edges. If this method is applied to the given graph in the bipartite graph 𝐺 of figure 6 and its adjacency matrix, then it outputs as follow:

(11)

10

Figure 8: matching transversal of maximum weight

In figure 7 the algorithm outputs a matching where its sum of its weights are maximum, which is 23. Furthermore, in this latter example, there is one more alternative matchings that also gives the same weight of 23. All other possible matchings give a lower

sum of weights.

The market of kidney donors and kidney recipients is a typical market of matching. In order to have a match between a donor and recipient, the blood type of the recipient needs to be able to accept the donors’ blood type. There are four blood types, A, B, AB and O. Each blood type represents whether it contains the proteins A and or B. A kidney can be matched and transplanted when it does not contain proteins that are foreign to the patient. This means that type A can receive from type A and O. Type B can receive from type B and O. Any blood type can receive donors’ form O. Type AB can accept donors from A, B and O. Type O can receive only from type O. Furthermore, transplantation is not carried out when the presence of antibodies in the patients causes a positive crossmatch, based on the human leukocyte antigens (Roth, Sonmez and Unver, 2004).

(12)

11

Application

The Kidney Market

The market of kidneys is a matching market. Compatible ‘sellers’ and ‘buyers’ need to be matched in order for a trade to occur. These donors and recipient can be thus represented in some bipartite graph 𝐺. The weight of the edges can be represented as the expected success rate of the transplant or the percentage of working capability of the kidney after transplantation where its expectation can be calculated by a blood test. A threshold could be created such that a match can only occur when the percentage working capability or potential success rate of the transplant is above a certain threshold. Then the Hungarian algorithm would be able to find the matching that maximizes these sums of percentage values or potential success rate. The pairing of kidneys would be thus based on maximizing the health success of transplantations. For the Hungarian algorithm to be applied in the bipartite graph 𝐺 within this market, the donors and recipients need to be represented in an adjacency matrix of possible matches that are above a certain threshold, where the rows are recipients (𝑅𝑖) and the columns the donors (𝐷𝑗) and 𝐴𝑖𝑗 the weight of the edge between its two incident vertices (the health success rate):

𝐷1 … 𝐷𝑚 𝑅1 ⋮ 𝑅𝑛 ( 𝐴11 ⋯ 𝐴1𝑚 ⋮ ⋱ ⋮ 𝐴𝑛1 ⋯ 𝐴𝑛𝑚 )

However, the problem with an 𝑛x𝑚 matrix is that not everyone will be matched. A solution to this could be that the kidney donor program of matching would need to create pools of 𝑛 donors and 𝑛 recipients that would be able to fit in a 𝑛 x 𝑛 matrix such that everyone within the pool would receive a transplantation.

Matching Markets

Matching markets have the same structure as the kidney market, or in other words the kidney market is a matching market. The market has many sellers and many buyers and the sellers can only sell its product/service once. The sellers can be classified as a vertex subclass

(13)

12 𝐴 of vertices of 𝑉 in 𝐺 and the buyers as a vertex subclass 𝐵 of vertices of 𝑉 in 𝐺 in order to construct a bipartite graph. In this bipartite graph that is depicting a matching market, an weighted edge between vertices of subclasses is represented as the gain of trade of both the seller’s and buyer’s producer and consumer surplus. The weight of the edge will thus become 𝑤(𝑒𝑖𝑗) = 𝐶𝑆𝑖 + 𝑃𝑆𝑗. Since these values of weights and connections between vertices can be put into an adjacency matrix, the Hungarian algorithm can be applied to maximize the welfare which is the sum of consumer and producer surplus. Thus the algorithm finds 𝑚𝑎𝑥𝑊 = ∑(𝑖,𝑗)∈𝑀𝐶𝑆𝑖+ 𝑃𝑆𝑗. In an analogous example, the algorithm could also be applied to a matching market of labor, where you have applicant and jobs as a separate subclass within a bipartite graph 𝐺. Another example would be to allocate 𝑋 different policies to 𝑌 different markets/economic-issues/institutions in order to maximize welfare.

Matching Couples

Another economic question is that of matching couples in a way such that the sum of utilities gained from being couples with a specific match is maximized. Suppose you have 𝑛 women and 𝑛 men. Each possible couple between women and men will give the woman a specific utility 𝑈𝑖 = 𝑓(𝑦𝑖, 𝑥𝑗) and the men a specific utility 𝑈𝑗 = 𝑓(𝑥𝑗, 𝑦𝑖), where 𝑓(𝑦𝑖, 𝑥𝑖) and 𝑓(𝑥𝑗, 𝑦𝑖) are some complementary utility functions on couple matching for woman and men respectively. This assumption of complementary utility functions on couple matching is based on the paper of Baumeister et al. (1993) which describes the altruism and guilt factor upon divorce of the divorcee in couples. Suppose we make a bipartite graph 𝐺 with man and woman as a vertex class of 𝑉(𝐺). Then the set of women can be represented as a subclass of the vertices called 𝐴 and the men as a subclass of the vertices called 𝐵. With these subclasses we can construct a bipartite graph 𝐺. The connections between the vertex subclasses are the possible matches between the set of women and man. The weight of the edge of a possible matching is represented as the sum of the utility of the woman and man receive from being a couple. Thus, 𝑤(𝑒𝑖𝑗) = 𝑈𝑖+ 𝑈𝑗, 𝑒 ∈ 𝐸(𝐺). Because we have a bipartite graph, we can apply the Hungarian algorithm in order to find a set of matchings 𝑀 that maximizes the sum of these values. The algorithm thus outputs 𝑚𝑎𝑥 ∑𝑖,𝑗∈𝑀𝑤(𝑒𝑖𝑗). An alternative issue that is similar to this latter example is the question of how a project would be fully utilized when we have to create 𝑛 pairs between 𝑣 and 𝑤 workers. In this case, the weight of the edge is the sum of productivity that worker 𝑣𝑖 gets from working with 𝑤𝑗 and the productivity 𝑤𝑗 gets from working with 𝑣𝑖. A fair assumption to take within these matchings is that ∀ 𝑤(𝑒) ∈ ℝ,

(14)

13 𝑤(𝑒𝑖𝑗) ≠ 𝑤(𝑒𝑙𝑘) ∀ 𝑖, 𝑗, 𝑙, 𝑘 𝑖𝑗 ≠ 𝑙𝑘. This assumption is then consistent with previous research done on matching couples where preferences are ordinal. Furthermore this assumption makes sure that there will be a unique matching. With this assumption the algorithm always outputs a stable matching of couples, meaning no couple has incentives to switch partners, since the algorithm outputted the maximum weight transversal such that there exists no other matching

that gives a better matching.

Maximizing Production

Suppose we have 𝑛 production facilities and 𝑛 workers. Each production facility can only be matched with one worker. Each worker produces a different amount of production in each production facility. We want to assign the workers to the production facilities such that the sum of production would be maximized. This can be represented in a bipartite graph 𝐺. The workers can be classified as a vertex subclass 𝐴 ∈ 𝑉(𝐺) and the production facilities be classified as a vertex subclass 𝐵 ∈ 𝑉(𝐺) in order to construct a bipartite graph 𝐺. The edges between the vertex subclasses are the possible matchings between a worker 𝑖 and production facility 𝑗. The weight of the edges are the potential production created by a worker 𝑖 in a production facility 𝑗 which will be given as 𝑞𝑖𝑗 and thus 𝑤(𝑒) = 𝑞𝑖𝑗. With the application of the Hungarian algorithm, the maximum sum of weights can be found and thus the maximum possible production within the firm. Thus the algorithm outputs 𝑚𝑎𝑥𝑄 = ∑(𝑖,𝑗)∈𝑀𝑞𝑖𝑗, where 𝑄 is the total production of the firm.

Minimizing Production Costs

Suppose a company produces a good in a production facility where the assembling parts of the goods can be represented in the following hypothetical graph 𝐺, where vertices represent a stage of the production and edges the cost of production between possible connected stages:

(15)

14

Figure 9: Graph 𝐺

In order to have a product completed, the assembling of the product needs to have gone through every vertex of graph 𝐺. In order to find a structure of the graph such that there exist no cycles and the path of going from one stage to the other would be cost minimizing, then Kruskal’s algorithm can be applied to find the minimum weight spanning tree 𝐻. Applying Kruskal’s algorithm on graph 𝐺 we get the following output:

(16)

15 In figure 9 a minimum weight spanning tree 𝐻 is found which minimizes the cost of

producing. An example of a production path is that parts can be assembled separately form vertex 𝐽 to vertex 𝐵 (𝐽𝑃1𝐵) and from vertex 𝑀 to vertex (𝑀𝐵), then from vertex 𝐵 the parts can go together until vertex 𝐹 (𝐵𝑃2𝐹) such that each vertex has been visited and thus

completed the product with minimum costs. Another possibility of minimizing cost within the minimum weight spanning tree is to start assembling parts from each leaf of the graph and meet them up at the vertex with the highest degree ∆(𝐺). Another useful application of the Kruskal’s algorithm is when firms merge and new production possibilities occur to the already existing production path of a firm. Merging has the possibility to extend this already existing production and thus might form possible cycles within the new graph. Kruskal’s algorithm then finds a new minimum weight spanning tree in order to minimize costs for the new production within the merged firms. Another analogy for graph 𝐺 where Kruskal’s algorithm can be applied to is when the vertices are cities and edges the cost of building roads between the cities and want to make graph such that there exists a possibility to reach each city but eliminate cycles and minimize the costs of building these roads.

Paths of Deviation In n-player Non-cooperative Repeated Games

Suppose we have a two player non-cooperative game that is played repeatedly with the following payoffs:

𝑃1/𝑃2 𝑉 𝑊

𝑋 1,1 (A) 0,3 (B)

(17)

16 If we take player 1 exclusively and graph the players payoff table then we get the following graph:

Figure 9: graph of player 1

In figure 9, each vertex represents an outcome of the game and each edge represents the gains or loss from a possible deviation from a vertex 𝑢 to a vertex 𝑣, where 𝑢, 𝑣 ∈ 𝑉(𝐺) and 𝑒 = 𝑢𝑣 𝑒 ∈ 𝐸(𝐺), given the position of an outcome. The gains or losses from the deviation of a outcome can be put into a adjacency matrix with 𝑋𝑉, 𝑋𝑊, 𝑌𝑉, 𝑌𝑊 both on the horizontal and vertical sides of the adjacency matrix. An example for figure 9 with the above illustrated game would be:

( 0 −1 1 0 2 0 0 2 −2 0 0 −2 0 −1 1 0 )

Extending this to a three player non-cooperative repeated game with two option we get the following graph:

(18)

17

Figure 10: graph of player 1in a three player non-cooperative repeated game

We can further extend this to a four player non-cooperative repeated game:

(19)

18 With induction it can be observed that a 𝑛-player non cooperative repeated game with 𝑞 options has 𝑞𝑛 outcomes and thus 𝑞𝑛 vertices. Furthermore it can be observed that these graphs are regular of degree 𝑛, 𝑛 being the number of players.

Depicting these games in graphs, the path of incentive to deviate can be observed from an outcome of a player 𝑖 ∈ 1, 2, … , 𝑛 across the graph:

Figure 11: Path of incentives to deviate

In figure 11 it can be seen that if player 1 is at payoff vertex 𝐵, the player would be tempted to deviate to vertex 𝐴 or 𝐷, continuing until vertex 𝐶, which creates two internally vertex disjoint paths 𝐵𝐴𝐶 and 𝐵𝐷𝐶. Suppose the graph of a game has subclasses 𝐴 and 𝐵. With the application of Menger theorem, if a 𝑛-player non-cooperative repeated game with 𝑞 options is 𝑘-connected, then it has 𝑘 internally pairwise vertex-disjoint paths. Thus in order to

disconnect the graph, there need to be 𝑘 number of vertices deleted, since we know that the maximum number of internally disjoint paths is equal to the smallest 𝐴, 𝐵-seperator. With this application, 𝐴, 𝐵-paths can be eliminated in order to alter the path of incentives to deviate from player 𝑖.

A handy feature of depicting these games in graphs is that spaces higher than three dimensions can be depicted in two dimensions planes and thus get a more simplistic overview of a game. An interesting research question and conjecture would be whether it is possible to construct an algorithm which finds the Nash equilibrium in these 𝑛-player non-cooperative repeated games with 𝑘 options.

(20)

19

Conclusion

This paper has applied graph theoretical concepts to the theory of microeconomics. With the help of graph theory, it has been demonstrated that graph theory has its application for optimization within the theory of microeconomics when the microeconomic issues become more complex and dimensional.

It has been demonstrated that in the market of kidneys the Hungarian algorithm finds the maximum sum of successful transplantations with the highest kidney functioning. In the market for kidneys an ethical question might arise due to the use of the Hungarian Algorithm within the kidney market, is whether this kind of matching is fair. Some patients would be able to receive a better matching, but it will lead to an lower success average for example. A further recommendation was given for kidney matching is to pool donors and recipients with each 𝑛 subjects, that are above the threshold, taken into the pool in order to create a 𝑛x𝑛 matrix and thus every patient gets a matching. Then the same algorithm was applied to to matching couples and workers for a project or production facility in order to maximize the sum of utility and production value. The demonstration of Kruskal’s algorithm was used to minimize costs in assembling parts of a product between stages. Finally, Menger’s theorem was applied to alter the incentives to deviate of a player within 𝑛-player repeated games with 𝑘 options. For this latter example, an extension to this application would be a possible algorithm that finds the Nash equilibrium within these games. This would perhaps simplify complex games with a large set of option and players and thus make is more simplistic and computational quicker to find these equilibriums. Furthermore, an interesting research would be to find a kidney exchange program where the Hungarian algorithm would be even more efficient or perhaps fair within ethical norms and values of a given society.

Even though graph theory has its limitations within the application of graph theory, I believe graph theory has a lot of potential application into microeconomics that can extend the branch of microeconomics in more depth and broader analyses for the economic scientist but also for the economic student. Graph theory helps to find and understand properties of network economics. Much more interesting graph theoretical examples can be applied and demonstrated within microeconomics. I would believe that graph theory is fairly simple to understand and applied for economic bachelor students and could make the study of economics more interesting and appealing for futuristic students and perhaps network economics with graph theory included be a possible course for the economic bachelor.

(21)

20

Bibliography

Bates, S., Angeon, V. and Ainouche, A. (2014). The pentagon of vulnerability and resilience: A methodological proposal in development economics by using graph theory. Economic Modelling, 42, pp.445-453.

Baumeister, R. F., Wotman, S. R. and Stillwell, A. (1993). Unrequited love: On heartbreak, anger, guilt, scriptlessness, and humiliation. Journal of personality and Social Psychology, 64(3), pp.377-394.

Cartwright. N. (1999). The Limits of Exact Science, From Economics to Physics.

Perspectives on Science, 7(3), 318-336.

Hommes, C. (2002). Modeling the stylized facts in finance through simple nonlinear adaptive systems. Proceedings of the National Academy of Sciences, 99(Supplement 3), pp.7221-7228.

Kusunoki, Y. and Tanino, T. (2017). Investigation on irreducible cost vectors in minimum cost arborescence problems. European Journal of Operational Research, 261(1), pp.214-221.

Lecture notes from the bachelor Mathematics course at the UvA: ‘Inleiding Grafen Theorie’ (Schrijver, 2018) and ‘Graph Theory and Algorithms’ (Patel, 2018).

Nicholson, W., & Snyder, C. (2011). Microeconomic theory: Basic principles and

extensions. Nelson Education. (Nicholson and Snyder, 2011)

Roth, A., Sonmez, T. and Unver, M, (2004). Kidney Exchange. The Quarterly Journal of

Economics, 119(2), pp. 457-488.

the Guardian. (2018). Why I left physics for economics. Available at: https://www.theguardian.com/science/life-and-physics/2017/jun/22/why-i-left-physics-for-economics.

(22)

21 Appendix

Application of the Hungarian method (Hungarian algorithm) to bipartite graph 𝐺 of figure 7: Input: 𝑛x𝑚 matrix A with positive integer entries.

Idea: Iterating adjust cover (𝑢, 𝑣) until 𝐺(𝑢, 𝑣) has a perfect matching.

Initialization: Start with any cover.

Iteration: Find max matching in 𝐺(𝑢, 𝑣).

- If 𝑀 is a perfect matching then terminate. - If not then find a vertex cover 𝑄 s.t. |𝑄| = |𝑀|.

Set ԑ = min {𝐸𝑖𝑗: 𝑥𝑖 ∈ 𝑋\𝑄, 𝑦𝑖 ∈ 𝑌\𝑄} Decrease 𝑢𝑖 by ԑ if 𝑥𝑖 ∈ 𝑋\𝑄

Increase 𝑣𝑗 by ԑ if 𝑦𝑖 ∈ 𝑌 ∩ 𝑄 Repeat iteration with updated (𝑢, 𝑣)

Output: 𝑀 (Claim that 𝑀 is max weight transversal)

(23)

22 This excess matrix has a ԑ = 1

(24)

23 In the last excess matrix we can see we can create two different transversals, which indicates two different matchings that give a maximum weight of 23.

Final output:

Application of Kruskal’s algorithm to a weighted graph 𝐺 in figure 3:

Input: Weighted graph 𝐺 that is connected.

Idea: Let 𝑒1, 𝑒2, … be edges of 𝐺 in order of weight from lowest to highest. We build up a spanning subgraph 𝐻 of 𝐺.

Initialization: Set 𝐸(𝐺) = ∅.

Iteration: Consider edges in the order above. If the next cheapest edge joins two components of 𝐻 then add it to 𝐸(𝐺); otherwise discard it.

Termination: Terminate when all edges have been examined and output 𝐻.

Start with graph 𝐺 but without all the edges. There are two edges with the lowest edge weight of 1. One of those edges we can connect with 𝐾 and 𝐹 since the edge 𝑒 = 𝐾𝐹 has the lowest

(25)

24 weight and joins two components of 𝐻. Then 𝑒 = 𝐸𝐷 has a weight of also 1 and thus connect the vertices 𝐸 and 𝐷 since it joins two components of 𝐻. The next smallest weight is 2. These edges are 𝐴𝐵, 𝐽𝐼, 𝐶𝐻 and 𝐵𝐼. Edges 𝐴𝐵, 𝐽𝐼 and 𝐶𝐻 all join two components of 𝐻. 𝐵𝐼 does not join two compononts of 𝐻 and is thus not added to the construction of the minimum weight spanning tree. Then the next smallest weight edges are 𝐾𝐽, 𝐼𝐻, 𝐴𝐽 and 𝐷𝐶. 𝐾𝐽, 𝐴𝐽, 𝐼𝐻 and 𝐷𝐶 all connect two components of 𝐻 and are this added to the construction of the minimum weight spanning tree. The next smallest weight edges are 𝐹𝐴 and 𝐻𝐺. 𝐹𝐴 does not connect two components and thus not added, but 𝐻𝐺 does connect two components and is thus added to the construction. The next smallest weight edges are 𝐵𝐶 and 𝐷𝐺. Bothe edges do not connect two components of 𝐻 and are thus not added to the construction. The next smallest weight edges are 𝐿𝐾 and 𝐸𝐹. 𝐿𝐾 does connect two different components of 𝐻 and thus added to the construction. 𝐸𝐹 does not connect two components and is thus not added to the

construction. The next smallest weight edge is 𝐿𝐺. 𝐿𝐺 does not connect two components of 𝐻 and is thus not added to the construction. With this construction, Kruskal’s algorithm has constructed the following output:

Referenties

GERELATEERDE DOCUMENTEN

Deze gegevens moeten het Zorginstituut in staat stellen om aan het eind van de voorwaardelijke toelatingsperiode een besluit te nemen over wel of geen definitieve toelating tot

In de didactische schets is een overzicht opgenomen van de wijze, waarop onderwerpen als ver- zamelingen, relaties, talstelsels, ruimteonderzoek in het onderwijs tot hun recht dienen

In de vullingen van de sporen werden enkele fragmenten van handgevormd aardewerk teruggevonden die gedateerd kunnen worden in de late ijzertijd of de Romeinse

Publisher’s PDF, also known as Version of Record (includes final page, issue and volume numbers) Please check the document version of this publication:.. • A submitted manuscript is

• In juni, juli en september worden op 10 pilotbedrijven enkele malen de vlinders en libellen geteld • Tijdens de veldbijeenkomsten hoort u waneer u de randen kunt maaien, en hoe

In addition, two other sensing applications of the GWGCs are exploited: (1) label-free protein sensing (surface sensing) , where the GWGC spectral shift is due to

It addresses the question of how an international and a Ghanaian cocoa buying company, namely Lindt & Sprüngli and Kuapa Kokoo, differ in creating opportunity

APOSDLE’s open learner model, MyExperiences (Fig. 1), allows users to access their learner model in order to understand how their knowledge level in certain concepts was