<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article">
 <front>
  <journal-meta>
   <journal-id journal-id-type="publisher-id">
    cn
   </journal-id>
   <journal-title-group>
    <journal-title>
     Communications and Network
    </journal-title>
   </journal-title-group>
   <issn pub-type="epub">
    1949-2421
   </issn>
   <issn publication-format="print">
    1947-3826
   </issn>
   <publisher>
    <publisher-name>
     Scientific Research Publishing
    </publisher-name>
   </publisher>
  </journal-meta>
  <article-meta>
   <article-id pub-id-type="doi">
    10.4236/cn.2025.173003
   </article-id>
   <article-id pub-id-type="publisher-id">
    cn-145273
   </article-id>
   <article-categories>
    <subj-group subj-group-type="heading">
     <subject>
      Articles
     </subject>
    </subj-group>
    <subj-group subj-group-type="Discipline-v2">
     <subject>
      Computer Science 
     </subject>
     <subject>
       Communications
     </subject>
    </subj-group>
   </article-categories>
   <title-group>
    Group Owner Selection Based on Artificial Neural Networks in Mobile Ad hoc Wi-Fi Direct Networks
   </title-group>
   <contrib-group>
    <contrib contrib-type="author" xlink:type="simple">
     <name name-style="western">
      <surname>
       Asmaou Abdou Goggo
      </surname>
      <given-names>
       Petel
      </given-names>
     </name> 
     <xref ref-type="aff" rid="aff1"> 
      <sup>1</sup>
     </xref>
    </contrib>
    <contrib contrib-type="author" xlink:type="simple">
     <name name-style="western">
      <surname>
       Rémy Maxime
      </surname>
      <given-names>
       Mbala
      </given-names>
     </name> 
     <xref ref-type="aff" rid="aff1"> 
      <sup>1</sup>
     </xref> 
     <xref ref-type="aff" rid="aff2"> 
      <sup>2</sup>
     </xref>
    </contrib>
    <contrib contrib-type="author" xlink:type="simple">
     <name name-style="western">
      <surname>
       Paul
      </surname>
      <given-names>
       Dayang
      </given-names>
     </name> 
     <xref ref-type="aff" rid="aff1"> 
      <sup>1</sup>
     </xref> 
     <xref ref-type="aff" rid="aff2"> 
      <sup>2</sup>
     </xref>
    </contrib>
    <contrib contrib-type="author" xlink:type="simple">
     <name name-style="western">
      <surname>
       Jean Michel
      </surname>
      <given-names>
       Nlong
      </given-names>
     </name> 
     <xref ref-type="aff" rid="aff1"> 
      <sup>1</sup>
     </xref> 
     <xref ref-type="aff" rid="aff2"> 
      <sup>2</sup>
     </xref>
    </contrib>
    <contrib contrib-type="author" xlink:type="simple">
     <name name-style="western">
      <surname>
       Julien Aristide
      </surname>
      <given-names>
       Ngay
      </given-names>
     </name> 
     <xref ref-type="aff" rid="aff1"> 
      <sup>1</sup>
     </xref>
    </contrib>
   </contrib-group> 
   <aff id="aff1">
    <addr-line>
     aLaboratory of Mathematics, Computer Science and Applications, Faculty of Science, The University of Ngaoundéré, Ngaoundéré, Cameroon
    </addr-line> 
   </aff> 
   <aff id="aff2">
    <addr-line>
     aDepartment of Mathematics and Computer Science, Faculty of Science, The University of Ngaoundéré, Ngaoundéré, Cameroon
    </addr-line> 
   </aff> 
   <pub-date pub-type="epub">
    <day>
     29
    </day> 
    <month>
     08
    </month>
    <year>
     2025
    </year>
   </pub-date> 
   <volume>
    17
   </volume> 
   <issue>
    03
   </issue>
   <fpage>
    55
   </fpage>
   <lpage>
    79
   </lpage>
   <history>
    <date date-type="received">
     <day>
      1,
     </day>
     <month>
      May
     </month>
     <year>
      2025
     </year>
    </date>
    <date date-type="published">
     <day>
      26,
     </day>
     <month>
      May
     </month>
     <year>
      2025
     </year> 
    </date> 
    <date date-type="accepted">
     <day>
      26,
     </day>
     <month>
      August
     </month>
     <year>
      2025
     </year> 
    </date>
   </history>
   <permissions>
    <copyright-statement>
     © Copyright 2014 by authors and Scientific Research Publishing Inc. 
    </copyright-statement>
    <copyright-year>
     2014
    </copyright-year>
    <license>
     <license-p>
      This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/
     </license-p>
    </license>
   </permissions>
   <abstract>
    This paper investigates the use of Artificial Neural Networks (ANN) to enhance Group Owner (GO) selection in Mobile Ad hoc Networks based on Wi-Fi Direct technology. These networks are decentralised, with no fixed access point, and require optimal GO selection to ensure group persistence with maximum stability. Traditional GO selection methods, based on a single criterion such as Intent Value, can lead to inappropriate GO selection and fail to consider the heterogeneous and the dynamic nature of the network. To overcome this issue, we design a classification model and a regression model, both based on Artificial Neural Network techniques. The classification model identifies the most suitable node to act as the GO based on several parameters. It enables fast, efficient decision-making by directly selecting the GO from the available nodes, based on a binary output (0 for GO or 1 for noGO). The regression model provides a continuous estimate of Intent Value of each node based on several parameters collected on the node, offering a finer measure of a device’s willingness to become a GO. These models were trained with a weighted dataset and evaluated using the performance metrics recommended for classification and regression in Artificial Neural Networks. The results show that these ANN models offer a promising solution for improving the management of ad hoc networks by providing more adaptive and intelligent GO selection decisions. Our approach ensures that the most capable node is elected as group owner.
   </abstract>
   <kwd-group> 
    <kwd>
     Artificial Neural Networks
    </kwd> 
    <kwd>
      Group Owner Selection
    </kwd> 
    <kwd>
      Wi-Fi Direct
    </kwd> 
    <kwd>
      Intent Value
    </kwd> 
    <kwd>
      Classification Model
    </kwd> 
    <kwd>
      Regression Model
    </kwd>
   </kwd-group>
  </article-meta>
 </front>
 <body>
  <sec id="s1">
   <title>1. Introduction</title>
   <p>Mobile Ad hoc Networks (MANETs) have emerged as a cornerstone of modern wireless communication, enabling mobile devices to establish autonomous, infrastructure-free connections. These decentralized networks are particularly valuable in scenarios where traditional network infrastructure is unavailable or impractical, such as disaster recovery, military operations, or remote areas <xref ref-type="bibr" rid="scirp.145273-1">
     [1]
    </xref>. The self-organizing and self-configuring natures of MANETs and their dynamics make them well-suited for various applications, but they also introduce challenges related to resource allocation, topology management, and network stability.</p>
   <p>Within the broader scope of MANETs, Wi-Fi Direct has gained prominence as a specialized protocol designed to facilitate Peer-to-Peer (P2P) communication between devices. Wi-Fi Direct eliminates the need for a traditional central Access Point, relying instead on the selection of a Group Owner (GO) to coordinate communications within a P2P group <xref ref-type="bibr" rid="scirp.145273-2">
     [2]
    </xref> <xref ref-type="bibr" rid="scirp.145273-3">
     [3]
    </xref>. The role of the GO is negotiated during the group formation phase and remains unchanged until the group is destroyed or reconfigured. The GO selection process is dynamic and essential for network performance and quality of service. Once elected, the GO acts like an access point, the only difference being that it is not fixed, therefore it is called Soft Access Point (SoftAP). In a group, the GO is responsible for resource management (channel access scheduling, power measurements), data routing (capability of forwarding messages between nodes), and maintaining network stability (coordination of intra and inter-group communications). Work and traffic are centralized at the GO since he is the only node allowed to cross connect nodes and he has knowledge of all node labels within a group. Consequently, the selection of the GO must be optimal to elect the best equipment with sufficient resources to manage the group. Knowing that groups are generally heterogeneous, where different types of equipment with different characteristics may be included. A number of studies have already been carried out to improve GO selection and the WiFi Direct group formation process <xref ref-type="bibr" rid="scirp.145273-1">
     [1]
    </xref> <xref ref-type="bibr" rid="scirp.145273-4">
     [4]
    </xref>-<xref ref-type="bibr" rid="scirp.145273-7">
     [7]
    </xref>, but most of these studies are based on a single parameter and do not take into account all the factors that can influence device’s ability to manage the group.</p>
   <p>To overcome these limitations, there are a number of advanced techniques, such as Artificial Neural Networks (ANN), which are being developed as generalizations of mathematical models of human cognition or neural biology <xref ref-type="bibr" rid="scirp.145273-8">
     [8]
    </xref>. They offer promising solutions to complex problems thanks to their ability to learn and adapt <xref ref-type="bibr" rid="scirp.145273-9">
     [9]
    </xref>. The models used in ANNs make it possible to combine several input parameters to categorise objects (classification) or to predict a result (regression). Deep Learning and Artificial Neural Networks have already been used to solve cluster head election problems in Wireless Sensor Networks <xref ref-type="bibr" rid="scirp.145273-10">
     [10]
    </xref>-<xref ref-type="bibr" rid="scirp.145273-14">
     [14]
    </xref>.</p>
   <p>In this paper, we are exploring the use of ANNs to optimise the selection of GOs in Wi-Fi Direct groups. By addressing the limitations of traditional methods, the proposed approach consists to make two types of deep learning models (classification and regression) whose incorporates dynamic factors like signal strength, battery level, the amount of equipment supported, the degree of mobility, processor clock frequency, and Intent Value as input. Based on these parameters the classification model identifies the most suitable node to act as the GO. The regression model computes the Intent Value of each node based on the same parameters and compare it to the Intent Value chosen during the negociation to predict the node’s ability to become GO.</p>
   <p>The proposed classification and regression models are designed to work in synergy. The classification model enables fast, efficient decision-making by directly selecting the GO from the available nodes, based on a binary output (0 or 1). The regression model, on the other hand, provides a continuous estimate of Intent Value, offering a finer measure of a device’s willingness to become a GO, so the node with the highest Intent Value is selected as the GO. This holistic approach, based on Machine Learning, provides a better response to the challenges of modern ad hoc networks, as it integrates multiple criteria and continuous evaluations for optimal designation of the GO in a group. By taking advantage of the learning capabilities of neural networks, our solution aims to ensure that the right GO is chosen, which will improve the overall performance of netwoks, ensuring smooth and reliable communication in various usage scenarios. To validate these models, we also propose in this paper an approach for electing the GO from among a set of neighbouring devices that are all within communication range.</p>
   <p>The rest of the paper is organized as follows: Section 2 presents the overview of Wi-Fi Direct and related work on the GO selection; in Section 3, we provide the proposed models scheme; Section 4 provides theorical evaluation of the proposed models; Section 5 presents our GO selection approach based on the proposed models; conclusion and future works are presented in Section 6.</p>
  </sec><sec id="s2">
   <title>2. Overview of Wi-Fi Direct and Related Work</title>
   <p>Wi-Fi Direct, also named Wi-Fi P2P, is a popular wireless communication technology that enables compatible devices such as laptops, smartphones, printers, smart TVs, cameras and other appliances to connect directly to each other without the need for an intermediate Access Point (AP) <xref ref-type="bibr" rid="scirp.145273-15">
     [15]
    </xref>. Unlike traditional infrastructure mode, where devices connect to a central access point, it allows Wi-Fi Direct-enabled divices to dynamically negotiate and select one of the mobile devices as Group Owner. The Group Owner, once elected for a group, must play the same role as an access point as in Wi-Fi infrastructure mode <xref ref-type="bibr" rid="scirp.145273-16">
     [16]
    </xref>. So the choice of GO must be optimal enough to build a sustainable group and keep the group running smoothly. In the subsequent sections, we provide a technical overview of Wi-Fi Direct and recent developments for the group formation and GO selection.</p>
   <sec id="s2_1">
    <title>2.1. Technical Overview</title>
    <p>According to <xref ref-type="bibr" rid="scirp.145273-17">
      [17]
     </xref>, the Wi-Fi Direct protocol is based on the standard WLAN infrastructure mode. This network known as a P2P Group is a topology consisting of a mandatory P2P Group Owner (GO) and zero or more P2P Clients. A P2P Group is functionally equivalent to a Basic Service Set (BSS) in legacy Wi-Fi network and the GO takes over all the functions of a real Access Point. In this architecture, a P2P device, if implemented with multiple MAC functionality, can also support simultaneous operation by connecting to a P2P Group and to a conventional Wi-Fi Access Point . <xref ref-type="fig" rid="fig1">
      Figure 1
     </xref> illustrates the Wi-Fi Direct architecture .</p>
    <fig id="fig1" position="float">
     <label>Figure 1</label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.145273-"></xref>Figure 1. Wi-Fi direct architecture <xref ref-type="bibr" rid="scirp.145273-18">
        [18]
       </xref>.</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/6102063-rId19.jpeg?20250829014759" />
    </fig>
    <p>Several features have been implemented in Wi-Fi Direct technology such as: Device Discovery, Service Discovery, Group Formation, Power Saving Schemes and Security <xref ref-type="bibr" rid="scirp.145273-3">
      [3]
     </xref> <xref ref-type="bibr" rid="scirp.145273-15">
      [15]
     </xref>-<xref ref-type="bibr" rid="scirp.145273-18">
      [18]
     </xref>.</p>
    <p>The P2P Device Discovery procedure enables two devices to find each other in their wireless range and establish a connection. It is based on the standard discovery method used in traditional Wi-Fi, involving the scanning and finding phases denoted in the IEEE 802.11-2012 standard <xref ref-type="bibr" rid="scirp.145273-19">
      [19]
     </xref>. During the scanning phase, a P2P device performs traditional Wi-Fi scan (passive scan) through all supported channels in order to collect information on existing P2P groups and Wi-Fi networks. In the finding phase, the P2P Device alternates between two states (Search and Listen) in order to come to a common channel for the communication.</p>
    <p>Service Discovery is an optional procedure in Wi-Fi Direct. The procedure starts after the Device Discovery and prior to the Group Formation procedure. By using Generic Advertisement Service (GAS) protocol <xref ref-type="bibr" rid="scirp.145273-20">
      [20]
     </xref>. It allows a P2P Device to limit the search to specific P2P devices or types and to connect to the latter only if they offer the intended service <xref ref-type="bibr" rid="scirp.145273-15">
      [15]
     </xref>.</p>
    <p>After successfully completing the Device Discovery procedure, which is mandatory, and the optional Service Discovery procedure, P2P Devices can establish the P2P Group. During the Group Formation, the device that will act as GO is determined. Three types of P2P Group Formation schemes are possible in Wi-Fi Direct: Standard Group Formation, Autonomous Group Formation and Persistent Group Formation.</p>
    <fig id="fig2" position="float">
     <label>Figure 2</label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.145273-"></xref>Figure 2. Native procedure for GO selection.</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/6102063-rId20.jpeg?20250829014759" />
    </fig>
    <p>In Wi-Fi Direct, the P2P GO, which acts as a Soft-AP, must be a battery powered device and have limited lifetime. Hence, Wi-Fi Direct introduces two novel schemes for power saving in the P2P Devices. These schemes are: Opportunistic Power Save (OppPS) and Notice of Absence (NoA) .</p>
    <p>Wi-Fi Direct requires all P2P Devices to implement Wi-Fi Protected Setup (WPS) <xref ref-type="bibr" rid="scirp.145273-21">
      [21]
     </xref> in order to secure the connection establishment process and communication in the P2P Group. In WPS scheme, the P2P GO implements the internal Registrar whereas the P2P Client implements Enrollee. The internal Registrar generates and issues the network credentials to Enrollee. The Enrollee (P2P Client) reconnects to the internal Registrar (P2P GO) using the new credentials.</p>
   </sec>
   <sec id="s2_2">
    <title>2.2. Related Work on Group Formation and GO Selection</title>
    <p>Several studies have been carried out on Group Formation and GO selection, which is a critical aspect directly affecting the performance of Wi-Fi Direct networks, including latency, power consumption, quality of service, throughput and so on.</p>
    <p>Authors in <xref ref-type="bibr" rid="scirp.145273-22">
      [22]
     </xref> proposed multi-hop communication in Wi-Fi Direct using P2P Concurrent Device and Ad-hoc On Demand Distance Vector (AODV) reactive routing protocol <xref ref-type="bibr" rid="scirp.145273-23">
      [23]
     </xref>. Routing is established during Device Discovery phase to allow multi-hop communication.</p>
    <p>In <xref ref-type="bibr" rid="scirp.145273-24">
      [24]
     </xref>, authors proposed EMC (Efficient Multi group formation and Communication) protocol for Wi-Fi Direct. In EMC scheme, the P2P GO is elected based on remaining battery status of the device.</p>
    <p>In <xref ref-type="bibr" rid="scirp.145273-5">
      [5]
     </xref>, authors proposed a dynamic election of P2P GO in Wi-Fi Direct. The elected leaders can be replaced dynamically based on clustering strategy such as battery status, speed of the user and direction of motion etc. The authors also presented a template for writing clustering algorithms for efficient Group Formation.</p>
    <p>Authors in <xref ref-type="bibr" rid="scirp.145273-18">
      [18]
     </xref> proposed a combined metric approach to select the P2P GO based on several parameters. The parameters are normalized and weighted to compute Intent Values of each device. An election algorithm is then used to select the P2P GO. The same idea is explored in <xref ref-type="bibr" rid="scirp.145273-7">
      [7]
     </xref>, but the authors go further by proposing a framework for multi-hop ad hoc networking using Wi-Fi Direct in Android smart devices. The framework includes a connection establishment protocol and a group management protocol.</p>
    <p>The work carried out in <xref ref-type="bibr" rid="scirp.145273-16">
      [16]
     </xref> proposes a modified group formation scheme among multiple devices. The proposed scheme formulates the GO selection problem as an optimization problem which is solved using integer programming (IP). The GOs are selected based on link capacities with the objective to maximize the overall network throughput.</p>
    <p>In <xref ref-type="bibr" rid="scirp.145273-25">
      [25]
     </xref>, authors proposed an alteration to the standard Group Formation. In their proposed scheme, during GO Negotiation, each device sends an flag bit set to 1, to indicate its willingness to serve as the so called Emergency Group Owner (EGO). The EGO is present in the group after the GO is selected. The EGO takes over the group and assumes GO role if the GO leaves voluntarily or involuntarily.</p>
    <p>In <xref ref-type="bibr" rid="scirp.145273-26">
      [26]
     </xref> the authors propose the GO selection method by maximizing bit rate. However, the performance of the proposed system is severely acted when GO selection is required for Internet connectivity via a Wi-Fi access point or a cellular base station (BS). Wi-Fi access point or a cellular base station (BS). One of the reasons for the poor performance of this method is that the quality of the link between the GO and the AP/BS imposes a bottleneck on the average network throughput. Furthermore, the work is limited to the formation of a single group, and the proposed scheme cannot be used to create several P2P groups to connect users with high population density <xref ref-type="bibr" rid="scirp.145273-16">
      [16]
     </xref>.</p>
    <p>Another method is proposed by . This method is particularly useful during the device discovery phase. WD2 applies a parameter to control the number of messages sent. Before sending the probe packets, each device generates copies which are sent consecutively. Assuming there are N devices that can discover each other, receiving multiple packets enables the devices to discover each other . Despite its advantages, WD2 introduces an additional overhead due to the increased number of messages exchanged to accurately measure RSSI and calculate the intent value.</p>
    <p>None of the works presented above explores the possibility of using techniques based on Artificial Intelligence (AI), in particular Artificial Neural Networks (ANN), to elect the GO.</p>
   </sec>
  </sec><sec id="s3">
   <title>3. Proposed ANN Models</title>
   <p>Our principal aspect in this research is the need to improve GO selection to ensure stable connectivity and energy efficiency in Wi-Fi Direct networks. Traditional methods, often based on simple criteria such as Received Signal Strength Indicator (RSSI), do not take into account the complexity and dynamics of modern ad hoc networks. They can lead to sub-optimal GO choices, resulting in reduced quality of service, increased energy consumption, and network instability. Faced with these limitations, our aim is to design models based on Artificial Neural Networks (ANNs) for optimized GO election and calculation of the Intent Value, a quantitative measure of a device’s willingness to become a GO. In this section, we present the parameters used to collect the data and the proposed architecture for the classification and regression models.</p>
   <sec id="s3_1">
    <title>3.1. Dataset Preparation</title>
    <p>Data quality is essential for effective training of Artificial Neural Network models. Machine Learning techniques are designed to identify and exploit hidden patterns in data for predicting the outcome of future events for classification and regression problems <xref ref-type="bibr" rid="scirp.145273-28">
      [28]
     </xref>. Data collection is an important step since Machine Learning require representative data, possibly without bias, to build an effective Machine Learning model for our problem. In this section we describe the key steps in data preparation, which include data collection, pre-processing and division into training and test sets.</p>
    <p>1) Data collection: The data used to train our models come from simulations, real measurements in ad hoc network environments and synthetic data obtained from various repositories <xref ref-type="bibr" rid="scirp.145273-29">
      [29]
     </xref>-<xref ref-type="bibr" rid="scirp.145273-32">
      [32]
     </xref>. Features collected from our dataset include:</p>
    <p>(a) ID: This feature simply refers to the device ID.</p>
    <p>(b) Received Signal Strength Indicator (RSSI), which measures the quality of the signal received by a device. The data rate of the wireless link is badly affected by low RSSI. If the P2P group is used for content distribution for example, the strong connection between the group members and the GO is more crucial. The RSSI of GO to group members have significant impact on the P2P group performance.</p>
    <p>(c) Battery level, indicating the amount of energy remaining in the device. P2P devices, including the GO, are battery powered devices. If the battery life is not considered in electing a GO, there is a probability that a P2P device having low value of remaining battery is elected as GO. The GO being the most active device in the P2P group would exhaust soon and the P2P group will be broken.</p>
    <p>(d) Processing capability (CPU clock and memory), which reflects the device’s computing and storage capacity. The device which becomes GO shall be equipped with enough processing power and large memory to better serve the connected clients. The processing power and memory requirements for GO might become more significant when the P2P group consists of a large number of nodes and the group is intended for multimedia application.</p>
    <p>(e) Number of neighbors: Number of devices in direct range. A node with more neighbors can ensure better connectivity within the network. Because the P2P group is intended to connect large number of devices, then it is important to elect as GO the P2P device which has more devices in its range to connect as clients. There should also be a limit on maximum number of nodes in a P2P Group. In our case, this is the maximum number of devices that can be connected simultaneously (the amount of device it can support without compromising network quality).</p>
    <p>(f) Device mobility: Indicates the speed of movement of each device. In realistic mobile ad-hoc environments, each mobile host is free to change its mobility parameters randomly at any time . Less mobile devices are preferred to become GO to minimize frequent topology changes and to make the group more stable. There are several models of mobility, such as Gauss-Markov Mobility (GMM), Random Waypoint (RWP), Random Walk (RW), Random Direction (RD), and Recurrent Self-Similar Gauss-Markov (RSSGM) . In our case, the data presented for this feature were obtained using the RSSGM model, which shows the greatest accuracy compared to other models <xref ref-type="bibr" rid="scirp.145273-31">
      [31]
     </xref> .</p>
    <p>These data, obtained from 356 pieces of equipment are then aggregated to form a dataset representative of the different network conditions that the models will have to manage.</p>
    <p>2) Data preprocessing: Pre-processing is an important step to ensure that the data are in an optimal format for training ANN models. The following steps are applied:</p>
    <p>(a) Data cleaning: Missing or abnormal data (such as outliers) are processed. Missing values can be imputed using the mean or median of the other values in the same column. In our dataset, we do not have any missing data or outliers.</p>
    <p>(b) Normalization: Features such as RSSI, battery level and CPU clock can have very different scales. To ensure that each feature contributes equally to model training, data are normalized to a standard range (usually between 0 and 1). Here we have used the Min-Max Scaler method <xref ref-type="bibr" rid="scirp.145273-34">
      [34]
     </xref>. The formula to scale a feature is given by Equation 1, where 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        x 
      </mi> 
     </math>, 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          x 
        </mi> 
        <mrow> 
         <mi>
           min 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> and 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          x 
        </mi> 
        <mrow> 
         <mi>
           max 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> are respectively the value to scale, the minimum value and the maximum value of the dataset.</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          x 
        </mi> 
        <mrow> 
         <mtext>
           scaled 
         </mtext> 
        </mrow> 
       </msub> 
       <mo>
         = 
       </mo> 
       <mfrac> 
        <mrow> 
         <mi>
           x 
         </mi> 
         <mo>
           − 
         </mo> 
         <msub> 
          <mi>
            x 
          </mi> 
          <mrow> 
           <mi>
             min 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
        <mrow> 
         <msub> 
          <mi>
            x 
          </mi> 
          <mrow> 
           <mi>
             max 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           − 
         </mo> 
         <msub> 
          <mi>
            x 
          </mi> 
          <mrow> 
           <mi>
             min 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
       </mfrac> 
      </mrow> 
     </math> (1)</p>
    <p>(c) Categorizing feature values: In order to determine the suitability of a device and to understand the values of these features, we have graded these values according to different mentions. This procedure is described in <xref ref-type="table" rid="table1">
      Table 1
     </xref> and <xref ref-type="table" rid="table2">
      Table 2
     </xref>, which present the categorization the RSSI, Battery and CPU level feature values respectively. For RSSI, we use the categorization proposed in <xref ref-type="bibr" rid="scirp.145273-26">
      [26]
     </xref>.</p>
    <table-wrap id="table1">
     <label>
      <xref ref-type="table" rid="table1">
       Table 1
      </xref></label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.145273-"></xref>Table 1. Categorization of RSSI levels by received power (

       <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
  
         <msub> 
   
          <mi>
           
    P
   
          </mi> 
   
          <mi>
           
    r
   
          </mi> 
  
         </msub> 
 
        </mrow>

       </math>).</title>
     </caption>
     <table class="MsoTableGrid custom-table" border="0" cellspacing="0" cellpadding="0"> 
      <tr> 
       <td class="custom-bottom-td acenter" width="22.81%"><p style="text-align:center">RSSI Level</p></td> 
       <td class="custom-bottom-td acenter" width="22.81%"><p style="text-align:center">Min 
         <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
           <msub> 
            <mi>
              P 
            </mi> 
            <mi>
              r 
            </mi> 
           </msub> 
          </mrow> 
         </math></p></td> 
       <td class="custom-bottom-td acenter" width="22.81%"><p style="text-align:center">Max 
         <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
           <msub> 
            <mi>
              P 
            </mi> 
            <mi>
              r 
            </mi> 
           </msub> 
          </mrow> 
         </math></p></td> 
       <td class="custom-bottom-td acenter" width="22.81%"><p style="text-align:center">Description</p></td> 
      </tr> 
      <tr> 
       <td class="custom-top-td acenter" width="22.81%"><p style="text-align:center">0</p></td> 
       <td class="custom-top-td acenter" width="22.81%"><p style="text-align:center">−∞</p></td> 
       <td class="custom-top-td acenter" width="22.81%"><p style="text-align:center">−81</p></td> 
       <td class="custom-top-td acenter" width="22.81%"><p style="text-align:center">Very bad signal</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="22.81%"><p style="text-align:center">1</p></td> 
       <td class="acenter" width="22.81%"><p style="text-align:center">−81</p></td> 
       <td class="acenter" width="22.81%"><p style="text-align:center">−78</p></td> 
       <td class="acenter" width="22.81%"><p style="text-align:center">Bad signal</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="22.81%"><p style="text-align:center">2</p></td> 
       <td class="acenter" width="22.81%"><p style="text-align:center">−78</p></td> 
       <td class="acenter" width="22.81%"><p style="text-align:center">−73</p></td> 
       <td class="acenter" width="22.81%"><p style="text-align:center">Average signal</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="22.81%"><p style="text-align:center">3</p></td> 
       <td class="acenter" width="22.81%"><p style="text-align:center">−73</p></td> 
       <td class="acenter" width="22.81%"><p style="text-align:center">−65</p></td> 
       <td class="acenter" width="22.81%"><p style="text-align:center">Good signal</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="22.81%"><p style="text-align:center">4</p></td> 
       <td class="acenter" width="22.81%"><p style="text-align:center">−65</p></td> 
       <td class="acenter" width="22.81%"><p style="text-align:center">0</p></td> 
       <td class="acenter" width="22.81%"><p style="text-align:center">Excellent signal</p></td> 
      </tr> 
     </table>
    </table-wrap>
    <table-wrap id="table2">
     <label>
      <xref ref-type="table" rid="table2">
       Table 2
      </xref></label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.145273-"></xref>Table 2. Battery and CPU level categorization.</title>
     </caption>
     <table class="MsoTableGrid custom-table" border="0" cellspacing="0" cellpadding="0"> 
      <tr> 
       <td class="custom-bottom-td acenter" width="25.01%"><p style="text-align:center">Level</p></td> 
       <td class="custom-bottom-td acenter" width="25.00%"><p style="text-align:center">Battery in (%)</p></td> 
       <td class="custom-bottom-td acenter" width="26.29%"><p style="text-align:center">CPU Clock in (MHz)</p></td> 
       <td class="custom-bottom-td acenter" width="23.70%"><p style="text-align:center">Description</p></td> 
      </tr> 
      <tr> 
       <td class="custom-top-td acenter" width="25.01%"><p style="text-align:center">0</p></td> 
       <td class="custom-top-td acenter" width="25.00%"><p style="text-align:center">0 - 20</p></td> 
       <td class="custom-top-td acenter" width="26.29%"><p style="text-align:center">1000 - 1300</p></td> 
       <td class="custom-top-td acenter" width="23.70%"><p style="text-align:center">Very Bad</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="25.01%"><p style="text-align:center">1</p></td> 
       <td class="acenter" width="25.00%"><p style="text-align:center">30 - 50</p></td> 
       <td class="acenter" width="26.29%"><p style="text-align:center">1400 - 1600</p></td> 
       <td class="acenter" width="23.70%"><p style="text-align:center">Bad</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="25.01%"><p style="text-align:center">2</p></td> 
       <td class="acenter" width="25.00%"><p style="text-align:center">60 - 80</p></td> 
       <td class="acenter" width="26.29%"><p style="text-align:center">1700 - 2000</p></td> 
       <td class="acenter" width="23.70%"><p style="text-align:center">Good</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="25.01%"><p style="text-align:center">3</p></td> 
       <td class="acenter" width="25.00%"><p style="text-align:center">80 - 100</p></td> 
       <td class="acenter" width="26.29%"><p style="text-align:center">2100 - 3000</p></td> 
       <td class="acenter" width="23.70%"><p style="text-align:center">Very Good</p></td> 
      </tr> 
     </table>
    </table-wrap>
    <p>As one of our models is a binary classification model then for the Intent Value column we will categorize the values into two classes 0 and 1 according to <xref ref-type="table" rid="table3">
      Table 3
     </xref>.</p>
    <table-wrap id="table3">
     <label>
      <xref ref-type="table" rid="table3">
       Table 3
      </xref></label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.145273-"></xref>Table 3. Intent value classes.</title>
     </caption>
     <table class="MsoTableGrid custom-table" border="0" cellspacing="0" cellpadding="0"> 
      <tr> 
       <td class="custom-bottom-td acenter" width="22.81%"><p style="text-align:center">Intent Value</p></td> 
       <td class="custom-bottom-td acenter" width="22.81%"><p style="text-align:center">Classe</p></td> 
       <td class="custom-bottom-td acenter" width="22.81%"><p style="text-align:center">Description</p></td> 
      </tr> 
      <tr> 
       <td class="custom-top-td acenter" width="22.81%"><p style="text-align:center">0 - 7</p></td> 
       <td class="custom-top-td acenter" width="22.81%"><p style="text-align:center">0</p></td> 
       <td class="custom-top-td acenter" width="22.81%"><p style="text-align:center">noGO</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="22.81%"><p style="text-align:center">8 - 15</p></td> 
       <td class="acenter" width="22.81%"><p style="text-align:center">1</p></td> 
       <td class="acenter" width="22.81%"><p style="text-align:center">GO</p></td> 
      </tr> 
     </table>
    </table-wrap>
    <p>This distribution is justified by the fact that in the classic GO selection, the role is assigned to the device that has emitted the highest value of intent. We have therefore considered values between 0 and 7 to be low and those between 8 and 15 to be high. And 8 is the midpoint of the range [0, 15]. In the Wi-Fi Direct protocol, two Intent values are compared at the time of negotiation, whereas our predictive models only know the local characteristics (RSSI, battery level, memory, etc.) of a device and try either to predict whether this node has a good chance of becoming a GO, or to predict what its Intent Value might be. Consequently, as our models have no knowledge of the other nodes at the time of prediction, we simply teach it to classify nodes as GO or noGO according to their Intent Value level in absolute value. This is where the empirical threshold of 8 comes into play. This threshold is not a protocol truth, but a practical approach that we have used to formulate the problem in binary classification, which makes it possible to identify nodes with a high propensity to become GOs where several nodes will be compared. This balanced cut-off also makes it possible to create a symmetrical binary classification, leading to a more balanced model.</p>
    <p>3) Data Processing Division: To properly evaluate model performance, we have used the standard Machine Learning distribution. The dataset is divided into three distinct sets:</p>
    <p>This division allows us to ensure that the models generalize well beyond the data on which they have been trained.</p>
   </sec>
   <sec id="s3_2">
    <title>3.2. Classification and Regression Models</title>
    <p>Our classification (<xref ref-type="fig" rid="fig3">
      Figure 3
     </xref>) and regression (<xref ref-type="fig" rid="fig4">
      Figure 4
     </xref>) models are structured in the form of a multi-layer neural network (Multi-Layer Perceptron, MLP). MLP is composed of multiple layers, including an input layer, hidden layers, and an output layer, where each layer contains a set of perception elements known as neurons. The neurons of the input layer of our model is composed of the device features mentioned in section 2, except for the ID.</p>
    <p>Both networks include two hidden layers (each with eight neurons) using the Rectified Linear Unit (ReLU) as activation function (Equation 3). The ReLU function is chosen for its acceleration of learning and mitigation of the problem of the gradient disappearing. In fact, the simplicity of the ReLU reduces the time required to perform calculations during forward and reverse propagation in the network, which speeds up the learning process. ReLU tends to activate only some of the neurons at a time, making the network lighter and less costly in terms of computation . In addition, unlike other functions, the ReLU allows a freer flow of the gradient, avoiding problems where the gradients become too small for effective updating during training . Our models have 2 hidden layers, each consisting of 8 neurons. The choice of these quantities was guided by the tests carried out during the training. In ANN, the number of hidden layers and the number of neurons generally depend on the number of input features and the size of the dataset <xref ref-type="bibr" rid="scirp.145273-11">
      [11]
     </xref>. In our case, we have observed that increasing these values tends to overfitting.</p>
    <p>The output layers of both models are formed by a single neuron. For the classification model, since we are doing a binary classification a Sigmoid activation function (Equation 4) is used for the output, producing a probability indicating whether a device is suitable for election as a GO or not. Beside the classification model, the regression model calculates the Intent Value of each node. Precise calculation of this value enables more nuanced and dynamic decision-making, by adjusting the probability of a device being chosen as a GO according to changing network conditions. So the output layer of our regression model is activated with Linear activation (Equation 5), to produce a continuous value representing the Intent Value, ranging from 0 to 15 according to the Wi-Fi direct technology specification.</p>
    <p>If we note 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msup> 
        <mi>
          Y 
        </mi> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mi>
            n 
          </mi> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
       </msup> 
       <mo>
         = 
       </mo> 
       <mrow> 
        <mo>
          〈 
        </mo> 
        <mrow> 
         <msubsup> 
          <mi>
            y 
          </mi> 
          <mn>
            1 
          </mn> 
          <mrow> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mi>
              n 
            </mi> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
         </msubsup> 
         <mo>
           , 
         </mo> 
         <msubsup> 
          <mi>
            y 
          </mi> 
          <mn>
            2 
          </mn> 
          <mrow> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mi>
              n 
            </mi> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
         </msubsup> 
         <mo>
           , 
         </mo> 
         <mo>
           ⋯ 
         </mo> 
         <mo>
           , 
         </mo> 
         <msubsup> 
          <mi>
            y 
          </mi> 
          <mi>
            m 
          </mi> 
          <mrow> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mi>
              n 
            </mi> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
         </msubsup> 
        </mrow> 
        <mo>
          〉 
        </mo> 
       </mrow> 
      </mrow> 
     </math> the set of neurons in the 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msup> 
        <mi>
          n 
        </mi> 
        <mrow> 
         <mi>
           t 
         </mi> 
         <mi>
           h 
         </mi> 
        </mrow> 
       </msup> 
      </mrow> 
     </math> layer, the functioning of the neurons in the model is broken down into two phases:</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msubsup> 
        <mi>
          X 
        </mi> 
        <mi>
          i 
        </mi> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <mi>
             j 
           </mi> 
           <mo>
             + 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
       </msubsup> 
       <mo>
         = 
       </mo> 
       <munderover> 
        <mstyle mathsize="140%" displaystyle="true"> 
         <mo>
           ∑ 
         </mo> 
        </mstyle> 
        <mrow> 
         <mi>
           k 
         </mi> 
         <mo>
           = 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
        <mi>
          m 
        </mi> 
       </munderover> 
       <mtext>
           
       </mtext> 
       <msubsup> 
        <mi>
          w 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           k 
         </mi> 
        </mrow> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mi>
            j 
          </mi> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
       </msubsup> 
       <msubsup> 
        <mi>
          y 
        </mi> 
        <mi>
          k 
        </mi> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mi>
            j 
          </mi> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
       </msubsup> 
       <mo>
         + 
       </mo> 
       <msup> 
        <mi>
          b 
        </mi> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <mi>
             j 
           </mi> 
           <mo>
             + 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
       </msup> 
      </mrow> 
     </math> (2)</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msubsup> 
        <mi>
          Z 
        </mi> 
        <mi>
          i 
        </mi> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mi>
            j 
          </mi> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
       </msubsup> 
       <mo>
         = 
       </mo> 
       <mi>
         max 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mn>
           0 
         </mn> 
         <mo>
           , 
         </mo> 
         <msubsup> 
          <mi>
            X 
          </mi> 
          <mi>
            i 
          </mi> 
          <mrow> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mi>
              j 
            </mi> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
         </msubsup> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <mrow> 
        <mo>
          { 
        </mo> 
        <mrow> 
         <mtable columnalign="left"> 
          <mtr columnalign="left"> 
           <mtd columnalign="left"> 
            <mrow> 
             <msubsup> 
              <mi>
                X 
              </mi> 
              <mi>
                i 
              </mi> 
              <mrow> 
               <mrow> 
                <mo>
                  ( 
                </mo> 
                <mi>
                  j 
                </mi> 
                <mo>
                  ) 
                </mo> 
               </mrow> 
              </mrow> 
             </msubsup> 
             <mo>
               , 
             </mo> 
             <mtext>
                 
             </mtext> 
             <mtext>
               if 
             </mtext> 
             <mtext>
                 
             </mtext> 
             <msubsup> 
              <mi>
                X 
              </mi> 
              <mi>
                i 
              </mi> 
              <mrow> 
               <mrow> 
                <mo>
                  ( 
                </mo> 
                <mi>
                  j 
                </mi> 
                <mo>
                  ) 
                </mo> 
               </mrow> 
              </mrow> 
             </msubsup> 
             <mo>
               &gt; 
             </mo> 
             <mn>
               0 
             </mn> 
            </mrow> 
           </mtd> 
          </mtr> 
          <mtr columnalign="left"> 
           <mtd columnalign="left"> 
            <mrow> 
             <mn>
               0 
             </mn> 
             <mo>
               , 
             </mo> 
             <mtext>
                 
             </mtext> 
             <mtext>
               otherwise 
             </mtext> 
            </mrow> 
           </mtd> 
          </mtr> 
         </mtable> 
        </mrow> 
       </mrow> 
      </mrow> 
     </math> (3)</p>
    <p>The output values of the two models are obtained at the output layer level by Equation 4 for the classification model and Equation 5 for the regression model.</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         Y 
       </mi> 
       <mo>
         = 
       </mo> 
       <mfrac> 
        <mn>
          1 
        </mn> 
        <mrow> 
         <mn>
           1 
         </mn> 
         <mo>
           + 
         </mo> 
         <msup> 
          <mtext>
            e 
          </mtext> 
          <mrow> 
           <mo>
             − 
           </mo> 
           <msubsup> 
            <mi>
              Z 
            </mi> 
            <mi>
              i 
            </mi> 
            <mrow> 
             <mrow> 
              <mo>
                ( 
              </mo> 
              <mi>
                j 
              </mi> 
              <mo>
                ) 
              </mo> 
             </mrow> 
            </mrow> 
           </msubsup> 
          </mrow> 
         </msup> 
        </mrow> 
       </mfrac> 
      </mrow> 
     </math> (4)</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         Y 
       </mi> 
       <mo>
         = 
       </mo> 
       <mrow> 
        <mo>
          { 
        </mo> 
        <mrow> 
         <mtable columnalign="left"> 
          <mtr columnalign="left"> 
           <mtd columnalign="left"> 
            <mrow> 
             <mn>
               0 
             </mn> 
             <mo>
               , 
             </mo> 
            </mrow> 
           </mtd> 
           <mtd columnalign="left"> 
            <mrow> 
             <mtext>
               if 
             </mtext> 
             <mtext>
                 
             </mtext> 
             <msubsup> 
              <mi>
                Z 
              </mi> 
              <mi>
                i 
              </mi> 
              <mrow> 
               <mrow> 
                <mo>
                  ( 
                </mo> 
                <mi>
                  j 
                </mi> 
                <mo>
                  ) 
                </mo> 
               </mrow> 
              </mrow> 
             </msubsup> 
             <mo>
               ≤ 
             </mo> 
             <mn>
               0 
             </mn> 
            </mrow> 
           </mtd> 
          </mtr> 
          <mtr columnalign="left"> 
           <mtd columnalign="left"> 
            <mrow> 
             <msubsup> 
              <mi>
                Z 
              </mi> 
              <mi>
                i 
              </mi> 
              <mrow> 
               <mrow> 
                <mo>
                  ( 
                </mo> 
                <mi>
                  j 
                </mi> 
                <mo>
                  ) 
                </mo> 
               </mrow> 
              </mrow> 
             </msubsup> 
             <mo>
               , 
             </mo> 
            </mrow> 
           </mtd> 
           <mtd columnalign="left"> 
            <mrow> 
             <mtext>
               if 
             </mtext> 
             <mtext>
                 
             </mtext> 
             <msubsup> 
              <mi>
                Z 
              </mi> 
              <mi>
                i 
              </mi> 
              <mrow> 
               <mrow> 
                <mo>
                  ( 
                </mo> 
                <mi>
                  j 
                </mi> 
                <mo>
                  ) 
                </mo> 
               </mrow> 
              </mrow> 
             </msubsup> 
             <mo>
               ∈ 
             </mo> 
             <mrow> 
              <mo>
                ] 
              </mo> 
              <mrow> 
               <mn>
                 0 
               </mn> 
               <mo>
                 , 
               </mo> 
               <mn>
                 15 
               </mn> 
              </mrow> 
              <mo>
                [ 
              </mo> 
             </mrow> 
            </mrow> 
           </mtd> 
          </mtr> 
          <mtr columnalign="left"> 
           <mtd columnalign="left"> 
            <mrow> 
             <mn>
               15 
             </mn> 
             <mo>
               , 
             </mo> 
            </mrow> 
           </mtd> 
           <mtd columnalign="left"> 
            <mrow> 
             <mtext>
               if 
             </mtext> 
             <mtext>
                 
             </mtext> 
             <msubsup> 
              <mi>
                Z 
              </mi> 
              <mi>
                i 
              </mi> 
              <mrow> 
               <mrow> 
                <mo>
                  ( 
                </mo> 
                <mi>
                  j 
                </mi> 
                <mo>
                  ) 
                </mo> 
               </mrow> 
              </mrow> 
             </msubsup> 
             <mo>
               ≥ 
             </mo> 
             <mn>
               15 
             </mn> 
            </mrow> 
           </mtd> 
          </mtr> 
         </mtable> 
        </mrow> 
       </mrow> 
      </mrow> 
     </math> (5)</p>
    <fig id="fig3" position="float">
     <label>Figure 3</label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.145273-"></xref>Figure 3. The classification model</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/6102063-rId50.jpeg?20250829014804" />
    </fig>
    <fig id="fig4" position="float">
     <label>Figure 4</label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.145273-"></xref>Figure 4. The regression model</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/6102063-rId51.jpeg?20250829014804" />
    </fig>
   </sec>
  </sec><sec id="s4">
   <title>4. Models Performance Evaluation</title>
   <p>In this section we carry out a theoretical evaluation of our two models for GO selection and Intent Value calculation in Wi-Fi Direct ad hoc networks. These models aim to improve network performance and stability by using more complex and adaptive devices features than traditional methods. In this section we also present the experimental environment and evaluation indicators specific to each of the models.</p>
   <sec id="s4_1">
    <title>4.1. Experimental Environment</title>
    <p>The hardware and software conditions in the experimental environment of this article are shown in <xref ref-type="table" rid="table4">
      Table 4
     </xref>.</p>
    <table-wrap id="table4">
     <label>
      <xref ref-type="table" rid="table4">
       Table 4
      </xref></label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.145273-"></xref>Table 4. Experimental environment.</title>
     </caption>
     <table class="MsoTableGrid custom-table" border="0" cellspacing="0" cellpadding="0"> 
      <tr> 
       <td class="custom-bottom-td acenter" width="46.13%"><p style="text-align:center">Software and hardware configuration</p></td> 
       <td class="custom-bottom-td acenter" width="53.87%"><p style="text-align:center">Configuration parameter</p></td> 
      </tr> 
      <tr> 
       <td class="custom-top-td acenter" width="46.13%"><p style="text-align:center">CPU</p></td> 
       <td class="custom-top-td acenter" width="53.87%"><p style="text-align:center">AMD Ryzen5-3500U @2.1 GHz</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="46.13%"><p style="text-align:center">RAM</p></td> 
       <td class="acenter" width="53.87%"><p style="text-align:center">8G</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="46.13%"><p style="text-align:center">Operating System</p></td> 
       <td class="acenter" width="53.87%"><p style="text-align:center">Windows 11 Professional 64-bit</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="46.13%"><p style="text-align:center">Programming language</p></td> 
       <td class="acenter" width="53.87%"><p style="text-align:center">Python 3.7.0</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="46.13%"><p style="text-align:center">Deep learning framework</p></td> 
       <td class="acenter" width="53.87%"><p style="text-align:center">Tensorflow 1.14</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="46.13%"><p style="text-align:center">Deep learning library</p></td> 
       <td class="acenter" width="53.87%"><p style="text-align:center">Keras 2.3.1</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="46.13%"><p style="text-align:center">Data visualization library</p></td> 
       <td class="acenter" width="53.87%"><p style="text-align:center">Matplotlib 3.10.1</p></td> 
      </tr> 
     </table>
    </table-wrap>
   </sec>
   <sec id="s4_2">
    <title>4.2. Selection of Evaluation Indicators</title>
    <p>In order to evaluate the GO selection and Intent Value prediction performance of our models, several evaluation indicators are selected, depending on the type of model.</p>
    <p>For the classification model, these indicators are:</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mtext>
         Accuracy 
       </mtext> 
       <mo>
         = 
       </mo> 
       <mfrac> 
        <mrow> 
         <mstyle displaystyle="true"> 
          <msubsup> 
           <mo>
             ∑ 
           </mo> 
           <mrow> 
            <mi>
              i 
            </mi> 
            <mo>
              = 
            </mo> 
            <mn>
              1 
            </mn> 
           </mrow> 
           <mi>
             N 
           </mi> 
          </msubsup> 
          <mrow> 
           <msub> 
            <mi>
              T 
            </mi> 
            <mrow> 
             <msub> 
              <mi>
                C 
              </mi> 
              <mi>
                i 
              </mi> 
             </msub> 
            </mrow> 
           </msub> 
          </mrow> 
         </mstyle> 
        </mrow> 
        <mrow> 
         <mtext>
           Total Predictions 
         </mtext> 
        </mrow> 
       </mfrac> 
       <mo>
         = 
       </mo> 
       <mfrac> 
        <mrow> 
         <mtext>
           TP 
         </mtext> 
         <mo>
           + 
         </mo> 
         <mtext>
           TN 
         </mtext> 
        </mrow> 
        <mrow> 
         <mtext>
           TP 
         </mtext> 
         <mo>
           + 
         </mo> 
         <mtext>
           TN 
         </mtext> 
         <mo>
           + 
         </mo> 
         <mtext>
           FP 
         </mtext> 
         <mo>
           + 
         </mo> 
         <mtext>
           FN 
         </mtext> 
        </mrow> 
       </mfrac> 
      </mrow> 
     </math> (6)</p>
    <p>The precision of the model can be formally defined as the frequency of correct predictions for actual positive instances as in Equation 7:</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mtext>
         Precision 
       </mtext> 
       <mo>
         = 
       </mo> 
       <mfrac> 
        <mrow> 
         <mtext>
           TP 
         </mtext> 
        </mrow> 
        <mrow> 
         <mtext>
           TP 
         </mtext> 
         <mo>
           + 
         </mo> 
         <mtext>
           FP 
         </mtext> 
        </mrow> 
       </mfrac> 
      </mrow> 
     </math> (7)</p>
    <p>The accuracy curve shows the evolution of the model’s accuracy during training, for both the training set and the validation set. It shows whether the model continues to improve its predictions.</p>
    <p>
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mtext>
         TPR 
       </mtext> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mtext>
           Recall 
         </mtext> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <mfrac> 
        <mrow> 
         <mtext>
           TP 
         </mtext> 
        </mrow> 
        <mrow> 
         <mtext>
           TP 
         </mtext> 
         <mo>
           + 
         </mo> 
         <mtext>
           FN 
         </mtext> 
        </mrow> 
       </mfrac> 
      </mrow> 
     </math> (8)</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mtext>
         F-measure 
       </mtext> 
       <mo>
         = 
       </mo> 
       <mn>
         2 
       </mn> 
       <mo>
         × 
       </mo> 
       <mfrac> 
        <mrow> 
         <mtext>
           Precision 
         </mtext> 
         <mo>
           × 
         </mo> 
         <mtext>
           TPR 
         </mtext> 
        </mrow> 
        <mrow> 
         <mtext>
           Precision 
         </mtext> 
         <mo>
           + 
         </mo> 
         <mtext>
           TPR 
         </mtext> 
        </mrow> 
       </mfrac> 
      </mrow> 
     </math> (9)</p>
    <p>The regression model designed to calculate the Intent Value is evaluated using specific metrics that measure the accuracy of the predictions of continuous values. Noting that 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        n 
      </mi> 
     </math> is the number of samples, 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        y 
      </mi> 
     </math> is the observed Intent Value, 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mover accent="true"> 
       <mi>
         y 
       </mi> 
       <mo>
         ^ 
       </mo> 
      </mover> 
     </math> is the predicted Intent Value and 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mover accent="true"> 
       <mi>
         y 
       </mi> 
       <mo>
         ¯ 
       </mo> 
      </mover> 
     </math> is the mean, these parameters are:</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mtext>
         MedAE 
       </mtext> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           y 
         </mi> 
         <mo>
           , 
         </mo> 
         <mover accent="true"> 
          <mi>
            y 
          </mi> 
          <mo>
            ^ 
          </mo> 
         </mover> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <mtext>
         med 
       </mtext> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mrow> 
          <mo>
            | 
          </mo> 
          <mrow> 
           <msub> 
            <mi>
              y 
            </mi> 
            <mi>
              i 
            </mi> 
           </msub> 
           <mo>
             − 
           </mo> 
           <msub> 
            <mover accent="true"> 
             <mi>
               y 
             </mi> 
             <mo>
               ^ 
             </mo> 
            </mover> 
            <mi>
              i 
            </mi> 
           </msub> 
          </mrow> 
          <mo>
            | 
          </mo> 
         </mrow> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math> (10)</p>
    <p>where med is the median function calculated on absolute errors 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          | 
        </mo> 
        <mrow> 
         <msub> 
          <mi>
            y 
          </mi> 
          <mi>
            i 
          </mi> 
         </msub> 
         <mo>
           − 
         </mo> 
         <msub> 
          <mover accent="true"> 
           <mi>
             y 
           </mi> 
           <mo>
             ^ 
           </mo> 
          </mover> 
          <mi>
            i 
          </mi> 
         </msub> 
        </mrow> 
        <mo>
          | 
        </mo> 
       </mrow> 
      </mrow> 
     </math>.</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mtext>
         MAE 
       </mtext> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           y 
         </mi> 
         <mo>
           , 
         </mo> 
         <mover accent="true"> 
          <mi>
            y 
          </mi> 
          <mo>
            ^ 
          </mo> 
         </mover> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <mfrac> 
        <mn>
          1 
        </mn> 
        <mi>
          n 
        </mi> 
       </mfrac> 
       <munderover> 
        <mstyle displaystyle="true" mathsize="140%"> 
         <mo>
           ∑ 
         </mo> 
        </mstyle> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mo>
           = 
         </mo> 
         <mn>
           0 
         </mn> 
        </mrow> 
        <mrow> 
         <mi>
           n 
         </mi> 
         <mo>
           − 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
       </munderover> 
       <mrow> 
        <mo>
          | 
        </mo> 
        <mrow> 
         <msub> 
          <mi>
            y 
          </mi> 
          <mi>
            i 
          </mi> 
         </msub> 
         <mo>
           − 
         </mo> 
         <msub> 
          <mover accent="true"> 
           <mi>
             y 
           </mi> 
           <mo>
             ^ 
           </mo> 
          </mover> 
          <mi>
            i 
          </mi> 
         </msub> 
        </mrow> 
        <mo>
          | 
        </mo> 
       </mrow> 
      </mrow> 
     </math> (11)</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mtext>
         MSE 
       </mtext> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           y 
         </mi> 
         <mo>
           , 
         </mo> 
         <mover accent="true"> 
          <mi>
            y 
          </mi> 
          <mo>
            ^ 
          </mo> 
         </mover> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <mfrac> 
        <mn>
          1 
        </mn> 
        <mi>
          n 
        </mi> 
       </mfrac> 
       <munderover> 
        <mstyle displaystyle="true" mathsize="140%"> 
         <mo>
           ∑ 
         </mo> 
        </mstyle> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mo>
           = 
         </mo> 
         <mn>
           0 
         </mn> 
        </mrow> 
        <mrow> 
         <mi>
           n 
         </mi> 
         <mo>
           − 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
       </munderover> 
       <msup> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <msub> 
            <mi>
              y 
            </mi> 
            <mi>
              i 
            </mi> 
           </msub> 
           <mo>
             − 
           </mo> 
           <msub> 
            <mover accent="true"> 
             <mi>
               y 
             </mi> 
             <mo>
               ^ 
             </mo> 
            </mover> 
            <mi>
              i 
            </mi> 
           </msub> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
        <mn>
          2 
        </mn> 
       </msup> 
      </mrow> 
     </math> (12)</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msup> 
        <mi>
          R 
        </mi> 
        <mn>
          2 
        </mn> 
       </msup> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           y 
         </mi> 
         <mo>
           , 
         </mo> 
         <mover accent="true"> 
          <mi>
            y 
          </mi> 
          <mo>
            ^ 
          </mo> 
         </mover> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <mn>
         1 
       </mn> 
       <mo>
         − 
       </mo> 
       <mfrac> 
        <mrow> 
         <msubsup> 
          <mstyle mathsize="140%" displaystyle="true"> 
           <mo>
             ∑ 
           </mo> 
          </mstyle> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mo>
             = 
           </mo> 
           <mn>
             0 
           </mn> 
          </mrow> 
          <mrow> 
           <mi>
             n 
           </mi> 
           <mo>
             − 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
         </msubsup> 
         <msup> 
          <mrow> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mrow> 
             <msub> 
              <mi>
                y 
              </mi> 
              <mi>
                i 
              </mi> 
             </msub> 
             <mo>
               − 
             </mo> 
             <msub> 
              <mover accent="true"> 
               <mi>
                 y 
               </mi> 
               <mo>
                 ^ 
               </mo> 
              </mover> 
              <mi>
                i 
              </mi> 
             </msub> 
            </mrow> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
          <mn>
            2 
          </mn> 
         </msup> 
        </mrow> 
        <mrow> 
         <msubsup> 
          <mstyle mathsize="140%" displaystyle="true"> 
           <mo>
             ∑ 
           </mo> 
          </mstyle> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mo>
             = 
           </mo> 
           <mn>
             0 
           </mn> 
          </mrow> 
          <mrow> 
           <mi>
             n 
           </mi> 
           <mo>
             − 
           </mo> 
           <mn>
             1 
           </mn> 
          </mrow> 
         </msubsup> 
         <msup> 
          <mrow> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mrow> 
             <msub> 
              <mi>
                y 
              </mi> 
              <mi>
                i 
              </mi> 
             </msub> 
             <mo>
               − 
             </mo> 
             <mover accent="true"> 
              <mi>
                y 
              </mi> 
              <mo>
                ¯ 
              </mo> 
             </mover> 
            </mrow> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
          <mn>
            2 
          </mn> 
         </msup> 
        </mrow> 
       </mfrac> 
      </mrow> 
     </math> (13)</p>
   </sec>
   <sec id="s4_3">
    <title>4.3. Results and Interpretation</title>
    <p>After training our models by applying a weighting to the other features to generate the “Intent Value” column in our dataset, we were able to adjust the target to better reflect the underlying relationships between inputs and outputs (Equation 1). This strategy created consistency between the inputs and the target variable, which improved model performance. This weighting process strengthens the links between relevant features and the target, which is often essential in ANN based approaches.</p>
    <p>The performance curves obtained from the classification model are shown below:</p>
    <fig id="fig5" position="float">
     <label>Figure 5</label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.145273-"></xref>Figure 5. ROC curve and AUC.</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/6102063-rId84.jpeg?20250829014808" />
    </fig>
    <fig id="fig6" position="float">
     <label>Figure 6</label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.145273-"></xref>Figure 6. Loss curve of the classification model.</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/6102063-rId85.jpeg?20250829014808" />
    </fig>
    <table-wrap id="table5">
     <label>
      <xref ref-type="table" rid="table5">
       Table 5
      </xref></label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.145273-"></xref>Table 5. Confusion matrix for classification model.</title>
     </caption>
     <table class="MsoTableGrid custom-table" border="0" cellspacing="0" cellpadding="0"> 
      <tr> 
       <td class="acenter" width="45.61%" colspan="2"><p style="text-align:center"></p></td> 
       <td class="custom-bottom-td acenter" width="45.61%" colspan="2"><p style="text-align:center">Actual instance</p></td> 
      </tr> 
      <tr> 
       <td class="custom-bottom-td acenter" width="45.61%" colspan="2"><p style="text-align:center"></p></td> 
       <td class="custom-bottom-td custom-top-td acenter" width="22.81%"><p style="text-align:center">Positive (P)</p></td> 
       <td class="custom-bottom-td custom-top-td acenter" width="22.81%"><p style="text-align:center">Negative (N)</p></td> 
      </tr> 
      <tr> 
       <td class="custom-top-td acenter" width="22.81%"><p style="text-align:center">Predicted</p></td> 
       <td class="custom-top-td acenter" width="22.81%"><p style="text-align:center">Positive (P)</p></td> 
       <td class="custom-top-td acenter" width="22.81%"><p style="text-align:center">38</p></td> 
       <td class="custom-top-td acenter" width="22.81%"><p style="text-align:center">9</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="22.81%"><p style="text-align:center">Values</p></td> 
       <td class="acenter" width="22.81%"><p style="text-align:center">Negative(N)</p></td> 
       <td class="acenter" width="22.81%"><p style="text-align:center">0</p></td> 
       <td class="acenter" width="22.81%"><p style="text-align:center">30</p></td> 
      </tr> 
     </table>
    </table-wrap>
    <fig id="fig7" position="float">
     <label>Figure 7</label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.145273-"></xref>Figure 7. Accuracy curves of the classification model.</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/6102063-rId86.jpeg?20250829014808" />
    </fig>
    <p>A summary of the performance of our classification model is presented in <xref ref-type="table" rid="table6">
      Table 6
     </xref>.</p>
    <table-wrap id="table6">
     <label>
      <xref ref-type="table" rid="table6">
       Table 6
      </xref></label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.145273-"></xref>Table 6. Summary of the performance of the classification model.</title>
     </caption>
     <table class="MsoTableGrid custom-table" border="0" cellspacing="0" cellpadding="0"> 
      <tr> 
       <td class="custom-bottom-td acenter" width="13.79%"><p style="text-align:center">Metrics</p></td> 
       <td class="custom-bottom-td acenter" width="15.10%"><p style="text-align:center">Class 0 (NoGO)</p></td> 
       <td class="custom-bottom-td acenter" width="10.76%"><p style="text-align:center">Class 1 (GO)</p></td> 
       <td class="custom-bottom-td acenter" width="15.10%"><p style="text-align:center">Global</p></td> 
       <td class="custom-bottom-td acenter" width="45.25%"><p style="text-align:center">Interpretation</p></td> 
      </tr> 
      <tr> 
       <td class="custom-top-td acenter" width="13.79%"><p style="text-align:center">Overall loss</p></td> 
       <td class="custom-top-td acenter" width="15.10%"><p style="text-align:center">-</p></td> 
       <td class="custom-top-td acenter" width="10.76%"><p style="text-align:center">-</p></td> 
       <td class="custom-top-td acenter" width="15.10%"><p style="text-align:center">0.3308</p></td> 
       <td class="custom-top-td acenter" width="45.25%"><p style="text-align:center">The overall loss is relatively small, suggesting that the model fits the data well.</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="13.79%"><p style="text-align:center">Accuracy</p></td> 
       <td class="acenter" width="15.10%"><p style="text-align:center">1.00</p></td> 
       <td class="acenter" width="10.76%"><p style="text-align:center">0.81</p></td> 
       <td class="acenter" width="15.10%"><p style="text-align:center">0.8831</p></td> 
       <td class="acenter" width="45.25%"><p style="text-align:center">100% of predictions for noGO are correct, and 81% for GO. The model correctly classifies around 88% of nodes, indicating good overall accuracy.</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="13.79%"><p style="text-align:center">Recall</p></td> 
       <td class="acenter" width="15.10%"><p style="text-align:center">0.77</p></td> 
       <td class="acenter" width="10.76%"><p style="text-align:center">1.00</p></td> 
       <td class="acenter" width="15.10%"><p style="text-align:center">-</p></td> 
       <td class="acenter" width="45.25%"><p style="text-align:center">The model detects 77% of noGO nodes, but captures all GO nodes.</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="13.79%"><p style="text-align:center">F1-Score</p></td> 
       <td class="acenter" width="15.10%"><p style="text-align:center">0.87</p></td> 
       <td class="acenter" width="10.76%"><p style="text-align:center">0.89</p></td> 
       <td class="acenter" width="15.10%"><p style="text-align:center">-</p></td> 
       <td class="acenter" width="45.25%"><p style="text-align:center">The balance between precision and recall is excellent for both classes, indicating a good compromise for each class but slightly higher for class 1 (GO).</p></td> 
      </tr> 
     </table>
    </table-wrap>
    <p>The classification model used to elect the Group Owner (GO) in a Wi-Fi Direct network showed solid performance with an overall accuracy of 88%, an AUC of 1.00, and a minimum loss of 0.33. The use of class weighting better managed the potential imbalance between GO and noGO classes, improving the model’s ability to correctly identify nodes that could be GO. This ensures a more accurate selection of the GO, resulting in smaller architecture and very good performance.</p>
    <p>The performance of our regression model was obtained by calculating the metrics presented in section 4 (Equations 10, 11, 12, and 13), that measure the accuracy of continuous value predictions. These performances are summarised as follows:</p>
    <fig id="fig8" position="float">
     <label>Figure 8</label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.145273-"></xref>Figure 8. Loss curves of the regression model.</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/6102063-rId87.jpeg?20250829014808" />
    </fig>
    <fig id="fig9" position="float">
     <label>Figure 9</label>
     <caption>
      <title>Figure 9. MAE curves.</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/6102063-rId88.jpeg?20250829014808" />
    </fig>
    <fig id="fig10" position="float">
     <label>Figure 10</label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.145273-"></xref>Figure 10. Prediction vs. actual curve.</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/6102063-rId89.jpeg?20250829014808" />
    </fig>
    <p>In order to visualize the intent values prediction results, we have represented the 10 first instances in <xref ref-type="table" rid="table7">
      Table 7
     </xref>.</p>
    <table-wrap id="table7">
     <label>
      <xref ref-type="table" rid="table7">
       Table 7
      </xref></label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.145273-"></xref>Table 7. Actual and predicted values of the regression model.</title>
     </caption>
     <table class="MsoTableGrid custom-table" border="0" cellspacing="0" cellpadding="0"> 
      <tr> 
       <td class="custom-bottom-td acenter" width="13.79%"><p style="text-align:center">Nodes</p></td> 
       <td class="custom-bottom-td acenter" width="8.62%"><p style="text-align:center">0</p></td> 
       <td class="custom-bottom-td acenter" width="8.62%"><p style="text-align:center">1</p></td> 
       <td class="custom-bottom-td acenter" width="8.62%"><p style="text-align:center">2</p></td> 
       <td class="custom-bottom-td acenter" width="8.62%"><p style="text-align:center">3</p></td> 
       <td class="custom-bottom-td acenter" width="8.62%"><p style="text-align:center">4</p></td> 
       <td class="custom-bottom-td acenter" width="8.62%"><p style="text-align:center">5</p></td> 
       <td class="custom-bottom-td acenter" width="8.62%"><p style="text-align:center">6</p></td> 
       <td class="custom-bottom-td acenter" width="8.62%"><p style="text-align:center">7</p></td> 
       <td class="custom-bottom-td acenter" width="8.62%"><p style="text-align:center">8</p></td> 
       <td class="custom-bottom-td acenter" width="8.62%"><p style="text-align:center">9</p></td> 
      </tr> 
      <tr> 
       <td class="custom-top-td acenter" width="13.79%"><p style="text-align:center">Actual Value</p></td> 
       <td class="custom-top-td acenter" width="8.62%"><p style="text-align:center">3</p></td> 
       <td class="custom-top-td acenter" width="8.62%"><p style="text-align:center">8</p></td> 
       <td class="custom-top-td acenter" width="8.62%"><p style="text-align:center">9</p></td> 
       <td class="custom-top-td acenter" width="8.62%"><p style="text-align:center">9</p></td> 
       <td class="custom-top-td acenter" width="8.62%"><p style="text-align:center">2</p></td> 
       <td class="custom-top-td acenter" width="8.62%"><p style="text-align:center">6</p></td> 
       <td class="custom-top-td acenter" width="8.62%"><p style="text-align:center">9</p></td> 
       <td class="custom-top-td acenter" width="8.62%"><p style="text-align:center">5</p></td> 
       <td class="custom-top-td acenter" width="8.62%"><p style="text-align:center">6</p></td> 
       <td class="custom-top-td acenter" width="8.62%"><p style="text-align:center">11</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="13.79%"><p style="text-align:center">Predicted Value</p></td> 
       <td class="acenter" width="8.62%"><p style="text-align:center">4</p></td> 
       <td class="acenter" width="8.62%"><p style="text-align:center">8</p></td> 
       <td class="acenter" width="8.62%"><p style="text-align:center">8</p></td> 
       <td class="acenter" width="8.62%"><p style="text-align:center">9</p></td> 
       <td class="acenter" width="8.62%"><p style="text-align:center">3</p></td> 
       <td class="acenter" width="8.62%"><p style="text-align:center">6</p></td> 
       <td class="acenter" width="8.62%"><p style="text-align:center">9</p></td> 
       <td class="acenter" width="8.62%"><p style="text-align:center">5</p></td> 
       <td class="acenter" width="8.62%"><p style="text-align:center">6</p></td> 
       <td class="acenter" width="8.62%"><p style="text-align:center">10</p></td> 
      </tr> 
     </table>
    </table-wrap>
    <table-wrap id="table8">
     <label>
      <xref ref-type="table" rid="table8">
       Table 8
      </xref></label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.145273-"></xref>Table 8. Summary of the performance of the regression model.</title>
     </caption>
     <table class="MsoTableGrid custom-table" border="0" cellspacing="0" cellpadding="0"> 
      <tr> 
       <td class="custom-bottom-td acenter" width="19.25%"><p style="text-align:center">Metrics</p></td> 
       <td class="custom-bottom-td acenter" width="13.94%"><p style="text-align:center">Value</p></td> 
       <td class="custom-bottom-td acenter" width="66.81%"><p style="text-align:center">Interpretation</p></td> 
      </tr> 
      <tr> 
       <td class="custom-top-td acenter" width="19.25%"><p style="text-align:center">MedAE</p></td> 
       <td class="custom-top-td acenter" width="13.94%"><p style="text-align:center">1.00</p></td> 
       <td class="custom-top-td acenter" width="66.81%"><p style="text-align:center">Half of the predictions have an absolute error of less than or equal to 1 unit, indicating stability in the model’s predictions.</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="19.25%"><p style="text-align:center">MAE</p></td> 
       <td class="acenter" width="13.94%"><p style="text-align:center">0.6104</p></td> 
       <td class="acenter" width="66.81%"><p style="text-align:center">A MAE of 0.61 indicates that, on average, the error between predicted and actual values is around 0.61 units, which indicates good overall accuracy.</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="19.25%"><p style="text-align:center">MSE</p></td> 
       <td class="acenter" width="13.94%"><p style="text-align:center">0.7403</p></td> 
       <td class="acenter" width="66.81%"><p style="text-align:center">A relatively low MSE shows that the squared error between the actual and predicted values is moderate, indicating a good predictive capacity for the model.</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="19.25%"><p style="text-align:center">R<sup>2</sup>-Score</p></td> 
       <td class="acenter" width="13.94%"><p style="text-align:center">0.9416</p></td> 
       <td class="acenter" width="66.81%"><p style="text-align:center">The high R<sup>2</sup>-Score means that the model captures 94% of the variance in the data, which shows that it explains the relationship between the input variables and the output well.</p></td> 
      </tr> 
     </table>
    </table-wrap>
    <p>With an MSE of 0.74, a MAE of 0.61 and an R<sup>2</sup> of 0.94, our regression model with the weighted dataset demonstrated solid performance, indicating that it explained 94% of the variance in the data. The error and loss curves show fast learning and efficient generalisation, without overlearning. The majority of the predictions match the actual values, although differences are apparent for the extreme values of Intent-Value (14-15). Overall, the model is accurate and stable. <xref ref-type="table" rid="table8">
      Table 8
     </xref> summarises the performance of the Regression model.</p>
   </sec>
  </sec><sec id="s5">
   <title>5. Group Owner Selection</title>
   <p>In this section, we present a new GO selection approach (GO-ANN), that incorporates the artificial neural network models presented in Section 3. This mechanism, shown in <xref ref-type="bibr" rid="scirp.145273-#a1">
     Algorithm 1
    </xref>, allows a device to be selected to act as the GO from a set of devices that are all within direct communication range of each other.</p>
   <p>In fact, the Wi-Fi Direct specification restricts the GO negociation procedure to two devices i.e. only two interested devices can form a P2P group where one becomes GO and then the GO will announce its presence by sending beacons like an access point. Other P2P devices and also legacy Wi-Fi stations can join the group later as clients. This limitation has several implications for the performance for example, in several applications where more than two devices are in a shared wireless range and need to from a group to communicate efficiently and quickly. In this case, the role of GO must be negotiated automaticaly from all devices in the same wireless range and mutually neighbors.</p>
   <p>Our GO election process, called GO-ANN and presented in <xref ref-type="bibr" rid="scirp.145273-#a1">
     Algorithm 1
    </xref>, will elect a GO from among several neighbouring devices in the same coverage area. It is detailed as follows: In the beginning, each node discovers its neighbors. Each P2P device computes its Intent Value (IV<sub>C</sub>) based on our Regression Model. It also generates another Intent Value (IV<sub>G</sub>) by using the classic Wi-Fi Direct method. These parameters are sent to a remote P2P device via a packet (LocalDeviceFrame) embedded in the GO Negotiation Request. Upon receipt of the GO Negotiation Response, the parameters of the remote P2P device, contained in the RemoteDeviceFrame paquet are obtained. The classification model is then activated to identify the most suitable node to act as GO between the two pieces of devices. If the result of the classification is 0, the local device can be the GO, therefore the remote device is disqualified to the selection process. On the contrary, if the result of the classification is 1, the remote device can be the GO and the local device disqualifies itself from the selection process.</p>
   <p>More specifically, let us assume three P2P devices: A, B and C. Node A sends a GO Negotiation Request message to Node C. Node C activates the classification model and finds that Node A is the most suitable node to act as GO. Node C sends its parameters through GO Negotiation Response frame and disqualifies itself for the election. Node A is still active, but does not announce itself as GO, in contrast to the standard protocol operation. Node A shares its parameters with Node B and finds that Node B is the most suitable node. Node A disqualifies itself and stops participating in the election. Node B is still active in the election. Similarly, each node continues to participate in the election until it finds another node most suitable than itself or if it has performed GO Negotiation with all discovered devices. The election process ends with a single node elected as Group Owner.</p>
   <fig id="fig11" position="float">
    <label>Figure 11</label>
    <caption>
     <title>
      <xref ref-type="bibr" rid="scirp.145273-"></xref>Algorithm 1. Group owner selection (GO-ANN).<p class="imgGroupCss_v"><img class=" imgMarkCss lazy" data-original="https://html.scirp.org/file/6102063-rId91.jpeg?20250829014810" /></p><xref ref-type="bibr" rid="scirp.145273-"></xref>Figure 11. GO election time.</title>
    </caption>
    <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/6102063-rId90.jpeg?20250829014810" />
   </fig>
   <fig id="fig12" position="float">
    <label>Figure 12</label>
    <caption>
     <title>Figure 12. GO election overhead.</title>
    </caption>
    <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/6102063-rId92.jpeg?20250829014809" />
   </fig>
   <p>This algorithm was simulated on OMNET++ to evaluate the GO election time and the overhead level based on the number of devices discovered. The simulations were carried out considering 10 P2P devices whose parameters were randomly generated in accordance with the values defined in the dataset. The random nature of these parameters allows us to better evaluate the effectiveness of our algorithm, since the selected GO can change from one simulation to another. For each number of devices (ranging from 2 to 10) in the group, the simulation was run 50 times, and each time the time taken and the level of network overload due to message exchange were recorded.</p>
   <p>
    <xref ref-type="fig" rid="fig11">
     Figure 11
    </xref> shows the average GO selection time based on the number of devices. It can be seen that the average time taken to elect the GO increases with the number of devices discovered in the group. But when the number of devices is low (≤ 5), the average election time of the GO with our approach is lower than with the standard election model and the model proposed by Khan et al. in <xref ref-type="bibr" rid="scirp.145273-18">
     [18]
    </xref>. This time begins to exceed other methods when the number of devices exceeds 5. This is certainly due to the calculations performed by the regression and classification models; these calculations become significant as the number of devices increases.</p>
   <p>For the overhead shown in <xref ref-type="fig" rid="fig12">
     Figure 12
    </xref>, it can be seen that the network overload increases with the number of devices. This is because the number of messages exchanged increases as the number of devices increases. Nevertheless, although our approach generates more overhead than the standard method, it remains better than the approach used by Khan et al. in <xref ref-type="bibr" rid="scirp.145273-18">
     [18]
    </xref>.</p>
  </sec><sec id="s6">
   <title>6. Conclusion and Future Works</title>
   <p>In sum, this work has demonstrated that Artificial Neural Networks (ANN) represent an innovative and effective solution for improving Group Owner (GO) selection and Intent Value calculation in Wi-Fi Direct mobile ad hoc networks. Ad hoc networks, by their very nature, are decentralized and dynamic, and present numerous challenges in terms of stability and resource management. GO selection is a critical task in these networks, as the proper functioning of the network relies heavily on the optimal choice of this central node. The models developed in this work offer a smarter approach that is better adapted to varying network conditions, compared with conventional GO selection methods based on simple criteria such as RSSI or battery life. The classification model enables GO selection based on multiple dynamic characteristics, while the regression model provides a quantitative measure of a node’s propensity to become a GO by calculating its Intent Value. This combination of the two models enables more robust and flexible decision making, adapted to constantly evolving network environments. The proposed election technique, as compared to other group formation introduces more overhead than the standard method and longer time for group formation, however it ensures that the most capable node is elected as group owner. Empirical tests will help confirm the applicability of these models in real-life scenarios, and assess their performance in the face of complex and dynamic and hoc networks.</p>
  </sec>
 </body><back>
  <ref-list>
   <title>References</title>
   <ref id="scirp.145273-ref1">
    <label>1</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Demir, U., Tapparello, C. and Heinzelman, W. (2017) Maintaining Connectivity in Ad Hoc Networks through WiFi Direct. 2017 IEEE 14th International Conference on Mobile Ad Hoc and Sensor Systems (MASS), Orlando, 22-25 October 2017, 308-312. &gt;https://doi.org/10.1109/mass.2017.60
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref2">
    <label>2</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Seng, L.T., Gardner-Stephen, P., Mohamad Ali, N. and Sulaiman, R. (2024) Exploring the Role of Wi-Fi Direct’s Service Discovery Protocol in Forming Wireless Collaboration Networks: A Scoping Review. Journal of Advanced Research in Applied Sciences and Engineering Technology, 39, 204-230. &gt;https://doi.org/10.37934/araset.39.2.204230
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref3">
    <label>3</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Camps-Mur, D., Garcia-Saavedra, A. and Serrano, P. (2013) Device-to-Device Communications with Wi-Fi Direct: Overview and Experimentation. IEEE Wireless Communications, 20, 96-104. &gt;https://doi.org/10.1109/mwc.2013.6549288
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref4">
    <label>4</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Conti, M., Delmastro, F., Minutiello, G. and Paris, R. (2013) Experimenting Opportunistic Networks with WiFi Direct. 2013 IFIP Wireless Days (WD), Valencia, 13-15 November 2013, 1-6. &gt;https://doi.org/10.1109/wd.2013.6686501
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref5">
    <label>5</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Botrel Menegato, U., Souza Cimino, L., Delabrida Silva, S.E., Medeiros Silva, F.A., Castro Lima, J. and Oliveira, R.A.R. (2014) Dynamic Clustering in WiFi Direct Technology. Proceedings of the 12th ACM International Symposium on Mobility Management and Wireless Access, Montreal, 21-26 September 2014, 25-29. &gt;https://doi.org/10.1145/2642668.2642682
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref6">
    <label>6</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Cherif, W., Khan, M.A., Filali, F., Sharafeddine, S. and Dawy, Z. (2017) P2P Group Formation Enhancement for Opportunistic Networks with Wi-Fi Direct. 2017 IEEE Wireless Communications and Networking Conference (WCNC), San Francisco, 19-22 March 2017, 1-6. &gt;https://doi.org/10.1109/wcnc.2017.7925840
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref7">
    <label>7</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Mbala, R.M., Nlong, J.M. and Kamdjoug, J.K. (2021) A Framework for Multi-Hop Ad-Hoc Networking over Wi-Fi Direct with Android Smart Devices. Communications and Network, 13, 143-158. &gt;https://doi.org/10.4236/cn.2021.134011
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref8">
    <label>8</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Hande, J.Y. and Sadiwala, R. (2024) Optimization of Energy Consumption and Routing in MANET Using Artificial Neural Network. Journal of Integrated Science and Technology, 12, 718-718.
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref9">
    <label>9</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Vikkurty, S. and Setty, P. (2022) Artificial Neural Network Based Optimized Link State Routing Protocol in MANET. International Journal of Intelligent Engineering and Systems, 15, 65-73.
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref10">
    <label>10</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Ramya, R. and Brindha, D.T. (2022) A Comprehensive Review on Optimal Cluster Head Selection in WSN-IoT. Advances in Engineering Software, 171, Article ID: 103170. &gt;https://doi.org/10.1016/j.advengsoft.2022.103170
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref11">
    <label>11</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Gangal, V., Sesli, E. and Hacioglu, G. (2024) ANN Based Cluster-Head Selection Process in WSN. &gt;https://assets-eu.researchsquare.com/files/rs-4109504/v1_covered_fc57ef14-2f24-48c0-b8f3-6c4fed113b84.pdf 
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref12">
    <label>12</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Senturk, A. (2025) Artificial Neural Networks-Based LEACH Algorithm for Fast and Efficient Cluster Head Selection in Wireless Sensor Networks. International Journal of Communication Systems, 38, e6127. &gt;https://doi.org/10.1002/dac.6127
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref13">
    <label>13</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Kovendan, A.K.P., Divya, R. and Sridharan, D. (2018) Dynamic Distance-Based Cluster Head Election for Maximizing Efficiency in Wireless Sensor Networks Using Artificial Neural Networks. In: Recent Findings in Intelligent Computing Techniques, Springer, 129-136. &gt;https://doi.org/10.1007/978-981-10-8636-6_14
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref14">
    <label>14</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Gurumoorthy, S., Subhash, P., Pérez de Prado, R. and Wozniak, M. (2022) Optimal Cluster Head Selection in WSN with Convolutional Neural Network-Based Energy Level Prediction. Sensors, 22, Article 9921. &gt;https://doi.org/10.3390/s22249921
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref15">
    <label>15</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Khan, M.A., Cherif, W., Filali, F. and Hamila, R. (2017) Wi-Fi Direct Research—Current Status and Future Perspectives. Journal of Network and Computer Applications, 93, 245-258. &gt;https://doi.org/10.1016/j.jnca.2017.06.004
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref16">
    <label>16</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Khan, M.A., Hamila, R. and Hasna, M.O. (2019) Optimal Group Formation in Dense Wi-Fi Direct Networks for Content Distribution. IEEE Access, 7, 161231-161245. &gt;https://doi.org/10.1109/access.2019.2951832
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref17">
    <label>17</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Alliance, Wi-Fi (2016) Wi-Fi Peer-to-Peer (P2P) Technical Specification V1.7. 
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref18">
    <label>18</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Khan, M.A., Cherif, W. and Filali, F. (2016) Group Owner Election in Wi-Fi Direct. 2016 IEEE 7th Annual Ubiquitous Computing, Electronics &amp; Mobile Communication Conference (UEMCON), New York, 20-22 October 2016, 1-9. &gt;https://doi.org/10.1109/uemcon.2016.7777908
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref19">
    <label>19</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     IEEE (2012) 802.11-2012—IEEE Standard for Information Technology-Telecommunications and Information Exchange between Systems LOCAL and Metropolitan Area Networks-Specific Requirements Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications. 
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref20">
    <label>20</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     IEEE (2011) 802.11u-IEEE Standard for Information Technology-Telecommunications and Information Exchange between Systems-Local and Metropolitan Networks-Specific Requirements-Part II: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications: Amendment 9: Interworking with External Networks. IEEE Std. 802.11u-2011.
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref21">
    <label>21</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Wi-Fi Alliance (2007) Wi-Fi Protected Setup Specification. Wi-Fi Alliance Std.
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref22">
    <label>22</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Liu, K., Shen, W., Yin, B., Cao, X., Cai, L.X. and Cheng, Y. (2016) Development of Mobile Ad-Hoc Networks over Wi-Fi Direct with Off-The-Shelf Android Phones. 2016 IEEE International Conference on Communications (ICC), Kuala Lumpur, 22-27 May 2016, 1-6. &gt;https://doi.org/10.1109/icc.2016.7511190
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref23">
    <label>23</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Perkins, C., Belding-Royer, E. and Das, S. (2003) Ad Hoc On-Demand Distance Vector (AODV) Routing. No. RFC 3561.
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref24">
    <label>24</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Shahin, A.A. and Younis, M. (2015) Efficient Multi-Group Formation and Communication Protocol for Wi-Fi Direct. 2015 IEEE 40th Conference on Local Computer Networks (LCN), Clearwater Beach, 26-29 October 2015, 233-236. &gt;https://doi.org/10.1109/lcn.2015.7366314
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref25">
    <label>25</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Chaki, P., Yasuda, M. and Fujita, N. (2015) Seamless Group Reformation in WiFi Peer to Peer Network Using Dormant Backend Links. 2015 12th Annual IEEE Consumer Communications and Networking Conference (CCNC), Las Vegas, 9-12 January 2015, 773-778. &gt;https://doi.org/10.1109/ccnc.2015.7158075
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref26">
    <label>26</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Jahed, K., Farhat, O., Al-Jurdi, G. and Sharafeddine, S. (2016) Optimized Group Owner Selection in WiFi Direct Networks. 2016 24th International Conference on Software, Telecommunications and Computer Networks (SoftCOM), Split, 22-24 September 2016, 1-5. &gt;https://doi.org/10.1109/softcom.2016.7772169
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref27">
    <label>27</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Zhang, H., Wang, Y. and Tan, C.C. (2014) WD2: An Improved WiFi-Direct Group Formation Protocol. Proceedings of the 9th ACM MobiCom Workshop on Challenged Networks, Maui, 7 September 2014, 55-60. &gt;https://doi.org/10.1145/2645672.2645674
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref28">
    <label>28</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Boutaba, R., Salahuddin, M.A., Limam, N., Ayoubi, S., Shahriar, N., Estrada-Solano, F., et al. (2018) A Comprehensive Survey on Machine Learning for Networking: Evolution, Applications and Research Opportunities. Journal of Internet Services and Applications, 9, Article No. 16. &gt;https://doi.org/10.1186/s13174-018-0087-2
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref29">
    <label>29</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Gifford, J. (2023) Smartphone Processors Ranking&amp;Scores. &gt;https://www.kaggle.com/datasets/alanjo/smartphone-processors-ranking 
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref30">
    <label>30</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Jo, A. (2023) Battery Charging Data. &gt;https://www.kaggle.com/datasets/josephgifford/battery-charge-feb-2022?resource=download 
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref31">
    <label>31</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     (2017) UCI KDD Archive. &gt;https://kdd.ics.uci.edu/ 
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref32">
    <label>32</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     WAND Network Research Group (2017) WITS: Waikato Internet Traffic Storage. &gt;https://wand.net.nz/wits 
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref33">
    <label>33</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Abbas, S., Alenazi, M.J.F. and Samha, A. (2022) Mobility Prediction of Mobile Wireless Nodes. Applied Sciences, 12, Article 13041. &gt;https://doi.org/10.3390/app122413041
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref34">
    <label>34</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Henderi, H. (2021) Comparison of Min-Max Normalization and Z-Score Normalization in the K-Nearest Neighbor (KNN) Algorithm to Test the Accuracy of Types of Breast Cancer. IJIIS: International Journal of Informatics and Information Systems, 4, 13-20. &gt;https://doi.org/10.47738/ijiis.v4i1.73
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref35">
    <label>35</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Hara, K., Saito, D. and Shouno, H. (2015) Analysis of Function of Rectified Linear Unit Used in Deep Learning. 2015 International Joint Conference on Neural Networks (IJCNN), Killarney, 12-17 July 2015, 1-8. &gt;https://doi.org/10.1109/ijcnn.2015.7280578
    </mixed-citation>
   </ref>
   <ref id="scirp.145273-ref36">
    <label>36</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Ruby, U. and Yendapalli, V. (2020) Binary Cross Entropy with Deep Learning Technique for Image Classification. International Journal of Advanced Trends in Computer Science and Engineering, 9, 5393-5397. &gt;https://doi.org/10.30534/ijatcse/2020/175942020
    </mixed-citation>
   </ref>
  </ref-list>
 </back>
</article>