Smart Radio Resource Management for Content Delivery Services in 5G and Beyond Networks

In 5G networks, the spectrum allocation techniques play a very important part of the quality of content delivery services. +e processes of channelling and device selection are important in the 5G technology and beyond with many access devices in networks to improve the quality of services. In this paper, we propose a method based on Fuzzy Logic, Game +eory, and Smart Method (which is a combination of Fuzzy Logic and Game+eory). +ese methods are suitable to improve the speed and quality of links of data routing in networks. +e paper shows that effective spectrum allocation to devices is not an option but a requirement in a huge data flow environment of the wireless communications, if one wants to ensure acceptable speed and quality of the connection and to provide adequate quality of the services. Each of the selected methods for radio resource management has some advantages and disadvantages in the evaluation of results. +e paper describes the process of channel allocation with different methods for IEEE 802.11xx networks that are in the focus of our research in the sphere of wireless communication. Companies use cloud computing to provide services and to share information, but there needs to be some radio resource management to effectively use the services in the wireless mobile environment because the number of different types of devices being connected to the wireless networks to create smart homes and smart cities is growing.


Introduction
e 5G technology, mobile ad hoc networks, or other types of wireless networks take into account communication control information between devices and obtain this information to select suitable channels to increase the quality of the network. e main aim is to allocate channels to improve the quality of the services, which leads to a speed improvement and decrease the interference. e efficiency is used for the optimization of the channel selection in wireless networks to improve the quality of the device connection. Furthermore, smartphones are very significant devices in the modern era of the wireless networks and their constantly increasing processing, communication, and sensing capabilities lead to the expansion of their application in various fields of the services. e available spectrum in the way that is used today is not effective. It is more effective to use a free channel for communication without interference (trying to minimize interference) while serving a huge number of wireless devices. For this purpose, the cognitive radio technology is suitable, because it enables spectrum switching based on a set of measurable parameters. Also, the cognitive radio allows a channel to be changed even if communication on the selected channel is insufficient due to interference caused by an adjacent device communicating on an inappropriate communication channel. e 5G technology will be able to support all communication needs as a low power Local Area Network (LAN) used as a home network, for Wide Area Networks (WAN), with the right latency and speed settings. e technology will be able to communicate with the broad variety of modern wireless and mobile networks (IEEE 802.11xx, Z-Wave, LoRa, 3G, 4G, etc.). Where there is a communication, there also needs to be the channel allocation mainly in networks with many types of devices such as the Internet of ings [1]. It should be a smart channel allocation and the process should be able to adapt to the environmental conditions in order to prevent radio interference.

Spectrum Allocation in Modern Wireless Networks
If there is an imminent threat, whether natural or artificial, people prefer to work from home, usually operating from local home networks for some period of time. In such a situation, every provider in the world faces a problem of a large amount of people staying at home all day long and using their services with a huge data flow [2]. is is a situation requiring fast, secure, and low interference forwarding of the data on the Internet in the time when vast numbers of people need to work from local Internet providers. One can see how some Internet providers decrease the quality of their services (e.g., video streams) to be able to serve every customer watching films, listening to music, playing video games, and so forth at the same time at home. Many devices and data streams are connected to the same access point with the same selected channel. e design of the method for channel allocation needs to take into account a spectrum sensing to obtain availability information from the radio environment for each associated device [3][4][5][6][7]. e spectrum sensing method helps to measure individual parameters, for instance, the intensity of the received signal (received signal strength (RSS)), the interference from surrounding devices, and their communication channels currently in use. Another important parameter is the ratio of signals (signal-to-interference ratio (SIR)). is parameter indicates the ratio of useful signal and interference caused by the transmission of neighbouring devices within the radio range. Certainly, it is not effective to select a channel with the high traffic/network data load. A more suitable approach would be to select channels with average, low, or no traffic at all. An important parameter representing the quality of the network connection is the SIR ratio.

Game eory as a Method for Channel
Allocation. e Game eory (GT) was originally designed for economic and social research, but nowadays it is used in much more disciplines.
is method can also be applied in wireless communication to the channel allocation [8]. e method can be defined as a study of mathematical models of conflict and cooperation between intelligent rational decision-makers.
Game is defined as the set Q � 1, 2, . . . , N, which is a nonempty set. Elements of this set are individual players. In addition to this set, we also have a set of N sets χ 1 , χ 2 , . . .
where the set Q means a set of players, χ n represents the set of strategies for the n-th player, and M n is a gain function (pay-off function) of the n-th player. Also, each player has a strategy set s 1 , s 2 , s 3 , or s p , where p represents the total number of players [8]. e GT provides general mathematical techniques for analysing situations in which two or more players make decisions and influence other players [9]. It is a method for channel allocation, which uses input parameters to select a suitable type of game with a suitable strategy to improve the pay-off for channels used in the network [10]. e input parameters are priority parameters and they define the quality of services on each channel. e problem in the channel allocation is the cooperation in game strategy (channel choices) to improve the quality of the affected channel and network. e quality of the network for better communication should be the main aim, rather than the communication between two individual devices. We decided to use the Game eory based on the game with the name "prisoner's dilemma" for the channel selection in D2D networks. e prisoner's dilemma presents a situation where two players are separated and are unable to communicate with each other. Each of them must choose between cooperating or not with the other player. e highest reward for each part occurs when both parts choose to cooperate. e same strategy can be used to select the best available channel to increase the quality of the link. When the quality of the network increases, it also means that the quality of the channel is better. In the situation where one player betrays another one, the quality of channel is increased only for a dominant player. e remaining player is forced to select one of the inferior channels. us, mutual cooperation is a key strategy for an optimal channel allocation. erefore, the quality of network services can be optimal on both sides. e GT consists of players and strategies to improve the probability of winning the game. In a network, devices represent players playing the game. A typical wireless network consists of several equivalent devices. Because of that, the channel distribution is distributed equally. If a scenario regarding cognitive radio network consists of a particular number of primary and secondary devices, these devices are not equivalent (they are not treated equally) [11][12][13][14][15]. is scenario has a hierarchy, where the primary device has higher access rights to a transfer medium than the secondary device.

Fuzzy Logic as a Method for Channel Allocation.
A method based on Fuzzy Logic (FL) is used for a more accurate evaluation of the channel selection. e advantage of FL is in the interval of values and not just in the definition of a parameter as suitable or nonsuitable [16]. Figure 1 shows how the method works, with each parameter defined by its affinity function. As one can see in Figure 1, the process of the channel selection includes the fuzzification and defuzzification processes [17]. e fuzzification is the process of changing a real scalar value into a fuzzy value. is is achieved with the different types of functions (membership functions). e types of membership functions (MF) provided by the Fuzzy Logic Toolbox in Matlab are shown in Figure 2 and the simplest one is formed by the straight lines to create a triangle, which is the basic shape of a membership function [18,19]. e fuzzification process determines the degree to which input data belong to each appropriate fuzzy set via the membership functions. e shapes of these functions can be diverse and various. For each input and each output, a variable member function needs to be selected. Typically, there are three, but the final number of functions can vary. e defuzzification process obtains a single number from an output of the aggregated fuzzy set. e most commonly used defuzzification method is "the centre of the area method," also commonly referred to as the centroid method. Figure 3 shows the number of input parameters (IP); one needs to define several rules for each combination of the parameter sets. Table 1 contains possible fuzzy operations for OR and AND operators on these sets, comparatively. e most frequently used operations for OR and AND operators are max and min, respectively. Let μ A and μ B represent the membership functions for fuzzy sets A and B. For complement (NOT) operation, equation (2) is used for the fuzzy sets [17]: e output from the FL is the rank of each channel. e Fuzzy Inference System consists of two methods, which have different consequences of fuzzy rules and also different impacts on output values. e Mamdani method [20] uses the trimming of the output membership function to rank input membership value. is method was originally designed to imitate the performance of the human operators in charge of controlling certain processes in an industrial environment. is system is composed of If-en rules of the following form: If X is A en Y is B, where X and Y are parameters and A and B are sets of these parameters. As an example in our scenario, it can be as follows: If traffic is "low" then a channel is "suitable." e If part X is A is called the antecedent of the rule, and the en part Y is B is called the consequent of the rule. e Mamdani systems are universal approximators and they can include knowledge in the form of linguistic rules that can be used for local fine-tuning [21]. e Sugeno method is the system that was first proposed by Takagi and Sugeno in 1985 [22], and the next version of the method was proposed by Sugeno and Kang in 1988. is method is also known as the Takagi-Sugeno-Kang (TSK) fuzzy model or the Sugeno model. e main feature of the Takagi-Sugeno fuzzy model is to express the local dynamics of each fuzzy implication (rule) by a linear system model. Also, this model is a universal approximator of any smooth nonlinear system [23]. e main difference between these two methods is that the Mamdani method is intuitive, it has widespread acceptance, and it is well suited to a human input. On the other hand, the Sugeno controller has more adjustable parameters compared to the Mamdani method controller. e Sugeno method is computationally efficient, it works well with linear techniques, and it also works well with optimization and adaptive techniques [23].

Proposed Algorithms for Channel Allocation
In this section, we present algorithms for channel allocations based on three methods (Game eory, Fuzzy Logic, and Smart Method). In our algorithm, we consider a situation in which 13 wireless channels exist. ese channels work as communication medium based on IEEE 802.11xx technology [24]. Every proposed method works autonomously on every device, but we define a parameter ID_value for the order of channel allocation in the algorithm. is parameter is based on the total number of devices in the algorithm. First of all, every device needs to power on and to be able to connect to the network. e next step is the spectrum sensing which has a capability to collect important information about QoS of the links between neighbouring devices and the device itself, as well as the information about already selected channels in the radio range. e device can start a process of communication or it can stay idle if the device has no data to transfer. After this initial process, when the device has all information about the neighboured channel, the allocation method is used. e priority is to distribute available channels with no repetition in the radio range, as it is in a random distribution. Beyond these parameters of QoS for proposed methods, we also need to define the initial parameters, such as the position and radio range in the investigation area of each device (see Table 2). Devices share information about neighbours in the radio range and they can create a topology of the network. e network topology is created by links between devices. ere is no localization algorithm that defines the position of each device in the network [25]. ese parameters are shown in Table 3. Also for our algorithm, we need the priority parameters to define the quality of services on each channel. e quality of the selected channel is based on interference from the environment in the radio range. We need to define how many of these priority parameters are enough to define the adequate quality of the link. We determine three main priority parameters: the first is the parameter of SIR_value which shows the communication suitability of the channel in the present environment, the second is the parameter of RSS_value which selects the more suitable channel for the device in a lower distance, and the third is the parameter representing the current amount of network traffic in order to determine how much capacity of the channel is being used. We select these three parameters to define the quality of the channel, but, with more parameters for the device, we need more time to obtain information. Also, the method with many parameters needs more time to evaluate the output value for each channel. e main focus of the suitability of channel is based on the SIR_value and only channels with the suitable value of this parameter are considered as appropriate channels for communication. Table 4 shows all possible sets of the selected input parameters for the proposed algorithms. We use the RSS_value to calculate the SIR_value, because the distance between two devices influences the available channel difference. It is possible to calculate the SIR_value as the ratio of used signal and interference from other devices in the radio range [26]. Small distance influences connection more than long distance on the edge of the radio range. e value of the RSS parameter is determined by the strength of the received signal from the device in the radio range. Mobile devices can measure and determine the RSS_value based on the received signal strength [27,28]. So we assume that the device can determine this value, and, therefore, we only use the distance of two devices to define the value of this parameter for the algorithm process. e value of the SIR parameter is determined by the radio range of devices and their channels used. e intensity of this influence is according to their distance. A device is more influenced by the closer device. We select the path from Source device ID_1 to the Destination device ID_40. e path is selected using Dijkstra's algorithm for determining the shortest path between the two devices, based on the connecting links in the network for devices in the radio range. Every device in the network with our algorithm has at start initial channel set to 1 as a channel to share the information between devices. Every device, when it makes a game move, exchanges information about the channel selection from devices with lower ID numbers.  Mobile Information Systems e device does not have to analyse every device; it needs to analyse only devices in radio range and neighbours of neighbours to secure no interference. If there is a situation when there are no available channels, the device has two options. e first one is to wait until at least one available channel appears, and the second option is to choose some of the already used channels.
e second option has some disadvantages but we can decrease the interference to a minimum and choose the channel with the lowest interference.
In the algorithm, ID_value indicates the order in which devices run the method. e first game move is made by the device with ID_1 to allocate channels for all neighbours of this device. A device with ID_1 also allocates channels to each device in radio range based on ID_value from the lower one of the highest. After the device with ID_1 selects channels for all neighbours, the next device can start the process of allocation. e next device in order is the device with the value ID_2 and the process is the same; only the device with ID_2 needs to consider selected channels by a device with ID_1 and optimize the channel allocation to this selection. Every device has a list of available channels that can be used. If the previous device uses some channels and it is in the radio range, then the device will discard this channel from the available list. If the device has no neighbours, there is no need to start the process of channel allocation, and it is possible to skip to another device with a higher ID_value.
e network topology consists of channel allocation for each link in the network, but it only represents preparation for demand on new data transfer between devices to select a suitable channel. e change of these channels takes place at each time slot of the movement. e proposed methods optimize channel allocations with a different number of iterations. e second iteration of the algorithm is about channel allocation and optimization of the network link quality based on the selected allocation method. During the next iterations, the optimum channel for connection between two devices is selected. Another attribute is the final channel allocation for each device, which is the last iteration of each method. e channel selected in the last iteration is to be used for the D2D connection in the radio range. e main idea of the proposed methods is presented in Figure 4 with main blocks for channel allocation. After parameter initialization based on the selected method, rules, and threshold_value, the algorithm decides if a device has the new better channel to be used or the previous channel is more suitable to be used. Each method based on a number of iterations changes channels multiple times, but the final channel allocations for the D2D connections come from the last iterations. What is suitable for one method is not suitable for another method. Also, this influences the total number of iterations necessary for the channel allocations optimization in the D2D network.

Method Based on the Game eory Principle.
ere exist many different types of games that can be used, as well as information that can improve channel selection for devices in the network [29][30][31]. If devices want to cooperate to improve the quality of the network, then it is possible to achieve the best possible communication quality in the network. Improvement of network communication should be the main aim, rather than the communication between two individual devices. We suggest using the game type similar to the game with two prisoners. e main purpose is to reach an agreement sufficient for all players. Each device selects a channel based on previous game moves on a device with a lower ID number. e principle of the game is that one player makes a game move and other players need to react to this movement and to implement an appropriate strategy for this movement. e pseudocode of the algorithm is shown by Figure 5. We use functions such as SIR_rank_value to evaluate SIR ratio for each channel; also  Figure 4: e main idea of proposed methods for channel allocation for the D2D network. e distance of two devices with RSS_values influences how strong the interference to other channels is and if that can be used as the channel for communication. e Traffic_matrix influences how suitable the channel is. However, the main aim is to evaluate the channel's suitability based on the SIR_value. A device selects the channel if the difference between the selected channel SIR_value from the previous iteration and the SIR_value of the best channel in the current iteration is higher than the threshold_value. If this difference is lower than selected threshold_value, the device will use the channel from the previous iteration. e last step of each iteration is to rank the channel used in this iteration. e channel rank is based on FL method and the output of this method is used as the channel rank, due to the fact that the channel rank value in the FL is defined as the degree of suitability. is value is from the interval 0 to 100, where 0 is the worst value and 100 is the best one.
Game eory operates autonomously on each device and every device uses the cooperation strategy to share information with the other neighbours in the radio range to increase the effective distribution of channels. But, in our simulation, we set the order of channel allocations by the ID value. ere exist many types of games to be implemented in our scenario, but we have decided to simulate a scenario with the cooperation of all devices in the network and we use the "prisoner's dilemma" game type. e "prisoner's dilemma" game aims to obtain pay-off not for one of the players but to each one of them to give the best output value. To obtain this value, players need to cooperate and play the same strategy. e same principle can be used to choose an optimal channel in the network and to improve the quality of links for each communication.

Method Based on the Fuzzy Logic Principle.
In the FL method, we use the RSS_value, SIR_value, and Traffic_value parameters to rank the quality of a link for each device the same way as in the GT method. Figure 6 shows FL with these selected input parameters. Also, we focus rules more to SIR_value as the priority parameter that defines if the channel can be used or not. If the SIR_value is suitable, then the channel is suitable to be used.  [32]. ese figures show the limited rules for input parameters. Other rules only define how suitable examined channel is for allocation. e total number of rules is defined by several input parameters and their number of sets.
A channel can be ranked as very suitable, more suitable, suitable, or nonsuitable. A device can select if a channel is suitable or with a higher rank value, but the main aim is to select those with the highest value due to the information from the spectrum sense and obtained information from devices in the radio range. Figure 9 shows the pseudocode of the algorithm we used for the channel selection. As one can see, it is similar to the GT with the same input and initial parameters. e main difference toward GT is in the decision. e GT uses SIR_value difference as an attribute to decide if the channel is suitable or not. e FL uses Fuzzy_logic_value as an output from FL not only to rank each channel but also to decide if the channel can be used. e difference of previous iteration Fuzzy_logic_value and current Fuzzy_logic_value has to be higher than the threshold_value. Only then can this channel be used and be allocated to link two devices. It is not effective to use a channel with a nonsuitable value of the SIR parameter, due to the fact that this channel has high interference, which means also low speed, more errors of packet delivery, and so on. e first process of each device is to allocate the channel to be able to communicate with other devices and to send control information, channel selection of other devices, and other information about the quality of links in the radio range.

Smart Method for Channel Allocation.
e Smart Method is based on a combination of the GT and the FL. Attributes from the GT are the cooperation and more iterations to obtain optimal channels for each device. e process of this method is autonomous on each device in a one-time slot, where devices are not moving. e devices move in the simulation area with some social attributes but within one-time slot step simulation complete evaluation to  verify which channel is suitable to select in each iteration [33]. e FL is used as a complete unit; we only add attributes from the GT. e principle of decision is the same as the FL method, only with more iterations, where each device can react to other device selections. e player makes a game move and then the next player makes a game move but every player needs to consider the previous player's selection. e channel rank is defined by the FL method for each iteration. e algorithm for this method is shown in Figure 10, where, in comparison with a method based on the FL, the only differences are the number of iterations and the strategy. e devices are able to change a channel multiple times, when it is possible to make it due to threshold_value condition. If the channel is the same for more than one iteration, it means that there is no suitable channel to improve channel rank with consideration to the threshold_value. e multiple-channel selection by each device improves the channel allocation in the network, where a player makes a game move and the other player needs to react to this game move with the suitable game moves. e device sequence of selections of the suitable channel is by the device ID (IDentification number). e device with the lowest ID number uses this method as the first [34]. is method is used for each device separately, but again it is necessary to maintain a certain order in the algorithm. e first player by ID_value, after analysis of available channels at each iteration, selects if a suitable channel is available based on a threshold condition. If this threshold condition is not valid, then the device uses the same channel as in the previous iteration. Based on the strategy of device, one iteration is appropriate to select the best available channel for this device or improve also networks' quality of links. Also, this change of channel is based on received information from other devices in network and the spectrum sensing from the radio range. If the device in the radio range chooses a channel, the device being investigated receives another suitable channel for reassessment; for this reason, the FL should be used multiple times and react to these allocations by other devices. e GT is represented in this Smart Method by the cooperation of each device and by sharing their information about channel selection. Also, the GT typically uses more iterations than one in a total time of evaluation to obtain the output value of the method. e disadvantage of this method    with more than one iteration is the time that is needed to complete the evaluation. More iterations can enhance the suitability of using a given channel, since repetition can be used to select a more appropriate channel if this channel is available. e main aim is to optimize the network pay-off with the cooperative strategy of devices.

Simulation and Results
We simulated the proposed algorithms for channel allocation based on IEEE 802.11xx technology in the simulation program Matlab.
is program is suitable to use the FL toolbox and to evaluate our definition of rules and parameters for simulations. Also, this environment is suitable for the use of the GT principle for channel selection. We can simulate our proposed Smart Method as a combination of the GT attributes with the FL method. We set an interval for RSS and traffic priority parameters from 0 to 100. We consider the best value of RSS as 100, when two devices are side by side, and the value of 0, when two devices are not within radio range. e traffic value is set at the best value 0 and the worst 100. Generally, a signal ratio is represented by SIR_value of 20 dB or more. It is recommended that data networks should have the SIR_value of 25 dB or more to use voice applications. We set the limit (minimum) value of SIR_value to 18, which represents value in dB, and channel with the higher value is more suitable to be used. Similarly, we predict a signal strength based on the distance, where the radio range of the device is set to 100 m. We consider that the signal is very strong if a distance between the two devices is lower than 30 m. When two devices are side by side, then the RSS_value is set to 100, because their distance is very low. We consider device distance as large when it is more than 70 m. e RSS_value is "low," when the value equals 30. We consider the distance of two devices between 30 m and 70 m as "normal." e initial Traffic_value is set to 10 for the start of the algorithm. Subsequently, the Traffic_value is generated in the range from 10 to 90 when a channel is changed to a link between two devices based on the selected scenario of the simulation. We simulated the channel allocation on the selected path from the Source device with ID_1 to the Destination device with ID_40. e path from Source device to a Destination device is selected by Dijkstra's algorithm.

Game eory as the Method for Channel
Allocation. e Game eory with final channel allocation according to this method is shown in Figure 11, where the investigated path from the Source device to the Destination device is shown by the red line. Every device allocates a channel for communication in every iteration. To show the channel change during iterations, we select this path and it is possible to show how the channel rank is changed. Also, we can show how the channel selection influences other devices in the radio range. Other devices react to these game moves and adjust the strategy to them. Each device has a finite set of actions. e GT method is more based on the cooperation of devices in the game. e strategy of the device in a typical game is to win the game. We eliminate the dominant strategy to select the best channel for the device by itself no matter if this selection increases or decreases the pay-off of the other devices and uses the strategy to optimize the channel allocation by coordination to select the channel, which increases the rank of the network. A method based on the game needs to make compromises to improve network routing. Every device is able to communicate with only one device at a one-time slot. Other allocated channels are prepared for devices in case there is a demand to set up a new connection and to start the data transfer with another neighbour device in the radio range. It is not correct and sufficient to set a value of threshold for each parameter due to changes in input parameters at each time step when the device movement occurs. e better choice is to select a threshold of difference between the previous channel rank (RSS, SIR, and traffic) and the current channel rank (RSS, SIR, and traffic). When we set the threshold with low value such as 15, it leads to more channels selection and also more iterations for the optimal channel selection in a network. e higher value of threshold such as 30 or more leads to a lower number of the total iterations for the optimal channel selection. e total number of iterations will be five or lower to allocate the final channel of link. In this scenario, we use the value of the threshold difference set to 20, due to the fact that each parameter is set to an interval from 0 to 100. If the previous channel is selected, then SIR_value of this channel is set to 18, which represents that this channel is suitable to be used but only in case if there is no better channel to be selected. Another channel has a better value if there are not  so many devices in the radio range with inappropriate (interference) channels, which influence the quality of this channel. A device with lower RSS_value influences the lower SIR parameter compared to a device with higher RSS that influences higher SIR_value. e reason for this is the process in which we obtain RSS_value in our scenario. We calculate this parameter from a distance of the two devices. When the distance of the two devices is high, the value of RSS is "low," which also means the low intensity of the signal received at this device. When two devices are close to each other, the value of the RSS is "high" and the intensity of signal strength is better. Parameter traffic is at first iteration set to value of 10. It means there is no data transfer and only this channel is used to send control frames to each device in the radio range. In the second iteration, where the device selects a better channel to communicate with other devices, the value of traffic is changed to the random value from the interval of 10 to 90. e traffic parameter is changed at every channel change, which represents the data flow at the communication channel on each device. ere is no need to send packet data between devices; we simulate this transfer by this parameter. When devices make a move (physically) in a one-time slot, every parameter changes. e fixed value of the threshold is not suitable when this value needs to be different in every slot. It is not very suitable to determine a general threshold value appropriate for every possible situation of parameters values combination.
is would only be possible if one of the most important parameters is determined as suitable. Only then is it possible to continue the channel rank with other parameters of the link quality. erefore, it is preferable to determine the threshold_value as the difference between the previously selected channel and the current channel suitable to be used. e exact value of the threshold is at one point sufficient, but when devices make a game move or the physical movement, the same value of the threshold will be insufficient. e evaluation would be possible by additional rules and this would lead to the application of the principle of a simplified version of the FL. Figure 12 shows the channel change based on the GT method and cooperation strategy on the selected path from the Source device to the Destination device. As we can see, there are a lot of channel changes based on the GT channel allocations in a one-time slot with 20 iterations. e device can change the channel if the threshold_value of difference is equal to or higher than 20. Links between selected devices change channels at all possible iterations. Some devices use the same channel for more iterations, due to the fact that there is no better channel to be selected. Also, based on this figure, two links can change the channels just one time for the time slot during the simulation. is means that no better channel with a higher difference as set threshold_value is available. If the value of the threshold is set to 20, it shows, in some cases, constant channel use for more iterations, because there is no better channel to select. Some links change channel more often based on the threshold_value, if there is a better channel. If we select the threshold to a higher value, then the lower number of channel changes will be made. e higher value of threshold means lower number of changes to optimal channel allocation in networks. e GT method changes the channel of at least one device in every iteration. It means, for this method, to decrease the total number of channel changes, we need to increase the number of input parameters. Figure 12 shows the channel selection based on the GT and, for this selection, we evaluate the channel rank for each channel link on the selected path. We evaluate the channel rank for each method with the FL principle, which only shows statistical values for the comparison of different methods. e FL principle is suitable to be used for statistics of channel rank because the output can be defined on the interval of values based on rules and the membership functions to each parameter as the input of this method. e channel rank based on the GT is shown in Figure 13. e final channel allocation is at the last iteration of each method. Every change of channel rank influences devices in the radio range with their game move based on the strategy sets to cooperate and improve the quality in the network. e device does not change the channel, but the quality of the link decreases or increases.
is change is by the channel selection of other devices in the radio range. Each device uses strategy to improve the quality of a link in the network. It means every device, when it makes a game move, uses the strategy of cooperation and selects the best channel to improve the quality, not for its higher pay-off value but to improve the pay-off of the network. e channel rank of these two methods is different due to the total number of channel changes in iterations. e GT method changes channel more often for devices based on the channel rank. Link on selected path Link D2D Device Figure 11: Example of the selected network topology with communications and channels allocated by Game eory (red line represents the path from Source to Destination).

Fuzzy Logic as the Method for Channel Allocation.
e Fuzzy Logic as a method for channel allocation seems to be more suitable because this is a more precise method to rank each channel based on the membership functions. On the one hand, the FL works as a ranking method, and, on the other hand, the GT works as a method that selects channels based on the strategy directly. Consideration should also be given to the case when the same channels are allocated for communication between different devices. e topology of the network is shown in Figure 14 with selected channels for each device, but at a one-time slot similar to that in GT the device can communicate only with one device. Other channels are ready for possible communication with neighbours. Membership functions use a triangular form or other forms of the functions to define individual values in extreme cases of the interval, and the trapezoid form function is used in other parameter values. ese functions can be seen in the previous subchapter on the FL principle. e FL method uses rules to determine whether a statement is true or false. In this case, we consider rules based on the values of the RSS_value, traffic on a channel, and the SIR ratio of signals. Mobile devices can measure and determine the RSS_value based on the received signal strength. So we assume that the device can determine this value, and therefore we only use the distance of two devices to define the value of this parameter for the simulation process. e output value of the FL based on the rules can be very suitable, more suitable, suitable, less suitable, or nonsuitable. Some of the rules for this method are shown in Table 5. e main aim is to choose a channel with a suitable value of SIR. Other values of parameters influence how suitable a channel to allocate is.
e FL uses only one iteration to choose an optimal channel to increase the quality of the network. Figure 15 shows channel allocations based on the FL method on the selected path. e FL method based on rules for the input parameters (RSS, traffic, and SIR) evaluates the channel selection. Each device chooses the channel with the highest value to improve the quality of the network. e FL output value is set for each channel from an interval of 0 to 100. is value represents how suitable a channel for communications is. e value represents the evaluation of the channel rank for connection between two devices based on information obtained from the surroundings as well as the transmission of information data. is value is evaluated based on the information obtained from the spectrum sensing and information that the devices share in the radio range. It means that the value is based on cooperation between devices to select a better  channel and increase the quality of the network. e rules are defined for each input parameter value to evaluate channel rank in this method. e simulation parameters are the same as those in the GT, a method with 40 devices, and the order of channel selection is based on the ID for each device. is process can be assigned to channel selection based on the MAC address, where the order of the value is determined by this address. e method has only one iteration, where each device based on the ID order selects a better channel for communication, if there is a one based on the threshold_value of difference. e simulation uses threshold_value set to 20. e higher or lower thresh-old_value influences the countability of channel change. is method also uses the output value of the FL as a channel rank. e device selects a new channel if the value of the difference between the previous channel and the current best channel on the current rank is higher. If this difference is lower, the device uses the same channel. If the movement was used in the simulation, this channel selection would be repeated at each time slot, when each device moves to a new location. Every time slot consists of channel allocation based on this method. is type of allocation is not so slow in evaluation so it can be used in every time slot with movement. However, the GT with 20 iterations will be slower than the FL to evaluate the final channel allocation for each channel at every time slot. More iterations mean FL with attributes from GT. e method works independently on each device; only channel selection is according to the order based on the ID number in our simulation. In the real operation scenario, each device obtains the necessary information and it performs the channel redistribution process using this method. To redistribute and improve the quality of the network, it is sufficient to choose this method, as the individual devices choose the optimal channel for communication from the available channels, and, at the same time, this channel is suitable for them. Each device makes a move (channel allocation) and responds to the previously selected channels by devices with a lower ID number to all neighbours in the radio range. e channels ranks are shown in Figure 16 with links between two devices on the selected path from the Source device to the Destination device. e channel rank is "low" if there is a large number of interference devices in the radio range. e channel change leads to a more suitable one and obtains a higher output of channel rank in the next iteration. e method uses an interval to define the quality of the channel and not just a Boolean-type of evaluation. Some types of the GT use Boolean logic to define parameters of the link quality.
e FL, on the other side, uses the membership functions to define these parameters with mathematical functions with different shapes. Change type of membership function from one type to another one means to change the result of the output value for each defined parameter. e simulation of GT needs 20 iterations to obtain an optimal channel allocation for the network. Same threshold_value and the same input parameters but a different type of membership function together mean a different number of iterations to obtain an optimal channel allocation.

Smart Method as the Method for Channel Allocation.
e smart channel allocation method of simulation uses 20 iterations to obtain optimal channels for the network in a one-time step when devices do not change their location. e topology of the network is shown in Figure 17. e channel allocation is a process that evaluates the channel allocation between the movements of each device. Time is required to get the input parameters into the method, but subsequent decision-making is performed within a one-time step. e repetition of the simulation shows that the number of iterations does not have to be large, as repetition does not  result in such drastic increases in channel rank if an appropriate decision value is selected. e biggest change of value is at the second iteration, when the allocation of communication channel 1 is changed according to the parameters to a more appropriate one using FL as the method of selection. e subsequent rank of possible channels being used is decreased due to the fact that some of the channels are already used with devices and they will not achieve such a low interference. e output from the Smart Method is the channel allocation for each device in the network, which is shown in Figure 17. Each link of two devices has a channel for communication, but, in the one-time slot, the device can connect only to one device. So other channels are only to be ready if there is a demand to create a new connection to another device in the radio range. e red line represents the path from the Source device to the Destination device. e Smart Method uses channel rank by the FL, while also taking into account the sharing of information between devices and hence the strategy of device cooperation. Figure 18 shows channel selection on each iteration of links between two devices on the selected path from Source device to Destination device, based on the Smart Method. It shows how devices stop changing their channels at the tenth iteration; after this iteration, there is no channel change based on the threshold_value. Figure 12 shows a channel selection based on the GT. As one can see, the Smart Method needs fewer iterations steps to optimize the quality of the network. e optimal channel allocations for most of the devices is achieved by eight interactions of the Smart Method; only one link needs more iterations in this selected path to select the optimal channel for communication. After the tenth iterations, there are no more changes, so we can say that ten iterations are enough to select optimal channels for communications in the network because one link between devices 5 and 17 needs more iterations. e device is able to change the channel only if the pay-off is more than the selected threshold, which is set to 20. e threshold value of the channel rank is defined as a difference between a previously selected channel and the currently more suitable channel. e channel rank is an interval of values from 0 to 100, so difference set to 20 can be considered as a percent of change due to fact that the channel rank is without dimensional number. When we set threshold_value lower than 20, it means more channels selections and also more iterations for optimal channel selection in a network. e higher value of threshold such as 30 or more means a lower number of total iterations for optimal channel selection. e total number of iterations will be five or lower to allocate the final channel of the link. A high difference in channel rank is only at the start of the simulation, where each device has a lot of free channels to select. After the first iteration, there is a lower difference between the channel ranks. Figure 19 shows how channel ranks influence channel selection not only by the device that makes a channel selection but also with other devices in the radio range. Figure 13 shows channel rank based on the GT method. e comparison of these methods in these figures shows that the same input parameter for method influences not only the total time needed to evaluate simulation but also the total number of iterations to obtain the best channel for communication. Allocation based on the Smart Method selects a better channel if the threshold value is higher than the difference between the previous channel rank and the current channel rank. Also, other devices in the radio range negatively influence this rank with no channel change. Figure 19 shows that the channel rank of links for D2D connection can have the same value of channel rank even if the channel is unchanged. Also, this value can be changed based on other device selections in the radio range. It is a Link on selected path Link D2D Device  case with not many devices in the radio range, which can affect individual communication on these channels. erefore, the rank of the channel is without change. Alternatively, an adjacent device changed the channel to a more appropriate channel, and this change helped maintain the rank for the device that did not make the channel change. If the neighbour devices choose the most appropriate channel, the rank of the device will decrease or stay the same; but it is still suitable to maintain a good connection. e effort is to improve the network as a whole, and it is, therefore, possible to accept a deterioration in the evaluation of the channel used, if this value is acceptable and it does not cause a significant decrease in the quality of the connection. A comparison between the GT and the Smart Method only shows the change in rating and usage of channels on the selected path. Every device in network topology also changes the channels used in each iteration and affects the resulting value of channel ranks on the selected path. Smart Method uses more input attributes to evaluate faster optimal channel selection. e GT is suitable as a method for channel selection, but the Smart Method with parameter definition by membership functions and attributes from the GT decreases the number of iterations needed to evaluate optimal channel selection for selected network topology.

Conclusion and Future Work
Our proposed algorithms show the effective channel allocation by a method based on Fuzzy Logic, Game eory, and the Smart Method. For the proper function of channel allocation management, it was necessary to select the appropriate parameters that characterize the quality of the connection to a sufficient level. e Smart Method based on the FL and the GT attributes is more accurate, but the cost of this accuracy is a longer period of evaluation. ese methods show that content delivery services in 5G, modern wireless, or mobile networks need radio resource management to increase channel allocation for the faster and better quality of services. As for directions for future work, we intend to aim our research at investigation and evaluation of evolution games as methods for the channel allocations. Also, the next sphere of the research could be neural networks as part of artificial intelligence.

Data Availability
All relevant data are included within the article.

Conflicts of Interest
e authors declare that they have no conflicts of interest.