The other major aspect of this work lies in the analysis of the graph from a dynamic point of view. In this regard, this methodology allows enhancement of estimations regarding the accessibility and cohesion of the different vertexes in the graph (in relation to the static study). The main reason for this lies in the fact that dynamic study of the graph considers not only the number of vertexes and edges (*υ*, *ϵ*), but also the cost value for each direct connection between the vertex or node *i* and vertex or node *j* within the graph. Considering that accessibility is defined as the facility of access from any point within the network to another, it seems appropriate to use the distance (*d*), measureed in meters, to quantify the cost between two connected vertexes. Thus, the cost matrix for each connected vertex on the graph was calculated as shown in Eq. (9).
$$\begin{array}{}C(i,j)=\left\{\begin{array}{}d(i,j)\phantom{\rule{1em}{0ex}}\text{if}\phantom{\rule{1em}{0ex}}(i,j)],\text{\hspace{0.17em}are linked}\\ 0\phantom{\rule{2em}{0ex}}\phantom{\rule{1em}{0ex}}\text{if}\phantom{\rule{1em}{0ex}}i=j\\ \mathrm{\infty}\phantom{\rule{2em}{0ex}}\phantom{\rule{thinmathspace}{0ex}}\phantom{\rule{thinmathspace}{0ex}}\phantom{\rule{thinmathspace}{0ex}}\text{if}\phantom{\rule{1em}{0ex}}(i,j)\phantom{\rule{thinmathspace}{0ex}}\text{\hspace{0.17em}are not linked}\end{array}\right.\end{array}$$(9)

Moreover, the assessment of whole dynamic markers are based on computing the shortest path of the vertexes in the graph, *i.e*., finding a path between two nodes in a graph such that the sum of the costs of the edges forming the path is minimized. To resolve the shortest path problem, there exist different algorithms (Dijkstra, Bellman-Ford, A^{*}, Floyd-Warshall, etc.) which provide the minimum cost matrix defined by *Θ* ∊ ℜ^{υ × υ}, where each number defined in the matrix by the pair of indexes (*i*, *j*) contains the shortest path between the node origin *i* and the node destiny *j*.

Given the network proportions regarding the number of vertexes involved, the Floyd-Warshall algorithm was considered optimal to calculate *Θ* because of its simplicity and easy programming. This algorithm uses the matrix *C* computed previously as its input argument and also uses it to initialize the output matrix *Θ* such that *Θ* = *C*. Next, in each interaction, the matrix *Θ* is recalculated so it contains costs of paths among all pairs of nodes (*i*, *j*), using progressively enlarging sets of intermediate nodes defined by the variable *k*. Thus, the matrix *Θ* is rewritten in the first iteration, containing cost values among all the pairs of nodes, using exactly only one intermediate predefined node (*k* = 1). In the second iteration, the matrix *Θ* is redefined again with the resulting costs using two predefined intermediate nodes (*k* = 2). Finally, the algorithm finishes when the number of intermediate predefined nodes is equal to the total number of vertexes in the graph (*k* = *υ*). This procedure can be summarized though the recursive equation shown in Eq. (10).
$$\begin{array}{}{\mathit{\Theta}}_{\text{i,j}}^{\text{k}}:=min({\mathit{\Theta}}_{\text{i,j}}^{\text{k}-1},{\mathit{\Theta}}_{\text{i,k}}^{\text{k}-1}+{\mathit{\Theta}}_{\text{k, j}}^{\text{k}-1})\end{array}$$(10)

Once the matrix *Θ* is computed, several dynamic features found in the literature can be used to estimate the accessibility and cohesion level in the network. In this regard, the graph’s diameter corresponds to the longest distance from one vertex to another anywhere in the shortest path matrix. Moreover, the Shimbel index (*Ψ*), or the index of actual accessibility, is defined as the summation of costs between each vertex and the rest of the vertexes within the shortest path matrix, and can be expressed mathematically as shown in Eq. (11). This index is useful for finding out the core node in the network such that the lowest *Ψ* values correspond with the most accessible vertexes and the highest *Ψ* values correspond with the least accessible nodes.
$$\begin{array}{}{\mathit{\Psi}}_{\text{i}}={\displaystyle \sum _{j=1}^{\upsilon}{\mathit{\Theta}}_{i,j},\phantom{\rule{1em}{0ex}}i=1,\dots ,\upsilon}\end{array}$$(11)

Given that the *Ψ* calculation depends on the number of vertexes *υ* in the network, comparison with other networks is hardly possible. Consequently, the Shimbel index is usually normalized for the number of nodes in the network, resulting in the relative accessibility index defined mathematically as shown in Eq. (12). It is important to remark that the relative accessibility closest to zero corresponds to the core node.
$$\begin{array}{}{\mathit{\Omega}}_{\text{i}}={\displaystyle \frac{{\mathit{\Psi}}_{i}-min(\mathit{\Psi})}{max(\mathit{\Psi})-min(\mathit{\Psi})}\times 100}\end{array}$$(12)

Finally, to detect nodes with a low and high accessibility, mean and standard deviation are usually applied to these indexes, such that indexes below the mean minus once or twice the standard deviation have a high accessibility and those above the mean plus once or twice the standard deviation are considered as poorly accessible.

In order to calculate both static and dynamic indexes, mathematical software (Matlab) was used for programming the DAN function. Given the dimension of the transport networks (249 rows and 249 columns), automation of this process is required. A fragment of the DAN function is shown in Listing 1.

**Listing 1**: A fragment of DAN function programmed with Matlab

%*Global variables*;

C = Cost_Matrix();

max1 = 0;

maxn = 0;

node1 = 0;

node2 = 0;

noden1 = 0;

table_acceskm = **zeros**(**length**(C), 6);

**for** i = 1:**length**(C)

**for** j = 1:**length**(C)

**if** C(i, j) == inf

C(i, j) = 0; % *filtering* ...

**end**

*% max diameter in the network*

**if** C(i, j) > max1

max1 = C(i, j);

nodo1 = i;

nodo2 = j;

**end**

*% max diameter for each node*

**if** C(i, j) > maxn

maxn = C(i, j);

**end**

**end**

*%Accessibility indexes*

table_acceskm(i, 1) = i;

*% vertexes*

table_acceskm(i, 2) = **sum**(C(i, :));

*% Shimbel index*

table_acceskm(i, 3) = maxn;

*% Diameter*

table_acceskm(i, 4) = **sum**(C(i,:)) / N;

*% Average length*

maxn=0;

nodon1=0;

**end**

*% Relative accessibility (Omega %100)*

M = **max**(tabla_acceskm(:, 2));

*% max Shimbel index;*

m = **min**(tabla_acceskm(:, 2));

*% min Shimbel index;*

**for** i = 1:**length**(C)

tabla_acceskm(i, 5) = ...

((table_acceskm(i, 2) - m) / ...

(M - m)) * 100;

**end**

.

.

.

## Comments (0)

General note:By using the comment function on degruyter.com you agree to our Privacy Statement. A respectful treatment of one another is important to us. Therefore we would like to draw your attention to our House Rules.