<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xml:lang="en" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CMC</journal-id>
<journal-id journal-id-type="nlm-ta">CMC</journal-id>
<journal-id journal-id-type="publisher-id">CMC</journal-id>
<journal-title-group>
<journal-title>Computers, Materials &#x0026; Continua</journal-title>
</journal-title-group>
<issn pub-type="epub">1546-2226</issn>
<issn pub-type="ppub">1546-2218</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">67590</article-id>
<article-id pub-id-type="doi">10.32604/cmc.2025.067590</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Mobility-Aware Edge Caching with Transformer-DQN in D2D-Enabled Heterogeneous Networks</article-title>
<alt-title alt-title-type="left-running-head">Mobility-Aware Edge Caching with Transformer-DQN in D2D-Enabled Heterogeneous Networks</alt-title>
<alt-title alt-title-type="right-running-head">Mobility-Aware Edge Caching with Transformer-DQN in D2D-Enabled Heterogeneous Networks</alt-title>
</title-group>
<contrib-group>
<contrib id="author-1" contrib-type="author">
<name name-style="western"><surname>Guo</surname><given-names>Yiming</given-names></name></contrib>
<contrib id="author-2" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Ma</surname><given-names>Hongyu</given-names></name><email>mhy_1125@126.com</email></contrib>
<aff id="aff-1"><institution>School of Electronics and Information Engineering, Liaoning University of Technology</institution>, <addr-line>Jinzhou, 121001</addr-line>, <country>China</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>&#x002A;</label>Corresponding Author: Hongyu Ma. Email: <email>mhy_1125@126.com</email></corresp>
</author-notes>
<pub-date date-type="collection" publication-format="electronic">
<year>2025</year></pub-date>
<pub-date date-type="pub" publication-format="electronic">
<day>23</day><month>09</month><year>2025</year></pub-date>
<volume>85</volume>
<issue>2</issue>
<fpage>3485</fpage>
<lpage>3505</lpage>
<history>
<date date-type="received">
<day>07</day>
<month>5</month>
<year>2025</year>
</date>
<date date-type="accepted">
<day>17</day>
<month>7</month>
<year>2025</year>
</date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2025 The Authors.</copyright-statement>
<copyright-year>2025</copyright-year>
<copyright-holder>Published by Tech Science Press.</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CMC_67590.pdf"></self-uri>
<abstract>
<p>In dynamic 5G network environments, user mobility and heterogeneous network topologies pose dual challenges to the effort of improving performance of mobile edge caching. Existing studies often overlook the dynamic nature of user locations and the potential of device-to-device (D2D) cooperative caching, limiting the reduction of transmission latency. To address this issue, this paper proposes a joint optimization scheme for edge caching that integrates user mobility prediction with deep reinforcement learning. First, a Transformer-based geolocation prediction model is designed, leveraging multi-head attention mechanisms to capture correlations in historical user trajectories for accurate future location prediction. Then, within a three-tier heterogeneous network, we formulate a latency minimization problem under a D2D cooperative caching architecture and develop a mobility-aware Deep Q-Network (DQN) caching strategy. This strategy takes predicted location information as state input and dynamically adjusts the content distribution across small base stations (SBSs) and mobile users (MUs) to reduce end-to-end delay in multi-hop content retrieval. Simulation results show that the proposed DQN-based method outperforms other baseline strategies across various metrics, achieving a 17.2% reduction in transmission delay compared to DQN methods without mobility integration, thus validating the effectiveness of the joint optimization of location prediction and caching decisions.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Mobile edge caching</kwd>
<kwd>D2D heterogeneous networks</kwd>
<kwd>deep reinforcement learning</kwd>
<kwd>transformer model</kwd>
<kwd>transmission delay optimization</kwd>
</kwd-group>
<funding-group>
<award-group id="awg1">
<funding-source>Liaoning Provincial Education Department Fund</funding-source>
<award-id>JYTZD2023083</award-id>
</award-group>
</funding-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>With the rapid development of wireless communication networks and the widespread use of smart devices, mobile network data traffic has experienced exponential growth. According to a report by Cisco, the global mobile data traffic growth rate exceeds 46% annually, with video traffic accounting for more than 80% of this volume [<xref ref-type="bibr" rid="ref-1">1</xref>]. Faced with such immense data demands, traditional centralized data transmission and processing architectures are beginning to show limitations. In centralized architectures, a large amount of computational and storage tasks are concentrated in core data centers, leading to a significant increase in energy consumption, which is not aligned with the direction of green communication development. Moreover, because core networks must handle large-scale backhaul traffic, congestion is likely to occur, reducing the overall Quality of Service (QoS) for users [<xref ref-type="bibr" rid="ref-2">2</xref>]. Additionally, as users&#x2019; demands for real-time and high-interactivity services increase, long transmission paths can no longer meet the requirements of real-time video conferencing and cloud gaming scenarios.</p>
<p>To address these challenges, Mobile Edge Caching technology has emerged [<xref ref-type="bibr" rid="ref-3">3</xref>]. Mobile Edge Caching stores the most frequently accessed content at edge nodes, reducing the frequency of user access to core data centers, effectively alleviating the pressure on backhaul links, and reducing content retrieval latency, significantly improving users&#x2019; perception of timeliness and service quality [<xref ref-type="bibr" rid="ref-4">4</xref>,<xref ref-type="bibr" rid="ref-5">5</xref>].</p>
<p>At the same time, with the rapid development of deep neural networks (DNN), reinforcement learning (RL) and deep reinforcement learning (DRL) have been widely recognized as effective methods for solving approximate optimal solutions in dynamic environments. RL does not rely on any prior knowledge but instead continuously optimizes decision-making strategies through interaction with the environment, aiming to maximize long-term rewards. This characteristic makes RL widely used in dynamic selection and decision-making problems in Mobile Edge Computing (MEC) environments [<xref ref-type="bibr" rid="ref-6">6</xref>,<xref ref-type="bibr" rid="ref-7">7</xref>].</p>
<p>In this paper, we investigate a mobile edge caching network with unknown geographic locations, design a Transformer-based mobile user location prediction model, and then study the joint optimization problem of content caching and replacement decisions in edge caching based on the predicted future locations of mobile users. To solve this optimization problem, we propose a Deep Q-Network (DQN)-based method that effectively reduces content transmission latency and improves overall system performance.</p>
<p>The remainder of this paper is organized as follows: <xref ref-type="sec" rid="s2">Section 2</xref> provides a detailed review of related work. <xref ref-type="sec" rid="s3">Section 3</xref> describes the system model and formulates the optimization problem with the objective of minimizing content transmission delay. <xref ref-type="sec" rid="s4">Section 4</xref> presents a Transformer-based user mobility prediction model. <xref ref-type="sec" rid="s5">Section 5</xref> proposes a DQN-based edge caching optimization framework. <xref ref-type="sec" rid="s6">Section 6</xref> conducts simulation experiments and analyzes the performance. <xref ref-type="sec" rid="s7">Section 7</xref> discusses the methodological implications and implementation challenges. <xref ref-type="sec" rid="s8">Section 8</xref> presents conclusions and future work.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Related Work</title>
<sec id="s2_1">
<label>2.1</label>
<title>Literature Review</title>
<p>In current edge caching networks, the limited storage capacity at edge nodes makes it infeasible to cache all available content locally. Consequently, it is essential to design effective caching strategies to optimize overall system performance. Traditional caching research has primarily relied on fixed planning or statistical models, such as Least Recently Used (LRU), Least Frequently Used (LFU), and others [<xref ref-type="bibr" rid="ref-8">8</xref>&#x2013;<xref ref-type="bibr" rid="ref-11">11</xref>]. Reference [<xref ref-type="bibr" rid="ref-12">12</xref>] maps the content feature time in the LRU strategy to the classical Coupon Collector&#x2019;s Problem (CCP) to evaluate caching performance. Reference [<xref ref-type="bibr" rid="ref-13">13</xref>] introduces a joint optimization approach for edge caching and computing resources, employing a low-complexity yet high-performance algorithm to reduce network bandwidth consumption. Building on this, Zhang et al. [<xref ref-type="bibr" rid="ref-14">14</xref>] propose a learning-based collaborative caching strategy and develop a novel dynamic programming algorithm that significantly lowers the average content delivery delay. Moreover, some researchers have accounted for the randomness of network environments and signal uncertainty by modeling caching strategies using stochastic geometry. Gao et al. [<xref ref-type="bibr" rid="ref-15">15</xref>] derive an expression for the average transmission cost based on stochastic geometry and apply standard gradient methods to obtain suboptimal solutions. Compared with strategies that merely maximize the probability of successful offloading, their approach achieves a substantial reduction in transmission costs. Emara et al. [<xref ref-type="bibr" rid="ref-16">16</xref>] utilize stochastic geometry to characterize the hit probability of multi-channel support caches in small cell networks and highlight the need for caching strategies that adapt to varying network parameters and functionalities.</p>
<p>However, these methods predominantly focus on single-pattern content access and static optimization, which are insufficient for addressing the complexity and dynamism of real-world user behaviors and network conditions [<xref ref-type="bibr" rid="ref-17">17</xref>,<xref ref-type="bibr" rid="ref-18">18</xref>]. To overcome these limitations, recent studies have introduced deep learning techniques into edge caching research. Li et al. [<xref ref-type="bibr" rid="ref-19">19</xref>] employ Echo State Networks (ESN) and Long Short-Term Memory (LSTM) networks to predict user mobility and content popularity. Based on these predictions, they propose a deep reinforcement learning framework that dynamically determines which users should establish D2D links for content transmission, thereby enhancing system performance. Pervej et al. [<xref ref-type="bibr" rid="ref-20">20</xref>] propose an LSTM-based sequential model to capture user content preferences, proactively cache popular content, and develop a collaborative edge caching scheme that minimizes content sharing costs using a greedy algorithm. Sun et al. [<xref ref-type="bibr" rid="ref-21">21</xref>] design a DQN-based intelligent caching strategy aimed at improving energy efficiency in mobile edge networks. Chen et al. [<xref ref-type="bibr" rid="ref-22">22</xref>] apply DQN to optimize caching decisions in wireless networks, focusing on addressing the challenge of caching unknown popular content to support large-scale communications.</p>
<p>In summary, existing research on edge caching exhibits three main limitations: (1) Most studies only consider a single-layer edge node architecture, failing to fully exploit the potential of D2D collaborative caching [<xref ref-type="bibr" rid="ref-23">23</xref>]; (2) Traditional static optimization methods struggle to adapt to dynamic network environments and user mobility variations; (3) Current LSTM-based mobility prediction models demonstrate deficiencies in capturing long-term dependency characteristics. To address these issues, this paper proposes a Transformer-DQN collaborative optimization framework that specifically tackles these challenges by: implementing cross-layer cooperative caching through a three-tier heterogeneous network architecture, employing deep reinforcement learning to handle dynamic environmental challenges, and utilizing multi-head attention mechanisms to enhance mobility prediction accuracy.</p>
</sec>
<sec id="s2_2">
<label>2.2</label>
<title>Major Contributions</title>
<p>The main contributions of this paper are as follows:
<list list-type="order">
<list-item>
<p>We derive the content transmission delay and cache hit rate in a D2D-enabled heterogeneous network, where user mobility is modeled using a grid-based representation. An optimization problem is formulated with the objective of minimizing content transmission delay.</p></list-item>
<list-item>
<p>A Transformer-based approach is introduced to predict users&#x2019; future geographic locations. By employing the self-attention mechanism, this method effectively handles the long-term dependency of user mobility, providing a solid basis for subsequent optimization of caching strategies.</p></list-item>
<list-item>
<p>We develop a DQN-based approach to solve the optimization problem. The predicted user locations, content popularity distribution, and the cache states of edge nodes are jointly modeled as the state space. Through Q-value iteration, the proposed method achieves optimal cross-layer content distribution, overcoming the limitations of traditional single-layer caching strategies.</p></list-item>
</list></p>
</sec>
</sec>
<sec id="s3">
<label>3</label>
<title>System Model and Problem Description</title>
<p>This section first introduces the D2D heterogeneous network architecture, followed by the communication model and content popularity model. It also analyzes the overall content download delay and caching hit rate of the system. Finally, a joint optimization problem for content transmission delay is formulated.</p>
<sec id="s3_1">
<label>3.1</label>
<title>Network Architecture</title>
<p>As shown in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>, this paper studies the edge caching system in a three-tier heterogeneous network, which consists of an arbitrary macrocell containing a macro base station (MBS), small base station (SBS), and mobile user (MU). The MBS covers the entire cell&#x2019;s SBS and MU, and can connect to the cloud server via backhaul links to retrieve requested content. It can also communicate with all SBS through wired connections. The MU can retrieve requested content from the SBS via wireless links, and within a certain region, MU can establish D2D links to access the requested content.</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>Edge cache system model</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_67590-fig-1.tif"/>
</fig>
<p>In this system, each user in the user set <inline-formula id="ieqn-1"><mml:math id="mml-ieqn-1"><mml:mrow><mml:mi>&#x1D4B0;</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>U</mml:mi><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula> requests content from the content set <inline-formula id="ieqn-2"><mml:math id="mml-ieqn-2"><mml:mrow><mml:mi>&#x2131;</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>F</mml:mi><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>, with the size of content <inline-formula id="ieqn-3"><mml:math id="mml-ieqn-3"><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. The set of small base stations is defined as <inline-formula id="ieqn-4"><mml:math id="mml-ieqn-4"><mml:mrow><mml:mi>&#x02110;</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>. The edge nodes in the system include all users and small base stations. The caching status of all users is defined as <inline-formula id="ieqn-5"><mml:math id="mml-ieqn-5"><mml:mi mathvariant="bold-italic">X</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mo>[</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>U</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, where <inline-formula id="ieqn-6"><mml:math id="mml-ieqn-6"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula> if content <inline-formula id="ieqn-7"><mml:math id="mml-ieqn-7"><mml:mi>f</mml:mi></mml:math></inline-formula> is cached at user <inline-formula id="ieqn-8"><mml:math id="mml-ieqn-8"><mml:mi>u</mml:mi></mml:math></inline-formula> at time <inline-formula id="ieqn-9"><mml:math id="mml-ieqn-9"><mml:mi>t</mml:mi></mml:math></inline-formula>, and <inline-formula id="ieqn-10"><mml:math id="mml-ieqn-10"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula> if it is not cached. Similarly, the caching status of small base stations is defined as <inline-formula id="ieqn-11"><mml:math id="mml-ieqn-11"><mml:mi mathvariant="bold-italic">Y</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mo>[</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>I</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, which indicates whether content <inline-formula id="ieqn-12"><mml:math id="mml-ieqn-12"><mml:mi>f</mml:mi></mml:math></inline-formula> is cached at small base station <inline-formula id="ieqn-13"><mml:math id="mml-ieqn-13"><mml:mi>i</mml:mi></mml:math></inline-formula>. Additionally, user locations are modeled using a grid-based representation, which is a simple and general model [<xref ref-type="bibr" rid="ref-24">24</xref>]. In this method, the area around the MBS is divided into an <inline-formula id="ieqn-14"><mml:math id="mml-ieqn-14"><mml:mi>N</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>N</mml:mi></mml:math></inline-formula> grid, and a location prediction algorithm is used to forecast the user&#x2019;s position within the network at a given time.</p>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>Communication Model</title>
<p>In the communication process, the transmission types include: MBS to <inline-formula id="ieqn-15"><mml:math id="mml-ieqn-15"><mml:mi>S</mml:mi><mml:mi>B</mml:mi><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mn>3</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:mo>}</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-16"><mml:math id="mml-ieqn-16"><mml:mi>S</mml:mi><mml:mi>B</mml:mi><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> to <inline-formula id="ieqn-17"><mml:math id="mml-ieqn-17"><mml:mi>S</mml:mi><mml:mi>B</mml:mi><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mn>3</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:mo>}</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2260;</mml:mo><mml:mi>i</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula id="ieqn-18"><mml:math id="mml-ieqn-18"><mml:mi>S</mml:mi><mml:mi>B</mml:mi><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> to <inline-formula id="ieqn-19"><mml:math id="mml-ieqn-19"><mml:mi>M</mml:mi><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>u</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>u</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mn>3</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>U</mml:mi><mml:mo>}</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, and <inline-formula id="ieqn-20"><mml:math id="mml-ieqn-20"><mml:mi>M</mml:mi><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> to <inline-formula id="ieqn-21"><mml:math id="mml-ieqn-21"><mml:mi>M</mml:mi><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mn>3</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>U</mml:mi><mml:mo>}</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>&#x2260;</mml:mo><mml:mi>u</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. In this model, <inline-formula id="ieqn-22"><mml:math id="mml-ieqn-22"><mml:mi>S</mml:mi><mml:mi>B</mml:mi><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> denotes the <inline-formula id="ieqn-23"><mml:math id="mml-ieqn-23"><mml:mi>i</mml:mi></mml:math></inline-formula>-th small base station in the network, with a total of <inline-formula id="ieqn-24"><mml:math id="mml-ieqn-24"><mml:mi>I</mml:mi></mml:math></inline-formula> small base stations, and <inline-formula id="ieqn-25"><mml:math id="mml-ieqn-25"><mml:mi>M</mml:mi><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> refers to the <inline-formula id="ieqn-26"><mml:math id="mml-ieqn-26"><mml:mi>u</mml:mi></mml:math></inline-formula>-th mobile user, with a total of <inline-formula id="ieqn-27"><mml:math id="mml-ieqn-27"><mml:mi>U</mml:mi></mml:math></inline-formula> users in the network.</p>
<p>End-to-End Delay consists of content transmission delay and content request delay. In specific scenarios (such as large data transmission or bandwidth-limited environments), content transmission delay dominates and becomes a key factor in optimizing system performance. Similar to the assumption in [<xref ref-type="bibr" rid="ref-25">25</xref>], we ignore content request delay and only evaluate content transmission delay. Additionally, we assume that each SBS contains multiple subchannels with the same bandwidth, and uses Orthogonal Frequency Division Multiple Access (OFDM) for multi-access technology, where interference from D2D communication is negligible. Therefore, the communication rate between <inline-formula id="ieqn-28"><mml:math id="mml-ieqn-28"><mml:mi>S</mml:mi><mml:mi>B</mml:mi><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-29"><mml:math id="mml-ieqn-29"><mml:mi>M</mml:mi><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> in time slot <inline-formula id="ieqn-30"><mml:math id="mml-ieqn-30"><mml:mi>t</mml:mi></mml:math></inline-formula> can be expressed as:
<disp-formula id="eqn-1"><label>(1)</label><mml:math id="mml-eqn-1" display="block"><mml:msubsup><mml:mi>R</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>u</mml:mi><mml:mn>2</mml:mn><mml:mi>s</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msubsup><mml:mi>B</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>u</mml:mi><mml:mn>2</mml:mn><mml:mi>s</mml:mi></mml:mrow></mml:msubsup><mml:msub><mml:mi>log</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:mfrac><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>u</mml:mi><mml:mn>2</mml:mn><mml:mi>s</mml:mi></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>g</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>u</mml:mi><mml:mn>2</mml:mn><mml:mi>s</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>&#x2260;</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:munder><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>u</mml:mi><mml:mn>2</mml:mn><mml:mi>s</mml:mi></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>g</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>u</mml:mi><mml:mn>2</mml:mn><mml:mi>s</mml:mi></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msup><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula>where <inline-formula id="ieqn-31"><mml:math id="mml-ieqn-31"><mml:msub><mml:mi>B</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> denotes the bandwidth allocated by <inline-formula id="ieqn-32"><mml:math id="mml-ieqn-32"><mml:mi>S</mml:mi><mml:mi>B</mml:mi><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> to <inline-formula id="ieqn-33"><mml:math id="mml-ieqn-33"><mml:mi>M</mml:mi><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-34"><mml:math id="mml-ieqn-34"><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>u</mml:mi><mml:mn>2</mml:mn><mml:mi>s</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> is the transmission power from <inline-formula id="ieqn-35"><mml:math id="mml-ieqn-35"><mml:mi>S</mml:mi><mml:mi>B</mml:mi><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> to <inline-formula id="ieqn-36"><mml:math id="mml-ieqn-36"><mml:mi>M</mml:mi><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-37"><mml:math id="mml-ieqn-37"><mml:msubsup><mml:mi>g</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mi>u</mml:mi><mml:mn>2</mml:mn><mml:mi>s</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> is the channel gain between <inline-formula id="ieqn-38"><mml:math id="mml-ieqn-38"><mml:mi>S</mml:mi><mml:mi>B</mml:mi><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> to <inline-formula id="ieqn-39"><mml:math id="mml-ieqn-39"><mml:mi>M</mml:mi><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, and <inline-formula id="ieqn-40"><mml:math id="mml-ieqn-40"><mml:msup><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> denotes the noise power, which is set to a constant value. The channel gain <inline-formula id="ieqn-41"><mml:math id="mml-ieqn-41"><mml:mi>g</mml:mi></mml:math></inline-formula> can be calculated using a path loss model:
<disp-formula id="eqn-2"><label>(2)</label><mml:math id="mml-eqn-2" display="block"><mml:msub><mml:mi>g</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msubsup><mml:mi>d</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03B1;</mml:mi></mml:mrow></mml:msubsup></mml:math></disp-formula>where <inline-formula id="ieqn-42"><mml:math id="mml-ieqn-42"><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> represents the link distance between endpoint <inline-formula id="ieqn-43"><mml:math id="mml-ieqn-43"><mml:mi>i</mml:mi></mml:math></inline-formula> and endpoint <inline-formula id="ieqn-44"><mml:math id="mml-ieqn-44"><mml:mi>u</mml:mi></mml:math></inline-formula>. <inline-formula id="ieqn-45"><mml:math id="mml-ieqn-45"><mml:mi>&#x03B1;</mml:mi></mml:math></inline-formula> denotes the path loss exponent.</p>
<p>Based on <xref ref-type="disp-formula" rid="eqn-1">Eq. (1)</xref>, the content transmission delay for <inline-formula id="ieqn-46"><mml:math id="mml-ieqn-46"><mml:mi>S</mml:mi><mml:mi>B</mml:mi><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> transmitting content <inline-formula id="ieqn-47"><mml:math id="mml-ieqn-47"><mml:mi>f</mml:mi></mml:math></inline-formula> to <inline-formula id="ieqn-48"><mml:math id="mml-ieqn-48"><mml:mi>M</mml:mi><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> in time slot <inline-formula id="ieqn-49"><mml:math id="mml-ieqn-49"><mml:mi>t</mml:mi></mml:math></inline-formula> can be expressed as:
<disp-formula id="eqn-3"><label>(3)</label><mml:math id="mml-eqn-3" display="block"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>u</mml:mi><mml:mn>2</mml:mn><mml:mi>s</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mfrac><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:msubsup><mml:mi>R</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>u</mml:mi><mml:mn>2</mml:mn><mml:mi>s</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mfrac></mml:math></disp-formula></p>
<p>Similarly, for D2D communication, the communication rate when <inline-formula id="ieqn-50"><mml:math id="mml-ieqn-50"><mml:mi>M</mml:mi><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> sends content to <inline-formula id="ieqn-51"><mml:math id="mml-ieqn-51"><mml:mi>M</mml:mi><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> can be expressed as:
<disp-formula id="eqn-4"><label>(4)</label><mml:math id="mml-eqn-4" display="block"><mml:msubsup><mml:mi>R</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mn>2</mml:mn><mml:mi>d</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msubsup><mml:mi>B</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mn>2</mml:mn><mml:mi>d</mml:mi></mml:mrow></mml:msubsup><mml:msub><mml:mi>log</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:mfrac><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mn>2</mml:mn><mml:mi>d</mml:mi></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>g</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mn>2</mml:mn><mml:mi>d</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>c</mml:mi><mml:mo>&#x2260;</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:munder><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mn>2</mml:mn><mml:mi>d</mml:mi></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>g</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mn>2</mml:mn><mml:mi>d</mml:mi></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msup><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>Therefore, the content transmission delay when <inline-formula id="ieqn-52"><mml:math id="mml-ieqn-52"><mml:mi>M</mml:mi><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> sends content <inline-formula id="ieqn-53"><mml:math id="mml-ieqn-53"><mml:mi>f</mml:mi></mml:math></inline-formula> to <inline-formula id="ieqn-54"><mml:math id="mml-ieqn-54"><mml:mi>M</mml:mi><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> in time slot <inline-formula id="ieqn-55"><mml:math id="mml-ieqn-55"><mml:mi>t</mml:mi></mml:math></inline-formula> is:
<disp-formula id="eqn-5"><label>(5)</label><mml:math id="mml-eqn-5" display="block"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mn>2</mml:mn><mml:mi>d</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mfrac><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:msubsup><mml:mi>R</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mn>2</mml:mn><mml:mi>d</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mfrac></mml:math></disp-formula></p>
<p>Additionally, considering the Quality of Experience, the transmission delay for each user cannot exceed the maximum tolerable threshold <inline-formula id="ieqn-56"><mml:math id="mml-ieqn-56"><mml:msub><mml:mi>&#x03C4;</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">max</mml:mo></mml:mrow></mml:msub></mml:math></inline-formula>.</p>
</sec>
<sec id="s3_3">
<label>3.3</label>
<title>Content Popularity Model</title>
<p>We assume that the content requested by each user follows a Generalized Zipf Distribution, which is an extension of the classic Zipf distribution. By introducing an additional shift parameter <inline-formula id="ieqn-57"><mml:math id="mml-ieqn-57"><mml:mi>q</mml:mi></mml:math></inline-formula>, the frequency decay pattern can be adjusted more flexibly. This is a commonly used content popularity model [<xref ref-type="bibr" rid="ref-26">26</xref>]. In fact, the accuracy of the Zipf distribution has been validated in experiments [<xref ref-type="bibr" rid="ref-27">27</xref>]. Therefore, the popularity <inline-formula id="ieqn-58"><mml:math id="mml-ieqn-58"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> of content <inline-formula id="ieqn-59"><mml:math id="mml-ieqn-59"><mml:mi>f</mml:mi></mml:math></inline-formula> for user <inline-formula id="ieqn-60"><mml:math id="mml-ieqn-60"><mml:mi>u</mml:mi></mml:math></inline-formula> can be expressed by the following formula:
<disp-formula id="eqn-6"><label>(6)</label><mml:math id="mml-eqn-6" display="block"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>q</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>s</mml:mi></mml:mrow></mml:msup><mml:mrow><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>F</mml:mi></mml:mrow></mml:munderover><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:msup><mml:mi>q</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>s</mml:mi></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mfrac></mml:math></disp-formula>where <inline-formula id="ieqn-61"><mml:math id="mml-ieqn-61"><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> represents the popularity ranking of content <inline-formula id="ieqn-62"><mml:math id="mml-ieqn-62"><mml:mi>f</mml:mi></mml:math></inline-formula> for user <inline-formula id="ieqn-63"><mml:math id="mml-ieqn-63"><mml:mi>u</mml:mi></mml:math></inline-formula>, <inline-formula id="ieqn-64"><mml:math id="mml-ieqn-64"><mml:mi>F</mml:mi></mml:math></inline-formula> is the total number of contents, and the shift parameter <inline-formula id="ieqn-65"><mml:math id="mml-ieqn-65"><mml:mi>q</mml:mi></mml:math></inline-formula> controls the frequency decay rate for higher-ranked contents. When <inline-formula id="ieqn-66"><mml:math id="mml-ieqn-66"><mml:mi>q</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>, it corresponds to the classic Zipf distribution. The exponent <inline-formula id="ieqn-67"><mml:math id="mml-ieqn-67"><mml:mi>s</mml:mi></mml:math></inline-formula> controls the steepness of the distribution; when <inline-formula id="ieqn-68"><mml:math id="mml-ieqn-68"><mml:mi>s</mml:mi><mml:mo>&#x003E;</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>, the frequency decreases faster, and the distribution becomes more concentrated on higher-ranked contents, which is a common scenario. The Generalized Zipf Distribution offers greater flexibility, allowing for a more accurate representation of content distribution patterns by adjusting the parameters <inline-formula id="ieqn-69"><mml:math id="mml-ieqn-69"><mml:mi>q</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-70"><mml:math id="mml-ieqn-70"><mml:mi>s</mml:mi></mml:math></inline-formula>.</p>
</sec>
<sec id="s3_4">
<label>3.4</label>
<title>Analysis of Content Download Delay</title>
<p>In time slot <inline-formula id="ieqn-71"><mml:math id="mml-ieqn-71"><mml:mi>t</mml:mi></mml:math></inline-formula>, based on the different edge locations of the content requested by user <inline-formula id="ieqn-72"><mml:math id="mml-ieqn-72"><mml:mi>u</mml:mi></mml:math></inline-formula>, the following cases are considered:</p>
<p>Scenario 1: When the content <inline-formula id="ieqn-73"><mml:math id="mml-ieqn-73"><mml:mi>f</mml:mi></mml:math></inline-formula> requested by user <inline-formula id="ieqn-74"><mml:math id="mml-ieqn-74"><mml:mi>u</mml:mi></mml:math></inline-formula> is available on the local terminal, the content <inline-formula id="ieqn-75"><mml:math id="mml-ieqn-75"><mml:mi>f</mml:mi></mml:math></inline-formula> can be directly accessed locally. In this case, the download delay for content <inline-formula id="ieqn-76"><mml:math id="mml-ieqn-76"><mml:mi>f</mml:mi></mml:math></inline-formula> is close to 0 and can be ignored, denoted as <inline-formula id="ieqn-77"><mml:math id="mml-ieqn-77"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>.</p>
<p>Scenario 2: When user <inline-formula id="ieqn-78"><mml:math id="mml-ieqn-78"><mml:mi>u</mml:mi></mml:math></inline-formula> does not have the requested content <inline-formula id="ieqn-79"><mml:math id="mml-ieqn-79"><mml:mi>f</mml:mi></mml:math></inline-formula> cached locally, but nearby neighboring users have cached it, user <inline-formula id="ieqn-80"><mml:math id="mml-ieqn-80"><mml:mi>u</mml:mi></mml:math></inline-formula> will establish a D2D link with a neighboring user to retrieve the requested content <inline-formula id="ieqn-81"><mml:math id="mml-ieqn-81"><mml:mi>f</mml:mi></mml:math></inline-formula>. Additionally, when multiple users have cached content <inline-formula id="ieqn-82"><mml:math id="mml-ieqn-82"><mml:mi>f</mml:mi></mml:math></inline-formula>, user <inline-formula id="ieqn-83"><mml:math id="mml-ieqn-83"><mml:mi>u</mml:mi></mml:math></inline-formula> will retrieve the content from the user with the smallest transmission delay. The content download delay in this case is calculated using <xref ref-type="disp-formula" rid="eqn-5">Eq. (5)</xref>.</p>
<p>Scenario 3: When neither user <inline-formula id="ieqn-84"><mml:math id="mml-ieqn-84"><mml:mi>u</mml:mi></mml:math></inline-formula> nor the neighboring users have cached the requested content <inline-formula id="ieqn-85"><mml:math id="mml-ieqn-85"><mml:mi>f</mml:mi></mml:math></inline-formula>, but nearby SBSs have cached the content, user <inline-formula id="ieqn-86"><mml:math id="mml-ieqn-86"><mml:mi>u</mml:mi></mml:math></inline-formula> will retrieve the requested content <inline-formula id="ieqn-87"><mml:math id="mml-ieqn-87"><mml:mi>f</mml:mi></mml:math></inline-formula> from the SBS. In this case, the content download delay is calculated using <xref ref-type="disp-formula" rid="eqn-1">Eq. (1)</xref>.</p>
<p>Scenario 4: When the requested content <inline-formula id="ieqn-88"><mml:math id="mml-ieqn-88"><mml:mi>f</mml:mi></mml:math></inline-formula> is not cached at the edge nodes, it will be retrieved from the cloud server via the MBS. In this case, the content download delay is mainly concentrated on the Cloud-MBS link, and the transmission rate can be treated as a constant <inline-formula id="ieqn-89"><mml:math id="mml-ieqn-89"><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>u</mml:mi><mml:mi>d</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. Therefore, the content download delay can be expressed as <inline-formula id="ieqn-90"><mml:math id="mml-ieqn-90"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>u</mml:mi><mml:mi>d</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>u</mml:mi><mml:mi>d</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, where <inline-formula id="ieqn-91"><mml:math id="mml-ieqn-91"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>u</mml:mi><mml:mi>d</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x226B;</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>f</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>.</p>
<p>In summary, the download delay of content <inline-formula id="ieqn-92"><mml:math id="mml-ieqn-92"><mml:mi>f</mml:mi></mml:math></inline-formula> by user <inline-formula id="ieqn-93"><mml:math id="mml-ieqn-93"><mml:mi>u</mml:mi></mml:math></inline-formula> in time slot <inline-formula id="ieqn-94"><mml:math id="mml-ieqn-94"><mml:mi>t</mml:mi></mml:math></inline-formula> can be expressed as:
<disp-formula id="eqn-7"><label>(7)</label><mml:math id="mml-eqn-7" display="block"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>f</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mo movablelimits="true" form="prefix">min</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">X</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mn>2</mml:mn><mml:mi>d</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mi mathvariant="bold-italic">X</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>)</mml:mo></mml:mrow><mml:mi mathvariant="bold-italic">Y</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>u</mml:mi><mml:mn>2</mml:mn><mml:mi>s</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mi mathvariant="bold-italic">Y</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mi mathvariant="bold-italic">X</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>u</mml:mi><mml:mi>d</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula></p>
</sec>
<sec id="s3_5">
<label>3.5</label>
<title>Cache Hit Rate(CHR) Analysis</title>
<p>The overall CHR of the system is the weighted sum of the hit rates of each layer, with the weights being the probability of a miss in all preceding layers:
<disp-formula id="eqn-8"><label>(8)</label><mml:math id="mml-eqn-8" display="block"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mn>2</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mn>2</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>U</mml:mi><mml:mn>2</mml:mn><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:math></disp-formula>where <inline-formula id="ieqn-95"><mml:math id="mml-ieqn-95"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is the cache hit rate at the user&#x2019;s local cache, <inline-formula id="ieqn-96"><mml:math id="mml-ieqn-96"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mn>2</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is the cache hit rate at the <italic>D2D</italic> layer, and <inline-formula id="ieqn-97"><mml:math id="mml-ieqn-97"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>U</mml:mi><mml:mn>2</mml:mn><mml:mi>S</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is the cache hit rate at the small base station.</p>
<p>Based on the content popularity <xref ref-type="disp-formula" rid="eqn-6">Formula (6)</xref>, we can obtain:
<disp-formula id="eqn-9"><label>(9)</label><mml:math id="mml-eqn-9" display="block"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>U</mml:mi></mml:mfrac><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>u</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:munderover><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>F</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:math></disp-formula>
<disp-formula id="eqn-10"><label>(10)</label><mml:math id="mml-eqn-10" display="block"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mn>2</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>U</mml:mi></mml:mfrac><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>u</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:munderover><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>&#x2260;</mml:mo><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:munderover><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>F</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math></disp-formula>
<disp-formula id="eqn-11"><label>(11)</label><mml:math id="mml-eqn-11" display="block"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>U</mml:mi><mml:mn>2</mml:mn><mml:mi>S</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>U</mml:mi></mml:mfrac><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>u</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:munderover><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:munderover><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>F</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math></disp-formula></p>
<p>In summary, the overall cache hit rate of the system can be expressed as:
<disp-formula id="eqn-12"><label>(12)</label><mml:math id="mml-eqn-12" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>o</mml:mi><mml:mi>t</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>=</mml:mo></mml:mtd><mml:mtd><mml:mtext>&#x00A0;</mml:mtext><mml:mfrac><mml:mn>1</mml:mn><mml:mi>U</mml:mi></mml:mfrac><mml:munderover><mml:mrow><mml:mo movablelimits="false">&#x2211;</mml:mo></mml:mrow><mml:mrow><mml:mi>u</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>U</mml:mi></mml:munderover><mml:mo>&#x2061;</mml:mo><mml:munderover><mml:mrow><mml:mo movablelimits="false">&#x2211;</mml:mo></mml:mrow><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>F</mml:mi></mml:munderover><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>+</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>U</mml:mi></mml:mfrac><mml:munderover><mml:mrow><mml:mo movablelimits="false">&#x2211;</mml:mo></mml:mrow><mml:mrow><mml:mi>u</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>U</mml:mi></mml:munderover><mml:mo>&#x2061;</mml:mo><mml:munderover><mml:mrow><mml:mo movablelimits="false">&#x2211;</mml:mo></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>&#x2260;</mml:mo><mml:mi>u</mml:mi></mml:mrow><mml:mi>U</mml:mi></mml:munderover><mml:mo>&#x2061;</mml:mo><mml:munderover><mml:mrow><mml:mo movablelimits="false">&#x2211;</mml:mo></mml:mrow><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>F</mml:mi></mml:munderover><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>U</mml:mi></mml:mfrac><mml:munderover><mml:mrow><mml:mo movablelimits="false">&#x2211;</mml:mo></mml:mrow><mml:mrow><mml:mi>u</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>U</mml:mi></mml:munderover><mml:mo>&#x2061;</mml:mo><mml:munderover><mml:mrow><mml:mo movablelimits="false">&#x2211;</mml:mo></mml:mrow><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>F</mml:mi></mml:munderover><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mi></mml:mi><mml:mo>+</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>U</mml:mi></mml:mfrac><mml:munderover><mml:mrow><mml:mo movablelimits="false">&#x2211;</mml:mo></mml:mrow><mml:mrow><mml:mi>u</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>U</mml:mi></mml:munderover><mml:mo>&#x2061;</mml:mo><mml:munderover><mml:mrow><mml:mo movablelimits="false">&#x2211;</mml:mo></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>U</mml:mi></mml:munderover><mml:mo>&#x2061;</mml:mo><mml:munderover><mml:mrow><mml:mo movablelimits="false">&#x2211;</mml:mo></mml:mrow><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>F</mml:mi></mml:munderover><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mi>U</mml:mi></mml:mfrac><mml:munderover><mml:mrow><mml:mo movablelimits="false">&#x2211;</mml:mo></mml:mrow><mml:mrow><mml:mi>u</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>U</mml:mi></mml:munderover><mml:mo>&#x2061;</mml:mo><mml:munderover><mml:mrow><mml:mo movablelimits="false">&#x2211;</mml:mo></mml:mrow><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>F</mml:mi></mml:munderover><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>U</mml:mi></mml:mfrac><mml:munderover><mml:mrow><mml:mo movablelimits="false">&#x2211;</mml:mo></mml:mrow><mml:mrow><mml:mi>u</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>U</mml:mi></mml:munderover><mml:mo>&#x2061;</mml:mo><mml:munderover><mml:mrow><mml:mo movablelimits="false">&#x2211;</mml:mo></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>&#x2260;</mml:mo><mml:mi>u</mml:mi></mml:mrow><mml:mi>U</mml:mi></mml:munderover><mml:mo>&#x2061;</mml:mo><mml:munderover><mml:mrow><mml:mo movablelimits="false">&#x2211;</mml:mo></mml:mrow><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>F</mml:mi></mml:munderover><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
</sec>
<sec id="s3_6">
<label>3.6</label>
<title>Problem Formulation</title>
<p>We investigate the joint optimization problem in mobile edge caching. First, we predict users&#x2019; future geographic locations based on their historical mobility data. Then, by incorporating content popularity distribution and the current cache states of edge nodes, we design a dynamic cache replacement strategy. The objective is to minimize the average content download delay across the entire caching system. According to <xref ref-type="disp-formula" rid="eqn-7">Eq. (7)</xref>, the average content download delay at time <inline-formula id="ieqn-98"><mml:math id="mml-ieqn-98"><mml:mi>t</mml:mi></mml:math></inline-formula> can be expressed as:
<disp-formula id="eqn-13"><label>(13)</label><mml:math id="mml-eqn-13" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo></mml:mtd><mml:mtd><mml:mtext>&#x00A0;</mml:mtext><mml:mfrac><mml:mn>1</mml:mn><mml:mi>U</mml:mi></mml:mfrac><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>u</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>U</mml:mi></mml:mrow></mml:munderover><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:munderover><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>F</mml:mi></mml:mrow></mml:munderover><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:munder><mml:mo movablelimits="true" form="prefix">min</mml:mo><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:munder><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mn>2</mml:mn><mml:mi>d</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:munder><mml:mo movablelimits="true" form="prefix">max</mml:mo><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>u</mml:mi><mml:mn>2</mml:mn><mml:mi>s</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mrow><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo><mml:mo>+</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:munder><mml:mo movablelimits="true" form="prefix">max</mml:mo><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>u</mml:mi><mml:mi>d</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>The optimization problem aims to minimize the total content transmission delay with <italic>n</italic> time slots <inline-formula id="ieqn-99"><mml:math id="mml-ieqn-99"><mml:mo stretchy="false">(</mml:mo><mml:mi>n</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi mathvariant="normal">&#x221E;</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>:
<disp-formula id="eqn-14"><label>(14)</label><mml:math id="mml-eqn-14" display="block"><mml:mrow><mml:mi>&#x1D4AB;</mml:mi></mml:mrow><mml:mo>&#x003A;</mml:mo><mml:mo movablelimits="true" form="prefix">min</mml:mo><mml:munder><mml:mo movablelimits="true" form="prefix">lim</mml:mo><mml:mrow><mml:mi>n</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi mathvariant="normal">&#x221E;</mml:mi></mml:mrow></mml:munder><mml:mfrac><mml:mn>1</mml:mn><mml:mi>n</mml:mi></mml:mfrac><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula>
<disp-formula id="ueqn-15"><mml:math id="mml-ueqn-15" display="block"><mml:mi>s</mml:mi><mml:mo>.</mml:mo><mml:mi>t</mml:mi><mml:mo>.</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x003A;</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>}</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mi>f</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mi>&#x2131;</mml:mi></mml:mrow><mml:mo>,</mml:mo><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mi>&#x1D4B0;</mml:mi></mml:mrow></mml:math></disp-formula>
<disp-formula id="ueqn-16"><mml:math id="mml-ueqn-16" display="block"><mml:mspace width="1em" /><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x003A;</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>}</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mi>f</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mi>&#x2131;</mml:mi></mml:mrow><mml:mo>,</mml:mo><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mi mathvariant="script">I</mml:mi></mml:mrow></mml:math></disp-formula>
<disp-formula id="ueqn-17"><mml:math id="mml-ueqn-17" display="block"><mml:mspace width="1em" /><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>&#x003A;</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mi>f</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mi>&#x2131;</mml:mi></mml:mrow><mml:mo>,</mml:mo><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mi mathvariant="script">I</mml:mi></mml:mrow></mml:math></disp-formula>
<disp-formula id="ueqn-18"><mml:math id="mml-ueqn-18" display="block"><mml:mspace width="1em" /><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub><mml:mo>&#x003A;</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>F</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mi>f</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mi>&#x2131;</mml:mi></mml:mrow><mml:mo>,</mml:mo><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mi>&#x1D4B0;</mml:mi></mml:mrow></mml:math></disp-formula>
<disp-formula id="ueqn-19"><mml:math id="mml-ueqn-19" display="block"><mml:mspace width="1em" /><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub><mml:mo>&#x003A;</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>F</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mi>f</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mi>&#x2131;</mml:mi></mml:mrow><mml:mo>,</mml:mo><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mi mathvariant="script">I</mml:mi></mml:mrow></mml:math></disp-formula>
<disp-formula id="ueqn-20"><mml:math id="mml-ueqn-20" display="block"><mml:mspace width="1em" /><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub><mml:mo>&#x003A;</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2264;</mml:mo><mml:msubsup><mml:mi>&#x03C4;</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">max</mml:mo></mml:mrow><mml:mrow><mml:mi>u</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mi>f</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mi>&#x2131;</mml:mi></mml:mrow><mml:mo>,</mml:mo><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mi>&#x1D4B0;</mml:mi></mml:mrow></mml:math></disp-formula>where <inline-formula id="ieqn-100"><mml:math id="mml-ieqn-100"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> defines <inline-formula id="ieqn-101"><mml:math id="mml-ieqn-101"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> as 0 or 1, indicating whether content <inline-formula id="ieqn-102"><mml:math id="mml-ieqn-102"><mml:mi>f</mml:mi></mml:math></inline-formula> is stored at user <inline-formula id="ieqn-103"><mml:math id="mml-ieqn-103"><mml:mi>k</mml:mi></mml:math></inline-formula>, <inline-formula id="ieqn-104"><mml:math id="mml-ieqn-104"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> defines <inline-formula id="ieqn-105"><mml:math id="mml-ieqn-105"><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> as 0 or 1, indicating whether content <inline-formula id="ieqn-106"><mml:math id="mml-ieqn-106"><mml:mi>f</mml:mi></mml:math></inline-formula> is stored at small base station <inline-formula id="ieqn-107"><mml:math id="mml-ieqn-107"><mml:mi>i</mml:mi></mml:math></inline-formula>, <inline-formula id="ieqn-108"><mml:math id="mml-ieqn-108"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> ensures that content <inline-formula id="ieqn-109"><mml:math id="mml-ieqn-109"><mml:mi>f</mml:mi></mml:math></inline-formula> is not stored redundantly at small base stations, <inline-formula id="ieqn-110"><mml:math id="mml-ieqn-110"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> restricts the cached content for each user to not exceed the cache capacity <inline-formula id="ieqn-111"><mml:math id="mml-ieqn-111"><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-112"><mml:math id="mml-ieqn-112"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> restricts the cached content for each small base station to not exceed the cache capacity <inline-formula id="ieqn-113"><mml:math id="mml-ieqn-113"><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-114"><mml:math id="mml-ieqn-114"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> ensures that the request delay for each user does not exceed the maximum tolerable delay <inline-formula id="ieqn-115"><mml:math id="mml-ieqn-115"><mml:msubsup><mml:mi>&#x03C4;</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">max</mml:mo></mml:mrow><mml:mrow><mml:mi>u</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>.</p>
<p>To solve the optimization problem in <xref ref-type="disp-formula" rid="eqn-14">Eq. (14)</xref>, it is essential to find the optimal decision variables. However, due to the dynamic nature of the system&#x2019;s state and actions, it is challenging to collect the massive state information of the caching system in real time and formulate an appropriate caching strategy. Moreover, the problem is a mixed-integer programming problem, which has been proven to be NP-hard [<xref ref-type="bibr" rid="ref-28">28</xref>,<xref ref-type="bibr" rid="ref-29">29</xref>]. Additionally, due to the non-convexity of the feasible set, solving the problem through exhaustive or traditional methods is difficult. Therefore, we propose a DQN-based approach to address the above optimization problem, with the detailed solution presented in <xref ref-type="sec" rid="s5">Section 5</xref>.</p>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>Transformer-Based User Location Prediction Method</title>
<p>The user location prediction model proposed in this paper is based on Transformer and adopts an encoder-decoder architecture [<xref ref-type="bibr" rid="ref-30">30</xref>]. For the mobile edge caching scenario, the model is optimized to a one-step prediction mode by retaining only the encoder [<xref ref-type="bibr" rid="ref-31">31</xref>,<xref ref-type="bibr" rid="ref-32">32</xref>].</p>
<p>The model&#x2019;s input is a historical trajectory sequence of length <inline-formula id="ieqn-116"><mml:math id="mml-ieqn-116"><mml:mi>T</mml:mi></mml:math></inline-formula>, denoted as <inline-formula id="ieqn-117"><mml:math id="mml-ieqn-117"><mml:mi>X</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msub><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>, where each time step&#x2019;s feature vector <inline-formula id="ieqn-118"><mml:math id="mml-ieqn-118"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="double-struck">Z</mml:mi></mml:mrow><mml:mrow><mml:mo>+</mml:mo></mml:mrow></mml:msup></mml:math></inline-formula> represents the grid encoding. The input sequence is then transformed into a fixed-dimensional vector representation through an input embedding layer. This process can be viewed as mapping each discrete input <inline-formula id="ieqn-119"><mml:math id="mml-ieqn-119"><mml:mi>X</mml:mi></mml:math></inline-formula> into a high-dimensional vector space, which can be represented as:
<disp-formula id="eqn-15"><label>(15)</label><mml:math id="mml-eqn-15" display="block"><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mi>E</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mi>E</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">[</mml:mo><mml:mi>X</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:math></disp-formula>where <inline-formula id="ieqn-120"><mml:math id="mml-ieqn-120"><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mi>E</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is a learnable embedding layer weight matrix of size <inline-formula id="ieqn-121"><mml:math id="mml-ieqn-121"><mml:mi>T</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, and <inline-formula id="ieqn-122"><mml:math id="mml-ieqn-122"><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> represents the feature dimension. The input <inline-formula id="ieqn-123"><mml:math id="mml-ieqn-123"><mml:mi>X</mml:mi></mml:math></inline-formula> is mapped to an embedding output <inline-formula id="ieqn-124"><mml:math id="mml-ieqn-124"><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mi>E</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> of size <inline-formula id="ieqn-125"><mml:math id="mml-ieqn-125"><mml:mi>T</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> through <inline-formula id="ieqn-126"><mml:math id="mml-ieqn-126"><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mi>E</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>.</p>
<p>Then, to enable the model to recognize the positional information of time steps, we add positional encoding. For this, we use a sine function as the positional encoding, which is represented as:
<disp-formula id="eqn-16"><label>(16)</label><mml:math id="mml-eqn-16" display="block"><mml:mi>P</mml:mi><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false"><mml:mtr><mml:mtd><mml:mi>sin</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>10</mml:mn><mml:mo>,</mml:mo><mml:msup><mml:mn>000</mml:mn><mml:mrow><mml:mi>i</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mi>i</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>i</mml:mi><mml:mi>s</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>e</mml:mi><mml:mi>v</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>n</mml:mi><mml:mi>u</mml:mi><mml:mi>m</mml:mi><mml:mi>b</mml:mi><mml:mi>e</mml:mi><mml:mi>r</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>cos</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>10</mml:mn><mml:mo>,</mml:mo><mml:msup><mml:mn>000</mml:mn><mml:mrow><mml:mi>i</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mi>i</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>i</mml:mi><mml:mi>s</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mi>d</mml:mi><mml:mspace width="thinmathspace" /><mml:mi>n</mml:mi><mml:mi>u</mml:mi><mml:mi>m</mml:mi><mml:mi>b</mml:mi><mml:mi>e</mml:mi><mml:mi>r</mml:mi></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math></disp-formula>where <inline-formula id="ieqn-127"><mml:math id="mml-ieqn-127"><mml:mi>i</mml:mi></mml:math></inline-formula> represents the position of the feature vector. After adding the positional encoding, the output is:
<disp-formula id="eqn-17"><label>(17)</label><mml:math id="mml-eqn-17" display="block"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>P</mml:mi><mml:mi>E</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mi>E</mml:mi></mml:mrow></mml:msub></mml:math></disp-formula></p>
<p>After the positional encoding, to capture the long-term temporal dependencies, the self-attention mechanism is used to calculate the relationships between time steps. Let the input to the <inline-formula id="ieqn-128"><mml:math id="mml-ieqn-128"><mml:mi>l</mml:mi></mml:math></inline-formula>-th layer of the stacked encoder be denoted as <inline-formula id="ieqn-129"><mml:math id="mml-ieqn-129"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>l</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, and the output as <inline-formula id="ieqn-130"><mml:math id="mml-ieqn-130"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, where <inline-formula id="ieqn-131"><mml:math id="mml-ieqn-131"><mml:mi>l</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>L</mml:mi><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula>. First, linear transformations are applied to generate the <inline-formula id="ieqn-132"><mml:math id="mml-ieqn-132"><mml:mi>Q</mml:mi><mml:mi>u</mml:mi><mml:mi>e</mml:mi><mml:mi>r</mml:mi><mml:mi>y</mml:mi></mml:math></inline-formula>, <inline-formula id="ieqn-133"><mml:math id="mml-ieqn-133"><mml:mi>K</mml:mi><mml:mi>e</mml:mi><mml:mi>y</mml:mi></mml:math></inline-formula>, and <inline-formula id="ieqn-134"><mml:math id="mml-ieqn-134"><mml:mi>V</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>u</mml:mi><mml:mi>e</mml:mi></mml:math></inline-formula> matrices:
<disp-formula id="eqn-18"><label>(18)</label><mml:math id="mml-eqn-18" display="block"><mml:mi>Q</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>l</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mi>W</mml:mi><mml:mrow><mml:mi>Q</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>K</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>l</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mi>W</mml:mi><mml:mrow><mml:mi>K</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mi>V</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>l</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mi>W</mml:mi><mml:mrow><mml:mi>V</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:math></disp-formula>the matrices <inline-formula id="ieqn-135"><mml:math id="mml-ieqn-135"><mml:msup><mml:mi>W</mml:mi><mml:mrow><mml:mi>Q</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>W</mml:mi><mml:mrow><mml:mi>K</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>W</mml:mi><mml:mrow><mml:mi>V</mml:mi></mml:mrow></mml:msup><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="double-struck">R</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x00D7;</mml:mo><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup></mml:math></inline-formula> are learnable weight matrices, and <inline-formula id="ieqn-136"><mml:math id="mml-ieqn-136"><mml:mi>Q</mml:mi><mml:mo>,</mml:mo><mml:mi>K</mml:mi><mml:mo>,</mml:mo><mml:mi>V</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="double-struck">R</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup></mml:math></inline-formula>.</p>
<p>Next, the self-attention mechanism is used to compute attention weights, and these weights are applied to compute a weighted sum to obtain the new representation:
<disp-formula id="eqn-19"><label>(19)</label><mml:math id="mml-eqn-19" display="block"><mml:mi>A</mml:mi><mml:mi>t</mml:mi><mml:mi>t</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>Q</mml:mi><mml:mo>,</mml:mo><mml:mi>K</mml:mi><mml:mo>,</mml:mo><mml:mi>V</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>s</mml:mi><mml:mi>o</mml:mi><mml:mi>f</mml:mi><mml:mi>t</mml:mi><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>x</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mfrac><mml:mrow><mml:mi>Q</mml:mi><mml:msup><mml:mi>K</mml:mi><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:msqrt><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:msqrt></mml:mfrac><mml:mo>)</mml:mo></mml:mrow><mml:mi>V</mml:mi></mml:math></disp-formula></p>
<p>To capture diverse features, the Transformer extends the single-head attention to multi-head attention. The formula for the <inline-formula id="ieqn-137"><mml:math id="mml-ieqn-137"><mml:mi>h</mml:mi></mml:math></inline-formula>-<italic>head</italic> self-attention is as follows:
<disp-formula id="eqn-20"><label>(20)</label><mml:math id="mml-eqn-20" display="block"><mml:mi>M</mml:mi><mml:mi>u</mml:mi><mml:mi>l</mml:mi><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>H</mml:mi><mml:mi>e</mml:mi><mml:mi>a</mml:mi><mml:mi>d</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>Q</mml:mi><mml:mo>,</mml:mo><mml:mi>K</mml:mi><mml:mo>,</mml:mo><mml:mi>V</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>C</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>h</mml:mi><mml:mi>e</mml:mi><mml:mi>a</mml:mi><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>h</mml:mi><mml:mi>e</mml:mi><mml:mi>a</mml:mi><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:msup><mml:mi>W</mml:mi><mml:mrow><mml:mi>O</mml:mi></mml:mrow></mml:msup></mml:math></disp-formula>where <inline-formula id="ieqn-138"><mml:math id="mml-ieqn-138"><mml:mi>h</mml:mi><mml:mi>e</mml:mi><mml:mi>a</mml:mi><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>A</mml:mi><mml:mi>t</mml:mi><mml:mi>t</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>Q</mml:mi><mml:msubsup><mml:mi>W</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>Q</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mi>K</mml:mi><mml:msubsup><mml:mi>W</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>K</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mi>V</mml:mi><mml:msubsup><mml:mi>W</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>V</mml:mi></mml:mrow></mml:msubsup><mml:mo>)</mml:mo></mml:mrow><mml:mspace width="negativethinmathspace" /><mml:mo>;</mml:mo><mml:msubsup><mml:mi>W</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>Q</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>W</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>K</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>W</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>v</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="double-struck">R</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x00D7;</mml:mo><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, <inline-formula id="ieqn-139"><mml:math id="mml-ieqn-139"><mml:msubsup><mml:mi>W</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>O</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="double-struck">R</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x00D7;</mml:mo><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup></mml:math></inline-formula>.</p>
<p>Then, the <inline-formula id="ieqn-140"><mml:math id="mml-ieqn-140"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>l</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> is residual connected with <xref ref-type="disp-formula" rid="eqn-20">Eq. (20)</xref> and layer normalized:
<disp-formula id="eqn-21"><label>(21)</label><mml:math id="mml-eqn-21" display="block"><mml:mi>H</mml:mi><mml:mo>=</mml:mo><mml:mi>L</mml:mi><mml:mi>a</mml:mi><mml:mi>y</mml:mi><mml:mi>e</mml:mi><mml:mi>r</mml:mi><mml:mi>N</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mi>m</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>l</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>M</mml:mi><mml:mi>u</mml:mi><mml:mi>l</mml:mi><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>H</mml:mi><mml:mi>e</mml:mi><mml:mi>a</mml:mi><mml:mi>d</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>Q</mml:mi><mml:mo>,</mml:mo><mml:mi>K</mml:mi><mml:mo>,</mml:mo><mml:mi>V</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math></disp-formula></p>
<p>Then, it passes through a feedforward neural network with a hidden layer size of <inline-formula id="ieqn-141"><mml:math id="mml-ieqn-141"><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>h</mml:mi><mml:mi>i</mml:mi><mml:mi>d</mml:mi><mml:mi>d</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>:
<disp-formula id="eqn-22"><label>(22)</label><mml:math id="mml-eqn-22" display="block"><mml:mi>F</mml:mi><mml:mi>F</mml:mi><mml:mi>N</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>H</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mo movablelimits="true" form="prefix">max</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mi>H</mml:mi><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></disp-formula>where <inline-formula id="ieqn-142"><mml:math id="mml-ieqn-142"><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="double-struck">R</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x00D7;</mml:mo><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>h</mml:mi><mml:mi>i</mml:mi><mml:mi>d</mml:mi><mml:mi>d</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="double-struck">R</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>h</mml:mi><mml:mi>i</mml:mi><mml:mi>d</mml:mi><mml:mi>d</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x00D7;</mml:mo><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup></mml:math></inline-formula>, and <inline-formula id="ieqn-143"><mml:math id="mml-ieqn-143"><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> are bias vectors.</p>
<p>Similar to <xref ref-type="disp-formula" rid="eqn-21">Eq. (21)</xref>, residual connection and normalization are applied:
<disp-formula id="eqn-23"><label>(23)</label><mml:math id="mml-eqn-23" display="block"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>L</mml:mi><mml:mi>a</mml:mi><mml:mi>y</mml:mi><mml:mi>e</mml:mi><mml:mi>r</mml:mi><mml:mi>N</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mi>m</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>H</mml:mi><mml:mo>+</mml:mo><mml:mi>F</mml:mi><mml:mi>F</mml:mi><mml:mi>N</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>H</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math></disp-formula></p>
<p>By repeating the above steps, after stacking <inline-formula id="ieqn-144"><mml:math id="mml-ieqn-144"><mml:mi>L</mml:mi></mml:math></inline-formula> layers, the final output is <inline-formula id="ieqn-145"><mml:math id="mml-ieqn-145"><mml:msub><mml:mi>H</mml:mi><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="double-struck">R</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup></mml:math></inline-formula>. Then, a linear layer is applied to obtain the final output. The complete training process is provided in Algorithm 1.</p>
<fig id="fig-7">
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_67590-fig-7.tif"/>
</fig>
</sec>
<sec id="s5">
<label>5</label>
<title>Edge Caching Scheme Based on DQN Algorithm</title>
<p>In this section, we first define the edge caching strategy optimization problem guided by content transmission delay according to the reinforcement learning model, and then provide a caching strategy solution based on the DQN algorithm.</p>
<sec id="s5_1">
<label>5.1</label>
<title>Reinforcement Learning Formulation</title>
<p>RL, as a branch of machine learning, focuses on how agents learn optimal decisions through interaction with the environment. Its core idea is to guide the agent&#x2019;s behavior through trial-and-error and reward mechanisms to maximize cumulative rewards. In reinforcement learning, there are three key elements: the state space, the action space, and the reward function. We will construct a reinforcement learning model guided by minimizing content transmission delay based on these three elements.</p>
<p>1. State Space (<italic>S</italic>)</p>
<p>The state space is used to describe the overall state of the system, including user request features and cache states. At time slot <inline-formula id="ieqn-152"><mml:math id="mml-ieqn-152"><mml:mi>t</mml:mi></mml:math></inline-formula>, before the user requests content, the user request features are represented as:
<disp-formula id="eqn-24"><label>(24)</label><mml:math id="mml-eqn-24" display="block"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:mi>r</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:mi>U</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>U</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mi>D</mml:mi><mml:mn>2</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:mi>U</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mi>U</mml:mi><mml:mn>2</mml:mn><mml:mi>S</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>U</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>F</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:math></disp-formula>where we define a matrix <inline-formula id="ieqn-153"><mml:math id="mml-ieqn-153"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:mi>U</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>U</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mi>D</mml:mi><mml:mn>2</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> of size <inline-formula id="ieqn-154"><mml:math id="mml-ieqn-154"><mml:mi>U</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>U</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, where each element <inline-formula id="ieqn-155"><mml:math id="mml-ieqn-155"><mml:msub><mml:mi>g</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> represents the channel gain between user <inline-formula id="ieqn-156"><mml:math id="mml-ieqn-156"><mml:mi>u</mml:mi></mml:math></inline-formula> and user <inline-formula id="ieqn-157"><mml:math id="mml-ieqn-157"><mml:mi>k</mml:mi></mml:math></inline-formula>, with <inline-formula id="ieqn-158"><mml:math id="mml-ieqn-158"><mml:mi>u</mml:mi><mml:mo>&#x2260;</mml:mo><mml:mi>k</mml:mi></mml:math></inline-formula>. Similarly, in the matrix <inline-formula id="ieqn-159"><mml:math id="mml-ieqn-159"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:mi>U</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mi>U</mml:mi><mml:mn>2</mml:mn><mml:mi>S</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, each element <inline-formula id="ieqn-160"><mml:math id="mml-ieqn-160"><mml:msub><mml:mi>g</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> represents the channel gain between user <inline-formula id="ieqn-161"><mml:math id="mml-ieqn-161"><mml:mi>u</mml:mi></mml:math></inline-formula> and small base station <inline-formula id="ieqn-162"><mml:math id="mml-ieqn-162"><mml:mi>i</mml:mi></mml:math></inline-formula>, where the above channel gains are calculated using <xref ref-type="disp-formula" rid="eqn-2">Eq. (2)</xref>. Additionally, we define a matrix <inline-formula id="ieqn-163"><mml:math id="mml-ieqn-163"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>U</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>F</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> of size <inline-formula id="ieqn-164"><mml:math id="mml-ieqn-164"><mml:mi>U</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>F</mml:mi></mml:math></inline-formula>, where each element <inline-formula id="ieqn-165"><mml:math id="mml-ieqn-165"><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>f</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> represents the probability that user <inline-formula id="ieqn-166"><mml:math id="mml-ieqn-166"><mml:mi>u</mml:mi></mml:math></inline-formula> requests content <inline-formula id="ieqn-167"><mml:math id="mml-ieqn-167"><mml:mi>f</mml:mi></mml:math></inline-formula>, calculated using the popularity <xref ref-type="disp-formula" rid="eqn-6">Formula (6)</xref>.</p>
<p>The cache state refers to the set of contents currently cached in the edge server, which can be represented as:
<disp-formula id="eqn-25"><label>(25)</label><mml:math id="mml-eqn-25" display="block"><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>h</mml:mi><mml:mi>e</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mi>F</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>U</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mi>F</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>I</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:math></disp-formula>where each element <inline-formula id="ieqn-168"><mml:math id="mml-ieqn-168"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> in <inline-formula id="ieqn-169"><mml:math id="mml-ieqn-169"><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mi>U</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>F</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> represents the cache state of content <inline-formula id="ieqn-170"><mml:math id="mml-ieqn-170"><mml:mi>f</mml:mi></mml:math></inline-formula> at user <inline-formula id="ieqn-171"><mml:math id="mml-ieqn-171"><mml:mi>u</mml:mi></mml:math></inline-formula>, with <inline-formula id="ieqn-172"><mml:math id="mml-ieqn-172"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>, and each element <inline-formula id="ieqn-173"><mml:math id="mml-ieqn-173"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> in <inline-formula id="ieqn-174"><mml:math id="mml-ieqn-174"><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mi>F</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>I</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> represents the cache state of content <inline-formula id="ieqn-175"><mml:math id="mml-ieqn-175"><mml:mi>f</mml:mi></mml:math></inline-formula> at small base station <inline-formula id="ieqn-176"><mml:math id="mml-ieqn-176"><mml:mi>i</mml:mi></mml:math></inline-formula>, with <inline-formula id="ieqn-177"><mml:math id="mml-ieqn-177"><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>.</p>
<p>In summary, the state space of the entire system can be represented as:
<disp-formula id="eqn-26"><label>(26)</label><mml:math id="mml-eqn-26" display="block"><mml:mi>S</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:mi>U</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>U</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mi>D</mml:mi><mml:mn>2</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:mi>U</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mi>U</mml:mi><mml:mn>2</mml:mn><mml:mi>S</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>U</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>F</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mi>F</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>U</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mrow><mml:mi>F</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>I</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>2. Action Space (<italic>A</italic>)</p>
<p>The action space defines the actions that the agent can take at each time step. In the edge caching scenario, the actions mainly include the decision to replace cached content. The action space can be represented as:
<disp-formula id="eqn-27"><label>(27)</label><mml:math id="mml-eqn-27" display="block"><mml:mi>A</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msubsup><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>U</mml:mi></mml:mrow><mml:mrow><mml:mi>D</mml:mi><mml:mn>2</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:msubsup><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mi>U</mml:mi><mml:mn>2</mml:mn><mml:mi>S</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:math></disp-formula>where the elements <inline-formula id="ieqn-178"><mml:math id="mml-ieqn-178"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> in the <inline-formula id="ieqn-179"><mml:math id="mml-ieqn-179"><mml:mi>F</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>U</mml:mi></mml:math></inline-formula> matrix <inline-formula id="ieqn-180"><mml:math id="mml-ieqn-180"><mml:msubsup><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>U</mml:mi></mml:mrow><mml:mrow><mml:mi>D</mml:mi><mml:mn>2</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> represent whether content <inline-formula id="ieqn-181"><mml:math id="mml-ieqn-181"><mml:mi>f</mml:mi></mml:math></inline-formula> cached at user <inline-formula id="ieqn-182"><mml:math id="mml-ieqn-182"><mml:mi>u</mml:mi></mml:math></inline-formula> should be replaced, and the elements <inline-formula id="ieqn-183"><mml:math id="mml-ieqn-183"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> in the <inline-formula id="ieqn-184"><mml:math id="mml-ieqn-184"><mml:msubsup><mml:mrow><mml:mi>&#x1D49C;</mml:mi></mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mi>U</mml:mi><mml:mn>2</mml:mn><mml:mi>S</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> represent whether content <inline-formula id="ieqn-185"><mml:math id="mml-ieqn-185"><mml:mi>i</mml:mi></mml:math></inline-formula> cached at small base station <inline-formula id="ieqn-186"><mml:math id="mml-ieqn-186"><mml:mi>i</mml:mi></mml:math></inline-formula> should be replaced by content <inline-formula id="ieqn-187"><mml:math id="mml-ieqn-187"><mml:mi>f</mml:mi></mml:math></inline-formula>. The replacement priority is based on the current popularity of the content among users, giving preference to replacing content with lower popularity.</p>
<p>3. Reward Function (<italic>R</italic>)</p>
<p>The reward function is used to evaluate the performance of the agent after executing an action. Based on the cache state <inline-formula id="ieqn-188"><mml:math id="mml-ieqn-188"><mml:mi>S</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, when a user requests content, the user and the small base station take the corresponding action <inline-formula id="ieqn-189"><mml:math id="mml-ieqn-189"><mml:mi>A</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> and receive different reward values <inline-formula id="ieqn-190"><mml:math id="mml-ieqn-190"><mml:mi>R</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> based on the outcomes. To minimize content transmission delay and ensure convergence to the ideal result, the reward function is defined as follows:
<disp-formula id="eqn-28"><label>(28)</label><mml:math id="mml-eqn-28" display="block"><mml:mi>R</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false"><mml:mtr><mml:mtd><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mfrac><mml:mo>&#x2212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mi>d</mml:mi><mml:mi>o</mml:mi><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mfrac><mml:mo>,</mml:mo><mml:mi>R</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x003E;</mml:mo><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mspace width="1em" /><mml:mspace width="1em" /><mml:mspace width="1em" /><mml:mspace width="1em" /><mml:mspace width="1em" /><mml:mi>R</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2264;</mml:mo><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math></disp-formula>where the average transmission delay <inline-formula id="ieqn-191"><mml:math id="mml-ieqn-191"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is calculated using <xref ref-type="disp-formula" rid="eqn-13">Eq. (13)</xref>, and <inline-formula id="ieqn-192"><mml:math id="mml-ieqn-192"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mi>d</mml:mi><mml:mi>o</mml:mi><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is the average transmission delay for random caching.</p>
</sec>
<sec id="s5_2">
<label>5.2</label>
<title>Design of Edge Caching Scheme Based on DQN</title>
<p>For the edge caching problem we are studying, traditional RL methods can no longer meet the requirements due to the complexity of the state and action spaces. We adopt a model-free reinforcement learning algorithm, DQN, which combines deep neural networks (DNN) with Q-learning to estimate the action-value function in RL.</p>
<sec id="s5_2_1">
<label>5.2.1</label>
<title>DQN Adaptability Analysis</title>
<p>DQN has the capability to handle high-dimensional states. In the edge caching scenario, user request features (such as channel gain and content popularity) and cache states (such as multi-content storage conditions) form a high-dimensional state space, which is difficult to efficiently handle with the tabular method of traditional Q-learning. Additionally, DQN utilizes the nonlinear fitting ability of DNN to map high-dimensional states into lower-dimensional feature representations, thus capturing the underlying relationships in complex spaces. Furthermore, user content requests exhibit non-stationarity (e.g., burst traffic, popularity changes), and direct online learning can lead to policy oscillation. However, DQN introduces an experience replay buffer to store experiences <inline-formula id="ieqn-193"><mml:math id="mml-ieqn-193"><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, and through random sampling, it breaks the correlation between data, improving the algorithm&#x2019;s robustness to dynamic request patterns. Moreover, in traditional Q-learning, Q-value updates occur in sync with the policy, which can lead to Q-value overestimation and training divergence. In DQN, an independent target network is introduced to compute the Q-values, effectively alleviating the issue of target value fluctuation and enhancing convergence stability.</p>
</sec>
<sec id="s5_2_2">
<label>5.2.2</label>
<title>Training Process</title>
<p>The environment first provides an initial state <inline-formula id="ieqn-194"><mml:math id="mml-ieqn-194"><mml:mi>S</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, then the agent selects the optimal action <inline-formula id="ieqn-195"><mml:math id="mml-ieqn-195"><mml:mi>A</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> based on the policy <inline-formula id="ieqn-196"><mml:math id="mml-ieqn-196"><mml:mi>&#x03C0;</mml:mi></mml:math></inline-formula> and the current state <inline-formula id="ieqn-197"><mml:math id="mml-ieqn-197"><mml:mi>S</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, receiving the corresponding reward <inline-formula id="ieqn-198"><mml:math id="mml-ieqn-198"><mml:mi>R</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and the next state <inline-formula id="ieqn-199"><mml:math id="mml-ieqn-199"><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>. Simultaneously, the information <inline-formula id="ieqn-200"><mml:math id="mml-ieqn-200"><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is stored in the experience replay buffer. In each iteration of the training process, the DQN network extracts data from the experience replay buffer and updates the network parameters by minimizing the loss between the target network and the main network. As the network iterates, it can ultimately obtain the optimal neural network parameters. The complete training process is given in Algorithm 2.</p>
<fig id="fig-8">
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_67590-fig-8.tif"/>
</fig>
<p>During the learning process, there are two types of action decisions: exploration and exploitation. Exploration refers to selecting new or random actions to discover potentially high-reward strategies, while exploitation refers to selecting the action with the highest reward based on the current <italic>Q</italic>-values. To describe the probabilities of these two decisions, the <inline-formula id="ieqn-218"><mml:math id="mml-ieqn-218"><mml:mi>&#x03B5;</mml:mi></mml:math></inline-formula>-greedy algorithm is typically used to determine the action <inline-formula id="ieqn-219"><mml:math id="mml-ieqn-219"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>:
<disp-formula id="eqn-29"><label>(29)</label><mml:math id="mml-eqn-29" display="block"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false"><mml:mtr><mml:mtd><mml:mi>arg</mml:mi><mml:mo>&#x2061;</mml:mo><mml:munder><mml:mo movablelimits="true" form="prefix">max</mml:mo><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:munder><mml:mi>Q</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>a</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mspace width="1em" /><mml:mspace width="1em" /><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03B5;</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mi>d</mml:mi><mml:mi>o</mml:mi><mml:mi>m</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>a</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mspace width="1em" /><mml:mspace width="1em" /><mml:mspace width="1em" /><mml:mspace width="1em" /><mml:mspace width="1em" /><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mi>&#x03B5;</mml:mi></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math></disp-formula>where <inline-formula id="ieqn-220"><mml:math id="mml-ieqn-220"><mml:mi>&#x03B5;</mml:mi></mml:math></inline-formula> is used to adjust the exploration-exploitation probability, and <inline-formula id="ieqn-221"><mml:math id="mml-ieqn-221"><mml:mi>Q</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> can be approximated using the DNN network. Specifically, the <italic>Q</italic>-value in the main network of DQN can be represented as:
<disp-formula id="eqn-30"><label>(30)</label><mml:math id="mml-eqn-30" display="block"><mml:mi>Q</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2248;</mml:mo><mml:mi>Q</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>;</mml:mo><mml:mi>&#x03B8;</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula>where <inline-formula id="ieqn-222"><mml:math id="mml-ieqn-222"><mml:mi>&#x03B8;</mml:mi></mml:math></inline-formula> represents the weights of the main network DNN. The <italic>Q</italic>-value for the target network can be computed using the Bellman equation:
<disp-formula id="eqn-31"><label>(31)</label><mml:math id="mml-eqn-31" display="block"><mml:mi>y</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>&#x03B3;</mml:mi><mml:munder><mml:mo movablelimits="true" form="prefix">max</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:munder><mml:mi>Q</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>;</mml:mo><mml:msup><mml:mi>&#x03B8;</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula>where <inline-formula id="ieqn-223"><mml:math id="mml-ieqn-223"><mml:msup><mml:mi>&#x03B8;</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo></mml:mrow></mml:msup></mml:math></inline-formula> represents the weights of the target network DNN, and <inline-formula id="ieqn-224"><mml:math id="mml-ieqn-224"><mml:mi>&#x03B3;</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula> is the discount factor, which is used to control the weight of future rewards.</p>
<p>Then, the loss between the main network <italic>Q</italic>-value and the target network <italic>Q</italic>-value is computed. According to <xref ref-type="disp-formula" rid="eqn-30">Eqs. (30)</xref> and <xref ref-type="disp-formula" rid="eqn-31">(31)</xref>, the loss function for the DNN can be expressed as:
<disp-formula id="eqn-32"><label>(32)</label><mml:math id="mml-eqn-32" display="block"><mml:mi>L</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>&#x03B8;</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="double-struck">E</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x223C;</mml:mo><mml:mi>D</mml:mi><mml:mrow><mml:mo>[</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mi>y</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>Q</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>;</mml:mo><mml:mi>&#x03B8;</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>]</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>By minimizing the loss function <inline-formula id="ieqn-225"><mml:math id="mml-ieqn-225"><mml:mi>L</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>&#x03B8;</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, the parameters <inline-formula id="ieqn-226"><mml:math id="mml-ieqn-226"><mml:mi>&#x03B8;</mml:mi></mml:math></inline-formula> of the main network gradually converge, thereby finding the action-value function <inline-formula id="ieqn-227"><mml:math id="mml-ieqn-227"><mml:mi>Q</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mi>a</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> that is close to optimal.</p>
<p>After obtaining the loss function, the stochastic gradient descent (SGD) algorithm is used to update the parameters <inline-formula id="ieqn-228"><mml:math id="mml-ieqn-228"><mml:mi>&#x03B8;</mml:mi></mml:math></inline-formula> of the main network model:
<disp-formula id="eqn-33"><label>(33)</label><mml:math id="mml-eqn-33" display="block"><mml:mi>&#x03B8;</mml:mi><mml:mo>=</mml:mo><mml:mi>&#x03B8;</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03B1;</mml:mi><mml:mfrac><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>L</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B8;</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2202;</mml:mi><mml:mi>&#x03B8;</mml:mi></mml:mrow></mml:mfrac></mml:math></disp-formula>where <inline-formula id="ieqn-229"><mml:math id="mml-ieqn-229"><mml:mi>&#x03B1;</mml:mi></mml:math></inline-formula> is the learning rate, which controls the step size for each update.</p>
<p>To further improve stability, the target network is updated using a soft update mechanism. Every <inline-formula id="ieqn-230"><mml:math id="mml-ieqn-230"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mi>p</mml:mi><mml:mi>d</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> time slots, the parameters <inline-formula id="ieqn-231"><mml:math id="mml-ieqn-231"><mml:mi>&#x03B8;</mml:mi></mml:math></inline-formula> of the main network are synchronized to the target network using the following formula:
<disp-formula id="eqn-34"><label>(34)</label><mml:math id="mml-eqn-34" display="block"><mml:msup><mml:mi>&#x03B8;</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo></mml:mrow></mml:msup><mml:mo stretchy="false">&#x27F5;</mml:mo><mml:mi>&#x03C4;</mml:mi><mml:mi>&#x03B8;</mml:mi><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03C4;</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:msup><mml:mi>&#x03B8;</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo></mml:mrow></mml:msup></mml:math></disp-formula></p>
<p>In addition, the experience buffer uses a prioritized experience replay mechanism. The sampling probability is dynamically adjusted based on the temporal difference error <inline-formula id="ieqn-232"><mml:math id="mml-ieqn-232"><mml:msub><mml:mi>&#x03B4;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:mi>y</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>Q</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>|</mml:mo></mml:mrow></mml:math></inline-formula>:</p>
<p><disp-formula id="eqn-35"><label>(35)</label><mml:math id="mml-eqn-35" display="block"><mml:mi>P</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>&#x03B4;</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mo>&#x03F5;</mml:mo><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mi>&#x03B1;</mml:mi></mml:mrow></mml:msup><mml:mrow><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:munder><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>&#x03B4;</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mo>&#x03F5;</mml:mo><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mi>&#x03B1;</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:math></disp-formula>where <inline-formula id="ieqn-233"><mml:math id="mml-ieqn-233"><mml:mi>&#x03B1;</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula> controls the strength of the priority, and <inline-formula id="ieqn-234"><mml:math id="mml-ieqn-234"><mml:mo>&#x03F5;</mml:mo></mml:math></inline-formula> is a small positive number to prevent samples with zero priority from being ignored.</p>
</sec>
</sec>
</sec>
<sec id="s6">
<label>6</label>
<title>Experimental Simulation</title>
<p>This section presents a series of simulations. First, the next user location is predicted based on historical trajectory data using the Transformer algorithm. The predicted location is then used as input to explore the caching strategy using the DQN algorithm. The performance of the DQN-based caching strategy is evaluated by comparing it with other methods.</p>
<sec id="s6_1">
<label>6.1</label>
<title>User Location Prediction</title>
<p>In this study, experiments are conducted using the real-world GeoLife dataset, which contains GPS trajectory data of 182 users from April 2007 to August 2012 [<xref ref-type="bibr" rid="ref-33">33</xref>], including latitude, longitude, and altitude information. We first preprocess the dataset as follows: (1) Only low-speed scenarios are considered, and points with speeds exceeding 20 km/h are removed, (2) Static points are filtered by removing data points where the user stayed in the same location for more than 30 min, (3) The trajectory is standardized to a fixed time interval of 30 s, with missing values filled using linear interpolation.</p>
<p>We center the MBS and divide a 200 m &#x00D7; 200 m area into a 20 &#x00D7; 20 grid. The input dimension for the Transformer algorithm is set to 64, with 4 encoder layers, 4 attention heads, and a hidden layer size of 128. To evaluate the effectiveness of the algorithm, we compare the position prediction results with those obtained using the LSTM algorithm.</p>
<p>As shown in <xref ref-type="fig" rid="fig-2">Fig. 2</xref>, the location prediction results for 50 users using different models are presented. It can be observed that, compared to the LSTM-based predictions, the Transformer-based predicted locations align much more closely with the actual locations. This is due to the self-attention mechanism of the Transformer, which can capture relationships at any position within the trajectory simultaneously. This demonstrates the effectiveness of the self-attention mechanism in location prediction. Furthermore, because the self-attention mechanism allows for parallel computation, the training speed of the Transformer is more than twice as fast as that of LSTM, given the same data volume.</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>User location prediction</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_67590-fig-2.tif"/>
</fig>
</sec>
<sec id="s6_2">
<label>6.2</label>
<title>Mobile Edge Caching Strategy Study</title>
<p>After completing the mobility prediction, the next access location and other features are used as inputs to explore the caching strategy. The proposed caching strategy is then evaluated and tested for its performance in mobile edge networks. We focus on evaluating steady-state worst-case scenarios, while future work could incorporate dedicated burst detection modules to further enhance transient robustness. First, a scenario with a three-layer heterogeneous network is set up. The scenario includes one MBS, three SBSs, and 10 users. The coverage radius of the cellular network is set to 200 m, with the MBS positioned at the center and the remaining SBSs evenly distributed. We assume a total of 100 content items, with each SBS able to cache up to 8 files, each user able to cache up to 3 files, and all files are of equal size (10 MB each). The content popularity distribution follows a Zipf distribution. Based on conservative design principles, we assume that popular content undergoes random variations at every moment. The MBS transmission power is set to 50 W, the transmission bandwidth to 50 MHz, the SBS transmission power to 5 W, and the transmission bandwidth to 10 MHz. The MU transmission power is set to 0.25 W, with a transmission bandwidth of 1 MHz. The path loss factor is set to 3.5, and the noise power is fixed at 10<sup>&#x2212;9</sup> W. Additionally, the network parameters for the DQN algorithm are set as shown in <xref ref-type="table" rid="table-1">Table 1</xref>.</p>
<table-wrap id="table-1">
<label>Table 1</label>
<caption>
<title>DQN network parameters settings</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Parameter</th>
<th>Value/Method</th>
</tr>
</thead>
<tbody>
<tr>
<td>Input size</td>
<td>475</td>
</tr>
<tr>
<td>Output size</td>
<td>1300</td>
</tr>
<tr>
<td>Number of hidden layers</td>
<td>2</td>
</tr>
<tr>
<td>Activation function</td>
<td>ReLU</td>
</tr>
<tr>
<td>Loss function</td>
<td>HuberLoss</td>
</tr>
<tr>
<td>Learning rate</td>
<td>0.001</td>
</tr>
<tr>
<td>Optimizer</td>
<td>Adam</td>
</tr>
<tr>
<td>Experience pool size</td>
<td>2000</td>
</tr>
<tr>
<td>Sample size</td>
<td>32</td>
</tr>
<tr>
<td>Initial exploration rate</td>
<td>0.2</td>
</tr>
<tr>
<td>Minimum exploration rate</td>
<td>0.01</td>
</tr>
<tr>
<td>Exploration rate decay</td>
<td>0.995</td>
</tr>
<tr>
<td>Discount factor</td>
<td>0.99</td>
</tr>
<tr>
<td>Target network update interval</td>
<td>10</td>
</tr>
<tr>
<td>Target network soft update parameter</td>
<td>0.01</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>We evaluate the performance of the DQN-based cache strategy by comparing it with other benchmark cache strategies, as follows:
<list list-type="order">
<list-item>
<p>FIFO (First In, First Out): When the MU (Mobile User) or SBS (Small Base Station) cache is full, the content that was stored the longest is replaced with the current user&#x2019;s requested popular content.</p></list-item>
<list-item>
<p>LFU (Least Frequently Used): When the MU or SBS cache is full, the content that has been used the least over time is replaced with the current user&#x2019;s requested popular content.</p></list-item>
<list-item>
<p>LRU (Least Recently Used): When the MU or SBS cache is full, the content that has been requested the fewest times in a given period is replaced with the current user&#x2019;s requested popular content.</p></list-item>
<list-item>
<p>DQN without Location Prediction: This method does not consider future user location information and uses the location features from the previous time step as input.</p></list-item>
</list></p>
<p>As shown in <xref ref-type="fig" rid="fig-3">Fig. 3</xref>, we evaluate the content transmission delay under the proposed DQN-based caching strategy compared with other baseline caching methods. It can be observed that, after a certain number of training steps, the transmission delay of the DQN algorithm gradually decreases and eventually converges to approximately 23 ms. Compared to other caching strategies, the proposed method significantly reduces the system&#x2019;s transmission delay. Moreover, compared to the scenario without considering user mobility, the transmission delay is reduced by approximately 17.2%. This improvement is attributed to the fact that, without mobility awareness, the caching strategy relies on users&#x2019; historical location information. However, users&#x2019; positions change over time, leading to a mismatch between the input location and the actual location at the next time step, which in turn causes higher transmission delays.</p>
<fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>Content transmission delay based on different strategies during training</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_67590-fig-3.tif"/>
</fig>
<p>As shown in <xref ref-type="fig" rid="fig-4">Fig. 4</xref>, we further evaluate the CHR of the DQN-based caching strategy in comparison with other baseline caching strategies, as well as the CHR of the DQN strategy without location prediction. It can be observed that, after sufficient training, the CHR achieved by the DQN algorithm significantly outperforms that of traditional caching strategies, converging to approximately 55%. In fact, experimental results show that under the same conditions, the optimal caching strategy achieves a CHR of around 61%, indicating that the CHR of the DQN-based method is already close to the optimal performance. Furthermore, considering user mobility improves the CHR by approximately 5%.</p>
<fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>CHR based on different strategies during training</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_67590-fig-4.tif"/>
</fig>
<p><xref ref-type="fig" rid="fig-5">Fig. 5</xref> compares the content transmission delay of five caching methods under different numbers of users. With the same number of users, it can be observed that the proposed DQN-based method outperforms the other three caching methods, and the DQN method considering user mobility performs better than the one without mobility consideration. As the number of users increases, the content transmission delay decreases because the user group caches more popular content, and more popular content is transmitted via D2D, reducing reliance on the remote core network, thus significantly lowering the content transmission delay. However, as the number of users continues to increase, a critical point of resource competition is reached, and the content transmission delay begins to rise. This is primarily due to the limited number of available orthogonal subchannels for D2D communications. When excessive concurrent D2D connections occur, co-channel interference emerges, consequently increasing communication latency in D2D links. Moreover, since the DQN-based method dynamically allocates strategies and balances the processing capabilities of edge nodes at different layers, the increase in content transmission delay is slower compared to other caching methods. This indicates that the advantage of the DQN-based method becomes more pronounced when the number of users is large compared to other caching strategies.</p>
<fig id="fig-5">
<label>Figure 5</label>
<caption>
<title>Content transmission delay with different numbers of users</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_67590-fig-5.tif"/>
</fig>
<p><xref ref-type="fig" rid="fig-6">Fig. 6</xref> compares the content transmission delay performance of the five methods under different SBS cache capacities. With the same cache capacity, the DQN-based method outperforms the other three methods, and the DQN algorithm considering user mobility performs the best. As the SBS cache capacity increases, the content transmission delay for all algorithms decreases because a larger cache can store more popular content, and user requests are directly served at the edge, without needing to retrieve data from the cloud via the backhaul link. Moreover, when the cache capacity reaches a certain level, the rate of reduction in content transmission delay slows down for all five methods. This is because once the cache covers 90% of the most popular content, further increases in capacity have a minimal impact on content transmission delay.</p>
<fig id="fig-6">
<label>Figure 6</label>
<caption>
<title>Content transmission delay with different cache capacities</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_67590-fig-6.tif"/>
</fig>
<p>As shown in <xref ref-type="table" rid="table-2">Table 2</xref>, we evaluated the experimental results of the DQN algorithm under different hyperparameters. The results demonstrate that DQN hyperparameter configurations significantly impact content transmission delay and training efficiency. The initial exploration rate of 0.8 achieved better latency performance compared to the 0.2 scheme, but required 78% more training iterations, revealing a trade-off between exploration capability and computational cost. The exploration rate decay factor of 0.995 reduced performance fluctuations by 17.5% compared to the 0.99 scheme, validating the importance of moderate decay. A learning rate of 0.001 achieved the optimal balance between efficiency and stability, outperforming extreme settings. The target network update interval of 40 steps improved performance by 2.4%, but doubled the training cost. The optimal combination was found to be: initial exploration rate 0.8, decay 0.995, minimum exploration rate 0.01, learning rate 0.001, and update frequency 40, which delivered the best performance despite higher training costs. For scenarios requiring a balance with efficiency, an alternative configuration with an initial exploration rate of 0.2 and update frequency of 10 could be adopted. The study reveals that exploration strategy has the greatest impact on performance, while target network updates and learning rate primarily influence training stability.</p>
<table-wrap id="table-2">
<label>Table 2</label>
<caption>
<title>Comparison of DQN hyperparameter effects on training results (transmission latency)</title>
</caption>
<table>
<colgroup>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
</colgroup>
<thead>
<tr>
<th align="center">Initial exploration rate</th>
<th align="center">Exploration rate decay</th>
<th align="center">Minimum exploration rate</th>
<th align="center">Learning rate</th>
<th align="center">Target network update interval</th>
<th align="center">Training steps</th>
<th align="center">Mean result from 10 training iterations</th>
<th align="center">SD across 10 training trials</th>
</tr>
</thead>
<tbody>
<tr>
<td>0.2</td>
<td>0.995</td>
<td>0.01</td>
<td>0.001</td>
<td>10</td>
<td>450</td>
<td>23.12 ms</td>
<td><inline-formula id="ieqn-235"><mml:math id="mml-ieqn-235"><mml:mo>&#x00B1;</mml:mo><mml:mn>2.65</mml:mn></mml:math></inline-formula> ms</td>
</tr>
<tr>
<td>0.8</td>
<td>0.995</td>
<td>0.01</td>
<td>0.001</td>
<td>10</td>
<td>800</td>
<td>22.94 ms</td>
<td><inline-formula id="ieqn-236"><mml:math id="mml-ieqn-236"><mml:mo>&#x00B1;</mml:mo><mml:mn>3.21</mml:mn></mml:math></inline-formula> ms</td>
</tr>
<tr>
<td>0.2</td>
<td>0.99</td>
<td>0.01</td>
<td>0.001</td>
<td>10</td>
<td>400</td>
<td>23.22 ms</td>
<td><inline-formula id="ieqn-237"><mml:math id="mml-ieqn-237"><mml:mo>&#x00B1;</mml:mo><mml:mn>3.71</mml:mn></mml:math></inline-formula> ms</td>
</tr>
<tr>
<td>0.2</td>
<td>0.995</td>
<td>0.001</td>
<td>0.001</td>
<td>10</td>
<td>380</td>
<td>24.10 ms</td>
<td><inline-formula id="ieqn-238"><mml:math id="mml-ieqn-238"><mml:mo>&#x00B1;</mml:mo><mml:mn>3.83</mml:mn></mml:math></inline-formula> ms</td>
</tr>
<tr>
<td>0.2</td>
<td>0.995</td>
<td>0.01</td>
<td>0.01</td>
<td>10</td>
<td>300</td>
<td>25.03 ms</td>
<td><inline-formula id="ieqn-239"><mml:math id="mml-ieqn-239"><mml:mo>&#x00B1;</mml:mo><mml:mn>4.99</mml:mn></mml:math></inline-formula> ms</td>
</tr>
<tr>
<td>0.2</td>
<td>0.995</td>
<td>0.01</td>
<td>0.0001</td>
<td>10</td>
<td>980</td>
<td>24.29 ms</td>
<td><inline-formula id="ieqn-240"><mml:math id="mml-ieqn-240"><mml:mo>&#x00B1;</mml:mo><mml:mn>3.10</mml:mn></mml:math></inline-formula> ms</td>
</tr>
<tr>
<td>0.2</td>
<td>0.995</td>
<td>0.01</td>
<td>0.001</td>
<td>4</td>
<td>350</td>
<td>23.72 ms</td>
<td><inline-formula id="ieqn-241"><mml:math id="mml-ieqn-241"><mml:mo>&#x00B1;</mml:mo><mml:mn>3.51</mml:mn></mml:math></inline-formula> ms</td>
</tr>
<tr>
<td>0.2</td>
<td>0.995</td>
<td>0.01</td>
<td>0.001</td>
<td>40</td>
<td>900</td>
<td>23.03 ms</td>
<td><inline-formula id="ieqn-242"><mml:math id="mml-ieqn-242"><mml:mo>&#x00B1;</mml:mo><mml:mn>2.41</mml:mn></mml:math></inline-formula> ms</td>
</tr>
<tr>
<td>0.8</td>
<td>0.995</td>
<td>0.01</td>
<td>0.001</td>
<td>40</td>
<td>1800</td>
<td>22.87 ms</td>
<td><inline-formula id="ieqn-243"><mml:math id="mml-ieqn-243"><mml:mo>&#x00B1;</mml:mo><mml:mn>2.23</mml:mn></mml:math></inline-formula> ms</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
<sec id="s7">
<label>7</label>
<title>Discussion</title>
<p>This study successfully achieved the established goal of optimizing edge caching performance in dynamic heterogeneous networks. By integrating the Transformer model with the DQN algorithm, we constructed a comprehensive framework capable of simultaneously addressing user mobility prediction and caching decision optimization. Experimental results demonstrate that the proposed method significantly outperforms traditional approaches in key metrics such as content delivery latency and cache hit rate. Specifically, in user location prediction, the Transformer model, leveraging its multi-head attention mechanism, effectively captures long-term dependencies in user movement trajectories. As shown in <xref ref-type="fig" rid="fig-2">Fig. 2</xref>, its predictions closely align with actual locations, providing reliable input for subsequent caching decisions. In terms of caching strategy optimization, the DQN algorithm successfully reduces content delivery latency to 23 ms and improves the cache hit rate to 55% through continuous interaction-based learning, validating the effectiveness of mobility-aware caching strategies.</p>
<p>However, this study still has several noteworthy limitations. First, the experiments adopted a simplified assumption of synchronous content requests&#x2014;where all users fetch requested content simultaneously&#x2014;which differs from real-world asynchronous request scenarios and may lead to overly optimistic evaluations of cache hit rates and delivery latency. Second, regarding content popularity modeling, we assumed user requests follow a Zipf distribution. While this assumption is widely used, it may not be accurate in certain social network scenarios. Additionally, the current Transformer model primarily focuses on global dependencies in trajectory sequences, and its ability to capture local spatial features needs improvement, which somewhat limits its prediction accuracy for short-term user movement patterns.</p>
<p>At the deployment level, the proposed method faces several technical challenges. The limited computational resources of edge nodes pose a primary obstacle, especially when running Transformer and DQN models on resource-constrained devices, necessitating appropriate model compression and optimization. Co-channel interference in D2D communications is another critical issue. As illustrated in <xref ref-type="fig" rid="fig-5">Fig. 5</xref>, when the number of users exceeds 15, content delivery latency begins to rise due to intensified competition for orthogonal subchannel resources, indicating the need for more refined resource allocation strategies in dense user scenarios. Furthermore, the online model update mechanism in dynamic network environments requires refinement. Achieving incremental learning and rapid adaptation without compromising service quality remains a key challenge for future research. Finally, practical deployment must also account for non-functional requirements such as user privacy protection and security authentication, which may influence overall system performance.</p>
</sec>
<sec id="s8">
<label>8</label>
<title>Conclusion and Future Work</title>
<p>This paper presents a mobility-aware caching strategy based on Transformer-DQN collaborative optimization to address the content distribution mismatch problem in dynamic heterogeneous networks. Through comprehensive theoretical modeling, algorithm design, and experimental validation, we have successfully achieved precise alignment between caching decisions and user mobility patterns in dynamic network environments. Our work establishes a three-tier heterogeneous network optimization framework for transmission delay minimization, which effectively overcomes the limitations of traditional single-layer optimization approaches.</p>
<p>The proposed solution consists of two key components: a Transformer-based geolocation prediction model that effectively captures spatiotemporal dependencies in user trajectories through advanced multi-head attention mechanisms, and a novel mobility-aware DQN algorithm that utilizes predicted locations as state inputs to dynamically optimize cache distributions at both small base stations and mobile users. Extensive experimental results demonstrate significant performance improvements over existing baseline methods across multiple critical metrics. In practical testing scenarios involving 3 small base stations and 10 mobile users, our solution achieves remarkable performance with content transmission latency reduced to 23 ms and cache hit ratio improved to 55%, representing a 17.2% reduction in latency compared to conventional mobility-agnostic strategies. The robustness of our DQN-based approach be-comes particularly evident as user density increases, where it maintains superior performance with more gradual latency degradation compared to other caching methods. This performance advantage in high-density scenarios strongly validates the adaptability and reliability of the Transformer-DQN framework in dynamic network conditions. Our detailed hyperparameter analysis identifies an optimal configuration (initial exploration rate &#x003D; 0.8, decay &#x003D; 0.995, min exploration &#x003D; 0.01, learning rate &#x003D; 0.001, target update &#x003D; 40 steps) that delivers the best latency performance, while also suggesting alternative configurations for scenarios requiring different efficiency-performance trade-offs.</p>
<p>The current study employs several simplifying assumptions that point to valuable directions for future research. Our synchronous content request assumption, while useful for initial analysis, may lead to somewhat optimistic estimates of cache hit rates and transmission latency. Future work should investigate more realistic asynchronous scenarios and conduct evaluations at larger scales. Additionally, while we have adopted the Zipf distribution to model content popularity, real-world applications would benefit from more sophisticated approaches that can predict individual user preferences in real time. In terms of location prediction, while our Transformer-based solution effectively handles long-range dependencies, incorporating graph neural network architectures could better capture the local social net-work influences that are often crucial in practical scenarios. These potential enhancements position our work as a foundation for developing next-generation proactive caching systems with improved realism and effectiveness.</p>
</sec>
</body>
<back>
<ack>
<p>Not applicable.</p>
</ack>
<sec>
<title>Funding Statement</title>
<p>This work is supported by the Liaoning Provincial Education Department Fund, grant number JYTZD2023083.</p>
</sec>
<sec>
<title>Author Contributions</title>
<p>The authors confirm contribution to the paper as follows: Conceptualization, Yiming Guo; methodology, Yiming Guo; software, Yiming Guo; validation, Yiming Guo; investigation, Yiming Guo; resources, Yiming Guo; data curation, Yiming Guo; writing&#x2014;original draft preparation, Yiming Guo and Hongyu Ma; writing&#x2014;review and editing, Yiming Guo and Hongyu Ma; visualization, Yiming Guo and Hongyu Ma; supervision, Hongyu Ma; project administration, Hongyu Ma. All authors reviewed the results and approved the final version of the manuscript.</p>
</sec>
<sec sec-type="data-availability">
<title>Availability of Data and Materials</title>
<p>The data that support the findings of this study are openly available in Microsoft [<xref ref-type="bibr" rid="ref-33">33</xref>].</p>
</sec>
<sec>
<title>Ethics Approval</title>
<p>Not applicable.</p>
</sec>
<sec sec-type="COI-statement">
<title>Conflicts of Interest</title>
<p>The authors declare no conflicts of interest to report regarding the present study.</p>
</sec>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Rost</surname> <given-names>P</given-names></string-name>, <string-name><surname>Banchs</surname> <given-names>A</given-names></string-name>, <string-name><surname>Berberana</surname> <given-names>I</given-names></string-name>, <string-name><surname>Breitbach</surname> <given-names>M</given-names></string-name>, <string-name><surname>Doll</surname> <given-names>M</given-names></string-name>, <string-name><surname>Droste</surname> <given-names>H</given-names></string-name>, <etal>et al</etal></person-group>. <article-title>Mobile network architecture evolution toward 5G</article-title>. <source>IEEE Commun Mag</source>. <year>2016</year>;<volume>54</volume>(<issue>5</issue>):<fpage>84</fpage>&#x2013;<lpage>9</lpage>. doi:<pub-id pub-id-type="doi">10.1109/MCOM.2016.7470940</pub-id>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Lin</surname> <given-names>F</given-names></string-name>, <string-name><surname>Zhang</surname> <given-names>ZY</given-names></string-name>, <string-name><surname>Wang</surname> <given-names>ZF</given-names></string-name>, <string-name><surname>Xing</surname> <given-names>YT</given-names></string-name>, <string-name><surname>Wang</surname> <given-names>ZF</given-names></string-name></person-group>. <article-title>ECC: edge collaborative caching strategy for differentiated services</article-title>. <source>Comput Mater Contin</source>. <year>2021</year>;<volume>69</volume>(<issue>2</issue>):<fpage>2045</fpage>&#x2013;<lpage>60</lpage>. doi:<pub-id pub-id-type="doi">10.32604/cmc.2021.018303</pub-id>.</mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Zhang</surname> <given-names>K</given-names></string-name>, <string-name><surname>Mao</surname> <given-names>YM</given-names></string-name>, <string-name><surname>Leng</surname> <given-names>SP</given-names></string-name>, <string-name><surname>He</surname> <given-names>YJ</given-names></string-name>, <string-name><surname>Zhang</surname> <given-names>Y</given-names></string-name></person-group>. <article-title>Mobile-edge computing for vehicular networks: a promising network paradigm with predictive off-loading</article-title>. <source>IEEE Veh Technol Mag</source>. <year>2017</year>;<volume>12</volume>(<issue>2</issue>):<fpage>36</fpage>&#x2013;<lpage>44</lpage>. doi:<pub-id pub-id-type="doi">10.1109/MVT.2017.2668838</pub-id>.</mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Hasslinger</surname> <given-names>G</given-names></string-name>, <string-name><surname>Okhovatzadeh</surname> <given-names>M</given-names></string-name>, <string-name><surname>Ntougias</surname> <given-names>K</given-names></string-name>, <string-name><surname>Hasslinger</surname> <given-names>F</given-names></string-name>, <string-name><surname>Hohlfeld</surname> <given-names>O</given-names></string-name></person-group>. <article-title>An overview of analysis methods and evaluation results for caching strategies</article-title>. <source>Comput Netw</source>. <year>2023</year>;<volume>228</volume>(<issue>4</issue>):<fpage>109583</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.comnet.2023.109583</pub-id>.</mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Kirilin</surname> <given-names>V</given-names></string-name>, <string-name><surname>Sundarrajan</surname> <given-names>A</given-names></string-name>, <string-name><surname>Gorinsky</surname> <given-names>S</given-names></string-name>, <string-name><surname>Sitaraman</surname> <given-names>RK</given-names></string-name></person-group>. <article-title>RL-Cache: learning-based cache admission for content delivery</article-title>. <source>IEEE J Sel Areas Commun</source>. <year>2020</year>;<volume>38</volume>(<issue>10</issue>):<fpage>2372</fpage>&#x2013;<lpage>85</lpage>. doi:<pub-id pub-id-type="doi">10.1109/JSAC.2020.3000415</pub-id>.</mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Wang</surname> <given-names>XF</given-names></string-name>, <string-name><surname>Han</surname> <given-names>YM</given-names></string-name>, <string-name><surname>Leung</surname> <given-names>VCM</given-names></string-name>, <string-name><surname>Niyato</surname> <given-names>D</given-names></string-name>, <string-name><surname>Yan</surname> <given-names>XQ</given-names></string-name>, <string-name><surname>Chen</surname> <given-names>X</given-names></string-name></person-group>. <article-title>Convergence of edge computing and deep learning: a comprehensive survey</article-title>. <source>IEEE Commun Surv Tutor</source>. <year>2020</year>;<volume>22</volume>(<issue>2</issue>):<fpage>869</fpage>&#x2013;<lpage>904</lpage>. doi:<pub-id pub-id-type="doi">10.1109/COMST.2020.2970550</pub-id>.</mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Zhou</surname> <given-names>H</given-names></string-name>, <string-name><surname>Wu</surname> <given-names>T</given-names></string-name>, <string-name><surname>Zhang</surname> <given-names>HJ</given-names></string-name>, <string-name><surname>Wu</surname> <given-names>J</given-names></string-name></person-group>. <article-title>Incentive-driven deep reinforcement learning for content caching and D2D offloading</article-title>. <source>IEEE J Sel Areas Commun</source>. <year>2021</year>;<volume>39</volume>(<issue>8</issue>):<fpage>2445</fpage>&#x2013;<lpage>60</lpage>. doi:<pub-id pub-id-type="doi">10.1109/JSAC.2021.3087232</pub-id>.</mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Morales</surname> <given-names>K</given-names></string-name>, <string-name><surname>Byeong</surname> <given-names>KL</given-names></string-name></person-group>. <article-title>Fixed segmented LRU cache replacement scheme with selective caching</article-title>. In: <conf-name>2012 IEEE 31st International Performance Computing and Communications Conference (IPCCC); 2012 Dec 1&#x2013;3</conf-name>; <publisher-loc>Austin, TX, USA</publisher-loc>.</mixed-citation></ref>
<ref id="ref-9"><label>[9]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Gast</surname> <given-names>N</given-names></string-name>, <string-name><surname>Van Houdt</surname> <given-names>B</given-names></string-name></person-group>. <article-title>TTL approximations of the cache replacement algorithms LRU(m) and h-LRU</article-title>. <source>Perform Eval</source>. <year>2017</year>;<volume>117</volume>(<issue>2</issue>):<fpage>33</fpage>&#x2013;<lpage>57</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.peva.2017.09.002</pub-id>.</mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Bai</surname> <given-names>S</given-names></string-name>, <string-name><surname>Bai</surname> <given-names>X</given-names></string-name>, <string-name><surname>Che</surname> <given-names>XJ</given-names></string-name></person-group>. <article-title>Window-LRFU: a cache replacement policy subsumes the LRU and window-LFU policies</article-title>. <source>Concurr Comput-Pract Exp</source>. <year>2016</year>;<volume>28</volume>(<issue>9</issue>):<fpage>2670</fpage>&#x2013;<lpage>84</lpage>. doi:<pub-id pub-id-type="doi">10.1002/cpe.3730</pub-id>.</mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Ballabriga</surname> <given-names>C</given-names></string-name>, <string-name><surname>Chong</surname> <given-names>LK</given-names></string-name>, <string-name><surname>Roychoudhury</surname> <given-names>A</given-names></string-name></person-group>. <article-title>Cache-related preemption delay analysis for FIFO caches</article-title>. <source>ACM Sigplan Not</source>. <year>2014</year>;<volume>49</volume>(<issue>5</issue>):<fpage>33</fpage>&#x2013;<lpage>42</lpage>. doi:<pub-id pub-id-type="doi">10.1145/2666357.2597814</pub-id>.</mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Poojary</surname> <given-names>P</given-names></string-name>, <string-name><surname>Moharir</surname> <given-names>S</given-names></string-name>, <string-name><surname>Jagannathan</surname> <given-names>K</given-names></string-name></person-group>. <article-title>A coupon collector based approximation for LRU cache hits under Zipf requests</article-title>. In: <conf-name>2021 19th International Symposium on Modeling and Optimization in Mobile, Ad hoc, and Wireless Networks (WiOpt); 2021 Oct 18&#x2013;21</conf-name>; <publisher-loc>Philadelphia, PA, USA</publisher-loc>.</mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Sun</surname> <given-names>YP</given-names></string-name>, <string-name><surname>Chen</surname> <given-names>ZY</given-names></string-name>, <string-name><surname>Tao</surname> <given-names>MX</given-names></string-name>, <string-name><surname>Liu</surname> <given-names>H</given-names></string-name></person-group>. <article-title>Bandwidth gain from mobile edge computing and caching in wireless multicast systems</article-title>. <source>IEEE Trans Wirel Commun</source>. <year>2020</year>;<volume>19</volume>(<issue>6</issue>):<fpage>3992</fpage>&#x2013;<lpage>4007</lpage>. doi:<pub-id pub-id-type="doi">10.1109/TWC.2020.2979147</pub-id>.</mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Zhang</surname> <given-names>X</given-names></string-name>, <string-name><surname>Qi</surname> <given-names>ZN</given-names></string-name>, <string-name><surname>Min</surname> <given-names>GY</given-names></string-name>, <string-name><surname>Miao</surname> <given-names>W</given-names></string-name>, <string-name><surname>Fan</surname> <given-names>QL</given-names></string-name>, <string-name><surname>Ma</surname> <given-names>Z</given-names></string-name></person-group>. <article-title>Cooperative edge caching based on temporal convolutional networks</article-title>. <source>IEEE Trans Parallel Distrib Syst</source>. <year>2022</year>;<volume>33</volume>(<issue>9</issue>):<fpage>2093</fpage>&#x2013;<lpage>105</lpage>. doi:<pub-id pub-id-type="doi">10.1109/TPDS.2021.3135257</pub-id>.</mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Gao</surname> <given-names>X</given-names></string-name>, <string-name><surname>Wang</surname> <given-names>X</given-names></string-name>, <string-name><surname>Qian</surname> <given-names>ZH</given-names></string-name>, <string-name><surname>Quek</surname> <given-names>TOS</given-names></string-name></person-group>. <article-title>A stochastic geometry-based cost-efficient caching strategy in device-to-device-enabled multi-layer heterogeneous networks</article-title>. <source>IEEE Trans Veh Technol</source>. <year>2024</year>;<volume>73</volume>(<issue>10</issue>):<fpage>14749</fpage>&#x2013;<lpage>62</lpage>. doi:<pub-id pub-id-type="doi">10.1109/TVT.2024.3398681</pub-id>.</mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Emara</surname> <given-names>M</given-names></string-name>, <string-name><surname>Elsawy</surname> <given-names>H</given-names></string-name>, <string-name><surname>Sorour</surname> <given-names>S</given-names></string-name>, <string-name><surname>Al-Ghadhban</surname> <given-names>S</given-names></string-name>, <string-name><surname>Alouini</surname> <given-names>MS</given-names></string-name>, <string-name><surname>Al-Naffouri</surname> <given-names>TY</given-names></string-name></person-group>. <article-title>Optimal caching in 5G networks with opportunistic spectrum access</article-title>. <source>IEEE Trans Wirel Commun</source>. <year>2018</year>;<volume>17</volume>(<issue>7</issue>):<fpage>4447</fpage>&#x2013;<lpage>61</lpage>. doi:<pub-id pub-id-type="doi">10.1109/TWC.2018.2825351</pub-id>.</mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Hazra</surname> <given-names>A</given-names></string-name>, <string-name><surname>Tummala</surname> <given-names>VMR</given-names></string-name>, <string-name><surname>Mazumdar</surname> <given-names>N</given-names></string-name>, <string-name><surname>Sah</surname> <given-names>DK</given-names></string-name>, <string-name><surname>Adhikari</surname> <given-names>M</given-names></string-name></person-group>. <article-title>Deep reinforcement learning in edge networks: challenges and future directions</article-title>. <source>Phys Commun</source>. <year>2024</year>;<volume>66</volume>(<issue>5</issue>):<fpage>102460</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.phycom.2024.102460</pub-id>.</mixed-citation></ref>
<ref id="ref-18"><label>[18]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Li</surname> <given-names>HW</given-names></string-name>, <string-name><surname>Sun</surname> <given-names>MT</given-names></string-name>, <string-name><surname>Xia</surname> <given-names>F</given-names></string-name>, <string-name><surname>Xu</surname> <given-names>XL</given-names></string-name>, <string-name><surname>Bilal</surname> <given-names>M</given-names></string-name></person-group>. <article-title>A survey of edge caching: key issues and challenges</article-title>. <source>Tsinghua Sci Technol</source>. <year>2024</year>;<volume>29</volume>(<issue>3</issue>):<fpage>818</fpage>&#x2013;<lpage>42</lpage>. doi:<pub-id pub-id-type="doi">10.26599/TST.2023.9010051</pub-id>.</mixed-citation></ref>
<ref id="ref-19"><label>[19]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Li</surname> <given-names>LX</given-names></string-name>, <string-name><surname>Xu</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Yin</surname> <given-names>JY</given-names></string-name>, <string-name><surname>Liang</surname> <given-names>W</given-names></string-name>, <string-name><surname>Li</surname> <given-names>X</given-names></string-name>, <string-name><surname>Chen</surname> <given-names>W</given-names></string-name>, <etal>et al</etal></person-group>. <article-title>Deep reinforcement learning approaches for content caching in cache-enabled D2D networks</article-title>. <source>IEEE Internet Things J</source>. <year>2020</year>;<volume>7</volume>(<issue>1</issue>):<fpage>544</fpage>&#x2013;<lpage>57</lpage>. doi:<pub-id pub-id-type="doi">10.1109/JIOT.2019.2951509</pub-id>.</mixed-citation></ref>
<ref id="ref-20"><label>[20]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Pervej</surname> <given-names>MF</given-names></string-name>, <string-name><surname>Tan</surname> <given-names>LT</given-names></string-name>, <string-name><surname>Hu</surname> <given-names>RQ</given-names></string-name></person-group>. <article-title>User preference learning-aided collaborative edge caching for small cell networks</article-title>. In: <conf-name>GLOBECOM 2020&#x2014;2020 IEEE Global Communications Conference; 2020 Dec 7&#x2013;11</conf-name>; <publisher-loc>Taipei, Taiwan</publisher-loc>.</mixed-citation></ref>
<ref id="ref-21"><label>[21]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Sun</surname> <given-names>SY</given-names></string-name>, <string-name><surname>Zhou</surname> <given-names>JH</given-names></string-name>, <string-name><surname>Wen</surname> <given-names>JX</given-names></string-name>, <string-name><surname>Wei</surname> <given-names>YF</given-names></string-name>, <string-name><surname>Wang</surname> <given-names>XJ</given-names></string-name></person-group>. <article-title>A DQN-based cache strategy for mobile edge networks</article-title>. <source>Comput Mater Contin</source>. <year>2022</year>;<volume>71</volume>(<issue>2</issue>):<fpage>3277</fpage>&#x2013;<lpage>91</lpage>. doi:<pub-id pub-id-type="doi">10.32604/cmc.2022.020471</pub-id>.</mixed-citation></ref>
<ref id="ref-22"><label>[22]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Chen</surname> <given-names>QS</given-names></string-name>, <string-name><surname>Zhou</surname> <given-names>FS</given-names></string-name>, <string-name><surname>Tang</surname> <given-names>D</given-names></string-name>, <string-name><surname>Huang</surname> <given-names>GF</given-names></string-name>, <string-name><surname>Lai</surname> <given-names>SW</given-names></string-name></person-group>. <article-title>Caching popularity-unknown contents for massive communication channels via deep Q-learning</article-title>. <source>Phys Commun</source>. <year>2023</year>;<volume>58</volume>(<issue>5</issue>):<fpage>102023</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.phycom.2023.102023</pub-id>.</mixed-citation></ref>
<ref id="ref-23"><label>[23]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Shuja</surname> <given-names>J</given-names></string-name>, <string-name><surname>Bilal</surname> <given-names>K</given-names></string-name>, <string-name><surname>Alasmary</surname> <given-names>W</given-names></string-name>, <string-name><surname>Sinky</surname> <given-names>H</given-names></string-name>, <string-name><surname>Alanazi</surname> <given-names>E</given-names></string-name></person-group>. <article-title>Applying machine learning techniques for caching in next-generation edge networks: a comprehensive survey</article-title>. <source>J Netw Comput Appl</source>. <year>2021</year>;<volume>181</volume>(<issue>11</issue>):<fpage>103005</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.jnca.2021.103005</pub-id>.</mixed-citation></ref>
<ref id="ref-24"><label>[24]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Hazan</surname> <given-names>I</given-names></string-name>, <string-name><surname>Shabtai</surname> <given-names>A</given-names></string-name></person-group>. <article-title>Dynamic radius and confidence prediction in grid-based location prediction algorithms</article-title>. <source>Pervasive Mob Comput</source>. <year>2017</year>;<volume>42</volume>(<issue>6</issue>):<fpage>265</fpage>&#x2013;<lpage>84</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.pmcj.2017.10.007</pub-id>.</mixed-citation></ref>
<ref id="ref-25"><label>[25]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Chen</surname> <given-names>X</given-names></string-name>, <string-name><surname>Jiao</surname> <given-names>L</given-names></string-name>, <string-name><surname>Li</surname> <given-names>WZ</given-names></string-name>, <string-name><surname>Fu</surname> <given-names>XM</given-names></string-name></person-group>. <article-title>Efficient multi-user computation offloading for mobile-edge cloud computing</article-title>. <source>ACM Trans Netw</source>. <year>2016</year>;<volume>24</volume>(<issue>5</issue>):<fpage>2827</fpage>&#x2013;<lpage>40</lpage>. doi:<pub-id pub-id-type="doi">10.1109/TNET.2015.2487344</pub-id>.</mixed-citation></ref>
<ref id="ref-26"><label>[26]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Hefeeda</surname> <given-names>M</given-names></string-name>, <string-name><surname>Saleh</surname> <given-names>O</given-names></string-name></person-group>. <article-title>Traffic modeling and proportional partial caching for peer-to-peer systems</article-title>. <source>ACM Trans Netw</source>. <year>2008</year>;<volume>16</volume>(<issue>6</issue>):<fpage>1447</fpage>&#x2013;<lpage>60</lpage>. doi:<pub-id pub-id-type="doi">10.1109/TNET.2008.918081</pub-id>.</mixed-citation></ref>
<ref id="ref-27"><label>[27]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Li</surname> <given-names>XH</given-names></string-name>, <string-name><surname>Wang</surname> <given-names>XF</given-names></string-name>, <string-name><surname>Wang</surname> <given-names>PJ</given-names></string-name>, <string-name><surname>Han</surname> <given-names>Z</given-names></string-name>, <string-name><surname>Leung</surname> <given-names>VCM</given-names></string-name></person-group>. <article-title>Hierarchical edge caching in device-to-device aided mobile networks: modeling, optimization, and design</article-title>. <source>IEEE J Sel Areas Commun</source>. <year>2018</year>;<volume>36</volume>(<issue>8</issue>):<fpage>1768</fpage>&#x2013;<lpage>85</lpage>. doi:<pub-id pub-id-type="doi">10.1109/JSAC.2018.2844658</pub-id>.</mixed-citation></ref>
<ref id="ref-28"><label>[28]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Zhou</surname> <given-names>H</given-names></string-name>, <string-name><surname>Zhang</surname> <given-names>ZY</given-names></string-name>, <string-name><surname>Li</surname> <given-names>DW</given-names></string-name>, <string-name><surname>Su</surname> <given-names>Z</given-names></string-name></person-group>. <article-title>Joint optimization of computing offloading and service caching in edge computing-based smart grid</article-title>. <source>IEEE Trans Cloud Comput</source>. <year>2023</year>;<volume>11</volume>(<issue>2</issue>):<fpage>1122</fpage>&#x2013;<lpage>32</lpage>. doi:<pub-id pub-id-type="doi">10.1109/TCC.2022.3163750</pub-id>.</mixed-citation></ref>
<ref id="ref-29"><label>[29]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Saputra</surname> <given-names>YM</given-names></string-name>, <string-name><surname>Hoang</surname> <given-names>DT</given-names></string-name>, <string-name><surname>Nguyen</surname> <given-names>DN</given-names></string-name>, <string-name><surname>Dutkiewicz</surname> <given-names>E</given-names></string-name></person-group>. <article-title>A novel mobile edge network architecture with joint caching-delivering and horizontal cooperation</article-title>. <source>IEEE Trans Mob Comput</source>. <year>2020</year>;<volume>20</volume>(<issue>1</issue>):<fpage>19</fpage>&#x2013;<lpage>31</lpage>. doi:<pub-id pub-id-type="doi">10.1109/TMC.2019.2938510</pub-id>.</mixed-citation></ref>
<ref id="ref-30"><label>[30]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Vaswani</surname> <given-names>A</given-names></string-name>, <string-name><surname>Shazeer</surname> <given-names>N</given-names></string-name>, <string-name><surname>Parmar</surname> <given-names>N</given-names></string-name>, <string-name><surname>Uszkoreit</surname> <given-names>J</given-names></string-name>, <string-name><surname>Jones</surname> <given-names>L</given-names></string-name>, <string-name><surname>Gomez</surname> <given-names>AN</given-names></string-name>, <etal>et al.</etal></person-group> <article-title>Attention is all you need</article-title>. In: <conf-name>Advances in Neural Information Processing Systems; 2017 Dec 4&#x2013;9</conf-name>; <publisher-loc>Long Beach, CA, USA</publisher-loc>.</mixed-citation></ref>
<ref id="ref-31"><label>[31]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Liao</surname> <given-names>JX</given-names></string-name>, <string-name><surname>Liu</surname> <given-names>ML</given-names></string-name>, <string-name><surname>Wang</surname> <given-names>JY</given-names></string-name>, <string-name><surname>Wang</surname> <given-names>YL</given-names></string-name>, <string-name><surname>Sun</surname> <given-names>HF</given-names></string-name></person-group>. <article-title>Multi-context integrated deep neural network model for next location prediction</article-title>. <source>IEEE Access</source>. <year>2018</year>;<volume>6</volume>:<fpage>21980</fpage>&#x2013;<lpage>90</lpage>. doi:<pub-id pub-id-type="doi">10.1109/ACCESS.2018.2827422</pub-id>.</mixed-citation></ref>
<ref id="ref-32"><label>[32]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Wang</surname> <given-names>WY</given-names></string-name>, <string-name><surname>Osaragi</surname> <given-names>T</given-names></string-name></person-group>. <article-title>Learning daily human mobility with a transformer-based model</article-title>. <source>ISPRS Int J Geo-Inf</source>. <year>2024</year>;<volume>13</volume>(<issue>2</issue>):<fpage>35</fpage>. doi:<pub-id pub-id-type="doi">10.3390/ijgi13020035</pub-id>.</mixed-citation></ref>
<ref id="ref-33"><label>[33]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Zheng</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Xie</surname> <given-names>X</given-names></string-name>, <string-name><surname>Ma</surname> <given-names>WY</given-names></string-name></person-group>. <article-title>Mining interesting locations and travel sequences from GPS trajectories</article-title>. In: <conf-name>Proceedings of the 18th International Conference on World Wide Web; 2009 Apr 20&#x2013;24</conf-name>; <publisher-loc>Madrid, Spain</publisher-loc>.</mixed-citation></ref>
</ref-list>
</back></article>