Game matching methods, devices, storage media and electronic devices
By using a pre-trained clustering model to assign game teams in MOBA games, the problem of low team matching efficiency is solved, and team matching with small level differences is achieved, thereby improving matching efficiency and user experience.
Patent Information
- Application Number
- CN202210583584.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-25
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2042-05-25
AI Technical Summary
In MOBA games, random matchmaking increases the difficulty of finding teams of the same type within the same matchmaking pool, leading to longer matchmaking times and reduced matchmaking efficiency.
By using a pre-trained clustering model, game teams are assigned to different matchmaking pools based on team characteristics, ensuring that the difference in game level within each matchmaking pool is minimized. The clustering model is trained with the constraint of minimizing the difference in the number of clusters under different game room types.
It shortens matchmaking time, improves game matchmaking efficiency, ensures minimal level differences between teams in the same matchmaking pool, and enhances user experience.
Smart Images

Figure CN114887330B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of computer technology, and more specifically, to a game matching method, apparatus, storage medium, and electronic device. Background Technology
[0002] In MOBA (Multiplayer Online Battle Arena) matchmaking scenarios, typically one or more users first form a game team, and then matchmaking for matches is done within that team. When there are a large number of online game teams at the same time, it is necessary to perform matchmaking for these teams concurrently to shorten the matchmaking time and improve matchmaking efficiency.
[0003] Currently, concurrent matchmaking involves randomly assigning online game teams to different matchmaking pools, allowing for parallel matchmaking within each pool. While matchmaking tends to pair users of similar types, the random allocation of teams to pools can increase the difficulty of finding matching teams of the same type within the same pool, thus increasing matchmaking time and ultimately reducing matchmaking efficiency. Summary of the Invention
[0004] This summary section is provided to briefly introduce the concepts, which will be described in detail in the detailed description section below. This summary section is not intended to identify key or essential features of the claimed technical solution, nor is it intended to limit the scope of the claimed technical solution.
[0005] Firstly, this disclosure provides a game matching method, including:
[0006] Obtain the team characteristics of the teams to be matched in the game;
[0007] Based on the team characteristics, the target cluster to which the game team to be matched belongs is obtained through a well-pre-trained clustering model. The clustering model is trained with the constraint that the game levels of the sample game teams in different clusters under different game room types are different, and the difference in the number of sample game teams in any two clusters under different game room types is minimized.
[0008] Based on the target cluster and game room type of the game teams to be matched, the game teams to be matched are assigned to target match pools in multiple match pools. The match pools are used to accommodate game teams corresponding to the same cluster under different game room types, and the level difference between the game teams in the match pools is minimized.
[0009] In the target match pool, determine the game teams that are matched with the game teams to be matched.
[0010] Secondly, this disclosure provides a game matching device, comprising:
[0011] The acquisition module is used to acquire the team characteristics of the game teams to be matched;
[0012] The first determining module is used to determine the target cluster to which the game team to be matched belongs based on the team characteristics and through a well-pre-trained clustering model. The clustering model is trained with the constraint that the game levels of the sample game teams in different clusters under different game room types are different and that the difference in the number of sample game teams in any two clusters under different game room types is minimized.
[0013] The allocation module is used to allocate the game teams to be matched to multiple target matching pools according to the target cluster and game room type of the game teams to be matched. The matching pool is used to accommodate game teams corresponding to the same cluster under different game room types, and the level difference of the game teams in the matching pool is minimized.
[0014] The matching module is used to determine the game team that matches the game team to be matched in the target matching pool.
[0015] Thirdly, this disclosure provides a computer-readable medium having a computer program stored thereon, which, when executed by a processing device, implements the steps of the method described in the first aspect.
[0016] Fourthly, this disclosure provides an electronic device, comprising:
[0017] A storage device on which computer programs are stored;
[0018] A processing device for executing the computer program in the storage device to implement the steps of the method in the first aspect.
[0019] The above scheme, by training the clustering model with the constraint of minimizing the difference in the number of sample game teams in different clusters under different game room types and minimizing the difference in the number of sample game teams in any two clusters under different game room types, ensures that the difference in the number of matchmaking game teams under different game room types in each matchmaking pool is minimized, and the difference in the game level between matchmaking game teams assigned in the same matchmaking pool is minimized. This shortens the matchmaking time for matchmaking game teams in the same matchmaking pool and improves the efficiency of game matchmaking.
[0020] Other features and advantages of this disclosure will be described in detail in the following detailed description section. Attached Figure Description
[0021] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic, and the originals and elements are not necessarily drawn to scale. In the drawings:
[0022] Figure 1 This is a flowchart illustrating a game matching method according to an exemplary embodiment of the present disclosure.
[0023] Figure 2 This is a schematic diagram illustrating the training process of a clustering model according to an exemplary embodiment of the present disclosure.
[0024] Figure 3 This is a schematic diagram illustrating a cluster binding matching pool according to an exemplary embodiment of the present disclosure.
[0025] Figure 4 This is another flowchart illustrating a game matching method according to an exemplary embodiment of the present disclosure.
[0026] Figure 5 This is a block diagram illustrating a game matching device according to an exemplary embodiment of the present disclosure.
[0027] Figure 6 This is a schematic diagram of the structure of an electronic device according to an exemplary embodiment of the present disclosure. Detailed Implementation
[0028] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.
[0029] It should be understood that the steps described in the method embodiments of this disclosure may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this disclosure is not limited in this respect.
[0030] The term "comprising" and its variations as used herein are open-ended inclusions, meaning "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Definitions of other terms will be given in the description below.
[0031] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are used only to distinguish different devices, modules or units, and are not used to limit the order of functions performed by these devices, modules or units or their interdependencies.
[0032] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".
[0033] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.
[0034] It is understood that before using the technical solutions disclosed in the various embodiments of this disclosure, users should be informed of the types, scope of use, and usage scenarios of the personal information involved in this disclosure in an appropriate manner in accordance with relevant laws and regulations, and user authorization should be obtained.
[0035] For example, upon receiving a user's active request, a prompt message is sent to the user to explicitly inform them that the requested operation will require the acquisition and use of the user's personal information. This allows the user to independently choose whether to provide personal information to the software or hardware, such as the electronic device, application, server, or storage medium performing the operations of this disclosed technical solution, based on the prompt message.
[0036] As an optional but non-limiting implementation, in response to a user's active request, sending a prompt message to the user can be done via a pop-up window, where the prompt message can be presented in text format. Furthermore, the pop-up window can also include a selection control allowing the user to choose "agree" or "disagree" to provide personal information to the electronic device.
[0037] It is understood that the above notification and user authorization process are merely illustrative and do not constitute a limitation on the implementation of this disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of this disclosure.
[0038] Meanwhile, it is understood that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) shall comply with the requirements of relevant laws, regulations and related provisions.
[0039] As mentioned in the background section, MOBA matchmaking tends to pair teams of similar skill levels. This is because MOBAs typically involve one or more users forming a team, and matchmaking is then conducted on a team-by-team basis. Here, "skill level" refers to the skill level of the users within the team; the goal is to match teams with similar skill levels together to ensure a better user experience. Therefore, when matching teams in parallel across different matchmaking pools, ensuring that teams of the same skill level are matched quickly across different pools is crucial.
[0040] In view of the above, the present disclosure provides a game matching method, apparatus, storage medium and electronic device, and the embodiments of the present disclosure are explained in detail below with reference to the accompanying drawings.
[0041] Figure 1 This is a flowchart illustrating a game matching method according to an exemplary embodiment of the present disclosure. This game matching method can be applied to electronic devices. (Refer to...) Figure 1 The game's matchmaking method may include the following steps:
[0042] Step S101: Obtain the team characteristics of the game teams to be matched.
[0043] In some embodiments, the electronic device may respond to a user's game request operation on a game application mounted on a game terminal by performing the step of obtaining the team characteristics of the game team to be matched.
[0044] In some embodiments, the team characteristics of the game team to be matched can be obtained by: obtaining user characteristics and / or device characteristics corresponding to at least one user in the game team to be matched; and determining the team characteristics of the game team to be matched based on the user characteristics and / or device characteristics in the game team to be matched.
[0045] Among them, user characteristics are the characteristics of the users who make up the game teams to be matched, and device characteristics are the characteristics of the game terminal that the user initiates the game request operation.
[0046] In some embodiments, user characteristics can be constructed from rank characteristics and Elo scores, where rank characteristics and Elo scores can reflect the user's game level. Rank characteristics can include characteristics of different granularities (major and minor ranks). For example, using numbers to represent rank characteristics, 1-7 can be used to represent different major ranks, and 1-31 can be used to represent different minor ranks. Different numbers represent different game levels of the user.
[0047] Device characteristics can include ping values, which refer to the time from when the game terminal sends data to the game server to when it receives the feedback data from the game server, and are used to characterize the network latency of the game terminal.
[0048] When team characteristics are determined by user characteristics and device characteristics, team characteristics can be determined in the following way: the user characteristics and device characteristics of the game team to be matched are vectorized to obtain the user feature vector corresponding to the user characteristics and the device feature vector corresponding to the device characteristics; the user feature vector and the device feature vector are concatenated to obtain the team feature vector, which is used to characterize the team characteristics.
[0049] Taking the rank characteristics, Elo score, and ping value from the above example as examples, the team characteristics of the game team to be matched are illustrated. The team characteristics of the game team to be matched are represented by vector features, which may include a vector representing the Elo score dimension, a vector representing the first team's major rank dimension, a vector representing the first team's minor rank dimension, a vector representing the second team's major rank dimension, a vector representing the second team's minor rank dimension, a vector representing the third team's major rank dimension, a vector representing the third team's minor rank dimension, and a vector representing the ping value dimension, all concatenated together.
[0050] The parameters in the Elo score dimension vector can include the highest, lowest, and average Elo scores of all users in the matchmaking team, as well as the mean-variance normalized value obtained by normalizing the Elo scores of all users.
[0051] The parameters in the vector representing the first team's major rank dimension can include the highest, lowest, and average major rank among all users in the team to be matched.
[0052] The parameters in the vector representing the first team's minor rank dimension can include the highest, lowest, and average minor rank among all users in the matchmaking team's major rank.
[0053] The parameters in the vector representing the second team's major rank dimension can include the major ranks of all users in the game team to be matched.
[0054] The parameters in the vector representing the sub-rank dimension of the second team can include the sub-rank of all users in the game team to be matched.
[0055] The parameters in the vector representing the third team's rank can include the number of users in each rank within the team to be matched. This vector can be standardized to a vector with a modulus of 1.
[0056] The parameters in the vector representing the third team's sub-rank dimension can include the number of users in each sub-rank within the team to be matched. This vector can be standardized to a vector with a modulus of 1. Standardizing the vector to a modulus of 1 can be done using relevant techniques, which will not be elaborated upon in this embodiment.
[0057] The parameters in the ping value dimension vector can include the average ping values of all users in the game team to different game servers. For example, the ping value dimension vector = [ping-1, ping-2, ping-3, ping-4, ping-5, ping-6], where ping-1 can be used to represent the average ping value of all users in the game team to game server 1; ping-2 can be used to represent the average ping value of all users in the game team to game server 2, and so on, ping-6 can be used to represent the average ping value of all users in the game team to game server 6.
[0058] In some embodiments, ping values can be normalized to map them to the range (0, 1). For example, the parameters can be normalized using the following formula:
[0059]
[0060] In equation (1) above, different mapping values are determined according to the different values of the ping value. Here, value is the mapping value corresponding to the ping value; k is a preset value, which represents the slope of the influence of the ping value change on the mapping value. The larger the absolute value of k, the greater the influence of a unit change in the ping value on the mapping value; P comf This represents the critical value for user comfort during gameplay; when the ping value is less than or equal to P... comf At that time, it was believed that the user's combat experience was comfortable.
[0061] Considering that user latency experience varies depending on the overall network conditions in different countries / regions, users in countries / regions with generally high network latency tend to have a higher tolerance. comf The larger the latency, the lower the tolerance; conversely, in countries / regions with low overall network latency, users have lower tolerance, P comfThe lower the value, the better. In some implementations, the tolerance threshold for network latency among users in each country / region can be statistically analyzed. Based on this statistical analysis, the average tolerance threshold for network latency among all users can be used as the P-value for that country / region. comf .
[0062] It should be noted that the vector features in the above examples do not impose any restrictions on the concatenation order of the vectors in this embodiment. Furthermore, the vectors in each dimension can be arbitrarily combined to obtain vector features representing the team's characteristics.
[0063] In some embodiments, the values of rank (major rank or minor rank) can be mapped to the range (0,1). Continuing from the above, 1-7 can be used to represent different major ranks, and 1-31 can be used to represent different minor ranks. For example, if user A's major rank in the matchmaking team is 1, then the corresponding mapping value can be 1 / 7; if user A's minor rank is 10, then the corresponding mapping value can be 10 / 31.
[0064] It should be noted that mapping the parameters mentioned above to the same value range (e.g., (0,1)) is to facilitate comparison between data, such as facilitating the comparison of game levels between teams to be matched.
[0065] Step S102: Based on the team characteristics, the target cluster to which the game team to be matched belongs is obtained through a well-pre-trained clustering model. The clustering model is trained with the constraint that the game levels of the sample game teams in different clusters under different game room types are different, and the difference in the number of sample game teams in any two clusters under different game room types is minimized.
[0066] It should be noted that the distribution of the game teams to be matched is consistent with the distribution of the sample game teams used to train the clustering model, which serves as the basis for achieving the purpose of this disclosure.
[0067] What is needed is that the clustering model includes clustering sub-models corresponding to different game room types. Each clustering sub-model is used to predict the target cluster for the game teams to be matched for the game room type that matches the clustering sub-model.
[0068] For example, taking game room types including 1 person, 2 people, 3 people, 4 people and 5 people as an example, 1 person, 2 people, 3 people, 4 people and 5 people each correspond to a clustering sub-model.
[0069] In some embodiments, the clustering model can be obtained as follows: For each type of game room, based on the sample game teams corresponding to that type of game room, the parameters of the initial clustering sub-model corresponding to that type of game room are iteratively optimized with objective constraints until the iteration stopping condition is met, thus obtaining the clustering sub-model corresponding to that type of game room; based on the clustering sub-models corresponding to all game room types, the clustering model is determined. The objective constraints are: minimizing the difference in the number of sample game teams between different clusters, and minimizing the difference in game level among sample game teams within the same cluster.
[0070] It is understandable that by merging the clustering sub-models corresponding to different game room types, a clustering model can be obtained.
[0071] Reference Figure 2 Taking game room types including 1 player, 2 players, 3 players, 4 players, and 5 players as examples, based on the sample team characteristics of the sample game teams corresponding to 1 player, 2 players, 3 players, 4 players, and 5 players, the parameters of the initial clustering sub-models corresponding to 1 player, 2 players, 3 players, 4 players, and 5 players are iteratively optimized to obtain the target parameters (the target parameters determine the clustering sub-model) corresponding to 1 player, 2 players, 3 players, 4 players, and 5 players respectively. Figure 2 The single-person room clustering model represents the clustering sub-model corresponding to one person. Figure 2 The 2-person room clustering model represents the clustering sub-model corresponding to 2 people. Figure 2 The clustering model for a 3-person room represents the clustering sub-model corresponding to 3 people. Figure 2 The clustering model for a 4-person room represents the clustering sub-model corresponding to 4 people. Figure 2 The 5-person room clustering model represents the clustering sub-model corresponding to 5 people, and will Figure 2 By merging the clustering sub-models corresponding to each game room type, a clustering model can be obtained and put into online use.
[0072] In this embodiment, the characteristics of the sample teams can be obtained by referring to Figure 1 The implementation process of obtaining the team characteristics of the game team to be matched is not described in detail in this embodiment.
[0073] The parameters for different game room types are similar. The following explanation uses a 5-player game room as an example to illustrate the specific construction process of the parameters for that type. The parameters are based on the function corresponding to the K-Means clustering algorithm with the addition of a regularization term. This regularization term is used to constrain the differences in the number of clusters. Therefore, in this embodiment, the parameters include two sub-functions: the first is the function corresponding to the K-Means clustering algorithm, and the second is the regularization term.
[0074] The function corresponding to the first term is:
[0075]
[0076]
[0077] Here, st represents the symbol for constraint. In linear programming problems in mathematics, a constraint is a condition that the solution to an optimization problem must satisfy. In equation (2) above, X∈R d×N F is a data matrix of dimension d×N, representing the sample team feature set corresponding to the 5-player game room type. N represents the number of sample game teams (equivalent to the samples described below) corresponding to the 5-player game room type (hereinafter referred to as the number of samples), and d represents the dimension of the sample team features. d×K It is an initial indicator matrix of dimension d×K, where K represents the total number of clusters corresponding to the 5-player game room type, and each column of F can be understood as the cluster center vector of each cluster, H∈R. N×K H is an initial assignment matrix of dimension N×K, where each row of H contains only one number that is 1, and the others are 0. i,k =1 indicates that the i-th sample belongs to the k-th cluster.
[0078] Given an F, a regularization term can be used to constrain the balance of the number of each cluster, then the second term of the parameter is:
[0079] ||F|| e =T r (F T 11 T F) (3)
[0080] In equation (3) above, T r F represents the trace of a matrix, where 1 represents a matrix consisting entirely of 1s. T Indicates the transpose of F, 1 T This represents the transpose of 1. From the above equation, we can see that ||F|| e It equals the sum of the squares of the number of samples in each cluster, which gives us:
[0081]
[0082] In equation (4) above, n i Let ||F|| represent the number of samples in the i-th cluster. e Minimum, needs to make Where N is the total number of samples across all clusters, this conclusion can be proven using Cauchy's inequality, as detailed below:
[0083] According to Cauchy's inequality, we can obtain:
[0084]
[0085] Let b i =1, i=1,2,…,k, then equation (5) above can be simplified to:
[0086]
[0087] According to Cauchy's inequality, n1 = n2 = ... = n k The equality of the time inequality holds, at which point
[0088] In addition, to measure the greater emphasis on minimizing the differences in the number of different clusters during the iterative optimization process, a weight hyperparameter is introduced. The larger the weight hyperparameter, the greater the emphasis on minimizing the differences in the number of different clusters during the iterative optimization process.
[0089] In summary, the parameters can be:
[0090]
[0091] Where γ is the weight hyperparameter. When iteratively optimizing the parameters, the objective constraint is taken as the objective until the iteration stopping condition is met, so as to obtain the objective parameters corresponding to this type of game room, that is, the clustering sub-model corresponding to this type of game room.
[0092] As mentioned above, the parameters of the initial clustering sub-model corresponding to different game room types include the initial assignment matrix and the initial indicator matrix. Therefore, the iterative update of the parameters of the initial clustering sub-model can be achieved by alternately iteratively optimizing the initial assignment matrix and the initial indicator matrix. For example, the iterative optimization of parameters can include the following process: For the sample game teams corresponding to each game room type, based on the sample team characteristics of the sample game teams corresponding to that game room type, iteratively optimize the initial assignment matrix and the initial indicator matrix with objective constraints until the iteration stopping condition is met, so as to obtain the clustering sub-model corresponding to that type of game room.
[0093] In some embodiments, the iteration stopping condition includes the matrix no longer changing during the iteration optimization process or the number of iterations exceeding a preset number. It should be noted that the matrix in the iteration optimization process here includes the initial allocation matrix and the initial indicator matrix; and the preset number can be set according to the actual situation, which is not limited in this embodiment.
[0094] The following explanation further illustrates the iterative optimization of the initial assignment matrix and initial indicator matrix under objective constraints, including the following process:
[0095] For each type of game room, based on the sample game teams corresponding to that type of game room and the initial allocation matrix, a target indicator matrix that minimizes the parameter value is determined. Based on the target indicator matrix and the sample game teams corresponding to that type of game room, the target allocation matrix that minimizes the parameter value is determined. If the preset iteration stopping condition is not met, the target allocation matrix is set as the new initial allocation matrix, and the process returns to the step of determining the target indicator matrix that minimizes the parameter value based on the sample game teams corresponding to that type of game room and the initial allocation matrix, until the preset iteration stopping condition is met. Based on the target indicator matrix and target allocation matrix corresponding to the preset iteration stopping condition, a clustering sub-model is obtained.
[0096] First, it should be noted that the initial allocation matrix needs to be set in advance as a known parameter. In the above process, the initial allocation matrix is kept constant; that is, the initial allocation matrix is used as a known parameter to calculate the target indicator matrix that minimizes the value of the initial function. One implementation of this process can be: setting the derivative of the initial function to 0, which yields:
[0097] F = XH(H) T H) -1 (8)
[0098] Based on the initial assignment matrix (H) and the team characteristics of the historical teams to be matched (X), calculate the target indication matrix (F) that makes the above equation true.
[0099] Given the target indicator matrix, it is used as a known parameter to update the initial allocation matrix. Specifically, based on the target indicator matrix and the sample team characteristics of the sample game teams corresponding to this game room type, the target allocation matrix that minimizes the parameter value is determined. One implementation of this process is as follows: Each row of the initial allocation matrix is updated sequentially from top to bottom. For the i-th row, the value corresponding to the cluster that minimizes the parameter is set to 1, and the values corresponding to the remaining clusters are set to 0, until the n-th row is updated, thus obtaining the target allocation matrix. When updating the (i+1)-th row, the updated values of all rows before the (i+1)-th row that minimize the parameter are used as the basis for calculation.
[0100] The target allocation matrix is used as the new initial allocation matrix. Based on the new initial allocation matrix and the team characteristics of the sample game teams, the target indication matrix that makes the above equation (8) true is calculated until the preset iteration stop condition is met.
[0101] If a preset iteration stopping condition is met, a clustering sub-model is obtained based on the target indication matrix and target assignment matrix corresponding to the met iteration stopping condition. The target indication matrix indicates the cluster center vector of each cluster, and the target assignment matrix indicates the cluster corresponding to each sample. Based on the target assignment matrix, the cluster to which the game team to be matched belongs can be determined. The cluster center vector of each cluster indicated by the target indication matrix can be used for the pre-generation of multiple matching pools in step S103. The specific generation method will be explained in step S103, and is not limited in this embodiment.
[0102] By dividing the samples according to their respective clusters in the target allocation matrix, the difference in the number of each cluster can be minimized. Based on the target indication matrix, the same clusters (same game level) under different game room types can be pointed to the same matching pool.
[0103] Step S103: Based on the target cluster and game room type of the game teams to be matched, the game teams to be matched are assigned to target matching pools in multiple matching pools. The matching pools are used to accommodate game teams corresponding to the next cluster under different game room types, and the level difference of the game teams in the matching pools is minimized.
[0104] It should be noted that each cluster corresponds to a game level, and the difference in game levels among game teams assigned to the same matchmaking pool is minimized.
[0105] As can be seen from the above embodiment for step S102, the target indication matrix is used to indicate the cluster center vector of each cluster. Therefore, according to the target indication matrix corresponding to the non-clustered sub-model, the clusters with the smallest game level difference can be pre-bound to the same matching pool, so that in practical applications, the same level game teams can be matched in the same matching pool.
[0106] In some embodiments, the binding process described above may be as follows: based on the target indication matrices corresponding to all clustering sub-models, a dynamic path planning algorithm is used to determine the mapping relationship between each cluster and the matching pool in the target indication matrices corresponding to different clustering sub-models. The constraint objective of the dynamic path planning algorithm is to minimize the distance between the cluster center vectors of each cluster in the same matching pool, thereby minimizing the game level difference between the clusters to which the game teams belong in the same matching pool. The dynamic path planning algorithm may be, for example, the dynamic path planning algorithm involved in the Traveling Salesman Problem; specific details can be found in related technologies, and will not be elaborated upon in this embodiment.
[0107] Reference Figure 3Taking game room types including 1-player teams, 2-player teams, 3-player teams, 4-player teams, and 5-player teams as an example, each game room type is divided into k clusters, and the difference in the number of clusters among the same game room type is minimized, that is, the difference in the number of clusters among the 1-player teams is very small; each path ( Figure 3 Each path formed by the lines shown corresponds to a match pool. Each match pool (match pool 1, match pool 2, ..., match pool k) includes a cluster under each game room type. The game level difference between clusters under the same match pool is the smallest. That is, the game level difference between cluster 1 under a 1-person team and cluster 2 under a 2-person team is the smallest among the game level differences between cluster 1 under a 1-person team and all clusters under a 2-person team.
[0108] Reference Figure 4 After obtaining the clustering model, multiple matching pools can be determined based on the target indication matrix corresponding to the clustering sub-models and using the aforementioned dynamic path planning algorithm. This allows for the generation of mapping relationships between different clusters and matching pools within the target indication matrices corresponding to different clustering sub-models. For example, the mapping table includes multiple cluster IDs and the matching pool ID corresponding to each cluster ID, facilitating the determination of the target matching pool for the game teams to be matched. Here, the cluster IDs include cluster IDs under different game room types.
[0109] by Figure 3 As shown in the example, the cluster ID of cluster 1 under a 1-person team corresponds to the ID of match pool 1. In practical applications, based on the target cluster of the game team to be matched and the game room type, the cluster ID corresponding to the game room type and target cluster is looked up in the mapping table, and the match pool ID corresponding to the cluster ID is determined as the target match pool, and then the game team to be matched is assigned to the target match pool.
[0110] Step S104: In the target matching pool, determine the game teams that are matched with the game teams to be matched.
[0111] It should be noted that the team matched with the player to be matched can be either a teammate of the player to be matched with or an opponent of the player to be matched with. Furthermore, the team matched with the player to be matched must be of a similar skill level to the player to be matched with.
[0112] In some embodiments, step S104 can be implemented in the following way: in the target matching pool, a first game team and a second game team whose game levels are matched are determined; wherein, the first game team and the second game team are both teams composed of at least one game team to be matched in the target matching pool, and both the first game team and the second game team include a preset number of players.
[0113] For example, assuming the target matchmaking pool includes teams of 1, 2, 3, 4, and 5 players, with a preset team size of 5, the first or second game team can consist of only one team of 5 players, or it can consist of one team of 1 player and two teams of 2 players. Furthermore, this example does not limit the combination of the first or second game team; any team with the preset team size composed of teams of various sizes can serve as either the first or second game team.
[0114] By employing the above method, since the clustering model is trained with the constraint of minimizing the difference in the number of sample game teams in different clusters under different game room types and minimizing the difference in the number of sample game teams in any two clusters under different game room types, the clustering model predicts the target cluster and game room type to which the game team to be matched belongs. This ensures that the difference in the number of game teams to be matched under each game room type in each matching pool is minimized, and the difference in the game level between the game teams to be matched in the same matching pool is minimized. This shortens the matching time for game team battles in the same matching pool and improves the efficiency of game matching.
[0115] Figure 5 This is a block diagram illustrating a game matchmaking device according to an exemplary embodiment of the present disclosure. The game team matchmaking device 500 includes:
[0116] The acquisition module 501 is used to acquire the team characteristics of the game teams to be matched;
[0117] The first determining module 502 is used to determine the target cluster to which the game team to be matched belongs based on the team characteristics and through a well-pre-trained clustering model. The clustering model is trained with the constraint that the game levels of the sample game teams in different clusters under different game room types are different and that the difference in the number of sample game teams in any two clusters under different game room types is minimized.
[0118] The allocation module 503 is used to allocate the game team to be matched to a target matching pool in multiple matching pools according to the target cluster and game room type of the game team to be matched. The matching pool is used to accommodate game teams corresponding to the same cluster under different game room types, and the level difference of the game teams in the matching pool is minimized.
[0119] The matching module 504 is used to determine, from the target matching pool, the game teams that match the game teams to be matched.
[0120] Optionally, the acquisition module 501 includes:
[0121] The first acquisition submodule is used to acquire user characteristics and / or device characteristics corresponding to at least one user in the game team to be matched;
[0122] The first determining submodule is used to determine the team characteristics of the game team to be matched based on the user characteristics and / or the device characteristics of the game team to be matched.
[0123] Optionally, when the team characteristics are determined by the user characteristics and the device characteristics, the first determining submodule is specifically used to vectorize the user characteristics and the device characteristics in the game team to be matched, respectively, to obtain a user feature vector corresponding to the user characteristics and a device feature vector corresponding to the device characteristics; and to concatenate the user feature vector and the device feature vector to obtain the team feature vector, which is used to characterize the team characteristics.
[0124] Optionally, the clustering model includes clustering sub-models corresponding to different game room types, and the device 500 further includes:
[0125] The iteration module is used to iteratively optimize the parameters of the initial clustering sub-model corresponding to each game room type based on the sample team characteristics of the sample team corresponding to that game room type, with objective constraints, until the iteration stopping condition is met, so as to obtain the clustering sub-model corresponding to that type of game room.
[0126] The second determining module is used to determine the clustering model based on the clustering sub-models corresponding to each of the game room types;
[0127] The objective constraints are: to minimize the difference in the number of sample game teams between different clusters, and to minimize the difference in game level between sample game teams within the same cluster.
[0128] Optionally, the parameters of the initial clustering sub-model include an initial assignment matrix and an initial indicator matrix, and the iterative module includes:
[0129] The iterative submodule is used to iteratively optimize the initial allocation matrix and the initial indication matrix based on the sample team characteristics of the sample game teams corresponding to each game room type, with objective constraints, until the iteration stopping condition is met, so as to obtain the clustering sub-model corresponding to the game room type.
[0130] The iteration stopping conditions include the matrix no longer changing during the iteration optimization process or the number of iterations exceeding a preset number.
[0131] Optionally, the iterative submodule is specifically used to determine, for each type of game room corresponding to the sample game teams, a target indication matrix that minimizes the value of the parameter based on the sample team characteristics of the sample game teams corresponding to that type of game room and the initial allocation matrix;
[0132] Based on the target indication matrix and the sample team characteristics of the sample game teams corresponding to this type of game room, a target allocation matrix that minimizes the value of the parameter is determined. If the preset iteration stopping condition is not met, the target allocation matrix is determined as a new initial allocation matrix, and the process returns to the step of determining the target indication matrix that minimizes the value of the parameter based on the sample team characteristics of the sample game teams corresponding to this type of game room and the initial allocation matrix, until the preset iteration stopping condition is met.
[0133] The clustering sub-model is obtained based on the target indication matrix and target assignment matrix corresponding to the preset iteration stopping condition.
[0134] Optionally, the device 500 further includes:
[0135] The third determining module is used to determine the mapping relationship between each cluster and the matching pool in the target indication matrix corresponding to each of the clustering sub-models, based on the target indication matrix corresponding to all the clustering sub-models, using a dynamic path planning algorithm.
[0136] The following is for reference. Figure 6 This diagram illustrates a structural schematic of an electronic device 600 suitable for implementing embodiments of the present disclosure. The terminal devices in these embodiments may include, but are not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 6 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.
[0137] like Figure 6 As shown, electronic device 600 may include a processing device (e.g., a central processing unit, a graphics processor, etc.) 601, which can perform various appropriate actions and processes according to a program stored in read-only memory (ROM) 602 or a program loaded from storage device 608 into random access memory (RAM) 603. RAM 603 also stores various programs and data required for the operation of electronic device 600. Processing device 601, ROM 602, and RAM 603 are interconnected via bus 604. Input / output (I / O) interface 605 is also connected to bus 604.
[0138] Typically, the following devices can be connected to I / O interface 605: input devices 606 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 607 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 608 including, for example, magnetic tapes, hard disks, etc.; and communication devices 609. Communication device 609 allows electronic device 600 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 6 An electronic device 600 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.
[0139] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device 609, or installed from a storage device 608, or installed from a ROM 602. When the computer program is executed by the processing device 601, it performs the functions defined in the methods of embodiments of this disclosure.
[0140] It should be noted that the computer-readable medium described in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this disclosure, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.
[0141] In some implementations, electronic devices can communicate using any currently known or future-developed network protocol, such as HTTP (Hypertext Transfer Protocol), and can interconnect with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), the Internet (e.g., the Internet of Things), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future-developed networks.
[0142] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.
[0143] The aforementioned computer-readable medium carries one or more programs that, when executed by the electronic device, cause the electronic device to: acquire team characteristics of a game team to be matched; based on the team characteristics, obtain the target cluster to which the game team to be matched belongs through a pre-trained, well-defined clustering model, wherein the clustering model is trained with the constraint that the game levels of sample game teams in different clusters under different game room types are different, and that the difference in the number of sample game teams in any two clusters under different game room types is minimized; allocate the game team to be matched to a target matching pool among multiple matching pools based on the target cluster and game room type of the game team to be matched, wherein the matching pool is used to accommodate game teams corresponding to a cluster under different game room types, and the difference in the level of the game teams in the matching pool is minimized; and determine the game team that matches the game team to be matched in the target matching pool.
[0144] Computer program code for performing the operations of this disclosure can be written in one or more programming languages or a combination thereof, including but not limited to object-oriented programming languages such as Java, Smalltalk, and C++, as well as conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0145] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0146] The modules described in the embodiments of this disclosure can be implemented in software or hardware. The names of the modules are not, in some cases, intended to limit the functionality of the module itself.
[0147] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application Standard Products (ASSPs), System-on-Chip (SoCs), Complex Programmable Logic Devices (CPLDs), and so on.
[0148] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0149] According to one or more embodiments of this disclosure, Example 1 provides a game matching method, including:
[0150] Obtain the team characteristics of the teams to be matched in the game;
[0151] Based on the team characteristics, the target cluster to which the game team to be matched belongs is obtained through a well-pre-trained clustering model. The clustering model is trained with the constraint that the game levels of the sample game teams in different clusters under different game room types are different, and the difference in the number of sample game teams in any two clusters under different game room types is minimized.
[0152] Based on the target cluster and game room type of the game teams to be matched, the game teams to be matched are assigned to target match pools in multiple match pools. The match pools are used to accommodate game teams corresponding to the same cluster under different game room types, and the level difference between the game teams in the match pools is minimized.
[0153] In the target match pool, determine the game teams that are matched with the game teams to be matched.
[0154] According to one or more embodiments of this disclosure, Example 2 provides the method of Example 1, wherein obtaining the team characteristics of the game team to be matched includes:
[0155] Obtain user characteristics and / or device characteristics corresponding to at least one user in the game team to be matched;
[0156] The team characteristics of the game team to be matched are determined based on the user characteristics and / or device characteristics of the game team to be matched.
[0157] According to one or more embodiments of this disclosure, Example 3 provides the method of Example 2, wherein, when the team characteristics are determined by the user characteristics and the device characteristics, determining the team characteristics of the game team to be matched based on the user characteristics and / or the device characteristics in the game team to be matched includes:
[0158] The user features and device features in the game team to be matched are respectively vectorized to obtain the user feature vector corresponding to the user features and the device feature vector corresponding to the device features;
[0159] The user feature vector and the device feature vector are concatenated to obtain the team feature vector, which is used to characterize the team features.
[0160] According to one or more embodiments of this disclosure, Example 4 provides the method of Example 1, wherein the clustering model includes clustering sub-models corresponding to different game room types, and the clustering model is obtained in the following manner:
[0161] For each type of game room, based on the sample game team characteristics, the parameters of the initial clustering sub-model corresponding to that type of game room are iteratively optimized with objective constraints until the iteration stopping condition is met, so as to obtain the clustering sub-model corresponding to that type of game room.
[0162] The clustering model is determined based on the clustering sub-models corresponding to each of the game room types;
[0163] The objective constraints are: to minimize the difference in the number of sample game teams between different clusters, and to minimize the difference in game level between sample game teams within the same cluster.
[0164] According to one or more embodiments of this disclosure, Example 5 provides the method of Example 4, wherein the parameters of the initial clustering sub-model include an initial assignment matrix and an initial indicator matrix, and the method involves iteratively optimizing the parameters of the initial clustering sub-model corresponding to each game room type based on the sample team characteristics of the sample game teams corresponding to that game room type, with objective constraints, until the iteration stopping condition is met, to obtain the clustering sub-model corresponding to that type of game room, including:
[0165] For each type of game room, the initial allocation matrix and the initial indication matrix are iteratively optimized based on the characteristics of the sample game teams corresponding to that type of game room, with objective constraints, until the iteration stopping condition is met, so as to obtain the clustering sub-model corresponding to that type of game room.
[0166] The iteration stopping conditions include the matrix no longer changing during the iteration optimization process or the number of iterations exceeding a preset number.
[0167] According to one or more embodiments of this disclosure, Example 6 provides the method of Example 5, wherein for each type of game room, based on the sample team characteristics of the sample game teams corresponding to that type of game room, the initial allocation matrix and the initial indication matrix are iteratively optimized with objective constraints until the iteration stopping condition is met, to obtain a clustering sub-model corresponding to that type of game room, including:
[0168] For each type of game room, based on the sample game team characteristics of the sample game team corresponding to that type of game room and the initial allocation matrix, a target indication matrix that minimizes the value of the parameter is determined.
[0169] Based on the target indication matrix and the sample team characteristics of the sample game teams corresponding to this type of game room, a target allocation matrix that minimizes the value of the parameter is determined. If the preset iteration stopping condition is not met, the target allocation matrix is determined as a new initial allocation matrix, and the process returns to the step of determining the target indication matrix that minimizes the value of the parameter based on the sample team characteristics of the sample game teams corresponding to this type of game room and the initial allocation matrix, until the preset iteration stopping condition is met.
[0170] The clustering sub-model is obtained based on the target indication matrix and target assignment matrix corresponding to the preset iteration stopping condition.
[0171] According to one or more embodiments of this disclosure, Example 7 provides the method of Example 6, the method further comprising:
[0172] Based on the target indication matrices corresponding to all the clustering sub-models, a dynamic path planning algorithm is used to determine the mapping relationship between each cluster and the matching pool in the target indication matrices corresponding to different clustering sub-models.
[0173] According to one or more embodiments of this disclosure, Example 8 provides a game matching device, comprising:
[0174] The acquisition module is used to acquire the team characteristics of the game teams to be matched;
[0175] The first determining module is used to determine the target cluster to which the game team to be matched belongs based on the team characteristics and through a well-pre-trained clustering model. The clustering model is trained with the constraint that the game levels of the sample game teams in different clusters under different game room types are different and that the difference in the number of sample game teams in any two clusters under different game room types is minimized.
[0176] The allocation module is used to allocate the game teams to be matched to multiple target matching pools according to the target cluster and game room type of the game teams to be matched. The matching pool is used to accommodate game teams corresponding to the same cluster under different game room types, and the level difference of the game teams in the matching pool is minimized.
[0177] The matching module is used to determine the game team that matches the game team to be matched in the target matching pool.
[0178] According to one or more embodiments of the present disclosure, Example 9 provides a computer-readable medium having a computer program stored thereon that, when executed by a processing device, implements the steps of the game matching method described in any one of Examples 1-7.
[0179] According to one or more embodiments of this disclosure, Example 10 provides an electronic device, including:
[0180] A storage device on which computer programs are stored;
[0181] A processing device for executing the computer program in the storage device to implement the steps of any of the game matching methods in Examples 1-7.
[0182] The above description is merely a preferred embodiment of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features disclosed in this disclosure that have similar functions.
[0183] Furthermore, while the operations are described in a specific order, this should not be construed as requiring these operations to be performed in the specific order shown or in a sequential order. In certain environments, multitasking and parallel processing may be advantageous. Similarly, while several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of this disclosure. Certain features described in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments.
[0184] Although the subject matter has been described using language specific to structural features and / or methodological logic, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are merely illustrative forms of implementing the claims. Regarding the apparatus in the above embodiments, the specific manner in which the various modules perform their operations has been described in detail in the embodiments relating to the method, and will not be elaborated upon here.
Claims
1. A game matching method, characterized in that, include: Obtain the team characteristics of the teams to be matched in the game; Based on the team characteristics, the target cluster to which the game team to be matched belongs is obtained through a well-pre-trained clustering model. The clustering model is trained with the constraint that the game levels of the sample game teams in different clusters under different game room types are different, and the difference in the number of sample game teams in any two clusters under different game room types is minimized. Based on the target cluster and game room type of the game teams to be matched, the game teams to be matched are assigned to target match pools in multiple match pools. The match pools are used to accommodate game teams corresponding to the same cluster under different game room types, and the level difference between the game teams in the match pools is minimized. In the target match pool, determine the game teams that are matched with the game teams to be matched.
2. The method according to claim 1, characterized in that, The process of obtaining the team characteristics of the game team to be matched includes: Obtain user characteristics and / or device characteristics corresponding to at least one user in the game team to be matched; The team characteristics of the game team to be matched are determined based on the user characteristics and / or device characteristics of the game team to be matched.
3. The method according to claim 2, characterized in that, When the team characteristics are determined by the user characteristics and the device characteristics, determining the team characteristics of the game team to be matched based on the user characteristics and / or the device characteristics in the game team to be matched includes: The user features and device features in the game team to be matched are respectively vectorized to obtain the user feature vector corresponding to the user features and the device feature vector corresponding to the device features; The user feature vector and the device feature vector are concatenated to obtain the team feature vector, which is used to characterize the team features.
4. The method according to claim 1, characterized in that, The clustering model includes clustering sub-models corresponding to different game room types, and the clustering model is obtained in the following way: For each type of game room, based on the sample game team characteristics, the parameters of the initial clustering sub-model corresponding to that type of game room are iteratively optimized with objective constraints until the iteration stopping condition is met, so as to obtain the clustering sub-model corresponding to that type of game room. The clustering model is determined based on the clustering sub-models corresponding to each of the game room types; The objective constraints are: to minimize the difference in the number of sample game teams between different clusters, and to minimize the difference in game level between sample game teams within the same cluster.
5. The method according to claim 4, characterized in that, The parameters of the initial clustering sub-model include an initial assignment matrix and an initial indicator matrix. For each type of game room, based on the sample game teams corresponding to that type of game room, the parameters of the initial clustering sub-model are iteratively optimized with objective constraints until the iteration stopping condition is met, to obtain the clustering sub-model corresponding to that type of game room. This includes: For each type of game room, the initial allocation matrix and the initial indication matrix are iteratively optimized based on the characteristics of the sample game teams corresponding to that type of game room, with objective constraints, until the iteration stopping condition is met, so as to obtain the clustering sub-model corresponding to that type of game room. The iteration stopping conditions include the matrix no longer changing during the iteration optimization process or the number of iterations exceeding a preset number.
6. The method according to claim 5, characterized in that, For each type of game room, based on the sample game teams corresponding to that type of game room, the initial allocation matrix and the initial indicator matrix are iteratively optimized with objective constraints until the iteration stopping condition is met, to obtain a clustering sub-model corresponding to that type of game room, including: For each type of game room, based on the sample game team characteristics and the initial allocation matrix, a target indication matrix that minimizes the value of the parameter is determined. Based on the target indication matrix and the sample team characteristics of the sample game teams corresponding to this type of game room, a target allocation matrix that minimizes the value of the parameter is determined. If the preset iteration stopping condition is not met, the target allocation matrix is determined as a new initial allocation matrix, and the process returns to the step of determining the target indication matrix that minimizes the value of the parameter based on the sample team characteristics of the sample game teams corresponding to this type of game room and the initial allocation matrix, until the preset iteration stopping condition is met. The clustering sub-model is obtained based on the target indication matrix and target assignment matrix corresponding to the preset iteration stopping condition.
7. The method according to claim 6, characterized in that, The method further includes: Based on the target indication matrices corresponding to all the clustering sub-models, a dynamic path planning algorithm is used to determine the mapping relationship between each cluster and the matching pool in the target indication matrices corresponding to different clustering sub-models.
8. A game matching device, characterized in that, include: The acquisition module is used to acquire the team characteristics of the game teams to be matched; The first determining module is used to determine the target cluster to which the game team to be matched belongs based on the team characteristics and through a well-pre-trained clustering model. The clustering model is trained with the constraint that the game levels of the sample game teams in different clusters under different game room types are different and that the difference in the number of sample game teams in any two clusters under different game room types is minimized. The allocation module is used to allocate the game teams to be matched to multiple target matching pools according to the target cluster and game room type of the game teams to be matched. The matching pool is used to accommodate game teams corresponding to the same cluster under different game room types, and the level difference of the game teams in the matching pool is minimized. The matching module is used to determine the game team that matches the game team to be matched in the target matching pool.
9. A computer-readable medium having a computer program stored thereon, characterized in that, When executed by the processing device, the program implements the steps of the method described in any one of claims 1-7.
10. An electronic device, characterized in that, include: A storage device on which computer programs are stored; A processing device for executing the computer program in the storage device to implement the steps of the method according to any one of claims 1-7.
Citation Information
Patent Citations
Game matching method and device, server and readable storage medium
CN111111215A
Game matching method and device, electronic equipment and storage medium
CN113941157A