# Towards Exploration ofSocial in Social Internet of Vehicles Using an Agent-Based Simulation

Authors: Kashif Zia; Arshad Muhammad; Abbas Khalid; Ahmad Din; Alois Ferscha
Journal: Complexity
 (2019)

---

## Abstract

Internet of Vehicles (IoV) is turning out to be one of the first impressive examples of Internet of Things (IoT). In IoV, the factors of connectivity and interaction/information dispersion are equally important as sensing/actuating, context-awareness, services provisioning, etc. However, most of the researches related to connectivity and interaction are constrained to physics of signaling and data science (semantics/contents), respectively. Very rapidly, the meanings of these factors are changing due to evolution of technologies from physical to social domain. For example, Social IoV (SIoV) is a term used to represent when vehicles build and manage their own social network. Hence, in addition to physical aspects, the social aspects of connectivity and information dispersion towards these systems of future should also be researched, a domain so far ignored in this particular context. In this paper, an agent-based model of information sharing (for context-based recommendations) of a hypothetical population of smart vehicles is presented. Some important hypotheses are tested under reasonable connectivity and data constraints. The simulation results reveal that closure of social ties and its timing impacts the dispersion of novel information (necessary for a recommender system) substantially. It is also observed that as the network evolves due to incremental interactions, the recommendations guaranteeing a fair distribution of vehicles across equally good competitors is not possible.


---

## Body

## 1. Introduction

The latest manifestation of “all connected world” is IoT [1]. Following “Internet of-" idiom, Internet of Vehicles (more popularly known as Vehicular Internet of Things (VIoT)) is ready to be visible soon, which in addition to having strong connection with IoT builds on already deployed technologies, such as Vehicular Ad hoc NETworks (VANETs) [2] and Vehicular Social Networks (VSN) [3]. However, the conception of VIoT is well beyond the state-of-the-art and ready to leap into a chasm of possibilities, recently termed as Social Internet of Vehicles (SIoV) [4], whereby vehicles build and manage their own social network.Just like social networking opening up a plethora of new recommendation applications, SIoV has an unlimited potential of changing what we do and how we live. It can be used to recommend location- and profile-based services, including finding trustworthy services [5, 6], vehicles navigation and monitoring [7–9], managing network access [10], targeted advertising [11, 12], drivers behavior modeling [13], and more. Although, these examples are mostly related to the vehicular networking, but we can easily imagine a broader perspective wherever recommendation services in a dynamic and evolving network of objects is involved, such as social networking, IoT, Wireless Sensor Network (WSN), microrobotics, etc. Hence, the findings of this paper can be applied to any other related domain equally well.All technologies (at least for now) designed to be subservient to humanity always have an intrinsic attachment with its users, drivers and passengers in case of SIoV. Therefore, when a vehicle is part of SIoV, it must build and deploy its network (of vehicles) in order to accomplish users’ goals. But then the resolution of the dichotomy of vehicular and human social network turns out to be a real challenge. The model proposed in this paper builds on belief that the evolution of intervehicle social network can be realized by examining the characteristics of human social network. In this paper, we investigate interfacing of these two kinds of networking and the extent of users’ satisfaction with respect to their goal achievement, while making use of vehicular networking. In a nutshell, the focus of the paper is on investigating the potential of vehicular social networking towards achieving human goals. We perform this research by designing an agent-based model and simulating it in various conditions.The study revolves around researching about competence of SIoV for providing accurate recommendations to the users in a dynamically changing environment. The changes occur in resources’ quality and network dynamics. The concept behind the model makes use of basic assumptions about IoT connectivity, principles of social network evolution, and users profiling. Some interesting what-if questions are asked against a couple of intuitive hypotheses.The remainder of the paper is structured as follows. In Section2, we present the related work in detail, followed by scenario section (including research hypotheses). The proposed model is explained in Section 4. Simulation settings and the analysis of the simulation results are presented in Section 5 followed by Section 6, which provides discussion about hypotheses and conclusion of the paper.


## 2. Related Work

With the increase in vehicles coupled with IoT [14], the traditional VANETs are transforming into the IoV. IoV is an advanced shape of modern vehicles equipped with sensors thereby constituting a communication system which can receive and transmit information useful for navigation and traffic management [15]. Another technology is VSN where passengers can exchange data related to entertainment, social networks, and situations [3]. Further the evolutionary pathway is the SIoV, which originated [16] as an application, engaging human social behavior into physical vehicular networks. Later, it attained a more general form in which it is considered to be a network of vehicles in which vehicles build and manage their own social network [17].The first social networking framework for the commuters called RoadSpeak was presented by the Smaldone et al. [16] and named as a VSN. The people traveling along the same road can dynamically form interest groups or social communities based on spatial and temporal preferences/interests to share messages using a chat application. SocialDrive [18] is a crowdsourcing-based VSN for the socialization of the drivers to be aware of their driving status/behavior, which may lead to improve their safety and reduce fuel consumption. This framework leverages traditional social networks and cloud computing. Other VSNs based on traditional social networks includes [19], where drivers may share their driving experiences with other drivers in social groups. These experiences of drivers are further aggregated based on temporal and spatial context. In Roadcast [20], vehicles share content based on the query. A vehicle can query other vehicles in a network. The system returns the highly matched content based on keywords; therefore, the result may not always be relevant or useful, but it may be useful in the future for the other vehicles. However, in [21] vehicles spread the queries in a VSN, which pushes the potentially useful data in a bounded time towards the vehicles. Yasr et al. [22] studied information sharing in the VSNs through social relations that ensure relevant and reliable information has to be shared. Furthermore, information can be reliably shared in social groups in terms of trust [23].VSNs have been modeled and evaluated based on agent-based methodology. For example, a semantic-based multiagent platform was presented in [24], which integrates semantic techniques and software agents to provide a framework for VSN applications. This work was extended by the authors in [25] which provides a service-oriented VSN platform that enables commuters to improve transportation efficiency by collaboration, including context-aware mechanism to predict traffic congestion. An agent-based architecture for a swarm of socially aware IoV called social vehicle swarms is proposed in [26], which leverages the agent-based modeling, big data, and cloud computing to analyze and reveal hidden patterns in social relationships. The Social Internet of Things (SIoT) [27] enables IoT device to establish a social-like relationship to create social groups/communities based on common goals and interests. Most of the research work described above does not comply with SIoT philosophy in which objects are main social entities. However, SIoV is an application of SIoT in vehicular networks, where vehicles are social objects [28]. A middleware for SIoV was proposed by [29], which extends the intelligent transportation system (ITS) station for SIoT. Moreover, [15] presents a detailed architecture for the SIoV, which outlines the main components, interrelations objects, and defines interactions. TNote [30] is a social network of vehicles, which defines the key aspects of the social structure of vehicles, their interactions, and relationships. This framework helps the vehicles to share efficiency and safety-related notes in communities.In [31], authors have proposed an architecture that incorporates moral and ethical rules in SIoV. Traditional Social Network (SN) has been linked to SIoV using big data analytics by the [32]; furthermore, it addresses the privacy and security issues including accessibility attacks, privacy attacks, data genuineness attacks, and routing attacks. In [33], authors have proposed a social big-data-based content dissemination approach, which combines information of both social layer and a physical layer for optimized information sharing. S-Aframe [34] is an agent-based multilayer framework with context-aware semantic service that utilizes the context information and provides a high-level platform for the development of applications for SIoV of drivers, passengers, and pedestrians. Butt et al. [35] proposed an architecture, which provides a foundation for the development of SIoV applications using Restful web technologies. Currently, SIoV is in its evolution stage; thus, enabling technologies and protocols, e.g., sensors, On-Board Unit (OBU), machine learning [36, 37], image processing [38], communication technologies, etc., require extensive research to develop a comprehensive architecture for it. SIoV has brought many challenges, such as to establish right social connectivity to right vehicle because the vast amount of data is being generated by these social networks and moreover issue it to provide right service the users and to disperse context-aware relevant information [34]. To this end, it should enable people to collaborate seamlessly and read social content, e.g., recommendations, that enable travelers to experience the locale in a social context. A survey of the recent advancement, architectures, and challenges in a social network of vehicles is presented in [39].However, all the presented papers have not addressed the incentive mechanism in SIoV to ensure cooperative involvement of users. It is linked to the selfishness of the users [40]; therefore, we argue that users cooperate for common interests and useful recommendations; furthermore, it works as positive feedback in a whole system in sense of user’s goal achievement and improvements in productivity that stabilize the SIoV. In this paper we have studied information dissemination in terms of recommendation system which is entangled to the user’s goals and quality of experience that leads to successful SIoV strategies. This work is the continuation of our previously published work [41, 42].


## 3. Scenario and Research Hypothesis

Most of our time during the weekdays is consumed in traveling between home, work, school, and shopping. Drivers use ample applications such as navigators [43] to reduce the travel time or to switch between various possible choices. Recently, Location Based Social Networks (LBSN) [44] such as Google maps and Facebook Places have gained significant attention, where people can share their physical locations, experiences, ratings, etc. In the sequel, in recent years recommendation systems have been a subject of interest for the researchers, where big data is appropriating towards provisioning of context-aware recommendations.Realization of a recommendation system in collaboration with the capabilities of SIoV is an interesting topic. It is possible to accomplish this due to the recent industrial efforts. It is predicted that, by 2020, 50 billion objects will be linked to the Internet, and the considerable number of objects will be vehicles [45]. In the Carestream project [46], technological integration is performed to provide data-driven services. The system collects a variety of information such as “vehicle status, driver activity, and passenger-trip information” from a network of approximately 30,000 chauffeured driven cars. The parameters such as pickup point, pickup time, arrive time, and destination are collectively used to initiate the user demand. These data fields motivated us to use the concepts of ID, Time, and Duration, to characterize aresource. Then, a vehicle (user)plan is created making use of user profiling (inspired by [47]), in which a user has to visit some resources every week.A vehicle serves its user. The social networking of users is not considered in this model; only a network of vehicles is established. Therefore, a vehicle and its user are dealt with as a single entity or anagent. Theplan of an agent consists of a number of activities. Anactivity is constituted by a source, a destination, a time, and duration. Agent’s home is thesource of an activity. Aresource is thedestination of an activity represented by identity (ID) of a resource,time is the time to reach to the resource, andduration is the time to stay at a resource. The initial plan is generated randomly choosing a number of resources and assigning an hour to visit a resource (a whole week is distributed in hours) and duration of a few hours.The objective of the model (presented next) is to investigate the competence of SIoV in providing resource recommendation to the agents, particularly when there is no obvious/natural choice. This can happen if resources known to an agent are no more an attractive choice due to the poor quality of service or the agent individually having a much higher expectation. It is assumed that the interface between a vehicle and its owner (user) is seamless so that a vehicle does not only have information about its owner’s plan but also if the current experience regarding a resource was good or bad.Figure1 shows the overall scenario in a simple way. Each agent has a plan to visit a certain resource (represented by the ID of the resource); for example, agent 20 has a planned activity to visit resource 501 at time=38 and the duration of the visit will be 4 hours. Therefore, the return time would be time=42. During this visit, the agent experiences a quality represented by ∗∗∗, whichis a good quality (according to the expectation of agent 20). The agent 20 will visit the same resource again in week 2 as per plan, quality, and user expectation. But, in case of quality not as per agent’s expectation, the agent’s plan will be updated for the next week based on the information exchange between the agents present at the same resource.Figure 1
A schematic representing the process of plan execution by an agent.The model proposed in this paper is used to explore some hypotheses. These hypotheses are based on following generalizations of the scenario presented above. Consider that the users of a social informational system repeatedly execute a plan—initially stochastic in nature - and that a planned activity is associated with a resource—which gradually increases or decreases its quality of service. If the information shared—as a consequence of information sharing by vehicles when parked at a resource at the same time—augments the plan of a user, can we say that more interactions lead to more awareness (in terms of novelty and consequently usefulness). Specifically, the following hypothesis are formulated:(1)
Hypothesis 1. Given that a long-term and consistent connectivity transforms into interactions (and more trustworthy information sharing), the prospect of the spread of useful information in the network increases with (favorable) evolution of the network, occurring solely due to internal dynamics of a regular network (such as triadic closure).(2)
Hypothesis 2. More information sharing is capable of ending into a fair distribution of resources across the users, resisting against a skewed distribution.(3)
Hypothesis 3. Since the information sharing is expected to improve the user experience due to the availability of more useful information (if hypothesis 1 is true), we hypothesize that the early the information sharing starts, the better would be the state of the system in terms of users’ experience in a longer run.


## 4. Model

Each vehicle helps its user execute its weekly plan, even when a user is short of resources due to bad experiences. From this point onwards, a vehicle would be treated synonym to a user, and both termed as an agent.The model is based on discrete-time agents’ rules. The purpose of the agents is to visit resources given in the plan at their prescribed time. The purpose of proposed socially driven recommendation system is to assist agents, when there is no choice for an agent due to mismatch in expectation and experience. Further, the model (and simulation) provides a means to evaluate the extent of success of the recommendation system characterized by different strategies of information sharing. Towards this, important hypotheses (listed in previous section) are tested under reasonable connectivity and data constraints, culminating into important “what-if” questions.


### 4.1. Overall Model Flow

The plan matrix contains three components (activities), which are randomly set at the start of the simulation. Each activity has an associatedexperience value. Each agent has anexpectation, which is a static personal trait. If thequality of service provided by a resource at the time of a visit is not up to the agent’s expectation (itsexperience), the resource is considered practicallyexcluded/suspended for that particular agent. The recommendations are enabled through an evolving network. The information flows through a physically and temporally constraint network of vehicles. Vehicles connect with each other if they are at the same resource at the same time, thus building a social network of vehicles evolving with repeated encounters.The system transits between four states. Ifstate=0, the agent is located at source (its home). An agent will transit to the next state (state=1) if it is time to execute an activity of the plan. However, it first prepares itself based on the strategy being used. The procedureprepare to move to resource would be explained when we talk about four strategies, each practically fine-tuning (preparing) an agent to move to the next state based on strategy description.Ifstate=1, the agent moves to the desired resource (move to resource) along with transiting to the next state (state=2). This move is a one-step jump without any trajectory following. Additionally, in this procedure, the current quality offered by the resource with a random variation of ±25% is stored in the plan matrix as experience of the agent against that resource.Ifstate=2 and the duration to stay at the current resource expires, the agent transits to the next state (state=3). The procedureprepare to move to source checks for completion of this duration.Ifstate=3, the agent communicates with its neighbors (in proximity). This is done through interact procedure. After interacting, the agent moves back to home and resets its state to 0 to start the cycle again. This is achieved throughmove to source procedure. Again, the move is a one-step jump without any trajectory following. In the following, the interaction process is given in more detail.interact. The agents colocated at the same resource network with each other to form ties. Initially, it is a weak tie. With repeated encounters, a weak tie becomes a strong tie. Each agent has a data structure, which contains this information. This is a tuple constituted as time of the latest encounter, how many encounters? strong tie?. If a number of encounters with the same agent reach athreshold, a weak tie changes into a strong tie.Figure2 presents a graphical view of agents’ state transitions. In the following, a description of each of the strategies used in the system is given.Figure 2
State transition diagram representing the process to be performed at each iteration (= one hour) of the simulation by all the agents. State transition also includes strategy positioning in the system flow.


### 4.2. Plan Execution Strategies

The purpose of the agents is to perform activities given in the plan at their prescribed time. The four strategies adopted are (i) strategy 1 (s1), (ii) strategy 2 (s2), (iii) strategy 3 (s3), and (iv) strategy 4 (s4).


#### 4.2.1. Strategy 1 (s1)

s1 is static, just executing the plan as it is. The algorithm is given in Algorithm1. The process is invoked at each iteration and when an agent is in state 0. i is the loop counter for plan table, iterating through 3 activities of the plan. If t is equal to the current_time (the simulation iteration) then the current activity is selected and the agent moves into state 1. At each iteration, only one activity can possibly be selected due to different execution times of the 3 activities.Algorithm 1:Prepare to move to resource (as planned) algorithm.
1:i←0 2:while (i<3) do 3:t←plan[i,1] 4:if (t=current_time) then 5:state←1 6:selectIDofthisrowasdestination 7:end if 8:i←i++ 9:end while


#### 4.2.2. Strategy 2 (s2)

The strategy s2 blacklists a subquality resource and the agent never visits it again, hence performing exclusion. The algorithm is given in Algorithm2. t is the time to execute an activity, q is the previous experience of the agent about that resource, and s is indicating if the resource attached with the activity is already excluded or not. If t is equal to the current_time (the simulation iteration) and s is false, then the current activity is selected. When an activity is selected, if q (the previous experience of the agent with the resource of the activity) is greater than agent’s expectation, then the agent moves into state 1, ready to perform the activity; otherwise, the resource attached with the activity is excluded. An activity previously excluded would never be selected in s2.Algorithm 2:Prepare to move to resource (with exclusion) algorithm.
1:i←0 2:while (i<3) do 3:t←plan[i,1] 4:q←plan[i,3] 5:s←plan[i,4] 6:if (t=current_time&&s=false) then 7:if (q>=expectation) then 8:state←1 9:selectIDofthisrowasdestination 10:else 11:plan[i,4]←true 12:end if 13:end if 14:i←i++ 15:end while


#### 4.2.3. Strategy 3 (s3)

In this strategy, all those resources that have been excluded would be replaced by other resources that were not excluded. The information about those (not excluded) resources would come from “friends” (having strong ties) of an agent. The whole excluded row in plan matrix of the agent would be replaced by a not-excluded row attained from a friend. After replacement, Algorithm2 would be executed to select a resource.Related to this strategy is replace procedure given in Algorithm3. t is the time to execute an activity, and s is indicating if the resource attached to the activity is already excluded or not. Out of three activities, this strategy will choose the first one which is excluded (if s is false, the loop is incremented). The chosen excluded activity will be replaced as follows. A possible friend f with a strong tie that is appearing first in the friends’ list is selected. f’s plan is copied to fplan. If there is an activity which is not excluded (iterating using ss variable) in fplan, the friend’s activity would replace current excluded activity of the vehicle.Algorithm 3:Replace algorithm.
i←0 2:while (i<3) do t←plan[i,1] 4:s←plan[i,4] if (s=false) then 6:i←i++ else 8:j←0 c←length[vehiclesdata] 10:while (j<c) do f←friendjinthelistoffriendswithstrongtie 12:fplan←planoff k←0 14:while (k<3) do ss←fplan[k,4] 16:if (ss=false) then plan[i]←fplan[k] 18:k←3 j←c 20:else k←k++ 22:end if j←j++ 24:end while end while 26:end if end while


#### 4.2.4. Strategy 4 (s4)

It is worth noting that the replacement of the excluded resources can be performed without considering the internal social networking dynamics, as in s3. Alternatively, it may also consider internal dynamical feature—triadic closure of strong ties—of an evolving network. Formally, the triadic closure property states that if a nodea in a social network has strong ties with two nodes b andc, then, there is a likelihood that b and c would become friends sometime in the future. Algorithm 4 provides pseudocode performing triadic closure just before the execution of Algorithm 3.Algorithm 4:Closure.
nof←numberoffriendsofthisvehicle if (nof>1) then 3:fv←random[0-nof-1] sv←random[0-nof-1] if (fv!=sv) then 6:if  fvhasstrongtiewiththisvehicle  then if  svisnotfriendoffv  then makesvfriendoffv 9:createstrongtiebetweenthetwo end if if  fvisnotfriendofsv  then 12:makefvfriendofsv createstrongtiebetweenthetwo end if 15:end if end if end ifThe closure is performed as follows. If there are more than one common friends of an agent, two of them are randomly chosen and assigned tofv and sv. If fv has a strong tie with the agent, and either fv is not a friend of sv or sv is not a friend of fv, then they are made a friend of each other with a strong tie.


## 4.1. Overall Model Flow

The plan matrix contains three components (activities), which are randomly set at the start of the simulation. Each activity has an associatedexperience value. Each agent has anexpectation, which is a static personal trait. If thequality of service provided by a resource at the time of a visit is not up to the agent’s expectation (itsexperience), the resource is considered practicallyexcluded/suspended for that particular agent. The recommendations are enabled through an evolving network. The information flows through a physically and temporally constraint network of vehicles. Vehicles connect with each other if they are at the same resource at the same time, thus building a social network of vehicles evolving with repeated encounters.The system transits between four states. Ifstate=0, the agent is located at source (its home). An agent will transit to the next state (state=1) if it is time to execute an activity of the plan. However, it first prepares itself based on the strategy being used. The procedureprepare to move to resource would be explained when we talk about four strategies, each practically fine-tuning (preparing) an agent to move to the next state based on strategy description.Ifstate=1, the agent moves to the desired resource (move to resource) along with transiting to the next state (state=2). This move is a one-step jump without any trajectory following. Additionally, in this procedure, the current quality offered by the resource with a random variation of ±25% is stored in the plan matrix as experience of the agent against that resource.Ifstate=2 and the duration to stay at the current resource expires, the agent transits to the next state (state=3). The procedureprepare to move to source checks for completion of this duration.Ifstate=3, the agent communicates with its neighbors (in proximity). This is done through interact procedure. After interacting, the agent moves back to home and resets its state to 0 to start the cycle again. This is achieved throughmove to source procedure. Again, the move is a one-step jump without any trajectory following. In the following, the interaction process is given in more detail.interact. The agents colocated at the same resource network with each other to form ties. Initially, it is a weak tie. With repeated encounters, a weak tie becomes a strong tie. Each agent has a data structure, which contains this information. This is a tuple constituted as time of the latest encounter, how many encounters? strong tie?. If a number of encounters with the same agent reach athreshold, a weak tie changes into a strong tie.Figure2 presents a graphical view of agents’ state transitions. In the following, a description of each of the strategies used in the system is given.Figure 2
State transition diagram representing the process to be performed at each iteration (= one hour) of the simulation by all the agents. State transition also includes strategy positioning in the system flow.


## 4.2. Plan Execution Strategies

The purpose of the agents is to perform activities given in the plan at their prescribed time. The four strategies adopted are (i) strategy 1 (s1), (ii) strategy 2 (s2), (iii) strategy 3 (s3), and (iv) strategy 4 (s4).


### 4.2.1. Strategy 1 (s1)

s1 is static, just executing the plan as it is. The algorithm is given in Algorithm1. The process is invoked at each iteration and when an agent is in state 0. i is the loop counter for plan table, iterating through 3 activities of the plan. If t is equal to the current_time (the simulation iteration) then the current activity is selected and the agent moves into state 1. At each iteration, only one activity can possibly be selected due to different execution times of the 3 activities.Algorithm 1:Prepare to move to resource (as planned) algorithm.
1:i←0 2:while (i<3) do 3:t←plan[i,1] 4:if (t=current_time) then 5:state←1 6:selectIDofthisrowasdestination 7:end if 8:i←i++ 9:end while


### 4.2.2. Strategy 2 (s2)

The strategy s2 blacklists a subquality resource and the agent never visits it again, hence performing exclusion. The algorithm is given in Algorithm2. t is the time to execute an activity, q is the previous experience of the agent about that resource, and s is indicating if the resource attached with the activity is already excluded or not. If t is equal to the current_time (the simulation iteration) and s is false, then the current activity is selected. When an activity is selected, if q (the previous experience of the agent with the resource of the activity) is greater than agent’s expectation, then the agent moves into state 1, ready to perform the activity; otherwise, the resource attached with the activity is excluded. An activity previously excluded would never be selected in s2.Algorithm 2:Prepare to move to resource (with exclusion) algorithm.
1:i←0 2:while (i<3) do 3:t←plan[i,1] 4:q←plan[i,3] 5:s←plan[i,4] 6:if (t=current_time&&s=false) then 7:if (q>=expectation) then 8:state←1 9:selectIDofthisrowasdestination 10:else 11:plan[i,4]←true 12:end if 13:end if 14:i←i++ 15:end while


### 4.2.3. Strategy 3 (s3)

In this strategy, all those resources that have been excluded would be replaced by other resources that were not excluded. The information about those (not excluded) resources would come from “friends” (having strong ties) of an agent. The whole excluded row in plan matrix of the agent would be replaced by a not-excluded row attained from a friend. After replacement, Algorithm2 would be executed to select a resource.Related to this strategy is replace procedure given in Algorithm3. t is the time to execute an activity, and s is indicating if the resource attached to the activity is already excluded or not. Out of three activities, this strategy will choose the first one which is excluded (if s is false, the loop is incremented). The chosen excluded activity will be replaced as follows. A possible friend f with a strong tie that is appearing first in the friends’ list is selected. f’s plan is copied to fplan. If there is an activity which is not excluded (iterating using ss variable) in fplan, the friend’s activity would replace current excluded activity of the vehicle.Algorithm 3:Replace algorithm.
i←0 2:while (i<3) do t←plan[i,1] 4:s←plan[i,4] if (s=false) then 6:i←i++ else 8:j←0 c←length[vehiclesdata] 10:while (j<c) do f←friendjinthelistoffriendswithstrongtie 12:fplan←planoff k←0 14:while (k<3) do ss←fplan[k,4] 16:if (ss=false) then plan[i]←fplan[k] 18:k←3 j←c 20:else k←k++ 22:end if j←j++ 24:end while end while 26:end if end while


### 4.2.4. Strategy 4 (s4)

It is worth noting that the replacement of the excluded resources can be performed without considering the internal social networking dynamics, as in s3. Alternatively, it may also consider internal dynamical feature—triadic closure of strong ties—of an evolving network. Formally, the triadic closure property states that if a nodea in a social network has strong ties with two nodes b andc, then, there is a likelihood that b and c would become friends sometime in the future. Algorithm 4 provides pseudocode performing triadic closure just before the execution of Algorithm 3.Algorithm 4:Closure.
nof←numberoffriendsofthisvehicle if (nof>1) then 3:fv←random[0-nof-1] sv←random[0-nof-1] if (fv!=sv) then 6:if  fvhasstrongtiewiththisvehicle  then if  svisnotfriendoffv  then makesvfriendoffv 9:createstrongtiebetweenthetwo end if if  fvisnotfriendofsv  then 12:makefvfriendofsv createstrongtiebetweenthetwo end if 15:end if end if end ifThe closure is performed as follows. If there are more than one common friends of an agent, two of them are randomly chosen and assigned tofv and sv. If fv has a strong tie with the agent, and either fv is not a friend of sv or sv is not a friend of fv, then they are made a friend of each other with a strong tie.


## 4.2.1. Strategy 1 (s1)

s1 is static, just executing the plan as it is. The algorithm is given in Algorithm1. The process is invoked at each iteration and when an agent is in state 0. i is the loop counter for plan table, iterating through 3 activities of the plan. If t is equal to the current_time (the simulation iteration) then the current activity is selected and the agent moves into state 1. At each iteration, only one activity can possibly be selected due to different execution times of the 3 activities.Algorithm 1:Prepare to move to resource (as planned) algorithm.
1:i←0 2:while (i<3) do 3:t←plan[i,1] 4:if (t=current_time) then 5:state←1 6:selectIDofthisrowasdestination 7:end if 8:i←i++ 9:end while


## 4.2.2. Strategy 2 (s2)

The strategy s2 blacklists a subquality resource and the agent never visits it again, hence performing exclusion. The algorithm is given in Algorithm2. t is the time to execute an activity, q is the previous experience of the agent about that resource, and s is indicating if the resource attached with the activity is already excluded or not. If t is equal to the current_time (the simulation iteration) and s is false, then the current activity is selected. When an activity is selected, if q (the previous experience of the agent with the resource of the activity) is greater than agent’s expectation, then the agent moves into state 1, ready to perform the activity; otherwise, the resource attached with the activity is excluded. An activity previously excluded would never be selected in s2.Algorithm 2:Prepare to move to resource (with exclusion) algorithm.
1:i←0 2:while (i<3) do 3:t←plan[i,1] 4:q←plan[i,3] 5:s←plan[i,4] 6:if (t=current_time&&s=false) then 7:if (q>=expectation) then 8:state←1 9:selectIDofthisrowasdestination 10:else 11:plan[i,4]←true 12:end if 13:end if 14:i←i++ 15:end while


## 4.2.3. Strategy 3 (s3)

In this strategy, all those resources that have been excluded would be replaced by other resources that were not excluded. The information about those (not excluded) resources would come from “friends” (having strong ties) of an agent. The whole excluded row in plan matrix of the agent would be replaced by a not-excluded row attained from a friend. After replacement, Algorithm2 would be executed to select a resource.Related to this strategy is replace procedure given in Algorithm3. t is the time to execute an activity, and s is indicating if the resource attached to the activity is already excluded or not. Out of three activities, this strategy will choose the first one which is excluded (if s is false, the loop is incremented). The chosen excluded activity will be replaced as follows. A possible friend f with a strong tie that is appearing first in the friends’ list is selected. f’s plan is copied to fplan. If there is an activity which is not excluded (iterating using ss variable) in fplan, the friend’s activity would replace current excluded activity of the vehicle.Algorithm 3:Replace algorithm.
i←0 2:while (i<3) do t←plan[i,1] 4:s←plan[i,4] if (s=false) then 6:i←i++ else 8:j←0 c←length[vehiclesdata] 10:while (j<c) do f←friendjinthelistoffriendswithstrongtie 12:fplan←planoff k←0 14:while (k<3) do ss←fplan[k,4] 16:if (ss=false) then plan[i]←fplan[k] 18:k←3 j←c 20:else k←k++ 22:end if j←j++ 24:end while end while 26:end if end while


## 4.2.4. Strategy 4 (s4)

It is worth noting that the replacement of the excluded resources can be performed without considering the internal social networking dynamics, as in s3. Alternatively, it may also consider internal dynamical feature—triadic closure of strong ties—of an evolving network. Formally, the triadic closure property states that if a nodea in a social network has strong ties with two nodes b andc, then, there is a likelihood that b and c would become friends sometime in the future. Algorithm 4 provides pseudocode performing triadic closure just before the execution of Algorithm 3.Algorithm 4:Closure.
nof←numberoffriendsofthisvehicle if (nof>1) then 3:fv←random[0-nof-1] sv←random[0-nof-1] if (fv!=sv) then 6:if  fvhasstrongtiewiththisvehicle  then if  svisnotfriendoffv  then makesvfriendoffv 9:createstrongtiebetweenthetwo end if if  fvisnotfriendofsv  then 12:makefvfriendofsv createstrongtiebetweenthetwo end if 15:end if end if end ifThe closure is performed as follows. If there are more than one common friends of an agent, two of them are randomly chosen and assigned tofv and sv. If fv has a strong tie with the agent, and either fv is not a friend of sv or sv is not a friend of fv, then they are made a friend of each other with a strong tie.


## 5. Simulation and Results

The model is created in NetLogo [48], an agent-based modeling environment. A grid of cells of size 75×75 is used to populate agents. There are three types of agents, two static and one mobile. The staticresource andsource agents are randomly placed in the environment. The count of resources is 15, available for 500 sources. Vehicles are mobile agents which are 10% more than sources; a vehicle attached randomly to a source. The users (owners of the vehicles) are abstract entities encapsulated within vehicles, termed asagents from this point onwards. One simulation iteration is equal to one hour. Initially, a random weekly plan, constituted by three scheduled activities, is generated (represented by ID, time, and duration of a visit), which executes on weekly basis. Figure 3 depicts visual of simulation space when initialized.Figure 3
A view of the simulation world, when initialized for 500 sources, 550 vehicles, and 15 resources (blue boxes).The four strategies adopted (as explained before) are evaluated based on three parameters:(i)
Quality index: when an agent visits a resource, it experiences the quality offered by that resource at that time. In one week, an agent has to visit three resources that is why the quality index is the average of three experiences of the agent at each hour. The quality index of the whole simulation space is then an aggregation of all these experiences divided by the agents count.(ii)
Connectivity index: when two agents are at some resource at the same time, they connect with each other, irrespective of the type of tie they may have (weak or strong). The connectivity index of the whole simulation space is an aggregation of all current (at this hour) connections divided by the agents count.(iii)
Resource utilization: the population of agents at a resource at an hour determines its current utilization. Derived from it is the standard deviation of utilization of all resources.Figure4 presents theMean of the quality of resources experienced by all the agents for a timespan equal to 800 hours and averaged across 100 simulation runs. A comparison between the four strategies reveals the following:(i)
s1: it represents an extreme case and it is basically taken for the comparison purposes only. This case is not real because constantly visiting the same resources—which may be not up to the agents expectations—is less likely to happen. However, due to randomness in the progression of the quality parameter, a resource which does not perform as per the expectations of the agents may become quality-wise acceptable in near or far future. This is exactly what is revealed in the simulation results; thequality index oscillates around the middle (0.5) and has fewer variations as shown in Figure 4.(ii)
s2: once a resource is excluded, no agent will visit it anymore, hence resulting in the least averagequality index.(iii)
s3: the replace strategy replaces an excluded resource that an agent wants to visit based on a friend’s recommendation. Since a friend is a strong tie, the value of threshold (repeated encounters) is important. A higher value of threshold (thstrong-tie=5), such as 5 in this case, would delay the replacement process. That is the reason the quality index, in spite of being considerably better than s2, still is less than s1. However, the variations towards positive quarterlies are higher than the negative quarterlies, which is evidence of improvement.(iv)
s4: the triadic closure provides novel information about unknown resources. Due to this, it was expected that the quality index would be (at least) a bit higher than s3. But it turned out to be on the lower side. It was a surprising result because it does not correspond to the connectivity index and resource utilization data presented next. The only possible reason can be that friends engaged in triadic closure share the same resources and incidentally, the novel information turns out to be of lesser quality. However, we need to explore it further.Figure 4
Comparison of strategies (thstrong-tie=5): average quality of resources experienced by vehicles averaged across 100 simulation runs.The graph shown in Figure5 verifies the above findings related to theconnectivity index with the average degree of agents. As expected, the connectivity of strategy replace with closure is by far higher than the other three strategies.Figure 5
Comparison of strategies (thstrong-tie=5): average connectivity of vehicles averaged across 100 simulation runs.Another exciting aspect is the study of the utilization of resources. Although there is no safeguard against it within the model itself, it is undesirable to have high asymmetry in resources’ utilization, which is analyzed through the standard deviation of resource utilization (SDU). Figure6 presents the comparison of the four strategies. It is evident that the SDU of s2 is the least, whereas the highest is in the case of s4. No doubt, high SDU is due to extreme asymmetry in resources utilization.Figure 6
Comparison of strategies (thstrong-tie=5): average standard deviation of resources utilization across 100 simulation runs.Sensitivity Analysis. In the following, we provide sensitivity analysis of four strategies when executed for three thresholds, namely, thstrong-tie=2, thstrong-tie=4, and thstrong-tie=8. Figures 7, 8, and 9 provide this information. An interesting aspect of these graphs is that s3 and s4 show some phase shifts in quality index. These phase shifts are due to variations in resources utilization; the more the variation is the more are chances of these tipping points. It is also evident that these tipping points occur more prominently when thstrong-tie=4 as compared to thstrong-tie=2. Interestingly these vanish in case of thstrong-tie=8, and the curve acquires a half parabolic shape (more or less) smoothing into a constant attractor. It is also evident that the tipping points correspond to resource utilization. Also, it seems that tipping points have no relationship with the connectivity index. Overall the simulation results revealed that the best value for phase shifts is thstrong-tie=6. The tipping points in this case are strong and more frequent (see Figure 9(a)). We can still produce tipping points for higher threshold value, but for that we need to either increase the population or decrease resources, or both. For example, we may get delayed tipping points in case of thstrong-tie=8 (see Figure 9(b)) and even thstrong-tie=10 (see Figure 9(c)) but with number of resources equal to 10 not 15.Figure 7
Phase shift analysis. Each graph above shows a time-series plot of 800 hours. Quality index is shown through green line. The SDU is shown through red points, and quality index is shown through bars fillings in black. The first row is of s1, followed by s2. The columns representthstrong-tie=2 (column 1), thstrong-tie=4 (column 2), and thstrong-tie=8 (column 3). These graphs correspond to 550 vehicles and 15 resources.Figure 8
Phase shift analysis. Each graph above shows a time-series plot of 800 hours. Quality index is shown through green line. The SDU is shown through red points, and quality index is shown through bars fillings in black. The top row is of s3, followed by s4. The columns representthstrong-tie=2 (column 1), thstrong-tie=4 (column 2), and thstrong-tie=8 (column 3). These graphs correspond to 550 vehicles and 15 resources.Figure 9
Phase shift analysis. Each graph above shows a time-series plot of 800 hours. Quality index is shown through green line. The SDU is shown through red points, and quality index is shown through bars fillings in black. (a)thstrong-tie=6, resources = 15, (b) thstrong-tie=8, resources = 10, and (c) thstrong-tie=10, resources = 10. These graphs correspond to 550 vehicles.
(a) (b) (c)Lastly, the relationship between the quality index and SDU is explained with the help of Figure10.Figure 10
Phase shift analysis example, forthstrong-tie=6, resources = 15. Each graph above shows a time-series plot of 800 hours. Quality index is shown using green line. The SDU is shown using red points, and quality index is shown through bars fillings in black. The column one (left) shows the simulation view and the column two (right) shows the graph at that time. The top row shows many resources (blue boxes) been utilized by users and its corresponding position in the graph. The size of the box corresponds to the number of users. The middle row shows that all of a sudden the resources are reduced, which turns out to be a tipping point. The things get smoother after second tipping point (the bottom row). Interactions between users are also evident in all three simulation views.


## 6. Discussion and Conclusion

### 6.1. Discussion on Results

In a dynamically changing quality of service provisioning by resources, the vehicles with excluded resources in their plan can utilize their strong ties to have novel information about some resources those are not excluded at a particular time. Is this information turns out to be useful?We analyzed this question with the aid of agent-based simulation. Hypothesis 2 is validated straight away as with information sharing the resources are distributed more fairly.With the increase in thresholds, the effect of information sharing reduces. This is evidence of delaying the information reduces the benefits of information sharing, hence, validating hypothesis 3. However, there are two aspects that provide a little variation. The first one is that, with very quick start of information sharing (thstrong-tie=2), we have some improvements, but the real improvements happens when thstrong-tie=6. Hence, it can be concluded that with moderate delay, the best results are achieved.Increase in connectivity is responsible for increasing the quality index as depicted in Figures3 and 4. Hypothesis 1 is valid as long as we perform interaction and information exchange. But, triadic closure decreases the quality index of the system, in spite of improving the connectivity and resources distribution.


### 6.2. Conclusion

In this paper, an agent-based model of a recommendation system powered byexpected capabilities of the futuristic SIoV is proposed. A number of simulations were performed by selecting appropriate parameters to test three hypotheses. Hypothesis 1—internal dynamics of an evolving friendship network helps in increasing the appropriateness of the recommendations—is partially verified. Triadic closure improves connectivity and resources distribution of the system; however, it does not help in increasing the quality index of the system when compared with networking without triadic closure. Hypothesis 2—information sharing results in fair distribution of resources across all the agents—is convincingly verified. Hypothesis 3—the early the information sharing starts, the more appropriate the recommendation would be—is also mostly verified; however, the best results are achieved at moderate level of delays.These results reveal that closure of social ties and its timing impacts dispersion of novel information (necessary for a recommendation system) substantially. These insights provide useful guidelines for designing a SIoV recommendation system and would help practitioners to rationalize their expectations.


## 6.1. Discussion on Results

In a dynamically changing quality of service provisioning by resources, the vehicles with excluded resources in their plan can utilize their strong ties to have novel information about some resources those are not excluded at a particular time. Is this information turns out to be useful?We analyzed this question with the aid of agent-based simulation. Hypothesis 2 is validated straight away as with information sharing the resources are distributed more fairly.With the increase in thresholds, the effect of information sharing reduces. This is evidence of delaying the information reduces the benefits of information sharing, hence, validating hypothesis 3. However, there are two aspects that provide a little variation. The first one is that, with very quick start of information sharing (thstrong-tie=2), we have some improvements, but the real improvements happens when thstrong-tie=6. Hence, it can be concluded that with moderate delay, the best results are achieved.Increase in connectivity is responsible for increasing the quality index as depicted in Figures3 and 4. Hypothesis 1 is valid as long as we perform interaction and information exchange. But, triadic closure decreases the quality index of the system, in spite of improving the connectivity and resources distribution.


## 6.2. Conclusion

In this paper, an agent-based model of a recommendation system powered byexpected capabilities of the futuristic SIoV is proposed. A number of simulations were performed by selecting appropriate parameters to test three hypotheses. Hypothesis 1—internal dynamics of an evolving friendship network helps in increasing the appropriateness of the recommendations—is partially verified. Triadic closure improves connectivity and resources distribution of the system; however, it does not help in increasing the quality index of the system when compared with networking without triadic closure. Hypothesis 2—information sharing results in fair distribution of resources across all the agents—is convincingly verified. Hypothesis 3—the early the information sharing starts, the more appropriate the recommendation would be—is also mostly verified; however, the best results are achieved at moderate level of delays.These results reveal that closure of social ties and its timing impacts dispersion of novel information (necessary for a recommendation system) substantially. These insights provide useful guidelines for designing a SIoV recommendation system and would help practitioners to rationalize their expectations.



---

*Source: 8201396-2019-04-15.xml*