# A combinatorial algorithm and its application in computing all minimum toll sets of graphs

• Samer Nofal
From the journal Open Computer Science

## Abstract

This article formalizes an algorithm that computes the minimum toll sets in an undirected graph. A core process in our algorithm is to check vertex subsets in order of size. We add a new flavor to the implementation of this process; when the k 1 -vertex subsets are already constructed, our algorithm produces the k -vertex subsets building on the k 1 -vertex subsets rather than reconstructing the k -vertex subsets from the ground up as the existing algorithms would do. Our implementation is usable in combinatorial minimization problems that require checking variable-size combinations in order of size.

## 1 Introduction

The graphs we consider in this article are finite, undirected, connected,[1] and simple. Throughout the article, we consider representing the graphs using incidence lists. Let G denote a graph ( V , E ) such that V is the vertex set, and E is the edge set. A walk in G between two vertices v 1 and v m is a sequence ( v 1 , v 2 , , v m 1 , v m ) such that { v i , v i + 1 } E for all i < m . A walk ( v 1 , v 2 , , v m 1 , v m ) is tolled in G if and only if { v 1 , v j } E for all j > 2 , and { v k , v m } E for all k < m 1 . For a subset S V , G ( S ) = { x V : u , v S such that x lies on a tolled walk between u and v } is defined to be the toll interval of S in G . A set S is called a toll set in G if and only if G ( S ) = V . A toll set S in G is minimum if its size is less than or equal to the size of every other toll set in G .

The theory of toll sets, introduced by Alcón et al. [1] and further studied by other researchers [26], is a subfield of the theory of convexity. A collection, C, of subsets of a finite set S is a convexity on S if and S are elements of C and C is closed under intersection and nested union [7]. There is considerable literature on the broad topic of convexities, see, e.g., [817].

We are unaware of any work in the literature that formalizes an algorithm for finding all minimum toll sets. This article fills this gap by systematizing an algorithm for computing all minimum toll sets of any graph. However, our contribution primarily lies in an essential process (within our algorithm) that requires checking vertex subsets with size k only if the process has finished examining all vertex subsets with size k 1 . Our implementation of this process is inspired by those existing algorithms that generate k -vertex subsets of a set with n vertices, see, e.g., [18,19]. These existing algorithms build k -vertex subsets from the ground up. Nonetheless, we add a different flavor; when the k 1 -vertex subsets are already constructed, our algorithm produces the k -vertex subsets building on the k 1 -vertex subsets rather than reconstructing the k -vertex subsets from the ground up as the existing algorithms would do. Although the idea behind this implementation is simple, the technicalities of the implementation are far from simple, as shown throughout this article. Moreover, our implementation of this core process is generally usable in combinatorial minimization problems (including graph problems) that require checking variable-size combinations in order of size.

In the remainder of this article, Section 2 discusses computing toll intervals. Then, in Section 3, we develop and analyze an algorithm for listing all vertex subsets in order of size. Section 4 presents an algorithm for computing the minimum toll sets in a given graph. Lastly, in Section 5, we conclude the article.

## 2 Computing toll intervals

To compute minimum toll sets in a given graph G , we add the toll intervals of two-vertex subsets S V . For larger groups T S , we use G ( S ) to compute G ( T ) as emphasized in Lemma 1.

## Lemma 1

Let S V be a subset of vertices in a graph G such that S > 2 . Then,

G ( S ) = u , v S G ( { u , v } ) .

## Proof

We note that

u , v S G ( { u , v } ) = u , v S { x : x lies on a tolled walk between u and v } = { x : u , v S x lies on a tolled walk between u and v } = { x : u , v S , x lies on a tolled walk between u and v } = G ( S ) .

Alcón et al. [1] defined the toll interval of a given set S V in a graph G by the union of all toll intervals of the 2-vertex subsets of S . Since our definition of toll intervals might seem different, Lemma 1 emphasizes the equivalence of the two definitions.

Now, we will describe a method for computing G ( { x , y } ) of two nonadjacent vertices x and y in a graph G . To this end, we set further definitions. For all u and v in a graph G , we say that u reaches v in G if and only if there is a walk between u and v in G . Moreover, the set N G ( u ) = { w : { w , u } E } defines the adjacent vertices of u in G . For a subset of vertices S V , G S denotes a subgraph, ( V , E ) , of G such that V = V \ S and E = E \ { { x , y } : { x , y } S } . Furthermore, we define

G ( u , v ) = { w : u reaches w in G N G ( v ) }

to be the set of reachable vertices from u but not through v ’s adjacent vertices. Then, we define

G ( v , u ) = { z N G ( v ) : w G ( u , v ) with { w , z } E }

to be v ’s adjacent vertices that are adjacent to vertices reachable from u but not via v ’s adjacent vertices. For example, take a graph with an edge set equals { { u , a } , { u , b } , { b , f } , { b , d } , { d , v } , { a , c } , { c , e } , { c , v } } . Then, G ( u , v ) = { a , b , f } , G ( v , u ) = { c , e , d } , G ( u , v ) = { a , b } , and G ( v , u ) = { c , d } .

To compare with our method of computing toll intervals (to be presented shortly in Theorem 1), we recall from the study by Alcón et al. [1] a method for identifying the vertices lying on a tolled walk between two nonadjacent vertices in a graph.

## Lemma 2

[1] A vertex v is in some tolled walk between two nonadjacent vertices x and y in a graph G if and only if N G ( x ) \ { v } does not separate v from y and N G ( y ) \ { v } does not separate v from x.

Hence, according to Lemma 2, checking if a vertex v is in some tolled walk between two nonadjacent vertices x and y can be implemented to run in time O ( E ) because it is sufficient to traverse E to decide whether v is in some tolled walk between two nonadjacent vertices x and y . Hence, computing G ( { x , y } ) can be done in O ( V E ) time because it is satisfactory to examine every vertex u V to see if u is on a tolled walk between x and y . However, next, we demonstrate that G ( { x , y } ) can be computed in O ( E ) time.

## Theorem 1

For two nonadjacent vertices x and y in a graph G,

G ( { x , y } ) = ( G ( x , y ) G ( y , x ) ) G ( x , y ) G ( y , x ) { x , y } .

## Proof

By definition,

G ( { x , y } ) = { z : z lies on a tolled walk between x and y }

G ( { x , y } ) = { z : N G ( y ) \ { z } does not separate z from x and N G ( x ) \ { z } does not separate z from y } { x , y }

G ( { x , y } ) = { z : x reaches z in G ( N G ( y ) \ { z } ) and y reaches z in G ( N G ( x ) \ { z } ) } { x , y }

G ( { x , y } ) = { z : x reaches z in G N G ( y ) and y reaches z in G N G ( x ) } { z N G ( x ) : w with { w , z } E such that y reaches w in G N G ( x ) } { z N G ( y ) : w with { w , z } E such that x reaches w in G N G ( y ) } { x , y }

G ( { x , y } ) = { z : z G ( x , y ) and z G ( y , x ) } { z N G ( x ) : w G ( y , x ) with { w , z } E } { z N G ( y ) : w G ( x , y ) with { w , z } E } { x , y }

G ( { x , y } ) = ( G ( x , y ) G ( y , x ) ) G ( x , y ) G ( y , x ) { x , y } .

For example, let G be with an edge set equals { { u , a } , { u , b } , { b , f } , { b , d } , { d , v } , { a , c } , { c , e } , { c , v } } . Then G ( u , v ) = { a , b , f } , G ( v , u ) = { c , e , d } , G ( u , v ) = { a , b } , G ( v , u ) = { c , d } , and hence G ( { u , v } ) = { a , b , c , d , u , v } .

## Corollary 1

For two nonadjacent vertices x and y in a graph G, G ( { x , y } ) can be computed in O ( E ) time.

## Proof

To compute G ( x , y ) , traverse the whole graph. So, applying a depth-first search to G is satisfactory to find those vertices reachable by x but not through y ’s adjacent vertices. Similarly, for computing G ( x , y ) , a depth-first search can find the x ’s adjacent vertices that are adjacent to vertices reachable from y but not via x ’s adjacent vertices. Referring to Theorem 1, to compute G ( x , y ) , one can run a depth-first search four times, which means G ( x , y ) can be computed in O ( E ) time.□

## 3 Gradual generation of vertex subsets in order of size

To find the minimum toll sets of a graph G , we compute the toll intervals of vertex subsets, starting from the smallest subset to the largest one. Once we reach a subset S V with G ( S ) = V , we report that S is a minimum toll set in G , and subsequently, there is no need to compute toll intervals of sets larger than S . Let us focus on enumerating subsets, S , of V in ascending order concerning S . For a subset S V , we denote by T V \ S the forbidden set such that we aim to enumerate all S S with S T = . Moreover, we denote by C = V \ ( S T ) the candidate set such that we aim to enumerate all S S with S \ S C . S , T , and C are pairwise disjoints, and their union equals V . To enumerate the subsets of V in ascending order, we employ two partial mappings Q : N 2 V and : N 2 V to hold the vertex subsets and the corresponding forbidden sets, respectively. For example, if V = { a , b , c } , then

Q = { ( 1 , ) , ( 2 , { a } ) , ( 3 , { b } ) , ( 4 , { c } ) , ( 5 , { a , b } ) , ( 6 , { a , c } ) , ( 7 , { b , c } ) , ( 8 , { a , b , c } ) }

and = { ( 1 , ) , ( 2 , ) , ( 3 , { a } ) , ( 4 , { a , b } ) , ( 5 , ) , ( 6 , { b } ) , ( 7 , { a } ) , ( 8 , ) } .

Observe that Q contains all subsets of { a , b , c } ordered from the smallest subset to the largest one, whereas includes the forbidden sets that correspond to their counterparts in Q . To see the connection between Q and , note, for instance, that combining Q ( 3 ) with every vertex in V \ ( Q ( 3 ) ( 3 ) ) will produce a new subset: Q ( 7 ) .

Our subset enumeration process is formalized in Algorithm 1.

Algorithm 1. Listing vertex subsets in order of size
input: V , the set of vertices in a given graph G = ( V , E ) .
output: Q , a sequence of V subsets sorted in ascending order concerning subset size.
1 Let Q : N 2 V and : N 2 V be partial mappings;
2 Q { ( 1 , ) } ; { ( 1 , ) } ; α 2 ; β 2 ; S ; T ;
3 repeat
4 C V \ ( S T ) ;
5 while C do
6 Let v C ;
7 Q Q { ( β , S { v } ) } ;
8 { ( β , T ) } ;
9 β β + 1 ;
10 T T { v } ;
11 C V \ ( S T ) ;
12 S Q ( α ) ; T ( α ) ; α α + 1 ;
13 until α = β

The application of Algorithm 1 will include different states of the employed data structures: S , T , C , α , β , Q , and . Therefore, let R i denote the elements of a set R at some state i of Algorithm 1. Likewise, let x i denote the value of a positive integer x at some state i of Algorithm 1. More specifically, we define a state i of Algorithm 1 by the collection of variable values in effect when the execution of the algorithm has reached line 5 (the while statement) for the i th time. From now on, whenever we say “state,” we mean a state of Algorithm 1. Thereby, at the starting state of the algorithm, it holds that Q 1 = { ( 1 , ) } , 1 = { ( 1 , ) } , S 1 = , T 1 = , C 1 = V , α 1 = 2 , and β 1 = 2 (see line 2 in the algorithm). For all i 1 ,

C i = V \ ( S i T i ) ,

Q i + 1 = Q i { ( β i , S i { v } i ) } ,

i + 1 = i { ( β i , T i ) } ,

β i + 1 = β i + 1 ,

T i = i ( α i ) if C i = ; otherwise T i + 1 = T i { v } i ,

S i = Q i ( α i ) ,

α i + 1 = α i + 1 .

Next, we show that Algorithm 1 lists the subsets of a given vertex set.

## Theorem 2

Let V = { 1 , 2 , 3 , , j } be the vertex set of a given graph G. Algorithm 1 computes all subsets of V.

## Proof

Let n be a positive integer denoting the last state of Algorithm 1, thus C n = and α n = β n ; and let P j denote the power set of V = { 1 , 2 , 3 , , j } , and P 0 denote the power set of . We need to show that

k = 1 β n 1 { Q n ( k ) } = P j .

To this end, we will first establish that for all i ,

k = 1 β i 1 { Q i ( k ) } P j .

For i = 1 , it is the case that β 1 = 2 (see line 2 in Algorithm 1). Hence,

k = 1 1 { Q 1 ( k ) } = { } P j .

Now, we show that for every state i , it holds that

k = 1 β i 1 { Q i ( k ) } P j k = 1 β i { Q i + 1 ( k ) } P j .

Note that β i + 1 1 = β i + 1 1 = β i . Referring to line 7 in Algorithm 1, we observe that for all i ,

Q i + 1 = Q i { ( β i , S i { v } i ) } .

Subsequently, for all i ,

k = 1 β i { Q i + 1 ( k ) } = { S i { v } i } k = 1 β i 1 { Q i ( k ) } .

Referring to line 12 in Algorithm 1 and observing that α i β i for all i , it is the case that

S i k = 1 β i 1 { Q i ( k ) } for all i .

Since for every i

{ v } i P j , k = 1 β i 1 { Q i ( k ) } P j , and

k = 1 β i { Q i + 1 ( k ) } = { S i { v } i } k = 1 β i 1 { Q i ( k ) } ,

it holds that for all i ,

k = 1 β i { Q i + 1 ( k ) } P j .

This completes the proof of our earlier implication. Next, we demonstrate that for all nonnegative integers r j ,

P r k = 1 β n 1 { Q n ( k ) } .

To this end, we observe that

P r = { } , if r = 0 , P r 1 { { P { r } } P P r 1 } , if 1 r j .

Since Q 1 ( 1 ) = (line 2 in Algorithm 1), Q n ( 1 ) = holds at the final state n . Consequently, it is the case that

P 0 k = 1 β n 1 { Q n ( k ) } .

Now, we need to show that for all nonnegative integers r j ,

P r k = 1 β n 1 { Q n ( k ) } P r + 1 k = 1 β n 1 { Q n ( k ) } .

Using the definition of P r , write the consequence of the implication as follows:

P r P P r { P { r + 1 } } k = 1 β n 1 { Q n ( k ) } .

Assume that the premise of the implication holds. Hence, to establish the consequence of the implication, it suffices to show that for all P P r ,

P { r + 1 } k = 1 β n 1 { Q n ( k ) } .

Referring to the premise of the implication, for all P P r , it holds that

P k = 1 β n 1 { Q n ( k ) } .

Thus, for every P P r , there exists a state i < n such that S i = P (see line 12 in Algorithm 1) with

S i { v } i k = 1 β n 1 { Q n ( k ) } for all v V \ ( S i T i )

(see lines 4, 6, 7, 10, and 11 in Algorithm 1). Recall that r + 1 V \ P , hence r + 1 V \ S i . Therefore, if r + 1 T i , then it is the case that P { r + 1 } k = 1 β n 1 { Q n ( k ) } . However, according to the algorithm’s actions (see lines 12, 4, 6, 7, 8, and 10), if r + 1 T i , then there is j < i such that Q j ( β j ) \ P = { r + 1 } with P \ Q j ( β j ) = { x } and x j ( β j ) ; subsequently, { x } Q j ( β j ) k = 1 β n 1 { Q n ( k ) } . We observe that { x } Q j ( β j ) = P { r + 1 } .□

## Theorem 3

For any graph G, Algorithm 1 runs in O ( V 2 V ) time.

## Proof

For the inner (while) loop, iterations are performed at maximum V if C = V . For the outer (repeat) loop, it suffices to prove that Q n = 2 V , where n denotes the last state of Algorithm 1. In Theorem 2, we demonstrated that Q n includes only the subsets of V . So, we establish Q n = 2 V if we show that

i { 1 , 2 , 3 , , n } , j { 1 , 2 , 3 , , β i 1 } , k { 1 , 2 , 3 , , β i 1 } with k j ,

Q i ( j ) Q i ( k ) .

Notably, this is true when i = 1 . Now, we need to show that for all i { 1 , 2 , , n 1 } , it is the case that

j { 1 , 2 , , β i 1 } , k { 1 , 2 , , β i 1 } with k j , Q i ( j ) Q i ( k ) j { 1 , 2 , , β i + 1 1 } , k { 1 , 2 , , β i + 1 1 } with k j , Q i + 1 ( j ) Q i + 1 ( k ) .

We assume that the premise of this implication holds. Then, we observe that

Q i + 1 = Q i { ( β i , S i { v } i ) } (see line 7 in Algorithm 1).

Hence, to establish the consequence of the implication, it suffices to show that

m { 1 , 2 , 3 , , β i 1 } , Q i ( m ) S i { v } i .

For m = 1 , it holds that Q i ( 1 ) S i { v } i ; recall Q i ( 1 ) = (line 2 in Algorithm 1), and { v } i (lines 4–6 in Algorithm 1). Now, we need to prove that for all m { 1 , 2 , 3 , , β i 2 } , it is the case that

r { 1 , 2 , , m } Q i ( r ) S i { v } i r { 1 , 2 , , m + 1 } Q i ( r ) S i { v } i .

We assume that the premise of this implication holds. To prove that the consequence holds, we need to show that

Q i ( m + 1 ) S i { v } i .

For the purpose of establishing a contradiction, we suppose

Q i ( m + 1 ) = S i { v } i .

Thus, for all r < m + 1 , it holds that Q i ( r ) S i { v } i . Thereby, according to lines 7 and 12 of Algorithm 1 there exists x < m + 1 such that

Q i ( m + 1 ) Q i ( x ) , Q i ( m + 1 ) = Q i ( x ) + 1 , and Q i ( x ) S i { v } i .

Now, we identify the following two cases:

• If Q i ( x ) = S i , then the union S i { v } i is used twice: for constructing Q i ( m + 1 ) and later for creating Q i + 1 ( β i ) . This is impossible since once S i { v } i is associated with Q i ( m + 1 ) , { v } i is transferred from the candidate set to the forbidden set (see lines 7, 8, 10, and 11 in Algorithm 1).

• If Q i ( x ) S i { v } i , S i { v } i Q i ( x ) = 1 , and Q i ( x ) { v } i , then S i and Q i ( x ) differ in one element. Thus, for some w < x , it is the case that Q i ( w ) = Q i ( x ) \ { v } i = S i \ ( S i \ Q i ( x ) ) , which means that S i Q i ( x ) = Q i ( w ) . New elements of Q are created from existing ones (lines 7 and 12 in Algorithm 1). According to line 12 in Algorithm 1, we observe that S i = Q i ( z ) for some z > x . This is because m + 1 < β i , which requires (by the algorithm’s actions at lines 7 and 12) that Q i ( m + 1 ) Q i ( x ) is constructed before making Q i + 1 ( β i ) = S i { v } i , and hence Q i ( x ) is created before Q i ( z ) = S i . Subsequently, constructing Q i ( z ) = S i by adding a vertex to Q i ( w ) entails that i ( z ) { v } i since { v } i is already used in building Q i ( x ) = Q i ( w ) { v } i , see lines 7, 8, and 10 in Algorithm 1. Thus, it is the case that

{ v } i V \ ( S i T i )

as T i = i ( z ) (line 12 in Algorithm 1). Nonetheless, to set Q i + 1 ( β i ) = S i { v } i , according to lines 5 and 6 in Algorithm 1, it requires that

{ v } i V \ ( S i T i ) .

## Theorem 4

For a graph G, Algorithm 1 enumerates all subsets, V , of V in ascending order concerning V .

## Proof

For the initial state, Q 1 has one pair, which is ( 1 , ) (see line 2 in Algorithm 1). Thus, we need to show that for all states n 2 , it is the case that

m { 1 , 2 , 3 , , Q n 1 } , Q n ( m + 1 ) Q n ( m ) .

This is true for n = 2 (see lines 2 and 7 in Algorithm 1). Now, we show that for all states k 2 , it holds that

m { 1 , 2 , 3 , , Q k 1 } Q k ( m + 1 ) Q k ( m )

t { 1 , 2 , 3 , , Q k + 1 1 } Q k + 1 ( t + 1 ) Q k + 1 ( t ) .

Referring to line 7 in Algorithm 1, we note that for all k 2 , Q k + 1 = Q k + 1 . Assuming that the premise of the implication holds, we establish the consequence if we show that

Q k + 1 ( Q k + 1 ) Q k + 1 ( Q k ) .

Let γ k denote Q k . Then, we need to show that

Q k + 1 ( γ k + 1 ) Q k + 1 ( γ k ) .

According to line 7 in Algorithm 1, this is equivalent to

Q k + 1 ( γ k + 1 ) Q k ( γ k ) ,

which can be rewritten as follows:

S k { v } k S k 1 { v } k 1 .

This inequality is true if and only if S k S k 1 . Using line 12 in Algorithm 1,

p with 1 p γ k such that S k = Q k ( p ) and,

q < p such that S k 1 = Q k ( q ) .

Recall the premise of the implication:

m { 1 , 2 , 3 , , γ k 1 } Q k ( m + 1 ) Q k ( m ) .

Consequently, S k S k 1 .□

## 4 Computing the minimum toll sets in a graph

We give Algorithm 2, which computes the minimum toll sets in a graph.

Algorithm 2: Computing all minimum toll sets
input: A graph G = ( V , E ) .
output: The minimum toll sets in G .
1 Let Q : N 2 V and : N 2 V be partial mappings;
2 Q { ( 1 , ) } ; α 2 ; β 2 ; { ( 1 , ) } ; S ; T ; X V ;
3 repeat
4 C V \ ( S T ) ;
5 while C do
6 Let v C ;
7 Q Q { ( β , S { v } ) } ; { ( β , T ) } ; β β + 1 ; T T { v } ;
8 C V \ ( S T ) ;
9 S Q ( α ) ; T ( α ) ; α α + 1 ;
10 if S > X then terminate and exit the algorithm;
11 P ; S S ;
12 while S do
13 Let x S ; S S \ { x } ;
14 foreach y S do P P G ( { x , y } ) ;
15 if P = V then
16 X S ;
17 report that S is a minimum toll set in G ;
18 until α = β

## Theorem 5

Algorithm 2 computes the minimum toll sets of a graph G.

## Proof

The correctness of Algorithm 2 follows immediately from our earlier arguments. Observe that Algorithm 2 combines Algorithm 1 and the process demonstrated in Lemma 1 and Theorem 1; this process is included within lines 10–17 in Algorithm 2. The rest of Algorithm 2 (lines 1–9 and 18) echoes Algorithm 1.□

## Theorem 6

For a graph G with m vertices and a minimum toll set of size k, Algorithm 2 runs in time O ( k 2 m k + 1 k ! ) .

## Proof

If k is the size of a minimum toll set in G , the repeat loop (at line 3 in the algorithm) will not check a vertex subset S with a size larger than X , which is the size of an already found toll set (see line 10 in Algorithm 2). In other words, if a k -vertex subset is a minimum toll set in G , the algorithm checks V subsets of size less than or equal to k . This means that the algorithm will check i = 2 k m i subsets, which is in O ( m k k ! ) . The while loop (at line 12 in the algorithm) runs in the order of S , which is upper-bounded by k . Similarly, the loop at line 14 runs in the order of k m ; note that we process a subset S with a size less than or equal to k and apply the union operation in O ( m ) time. In summary, the repeat loop iterates O ( m k k ! ) times, the inner while loop iterates O ( k ) times, and the innermost foreach loop iterates O ( k m ) times. Therefore, the algorithm runs in time O ( k 2 m k + 1 k ! ) . Referring to line 14, we observe that the toll intervals of the 2-vertex subsets of the graph can be computed before Algorithm 2 is started in polynomial time (see Corollary 1).□

Regarding the space requirements of Algorithm 2, the following statement follows immediately from the proof of Theorem 6.

## Corollary 2

For a graph G with m vertices and a minimum toll set with size k, Algorithm 2 runs in space O ( m k k ! ) .

## 5 Conclusion

We developed an algorithm for computing all minimum toll sets of any graph. An essential process in our algorithm entails checking vertex subsets with size k only if the algorithm is finished examining all vertex subsets with size k 1 . Our implementation of this process is built on traditional methods that generate k -vertex subsets of a set of n vertices. The existing techniques create k -vertex subsets from the ground up. Nonetheless, we add a different flavor; when the k 1 -vertex subsets are already constructed, our algorithm produces the k -vertex subsets building on the k 1 -vertex subsets rather than reconstructing the k -vertex subsets from the ground up as the traditional methods would do. Our implementation of this process is generally usable in combinatorial minimization problems (including graph problems) that require checking variable-size combinations in order of size. Nevertheless, the obvious limitation of our implementation is the space needed to hold the k 1 -vertex subsets.

## Acknowledgement

We thank the anonymous referees for their helpful comments that improved the presentation of the article.

1. Conflict of interest: The author states that there is no conflict of interest.

2. Data availability statement: This study uses no data.

## References

[1] L. Alcón, B. Brešar, T. Gologranc, M. Gutierrez, T. K. Šumenjak, I. Peterin, and A. Tepeh, “Toll convexity,” European Journal of Combinatorics, vol. 46, pp. 161–175, 2015. 10.1016/j.ejc.2015.01.002Search in Google Scholar

[2] M. C. Dourado, “Computing the hull number in toll convexity,” Annals of Operations Research, vol. 315, no. 1, pp. 121–140, 2022. 10.1007/s10479-022-04694-4Search in Google Scholar

[3] T. Gologranc and P. Repolusk, “Toll number of the strong product of graphs,” Discrete Mathematics, vol. 342, no. 3, pp. 807–814, 2019. 10.1016/j.disc.2018.11.007Search in Google Scholar

[4] T. Gologranc and P. Repolusk, “Toll number of the cartesian and the lexicographic product of graphs,” Discrete Mathematics, vol. 340, no. 10, pp. 2488–2498, 2017. 10.1016/j.disc.2017.06.007Search in Google Scholar

[5] R. L. Arco and S. R. Canoy Jr, “Forcing toll convexity numbers of some products of graphs,” Advances and Applications in Mathematical Sciences, vol. 17, no. 5, pp. 401–416, 2018. Search in Google Scholar

[6] T. Dravec, “On the toll number of a graph,” Discrete Applied Mathematics, vol. 321, pp. 250–257, 2022. 10.1016/j.dam.2022.07.006Search in Google Scholar

[7] M. van de Vel, Theory of Convex Structures. North-Holland: Elsevier, 1993. Search in Google Scholar

[8] M. M. Choban, “About convex structures on metric spaces,” Carpathian Journal of Mathematics, vol. 38, no. 2, pp. 391–404, 2022. 10.37193/CJM.2022.02.10Search in Google Scholar

[9] U. C. SV, M. C. Dourado, and M. G. Thankachy, “Computational and structural aspects of the geodetic and the hull numbers of shadow graphs,” Discrete Applied Mathematics, vol. 307, pp. 50–61, 2022. 10.1016/j.dam.2021.10.005Search in Google Scholar

[10] B. Pang, “Hull operators and interval operators in (l, m)-fuzzy convex spaces,” Fuzzy Sets and Systems, vol. 405, pp. 106–127, 2021. 10.1016/j.fss.2019.11.010Search in Google Scholar

[11] L. M. Del Pezzo, A. Quaas, and J. D. Rossi, “Fractional convexity,” Mathematische Annalen, vol. 383, no. 3–4, pp. 1687–1719, 2022.10.1007/s00208-021-02254-ySearch in Google Scholar

[12] D. Anderson, P. Bankston, and A. McCluskey, “Convexity in topological betweenness structures,” Topology and Its Applications, vol. 304, pp. 1077–83, 2021. 10.1016/j.topol.2021.107783Search in Google Scholar

[13] P. Neethu and U. C. SV, “A note on the convexity number of the complementary prisms of trees,” Discrete Applied Mathematics, vol. 319, pp. 480–486, 2022.10.1016/j.dam.2021.07.033Search in Google Scholar

[14] J. Gimbel, “Some remarks on the convexity number of a graph,” Graphs and Combinatorics, vol. 19, no. 3, pp. 357–361, 2003. 10.1007/s00373-002-0518-4Search in Google Scholar

[15] M. C. Dourado, F. Protti, and J. L. Szwarcfiter, “Complexity results related to monophonic convexity,” Discrete Applied Mathematics, vol. 158, no. 12, pp. 1268–1274, 2010. 10.1016/j.dam.2009.11.016Search in Google Scholar

[16] M. M. Kanté and L. Nourine, “Polynomial time algorithms for computing a minimum hull set in distance-hereditary and chordal graphs,” SIAM Journal on Discrete Mathematics, vol. 30, no. 1, pp. 311–326, 2016. 10.1137/15M1013389Search in Google Scholar

[17] P. Duchet, “Convex sets in graphs, ii. minimal path convexity,” Journal of Combinatorial Theory, Series B, vol. 44, no. 3, pp. 307–316, 1988. 10.1016/0095-8956(88)90039-1Search in Google Scholar

[18] D. L. Kreher and D. R. Stinson, Combinatorial Algorithms: Generation, Enumeration, and Search. Boca Raton: CRC Press, 1998. Search in Google Scholar

[19] A. Nijenhuis and H. S. Wilf, Combinatorial Algorithms: For Computers and Calculators. New York: Academic Press, 1978. Search in Google Scholar