0% found this document useful (0 votes)
82 views13 pages

Optimizing Urban Accessibility Constructing A

Uploaded by

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

Optimizing Urban Accessibility Constructing A

Uploaded by

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

Optimizing Urban Accessibility: Constructing a

15-Minute City Using Steiner Tree


Approximation
Prishaa Shrimali

Abstract
The concept of the 15-minute city (15-MC) aims to create urban envi-
ronments where essential services are accessible within a 15-minute walk
or bike ride from any point. This study explores an innovative approach
to constructing a 15-minute city by leveraging the Steiner tree problem
and its polynomial-time approximation. By focusing on connecting key
amenities such as pharmacies, post offices, and supermarkets, our method
efficiently minimizes the total travel time within a pedestrian network.
The proposed approach significantly reduces computational complexity
by prioritizing service locations over residential areas, resulting in detailed
urban layouts that can be used as digital models for city planning. These
models provide practical tools for optimizing mobility, service placement,
and sustainable urban design. The method’s effectiveness is demonstrated
through its ability to generate detailed maps that highlight service ac-
cessibility, offering valuable insights for urban planners in creating more
connected and accessible cities.

1 Introduction
Graph theory is a branch of mathematics that studies the properties and ap-
plications of graphs, which are abstract representations of a set of objects and
the connections between them. In a graph, the objects are called vertices (or
nodes), and the connections between them are called edges. Graphs can be
used to model a wide variety of systems in which relationships between pairs of
objects are significant. A graph can be directed, where the edges have a direc-
tion (indicating, for example, one-way streets in a city), or undirected, where the
connections have no direction (as in two-way streets). See [1][2][3]for a thorough
introduction.
When additional information, such as distance, cost, or time, is associated
with each edge, the graph is referred to as a weighted graph. In a weighted graph,
every edge is assigned a numerical value or weight that typically represents the
cost of traversing the edge. This weight could represent physical distance, time
required to travel, or any other metric relevant to the application. Weighted

1
graphs are particularly useful in scenarios where it’s important to find not just
a connection between vertices but the optimal connection, such as the shortest
path or the minimum cost route. These properties make weighted graphs a
powerful tool in solving complex problems across various domains. See [1]
Graph theory has significant applications. One notable application is in
network design, particularly in telecommunications, where graphs are used to
design and optimize networks[4][5]. In such networks, vertices represent commu-
nication nodes, and edges represent the connections between them. Weighted
graphs help in minimizing the cost of data transfer by finding the shortest or
most efficient paths, which is crucial in both internet routing and the layout
of infrastructure like fiber-optic cables. Another significant application is in
computer science, specifically in algorithms and data structures. See [6]fora
comprehensive introduction to the topic Graphs are fundamental in algorithms
for searching, sorting, and traversing data. They are widely used in artificial
intelligence and robotics for pathfinding and navigation, helping autonomous
systems to determine the most efficient routes in various environments. More-
over, graphs are also essential in social network analysis, where vertices repre-
sent individuals and edges represent relationships or interactions, enabling the
analysis of social structures and the spread of information or influence.
One of the most impactful applications of graph theory is in urban mod-
eling, where cities are represented as graphs to analyze and optimize urban
spaces[7][8][9]. In this context, vertices represent key locations in the city such
as intersections, parks, or service points, while edges represent the roads or path-
ways connecting these locations. Weighted graphs are particularly valuable in
urban modeling because they allow for the inclusion of travel times, distances, or
other metrics as edge weights, facilitating the analysis of accessibility and con-
nectivity within the city. For example, by applying shortest-path algorithms
to these graphs, urban planners can determine the most efficient routes for
transportation, identify areas lacking access to essential services, and plan new
infrastructure to enhance connectivity. Additionally, dynamic graphs, which
allow for changes over time, can be used to model urban growth and evolving
transportation networks, providing a more flexible and realistic representation
of urban spaces. This transition to considering other types of graphs under-
scores the adaptability of graph theory to the complex and changing nature of
urban environments and beyond.
This application seamlessly extends to the concept of the 15-minute city[10],
where the goal is to ensure that all necessary services are within a 15-minute
travel time from any given point. The concept of a 15-minute city has gained
significant traction as a model for sustainable urban regeneration. It envisions a
city where residents can access all their basic needs within a 15-minute walk or
bike ride from their homes. This model promotes localized living, where essential
services such as healthcare, education, and grocery stores are readily accessible,
thereby reducing the need for long commutes and fostering a more sustainable
lifestyle. Although this concept has similarities to earlier urban planning models,
such as the complete neighborhood and the 20-minute neighborhood, the 15-
minute city (15-MC) has particularly resonated due to its adoption as a policy

2
framework in Paris, France. This adoption has spurred further academic and
professional efforts to refine and quantify the model, emphasizing its potential
to reshape urban environments for the better.
The use of graph theory in modeling the 15-MC has shown significant promise,
despite the computational challenges it presents[11][12]. Calculating the short-
est paths on a graph for a large city with numerous nodes requires substan-
tial processing power. However, advancements in computational technology,
such as parallel processing and faster processors, have made it feasible to ap-
ply this method even to large urban areas.Urban planning has undergone a
significant transformation in recent years, driven by the need for sustainable,
accessible, and efficient cities. One of the emerging models in this domain is
the 15-minute city concept, where residents can access essential services—such
as healthcare, education, and shopping—within a 15-minute walk or bike ride
from their homes. This model is not only a response to environmental concerns
but also aims to enhance the quality of life by reducing commuting time and
fostering local economies.
Graph theory, a powerful mathematical tool, provides an ideal framework
for modeling and analyzing the 15-minute city. In this context, the urban area
is represented as a graph G = (V, E), where vertices V correspond to specific
locations such as intersections, service points, or residential areas, and edges E
represent the pathways connecting these points. The weight w(e) assigned to
each edge e ∈ E can be interpreted as the time it takes to travel between two
connected vertices. This approach allows for a quantitative analysis of urban ac-
cessibility and the identification of critical areas that may require infrastructural
improvements to meet the 15-minute criterion.

2 Notation and Preliminaries


Definition 1. A graph G is a mathematical structure used to model pairwise
relationships between objects. It consists of two sets:
• Vertices (or nodes): V (G) is a set of objects called vertices.
• Edges: E(G) is a set of pairs of vertices.
Formally, a graph G is defined as G = (V, E), where:
• V is a non-empty finite set of vertices.
• E is a set of unordered or ordered pairs of vertices (depending on whether
the graph is undirected or directed).
Definition 2. A subgraph H of a graph G = (V, E) is another graph formed
from a subset of the vertices V (H) ⊆ V (G) and a subset of the edges E(H) ⊆
E(G), such that the edges in E(H) connect vertices in V (H).
Two vertices that are joined by an edge are called adjacent vertices.
A walk of length n in a graph is a sequence of adjacent vertices and edges

3
v1 v2 . . . vn vn+1 with n ≥ 1. If v1 = vn+1 , then the walk is closed. A path
is a walk with no repeated vertices. A cycle is a walk in which the only re-
peated vertex is the first/last one, i.e., v1 = vn+1 . The degree of a vertex is
the number of edges incident to the vertex and is denoted deg(v). A graph
is connected if there is a walk between every pair of distinct vertices in the
graph. A connected component of G is a connected subgraph H of G such
that no other connected subgraph of G contains H. The diameter of a graph
G is the greatest distance between any pair of vertices in the graph. The dis-
tance between two vertices u and v is defined as the length of the shortest path
between them.
Formally, the diameter D(G) is defined as:

D(G) = max d(u, v)


u,v∈V (G)

where d(u, v) is the shortest path distance between vertices u and v.


Definition 3. A tree is a connected graph with no cycles. In other words, a
tree is a graph in which any two vertices are connected by exactly one path, and
there is no way to start at a vertex and follow a sequence of edges that leads
back to the starting vertex without retracing steps.

Properties of a tree:
A tree is an undirected graph G that satisfies any of the following equivalent
conditions:

1. G is connected and acyclic (contains no cycles).


2. G is acyclic, and a simple cycle is formed if any edge is added to G.
3. G is connected, but would become disconnected if any single edge is re-
moved from G.
4. Any two vertices in G can be connected by a unique simple path.

If G has finitely many vertices, say n of them, then the above statements
are also equivalent to any of the following conditions:

(a) G is connected and has n − 1 edges.


(b) G is connected, and every subgraph of G includes at least one vertex with
zero or one incident edges. (That is, G is connected and 1-degenerate.)
(c) G has no simple cycles and has n − 1 edges.

Definition 4. A weighted graph is a graph in which each edge has an as-


sociated numerical value, called a weight. These weights can represent various
things, such as distances, costs, or capacities.
Formally, a weighted graph G = (V, E, w) is defined as:

4
• V is the set of vertices.
• E is the set of edges.
• w : E → R is a function that assigns a weight to each edge.
The weight of a path in a weighted graph is the sum of the weights of the edges
that make up the path.
Definition 5. A Minimum Spanning Tree (MST) is a spanning tree of a
weighted graph that has the minimum possible total edge weight among all the
spanning trees of the graph.
Given a connected, undirected, weighted graph G = (V, E, w), a spanning
tree is a subgraph T = (V, ET ) that includes all the vertices of G and is a tree.
The MST is the spanning tree for which the sum of the weights of the edges in
ET is minimized.
There are two well-known polynomial-time algorithms used in graph theory:
Dijkstra’s algorithm for finding the shortest path and Kruskal’s algorithm
for finding the minimum spanning tree[6].
1. Dijkstra’s Algorithm Dijkstra’s algorithm is used to find the shortest
path from a starting vertex to all other vertices in a weighted graph, where
the edge weights are non-negative. The algorithm operates by iteratively
selecting the vertex with the smallest known distance, updating the dis-
tances to its neighboring vertices, and repeating this process until the
shortest path to all vertices has been determined. Dijkstra’s algorithm
efficiently computes the shortest path in O(V 2 ) time using a simple im-
plementation or O((V + E) log V ) time using a priority queue, where V is
the number of vertices and E is the number of edges.
2. Kruskal’s Algorithm Kruskal’s algorithm is used to find the minimum
spanning tree (MST) of a connected, undirected graph. The MST is a sub-
set of the edges that connects all the vertices together without any cycles
and with the minimum possible total edge weight. Kruskal’s algorithm
works by sorting all the edges of the graph by weight and then adding
them one by one to the growing spanning tree, ensuring that no cycles
are formed. The process continues until all vertices are connected. The
worst-case time complexity of Kruskal’s algorithm is O(E log V ), where E
is the number of edges and V is the number of vertices.

3 Steiner Tree
Let G = (V, E) be an undirected graph where V is the set of vertices, E is
the set of edges, and each edge is associated with a non-negative weight c. Let
T ⊆ V be a subset of vertices referred to as terminals. A Steiner tree in G is a
tree that spans all vertices in S. There are two primary variants of the Steiner
tree problem: the optimization problem and the decision problem.

5
In the optimization problem, the goal is to find a Steiner tree with the
minimum possible weight. On the other hand, the decision problem involves
determining whether there exists a Steiner tree whose total weight does not
exceed a given natural number k, assuming the edge weights are integers [13][14].
The decision problem is known to be NP-complete, as it is one of Karp’s 21 NP-
complete problems[15]. Consequently, the optimization version of the Steiner
tree problem is NP-hard. A notable special case of this problem occurs when
G is a complete graph, each vertex v ∈ V corresponds to a point in a metric
space, and the edge weights w(e) for each e ∈ E correspond to the distances
in that space, thus satisfying the triangle inequality. This special variant is
known as the metric Steiner tree problem. Furthermore, given any instance of
the general (non-metric) Steiner tree problem, it is possible to transform it into
an equivalent instance of the metric Steiner tree problem in polynomial time.
Given a graph G = (V, E) where V is the set of vertices and E is the set
of edges with associated weights, and a subset T ⊆ V of terminal vertices, the
goal is to find a subtree G′ = (V ′ , E ′ ) of G such that:

• T ⊆V′ ⊆V
• E′ ⊆ E

• The total weight e∈E ′ w(e) is minimized, where w(e) denotes the weight
of edge e.

The vertices in V ′ \ T are called Steiner points. Clearly, when T = V , the


Steiner tree problem reduces exactly to the Minimum Spanning Tree (MST)
problem. On the other hand, if T = {s, t}, the problem simplifies to finding the
shortest s–t path.
Definition 6. The metric completion c′ of the graph (G, c) is a metric on
the vertex set V , where for any two vertices u, v ∈ V , the distance c′ (u, v) is
defined as the minimum cost of a path between u and v in G considering the
edge weights c. In other words, in the metric completion, an edge exists between
every pair of vertices, and the weight of this edge is the shortest path distance
between the two vertices in the original graph. This construction results in a
metric space, meaning that the distance function satisfies the triangle inequality:
c′ (u, v) ≤ c′ (u, w) + c′ (w, v) for all u, v, w ∈ V .
The Metric Steiner Tree problem is a variation of the Steiner Tree problem
where the problem is formulated in a metric space instead of a general graph.
The following theorem demonstrates that it is possible to reduce an instance of
the Steiner tree problem to an instance of the metric Steiner tree problem in
polynomial time, ensuring that a solution to the latter can be used to solve the
former. The following theorems are from [16]
Theorem 1. There exists a reduction from the Steiner tree problem to the
metric Steiner tree problem that preserves the approximation factor.
To prove this, we’re going to require the following lemma’s.

6
Lemma 2. Let H be a solution to the Steiner tree problem on (G, c, T ). Then H
is a solution to the Metric Steiner tree problem on (V, c′ , T ) with c′ (H) ≤ c(H).
Proof. Clearly H is a solution to the metric version. By the triangle inequality,
c′ (u, v) ≤ c(u, v) for all {u, v} ∈ E, and hence c′ (H) ≤ c(H).
Lemma 3. Let H ′ be a solution to Metric Steiner Tree on (V, c′ , T ). Then there
is a solution H to the Steiner tree problem on (G, c, T ) with c(H) ≤ c′ (H ′ ), and
given H ′ , we can find such an H in polynomial time.
Proof. We begin by constructing a subgraph Ĥ of G, where each edge e = {u, v}
in H ′ is replaced by a path between u and v in G that has a length of c′ (u, v).
Such a path exists due to the definition of c′ , and this process ensures that the
cost does not increase. Next, we construct a spanning tree H from Ĥ. Since
Ĥ spans all the vertices that H ′ spans (and potentially more), it follows that
H is a valid solution to the original Steiner tree problem. Furthermore, as the
replacement of an edge with a corresponding path does not increase the overall
cost, we have c(H) ≤ c(Ĥ) ≤ c′ (H ′ ). All of these steps can clearly be performed
in polynomial time.

Proof of Theorem 1. Let A be an algorithm that provides an α-approximate


solution for the metric Steiner tree problem. First, we apply A to the instance
(V, c′ , T ), where V is the vertex set, c′ is the modified cost metric, and T is the
set of terminals. This gives us a solution H ′ , which connects all the terminals
in T .
Next, using the polynomial-time procedure described in Lemma 3, we trans-
form H ′ into a solution H for the original Steiner tree problem on the instance
(G, c, T ), where G is the graph and c is the original cost function. According to
Lemma 3, this solution H is valid.
Let OP Tmetric represent the optimal solution to the metric Steiner tree prob-
lem on (V, c′ , T ), and let OP Tsteiner denote the optimal solution to the original
Steiner tree problem on (G, c, T ). From Lemma 3, we know that c(H) ≤ c′ (H ′ ),
and by the definition of the approximation algorithm A, we have c′ (H ′ ) ≤
α · c′ (OP Tmetric ). Furthermore, since OP Tmetric is the optimal solution for the
metric version of the problem, we know that c′ (OP Tmetric ) ≤ c′ (OP Tsteiner ),
and by Lemma 2, it follows that c′ (OP Tsteiner ) ≤ c(OP Tsteiner ).
Combining these inequalities, we get:

c(H) ≤ c′ (H ′ ) (Lemma 3)

≤ α · c (OP Tmetric ) (definition of the algorithm A)

≤ α · c (OP Tsteiner ) (definition of OP Tmetric )
≤ α · c(OP Tsteiner ) (Lemma 2)

Thus, since H is a feasible solution and can be computed in polynomial time,


we conclude that we have an α-approximation for the Steiner tree problem.

7
Consider the following algorithm
Input: Set of points V , metric c : V × V → R+ , terminals T ⊆ V .
Output: A minimum spanning tree on T (computed using Kruskal’s Algorithm.
( )
Theorem 4. This algorithm is a 2 1 − |T1 | -approximation algorithm for the
Metric Steiner Tree problem.
Proof. Let F represent the solution produced by the algorithm. We know that
F is valid because it connects all points in T . Denote F ∗ as the optimal solution.
Our
( objective
) is to establish that the cost of F , denoted c(F ), satisfies c(F ) ≤
2 − |T1 | c(F ∗ ).
Since F is a minimum spanning tree for the set T , it is sufficient to prove
( there)exists another spanning tree, denoted F̂ , for T , where the cost c(F̂ ) ≤
that
2 1 − |T1 | c(F ∗ ). This would imply c(F ) ≤ c(F̂ ), thereby completing the proof.
To demonstrate this, we begin by recalling a key concept from graph theory:
a graph G = (V, E) is considered Eulerian if it contains a closed path that
traverses each edge exactly once. A classic result from graph theory states that
a graph is Eulerian if and only if each vertex has an even degree.
Next, consider duplicating each edge in F ∗ , resulting in a graph denoted

2F . In this graph, all vertex degrees are even, making it Eulerian. As a
result, there exists an Eulerian circuit, denoted C, within 2F ∗ . This circuit
visits every vertex, possibly revisiting some multiple times. However, we are
only interested in visiting the vertices of T . To construct a relevant cycle for
T , we can ”shortcut” the Eulerian circuit C by skipping over repeated visits to
the same vertex, retaining only the first visit to each vertex of T . This process
yields a cycle, denoted H, that covers all vertices in T .
Since the cost function c adheres to the properties of a metric space, the cost
of each edge in the cycle H is no greater than the cost of the path it replaces
in the Eulerian circuit C. Given that the edges of F ∗ are used only once in C,
no edge cost is counted more than once. Therefore, we have c(H) ≤ c(C) =
c(2F ∗ ) = 2c(F ∗ ) = 2 × OP T .
Now, by removing the most expensive edge from the cycle H, we obtain a
spanning tree F̂ for T . Since the most costly( edge) in H has a( cost of)at least
|T | ·c(H), removing it ensures that c(F̂ ) ≤ 1 − |T | ·c(H) ≤ 2 1 − |T | ·OP T ,
1 1 1

thus concluding the proof.

4 Manhattan 15-Minute City Construction


Consider a graph G = (V, E) where:

• V is the set of vertices representing locations in the city (e.g., residential


areas, potential sites for amenities like schools, parks, hospitals).

8
• E is the set of edges representing possible paths or roads between these
locations.
• Each edge e ∈ E is associated with a non-negative weight c(e), represent-
ing the travel time locations.

Let T ⊆ V be the set of terminals representing critical locations that must


be connected by the infrastructure, such as key amenities (schools, hospitals,
parks and residential areas).
The Steiner tree problem seeks to find a minimum-weight tree H = (VH , EH )
in the graph G that spans all terminals in T while potentially adding additional
vertices VH ⊆ V (Steiner points) to minimize the total weight of the tree.
The objective is to minimize the total travel cost c(H) of the tree H:

min c(e)
H⊆G
e∈EH

subject to:

T ⊆ VH ⊆ V and H is a connected subgraph of G.


We consider a variant of the 15-minute city problem, which involves networks
that connect a specific set of amenities that can collectively be reached within
15 minutes. The objective is to find a rooted tree (with a designated starting
point) that minimizes the total travel cost while ensuring that the sum of the
edge weights
∑ in the tree is less than 15 minutes. Formally, the goal is to find:
minH⊆G e∈EH c(e) < 15.
The following analysis represents the pedestrian network of Manhattan, the
most densely populated and geographically smallest of the five boroughs of New
York City. Considering three services pharmacies, post offices, and supermarkets
within a 15-minute walking distance. The pedestrian network is depicted in the
figure below in light grey, while the Steiner tree edges that can be reached within
15 minutes from the specified amenities are highlighted in red.
The red lines indicate that a significant portion of Manhattan’s pedestrian
network is within a 15-minute walking distance from essential services like phar-
macies, post offices, and supermarkets. This is particularly dense in central and
southern parts of Manhattan, which are more urbanized and have a higher den-
sity of amenities. The areas highlighted in red show a well-connected pedestrian
network, ensuring that most residents in these areas have easy access to these
essential services. These data were easily obtained from Open Street Maps using
the OSMnx python] library
Secondly, the Steiner tree covers a wide area, but there are noticeable gaps
in the northern parts of Manhattan, where fewer red lines are visible. This
may indicate that fewer amenities (pharmacies, post offices, supermarkets) are
located in these areas, leading to less coverage within the 15-minute walking
radius. The central parts of Manhattan, particularly around Midtown, show a
dense concentration of red lines, suggesting a high density of amenities in these

9
Figure 1: Steiner Trees within 15 Minutes of Pharmacies, Post Offices, and
Supermarkets in Manhattan

areas. This aligns with the expected urban structure, where commercial and
service-oriented establishments are concentrated.
The G graph has 162,354 edges along with 5728 Steiner tree defined 15
minute city model with edges.The analysis reveals that most of the central and
southern parts of Manhattan are highly walkable, with residents having ac-
cess to multiple amenities within a short walking distance. This supports the
concept of a 15-minute city, where essential services are easily accessible to res-
idents on foot. The dense pedestrian network in these areas, combined with
the Steiner tree’s coverage, suggests that the infrastructure supports a walkable
environment, reducing the need for motorized transportation for daily errands.
The northern parts of Manhattan, particularly above Central Park, show less
coverage by the Steiner tree, indicating potential areas where pedestrian ac-
cess to essential services could be improved. Urban planners might focus on
increasing the availability of amenities or improving pedestrian connectivity in
these regions to enhance walkability. While the central and southern areas are

10
well-covered, it would be beneficial to conduct further analysis to identify any
specific neighborhoods that might still be underserved despite their proximity
to amenities.

5 Conclusion
In this study, we employed the Steiner tree problem and its polynomial-time
approximation to construct a 15-minute city. The Steiner tree approach allowed
us to efficiently connect a set of essential services (such as pharmacies, post of-
fices, and supermarkets) within a 15-minute walking distance, optimizing the
pedestrian network to minimize total travel time. By focusing on services and
utilizing this approximation method, we were able to create detailed and com-
putationally feasible urban layouts that support the goals of the 15-minute city.
This approach not only reduces the computational complexity but also provides
a practical tool for urban planners to design more accessible and sustainable
cities.
The proposed method broadens the scope of studies focused on the quan-
titative analysis of the 15-minute city (15-MC) concept. This method requires
significant computational resources to generate the necessary graphs, and the
runtime increases with the number of services and the size of the area being
analyzed. However, the method produces highly detailed results that can serve
as a digital model of the city. This model can be utilized to evaluate potential
solutions for improving mobility, optimizing the placement of services, and aid-
ing in urban planning. Additionally, it allows for predicting and assessing the
effectiveness of these solutions.
The analysis of the Steiner tree within 15 minutes of pharmacies, post offices,
and supermarkets in Manhattan provides valuable insights into the city’s walk-
ability and accessibility to essential services. While the central and southern
parts of Manhattan are well-served, there is potential to improve accessibility in
the northern areas. This type of analysis is crucial for urban planning, helping
to ensure that all residents have convenient access to the services they need in
their daily lives.
We can further generalize the above concept.In a multi-criteria optimization
setting, each edge e ∈ E might have multiple weights corresponding to different
criteria, such as cost, environmental impact, and travel time.
The objective
∑ is to find a tree H that minimizes a weighted sum of these
criteria:minH e∈EH (λ1 c1 (e) + λ2 c2 (e) + · · · + λk ck (e)) where λ1 , λ2 , . . . , λk are
weights representing the importance of each criterion. This will be a future di-
rection of research.

References
[1] Béla Bollobás. Modern graph theory, volume 184. Springer Science &
Business Media, 2013.

11
[2] Reinhard Diestel. Graph theory. Springer (print edition); Reinhard Diestel
(eBooks), 2024.
[3] Frank Harary. Graph theory (on Demand Printing of 02787). CRC Press,
2018.

[4] AB Sadavare and RV Kulkarni. A review of application of graph theory


for network. International Journal of Computer science and Information
technologies, 3(6):5296–5300, 2012.
[5] Leslie R Foulds. Graph theory applications. Springer Science & Business
Media, 1995.

[6] Thomas H Cormen, Charles E Leiserson, Ronald L Rivest, and Clifford


Stein. Introduction to algorithms. MIT press, 2022.
[7] Michael Batty. Urban modelling. Cambridge University Press Cambridge,
1976.
[8] Emel Dogrusoz and Selim Aksoy. Modeling urban structures using graph-
based spatial patterns. In 2007 IEEE International Geoscience and Remote
Sensing Symposium, pages 4826–4829. IEEE, 2007.
[9] Yu Liu, Jingtao Ding, Yanjie Fu, and Yong Li. Urbankg: An urban knowl-
edge graph system. ACM Transactions on Intelligent Systems and Tech-
nology, 14(4):1–25, 2023.

[10] Carlos Moreno, Zaheer Allam, Didier Chabaud, Catherine Gall, and Flo-
rent Pratlong. Introducing the “15-minute city”: Sustainability, resilience
and place identity in future post-pandemic cities. Smart cities, 4(1):93–111,
2021.

[11] Lorenzo Barbieri, Roberto D’Autilia, Paola Marrone, and Ilaria Montella.
Graph representation of the 15-minute city: A comparison between rome,
london, and paris. Sustainability, 15(4):3772, 2023.
[12] Shanqi Zhang, Feng Zhen, Yu Kong, Tashi Lobsang, and Sicong Zou. To-
wards a 15-minute city: A network-based evaluation framework. Environ-
ment and Planning B: Urban Analytics and City Science, 50(2):500–514,
2023.
[13] Frank K Hwang and Dana S Richards. Steiner tree problems. Networks,
22(1):55–89, 1992.
[14] Thorsten Koch and Alexander Martin. Solving steiner tree problems in
graphs to optimality. Networks: An International Journal, 32(3):207–232,
1998.
[15] Lawrence Kou, George Markowsky, and Leonard Berman. A fast algorithm
for steiner trees. Acta informatica, 15:141–145, 1981.

12
[16] Eden Chlamtáč, Michael Dinitz, Guy Kortsarz, and Bundit Laekhanukit.
Approximating spanners and directed steiner forest: Upper and lower
bounds. ACM Transactions on Algorithms (TALG), 16(3):1–31, 2020.

13

You might also like