Opponent matching method for go game and device thereof

By analyzing users' historical Go game records, calculating chess strength scores and using artificial intelligence to evaluate them, the problem of low opponent matching accuracy on existing Go game platforms has been solved, achieving more fair and timely chess strength evaluation and improving users' competitive experience.

CN119746419BActive Publication Date: 2025-10-10CCTEG COAL MINING RES INST
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510139066.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-02-08
Publication Date
2025-10-10
Estimated Expiration
2045-02-08

AI Technical Summary

Technical Problem

Existing Go game platforms' opponent matching methods suffer from low accuracy, resulting in a poor player experience. This is especially true in high-level games or when matching beginners with advanced players, making it difficult to provide a balanced challenge.

Method used

By obtaining the historical game record sequence of the user to be matched, determining the target game record and calculating the initial chess strength score and chess strength score adjustment value, matching opponents based on the current chess strength score, and using artificial intelligence technology to evaluate chess strength level.

Benefits of technology

It achieves more accurate and fair chess skill scoring, can timely reflect the changes in user level, ensures that users can play against opponents with similar skills, and enhances the user's competitive experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119746419B_ABST
    Figure CN119746419B_ABST
Patent Text Reader

Abstract

The application provides a go game opponent matching method and device, and relates to the technical field of data processing. The application obtains a historical go game record sequence corresponding to a user to be matched, wherein the historical go game record sequence comprises a plurality of historical go game records arranged in chronological order according to game timestamps; a first target go game record is determined from the plurality of historical go game records, a target game timestamp corresponding to the first target go game record is obtained, and an initial chess strength score of the user to be matched at the target game timestamp is obtained; the first target go game record and historical go game records after the first target go game record in the historical go game record sequence are taken as second target go game records, and a chess strength score adjustment value of the user to be matched is determined based on go game record related parameters of the second target go game records; a current chess strength score of the user to be matched is determined according to the initial chess strength score and the chess strength score adjustment value, and the user to be matched is matched with an opponent based on the current chess strength score.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data processing technology, and in particular to a method and device for matching opponents in a Go game. Background Art

[0002] With the rapid development of artificial intelligence (AI) technology, Go, a complex board game, has gradually become a hot topic in intelligent algorithm research. Go games not only test players' strategic thinking and reflexes, but also place extremely high demands on AI computing power. Existing Go game platforms typically match opponents based on player level, historical records, and other information to ensure fairness and competitiveness. However, existing matching methods have limitations. For example, low opponent matching accuracy can result in a poor player experience, especially in high-level matches or between beginners and advanced players, making it difficult to provide a balanced challenge. Summary of the Invention

[0003] The present application aims to solve one of the technical problems in the related art at least to a certain extent.

[0004] To this end, one object of the present application is to propose a Go game opponent matching method, comprising: obtaining a historical game record sequence corresponding to a user to be matched, wherein the historical game record sequence includes multiple historical game records arranged in the order of game timestamps; determining a first target game record from the multiple historical game records, and obtaining a target game timestamp corresponding to the first target game record, and obtaining an initial chess strength score of the user to be matched corresponding to the target game timestamp; using the first target game record in the historical game record sequence and the historical game record located after the first target game record as a second target game record, and determining a chess strength score adjustment value for the user to be matched based on game record-related parameters of the second target game record; determining a current chess strength score for the user to be matched based on the initial chess strength score and the chess strength score adjustment value, and matching an opponent for the user to be matched based on the current chess strength score.

[0005] The second purpose of this application is to provide an opponent matching device for Go games.

[0006] The third objective of this application is to provide an electronic device.

[0007] A fourth object of the present application is to provide a non-transitory computer-readable storage medium.

[0008] A fifth object of this application is to provide a computer program product.

[0009] To achieve the above-mentioned purpose, the first embodiment of the present application proposes a method for matching opponents in Go games, including: obtaining a sequence of historical game records corresponding to a user to be matched, wherein the sequence of historical game records includes multiple historical game records arranged in the order of game timestamps; determining a first target game record from the multiple historical game records, and obtaining a target game timestamp corresponding to the first target game record, and obtaining an initial chess strength score of the user to be matched corresponding to the target game timestamp; using the first target game record in the sequence of historical game records and the historical game records located after the first target game record as second target game records, and determining a chess strength score adjustment value for the user to be matched based on game record-related parameters of the second target game record; determining a current chess strength score of the user to be matched based on the initial chess strength score and the chess strength score adjustment value, and matching opponents for the user to be matched based on the current chess strength score.

[0010] According to one embodiment of the present application, determining a first target game record from a plurality of historical game records includes: obtaining a total number of historical game records in a historical game record sequence; setting an offset threshold, and determining the first target game record from the plurality of historical game records based on the offset threshold and the total number of historical game records.

[0011] According to one embodiment of the present application, obtaining the initial chess strength score of the user to be matched corresponding to the target game timestamp includes: obtaining the Go-related rank of the user to be matched corresponding to the target game timestamp, the Go-related rank including the professional rank, amateur rank and platform rank corresponding to each Go platform of the user to be matched; determining the initial chess strength score of the user to be matched based on the Go-related rank.

[0012] According to one embodiment of the present application, a chess strength score adjustment value of a user to be matched is determined based on chess record-related parameters of a second target chess record, including: for each second target chess record, determining the total number of chess moves of the user to be matched in the second target chess record, and calculating the move value of each move of the user to be matched; dividing the number of moves of the user to be matched in the second target chess record into multiple stages according to the total number of chess moves corresponding to the second target chess record, and assigning a weight to each stage; calculating the move value score of the second target chess record according to the move value of each move of the user to be matched in the second target chess record and the stage weight of the stage to which each move belongs; determining the win or loss value score of the second target chess record according to the win or loss result corresponding to the second target chess record; determining the chess record score of the second target chess record according to the move value score and the win or loss value score corresponding to the second target chess record; and taking the sum of the chess record scores of all the second target chess records as the chess strength score adjustment value of the user to be matched.

[0013] According to one embodiment of the present application, determining the win / loss value of the second target chess record based on the win / loss result corresponding to the second target chess record includes: obtaining the tournament level and win / loss result corresponding to the second target chess record; and determining the win / loss value of the second target chess record based on the tournament level and win / loss result.

[0014] According to one embodiment of the present application, the value of each move of a user to be matched is calculated, including: determining, based on artificial intelligence technology, first win rates corresponding to the first N recommended playing positions for the i-th move in a second target chess record; obtaining a second win rate corresponding to the actual playing position corresponding to the i-th move in the second target chess record; obtaining a preset weight array, the weight array including a weight corresponding to each of the first N selected moves; and calculating the value of the move for the i-th move based on the first win rates corresponding to the first N recommended playing positions for the i-th move, the second win rate corresponding to the actual playing position corresponding to the i-th move, and the weight array.

[0015] According to one embodiment of the present application, matching opponents for a user to be matched based on the current chess strength score includes: determining the chess strength level of the user to be matched based on the current chess strength score; determining the opponent of the user to be matched from other users to be matched based on the chess strength level and matching them to the user to be matched.

[0016] To achieve the above-mentioned purpose, the second embodiment of the present application proposes a Go game opponent matching device, including: a first acquisition module, used to obtain a historical game record sequence corresponding to a user to be matched, wherein the historical game record sequence includes multiple historical game records arranged in the order of game timestamps; a second acquisition module, used to determine a first target game record from the multiple historical game records, and obtain a target game timestamp corresponding to the first target game record, and obtain an initial chess strength score of the user to be matched corresponding to the target game timestamp; a determination module, used to use the first target game record in the historical game record sequence and the historical game record located after the first target game record as the second target game record, and determine a chess strength score adjustment value of the user to be matched based on the game record-related parameters of the second target game record; a matching module, used to determine the current chess strength score of the user to be matched based on the initial chess strength score and the chess strength score adjustment value, and match the user to be matched with an opponent based on the current chess strength score.

[0017] According to one embodiment of the present application, the second acquisition module is further used to: obtain the total number of historical game records in the historical game record sequence; set an offset threshold, and determine a first target game record from multiple historical game records based on the offset threshold and the total number of historical game records.

[0018] According to one embodiment of the present application, the second acquisition module is also used to: obtain the Go-related rank corresponding to the target game timestamp of the user to be matched, the Go-related rank including the professional rank, amateur rank and platform rank corresponding to each Go platform of the user to be matched; determine the initial Go strength score of the user to be matched based on the Go-related rank.

[0019] According to one embodiment of the present application, the determination module is further used to: determine, for each second target chess record, the total number of chess moves of the to-be-matched user in the second target chess record, and calculate the move value of each move of the to-be-matched user; divide the moves of the to-be-matched user in the second target chess record into multiple stages according to the total number of chess moves corresponding to the second target chess record, and assign a weight to each stage; calculate the move value score of the second target chess record according to the move value of each move of the to-be-matched user in the second target chess record and the stage weight of the stage to which each move belongs; determine the win / loss value score of the second target chess record according to the win / loss result corresponding to the second target chess record; determine the chess record score of the second target chess record according to the move value score and the win / loss value score corresponding to the second target chess record; and take the sum of the chess record scores of all the second target chess records as the chess strength score adjustment value of the to-be-matched user.

[0020] According to one embodiment of the present application, the determination module is further configured to: obtain a tournament level and a win-loss result corresponding to a second target chess record; and determine a win-loss value score of the second target chess record based on the tournament level and the win-loss result.

[0021] According to one embodiment of the present application, the determination module is further used to: determine, based on artificial intelligence technology, the first winning rates corresponding to the first N recommended chess positions for the i-th move in the second target chess record; obtain the second winning rate corresponding to the actual chess position corresponding to the i-th move in the second target chess record; obtain a preset weight array, the weight array including the weight corresponding to each of the first N selected choices; and calculate the move value of the i-th move based on the first winning rates corresponding to the first N recommended chess positions for the i-th move, the second winning rate corresponding to the actual chess position corresponding to the i-th move, and the weight array.

[0022] According to one embodiment of the present application, the matching module is further used to: determine the chess skill level of the user to be matched based on the current chess skill score; determine the opponent of the user to be matched from other users to be matched based on the chess skill level and match it to the user to be matched.

[0023] To achieve the above-mentioned purpose, the third aspect embodiment of the present application proposes an electronic device, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to implement the Go game opponent matching method as described in the first aspect embodiment of the present application.

[0024] To achieve the above object, the fourth aspect of the present application provides a non-transitory computer readable storage medium storing computer instructions, wherein the computer instructions are used to implement the opponent matching method for Weiqi game according to the first aspect of the present application.

[0025] To achieve the above object, the fifth aspect of the present application provides a computer program product, comprising a computer program, wherein the computer program is used to implement the opponent matching method for Weiqi game according to the first aspect of the present application when executed by a processor.

[0026] The present application at least has the following beneficial effects: the present application obtains the current chess strength score of the user to be matched through comprehensive analysis of multiple games, so that the chess strength score is more accurate and fair, and can reflect the change in time with the improvement of the user's level, avoiding the hysteresis of long-time non-updated chess strength score; the chess strength level of the user can be accurately evaluated to ensure that the user plays Weiqi with a technically equivalent opponent, which can greatly improve the user's competitive experience and enable the user to challenge the appropriate opponent. BRIEF DESCRIPTION OF DRAWINGS

[0027] The above and / or additional aspects and advantages of the present application will become apparent and more readily appreciated from the following description, taken in conjunction with the following drawings, in which:

[0028] Figure 1 is a schematic diagram of an exemplary implementation of a Weiqi game opponent matching method according to an embodiment of the present application.

[0029] Figure 2 is a schematic diagram of an exemplary implementation of a Weiqi game opponent matching method according to an embodiment of the present application.

[0030] Figure 3 is a schematic diagram of an exemplary implementation of a Weiqi game opponent matching method according to an embodiment of the present application.

[0031] Figure 4 is a schematic diagram of a Weiqi game opponent matching device according to an embodiment of the present application.

[0032] Figure 5 is a schematic diagram of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

[0033] The embodiments of the present application are described in detail below, and examples of the embodiments are shown in the drawings, wherein the same or similar notations represent the same or similar elements or elements having the same or similar functions throughout. The embodiments described below by reference to the drawings are exemplary and are intended to explain the present application, and cannot be understood as a limitation of the present application.

[0034] It should be noted that the information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, stored data, displayed data, etc.) and signals involved in this application are all authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions.

[0035] Figure 1 This is a schematic diagram of an exemplary embodiment of a Go game opponent matching method shown in the present application, such as Figure 1 As shown, the Go game opponent matching method includes the following steps:

[0036] S101: Obtain a historical game record sequence corresponding to a user to be matched, wherein the historical game record sequence includes a plurality of historical game records arranged in the order of game timestamps.

[0037] Taking user A as an example, we first collect multiple historical game records of user A and obtain the game timestamp corresponding to each historical game record. Then, we arrange the multiple historical game records of user A in chronological order according to the time sequence of the game timestamps to obtain the historical game record sequence corresponding to user A.

[0038] Among them, the historical game records may include game records recorded by various Go game platforms, game records recorded by Go competitions, etc., so as to facilitate the subsequent comprehensive assessment of the Go skills of the users to be matched.

[0039] In this application, the total number of historical game records in the historical game record sequence is recorded as M.

[0040] S102, determining a first target game record from a plurality of historical game records, obtaining a target game timestamp corresponding to the first target game record, and obtaining an initial chess skill score of the user to be matched corresponding to the target game timestamp.

[0041] In the present application, a shift threshold may be set, and a first target game record may be determined from a plurality of historical game records based on the shift threshold and the total number of historical game records.

[0042] In some embodiments, an offset threshold a is set, where 0 < a < 1. The M×a+1th historical game record in the historical game record sequence is selected as the first target game record. After determining the first target game record, the game timestamp corresponding to the first target game record is obtained as the target game timestamp, and the initial chess skill score of the user to be matched corresponding to the target game timestamp is obtained.

[0043] For example, if the total number of historical game records in the historical game record sequence corresponding to user A is 100, and assuming that the offset threshold a is set to 0.4, then the 100×0.4+1th historical game record in the historical game record sequence is taken as the first target record, that is, the 41st historical game record in the historical game record sequence is taken as the first target record. Assuming that the target game timestamp corresponding to the obtained 41st historical game record is 8:00 on January 1, 2024, then the relevant rank of the user to be matched in various competitions or online Go platforms at 8:00 on January 1, 2024 is obtained, so as to determine the initial chess strength score of the user to be matched corresponding to the target game timestamp based on the relevant rank.

[0044] S103: Taking a first target game record in the historical game record sequence and a historical game record following the first target game record as a second target game record, and determining a chess skill score adjustment value for the user to be matched based on game-related parameters of the second target game record.

[0045] After the first target game record is determined as described above, the first target game record in the historical game record sequence and the historical game records following the first target game record are used as second target game records. Continuing with the example where the total number of historical game records in the historical game record sequence corresponding to user A is 100 and the offset threshold a is set to 0.4, the 41st to 100th historical game records in the historical game record sequence are used as second target game records.

[0046] In some embodiments, after determining the second target chess game, game-related parameters of each second target chess game are obtained, for example, the win / loss result of each second target chess game is obtained, where a win is recorded as adding 10 points, a loss is recorded as subtracting 10 points, and so on, until the total score of all second target chess games is obtained, and the total score is used as the chess skill score adjustment value of the user to be matched.

[0047] S104, determining the current chess strength score of the user to be matched according to the initial chess strength score and the chess strength score adjustment value, and matching the user to be matched with an opponent based on the current chess strength score.

[0048] The sum of the initial skill score and the skill score adjustment value of the user to be matched is used as the current skill score of the user to be matched. For example, if user A's initial skill score is 80 points and the skill score adjustment value is 300 points, then user A's current skill score is 380 points.

[0049] In some embodiments, a user to be matched whose current chess skill score is closest to that of the user to be matched is determined from other users to be matched as the opponent of the user to be matched. For example, if the current chess skill score of user A is 380 points and the current chess skill score of user B is 381 points, and the current chess skill scores of the two are closest, then user A and user B are matched as opponents.

[0050] The embodiment of the present application derives the current chess skill score of the user to be matched through a comprehensive analysis of multiple games, making the chess skill score more accurate and fair, and being able to promptly reflect changes as the user's level improves, thereby avoiding the lag of the chess skill score not being updated for a long time; it can accurately assess the user's chess skill level and ensure that the user plays against opponents of comparable skills, which can greatly enhance the user's competitive experience and enable the user to challenge suitable opponents.

[0051] Figure 2 This is a schematic diagram of an exemplary embodiment of a Go game opponent matching method shown in the present application, such as Figure 2 As shown, the Go game opponent matching method includes the following steps:

[0052] S201: Obtain a historical game record sequence corresponding to a user to be matched, wherein the historical game record sequence includes a plurality of historical game records arranged in the order of game timestamps.

[0053] S202: Obtain the total number of historical game records in the historical game record sequence.

[0054] In this application, the total number of historical game records in the historical game record sequence is recorded as M.

[0055] S203: Set an offset threshold, and determine a first target game record from the plurality of historical game records according to the offset threshold and the total number of historical game records.

[0056] In some embodiments, an offset threshold a is set, where 0 < a < 1. The M×a+1th historical game record in the historical game record sequence is taken as the first target game record.

[0057] For example, if the total number of historical game records in the historical game record sequence corresponding to user A is 100, and assuming that the offset threshold a is set to 0.4, then the 100×0.4+1th historical game record in the historical game record sequence is taken as the first target record, that is, the 41st historical game record in the historical game record sequence is taken as the first target record.

[0058] S204: Obtain a target game timestamp corresponding to the first target chess record.

[0059] Continuing with the example of taking the 41st historical game record in the historical game record sequence as the first target game record, assuming that the game timestamp corresponding to the obtained 41st historical game record is 8:00 on January 1, 2024, then 8:00 on January 1, 2024 is recorded as the target game timestamp.

[0060] S205, obtaining the initial chess skill score of the user to be matched corresponding to the target game timestamp.

[0061] Obtain the Go-related rank of the user to be matched corresponding to the target game timestamp. The Go-related rank includes the professional rank, amateur rank and platform rank corresponding to each Go network platform of the user to be matched; determine the initial Go skill score of the user to be matched based on the Go-related rank.

[0062] In practice, the rank value ranges from 18 to 1 (the higher the rank, the lower the chess skill, level 1 can be understood as -1 dan, level 2 as -2 dan, and so on), 1 to 10 dan (the higher the rank, the higher the chess skill), that is, the value range of professional rank, amateur rank, and platform rank is (-18, -1), (1, 10).

[0063] In some embodiments, the calculation formula for the initial chess strength score is:

[0064]

[0065] Among them, f in the above formula (A) 、f (P) The constraints are as follows:

[0066]

[0067] In the above formula, ini point represents the initial Go skill score of the user to be matched at the target game timestamp; λ1, λ2, and λ3 represent the adjustment parameters of amateur rank, professional rank, and platform rank, respectively; A represents amateur rank, and if there is no amateur rank, A=0; P represents professional rank, and if there is no professional rank, P=0; the platform ranks corresponding to the z Go online platforms are recorded as W1, W2, ..., W z If the user to be matched does not have a rank on a certain Go network platform, the platform rank corresponding to the Go network platform is recorded as 0; a point Indicates the initial rating of the amateur rank; p point Indicates the initial rating of the professional rank; w point Indicates the initial rating of the platform rank; a point 、p point 、w pointThe values of the three can be equal or not equal; in some embodiments, λ1 can be set to 1; λ2 can be set to 1.5; and λ3 can be set to 1.

[0068] S206, the first target game record in the historical game record sequence and the historical game record after the first target game record are taken as the second target game record.

[0069] After determining the first target game record, the first target game record in the historical game record sequence and the historical game record after the first target game record are taken as the second target game record, that is, the (Mxa+1)th to Mth historical game records in the historical game record sequence are taken as the second target game record.

[0070] Continuing to take the total number of historical game records in the historical game record sequence corresponding to user A as 100 and assume that the offset threshold a is set to 0.4 as an example, the 41th to 100th historical game records in the historical game record sequence corresponding to user A are taken as the second target game record.

[0071] S207, for each second target game record, the total number of chess moves of the to-be-matched user in the second target game record is determined, and the move value of each chess move of the to-be-matched user is calculated.

[0072] For each second target game record, the total number of chess moves of the to-be-matched user in the second target game record is determined, denoted as n.

[0073] First, based on artificial intelligence technology (here, a pre-trained Go AI value network can be used), the first win rate corresponding to the first N recommended chess positions of the ith chess move in the second target game record is determined. Taking the first 10 choices as an example, that is, the total number of chess moves of the to-be-matched user in the second target game record is n steps, each step corresponds to the first win rate of the first 10 choices predicted by AI, which can be stored in a two-dimensional array with a dimension of 10*n, denoted as ai_rate[n]

[10] .

[0074] Second, based on artificial intelligence technology, the second win rate corresponding to the real chess position of the ith chess move in the second target game record is obtained (also based on the pre-trained Go AI value network to analyze the second win rate corresponding to the real position of the ith chess move of the to-be-matched user). That is, the total number of chess moves of the to-be-matched user in the second target game record is n steps, and each real position corresponds to one second win rate, which can be stored in an array with a dimension of n, denoted as real_rate[n].

[0075] The "win rate" in the above first win rate and second win rate refers to: in a certain specific game state, if the move is selected for chess, the probability of winning in future games. The win rate is generally expressed in percentage.

[0076] The third step is to obtain the preset weight array, which includes the weight corresponding to each of the top N selections. Continuing with the example of the top N selections being the top 10 selections, the weights of the top 10 selections are stored in the weight array weight

[10] with a dimension of 10.

[0077] Step 4: Calculate the move value of the i-th move based on the first win rates corresponding to the first N recommended positions for the i-th move, the second win rates corresponding to the actual positions for the i-th move, and the weight array. Continuing with the example of the first N positions being the first 10, i.e., taking N = 10, the formula for calculating the move value of the i-th move in the second target game is:

[0078]

[0079] In the above formula, value[i] represents the value of the move at move i; i represents the i-th move in the second target game, 1≤i≤n; j represents the j-th choice among the top 10 choices, 1≤j≤10. ai_rate[i][j] represents the first win rate corresponding to the j-th choice at move i; real_rate[i] represents the second win rate corresponding to the actual position at move i; and weight[j] represents the weight corresponding to the j-th choice.

[0080] Since the winning rate is expressed as a percentage, the value of the move at the i-th move is also expressed as a percentage. The corresponding meanings of different value[i] are as follows:

[0081] 1. If 0≤value[i]<3%, it means that the move is the best choice, or it can be understood as the best move or close to the best move.

[0082] 2. If 3%≤value[i]<6%, it means that this strategy is a better choice, inferior to the optimal strategy, but the impact is smaller, and it is a good strategy.

[0083] 3. If 6%≤value[i]<10%, it means that this move is a common choice, which causes a slight decrease in the winning rate and has a slight impact.

[0084] 4. If 10% ≤ value[i] < 20%, it means that the move is a small mistake, which causes a certain degree of decrease in the winning rate, resulting in an unfavorable situation.

[0085] 5. If 20% ≤ value[i] < 40%, it means that the move is a big mistake, which leads to a significant loss of winning rate and a clearly unfavorable situation.

[0086] 6. If 40%≤value[i]<70%, it means that the move is a bad move, a very bad move.

[0087] 7. If 70% ≤ value[i] < 100%, it means that the move is a stupid one that directly leads to defeat.

[0088] The ranges of the above-mentioned value[i] can be adjusted according to actual data.

[0089] S208: Divide the number of moves of the user to be matched in the second target chess record into multiple stages according to the total number of moves corresponding to the second target chess record, and assign a weight to each stage.

[0090] In some embodiments, the steps of the user to be matched in the second target chess record are divided into the layout, middle game and endgame stages in sequence. In order to avoid the influence of different values ​​of the layout, middle game or endgame stages on the value of the moves, in this application, weights are assigned to each stage, which are recorded as α1, α2, and α3 respectively.

[0091] The basic principles for setting α1, α2, and α3 are as follows:

[0092] 1. Layout: The number of steps is small and the situation is unstable, so the weight α1 is set low.

[0093] 2. Mid-game: Decision-making key, set the weight α2 higher.

[0094] 3. Endgame: The situation is roughly determined, and the weight α3 is set to medium.

[0095] The number of steps in the opening, middle game, and endgame phases are represented by functions f1(n), f2(n), and f3(n), respectively. The rules are as follows:

[0096] 1. f1(n)+f2(n)+f3(n)=n;

[0097] 2. When 0 <n≤50时,f1(n)=n,f2(n)=0,f3(n)=n-f1(n)-f2(n);

[0098] 3. When 50 <n≤150时,f1(n)=0.4n,f2(n)=0.5n,f3(n)=n-f1(n)-f2(n);

[0099] 4. When 150 <n时,f1(n)=0.25n,f2(n)=0.5n,f3(n)=n-f1(n)-f2(n)。

[0100] Among them, the function models of f1(n), f2(n), and f3(n) can be adjusted according to actual conditions.

[0101] S209: Calculate the move value score of the second target chess record based on the move value of each move of the to-be-matched user in the second target chess record and the stage weight of the stage to which each move belongs.

[0102] For any second target chess record, when 0 <n≤50时,该第二目标棋谱的招法价值分的计算公式为:

[0103]

[0104] For any second target chess game, when 50 <n时,该第二目标棋谱的招法价值分的计算公式为:

[0105]

[0106] In the above formula, move score represents the move value score of a second target chess game; α1, α2, and α3 represent the stage weights corresponding to the layout, middle game, and endgame stages respectively; value[i] represents the move value of the i-th chess move corresponding to the user to be matched in the second target chess game; i represents the i-th chess move, 1≤i≤n.

[0107] S210: Determine the win / loss value of the second target game record according to the win / loss result corresponding to the second target game record.

[0108] For any second target chess record, obtain the corresponding competition level (such as world championships, domestic competitions, Weiqi League, amateur competitions, games on different online chess websites, etc.) and win-loss results of the second target chess record; and determine the win-loss value of the second target chess record based on the competition level and win-loss results, and record it as winning score Among them, different levels of competition can set different winning and losing scores.

[0109] For example, if a second target chess record is a chess record recorded by the user to be matched in the Go League, if the game result of the second target chess record is a victory for the user to be matched, 10 points will be added, if the game result of the second target chess record is a loss for the user to be matched, 10 points will be subtracted, and if the game result of the second target chess record is a draw, 0 points will be recorded; if a second target chess record is a chess record recorded by the user to be matched in the entertainment Go platform, if the game result of the second target chess record is a victory for the user to be matched, 7 points will be added, if the game result of the second target chess record is a loss for the user to be matched, 7 points will be subtracted, and if the game result of the second target chess record is a draw, 0 points will be recorded.

[0110] S211, determining a game score of the second target game record according to the move value points and the win / loss value points corresponding to the second target game record.

[0111] For any second target chess game, the above steps determine the move value points and win / loss value points corresponding to the second target chess game. In this application, the weights set for the move value points and win / loss value points are β1 and β2, respectively. For any second target chess game, the calculation formula for the game score of the second target chess game is:

[0112]

[0113] S212: The sum of the game scores of all second target game records is used as the game skill score adjustment value of the user to be matched.

[0114] After obtaining the game score of each second target game record through the above calculation, the sum of the game scores of all second target game records corresponding to the to-be-matched user is obtained as the game skill score adjustment value of the to-be-matched user.

[0115] For example, the 41st to 100th historical game records in the historical game record sequence are used as the second target game records, for a total of 60 second target game records. Each second target game record corresponds to a game score. The sum of the game scores of the 60 second target game records is used as the chess strength score adjustment value of the user to be matched, which is recorded as ini adjust .

[0116] S213, determining the current chess strength score of the user to be matched according to the initial chess strength score and the chess strength score adjustment value, and matching the user to be matched with an opponent based on the current chess strength score.

[0117] The current chess skill score of the user to be matched is the sum of the initial chess skill score of the matching user and the chess skill score adjustment value, and the formula is expressed as:

[0118] ini 当前 =ini point +ini adjust

[0119] In the above formula, ini 当前 Indicates the current chess skill score of the user to be matched; ini point Indicates the initial chess skill score of the user to be matched at the target game timestamp; ini adjust The chess skill score adjustment value of the user to be matched.

[0120] The embodiment of the present application derives the current chess skill score of the user to be matched through a comprehensive analysis of multiple games, making the chess skill score more accurate and fair, and being able to promptly reflect changes as the user's level improves, thereby avoiding the lag of the chess skill score not being updated for a long time; it can accurately assess the user's chess skill level and ensure that the user plays against opponents of comparable skills, which can greatly enhance the user's competitive experience and enable the user to challenge suitable opponents.

[0121] Figure 3 This is a schematic diagram of an exemplary embodiment of a Go game opponent matching method shown in the present application, such as Figure 3 As shown, the Go game opponent matching method includes the following steps:

[0122] S301: Obtain a historical game record sequence corresponding to a user to be matched, wherein the historical game record sequence includes a plurality of historical game records arranged in the order of game timestamps.

[0123] S302: Determine a first target game record from a plurality of historical game records, obtain a target game timestamp corresponding to the first target game record, and obtain an initial chess skill score of the user to be matched corresponding to the target game timestamp.

[0124] S303: Taking a first target game record in the historical game record sequence and a historical game record following the first target game record as a second target game record, and determining a chess skill score adjustment value for the user to be matched based on game-related parameters of the second target game record.

[0125] S304: Determine the current chess skill score of the user to be matched based on the initial chess skill score and the chess skill score adjustment value.

[0126] Regarding the specific implementation of steps S301 to S304, please refer to the detailed introduction of the relevant parts in the above embodiment, which will not be repeated here.

[0127] S305: Determine the chess skill level of the user to be matched based on the current chess skill score.

[0128] The current chess skill score of the user to be matched is matched with the preset chess skill score interval, and the chess skill level corresponding to the matched chess skill score interval is used as the chess skill level of the user to be matched.

[0129] S306: Determine an opponent of the user to be matched from other users to be matched according to their chess skill levels and match the opponent to the user to be matched.

[0130] The embodiment of the present application derives the current chess skill score of the user to be matched through a comprehensive analysis of multiple games, making the chess skill score more accurate and fair, and being able to promptly reflect changes as the user's level improves, thereby avoiding the lag of the chess skill score not being updated for a long time; it can accurately assess the user's chess skill level and ensure that the user plays against opponents of comparable skills, which can greatly enhance the user's competitive experience and enable the user to challenge suitable opponents.

[0131] Figure 4 This is a schematic diagram of a Go game opponent matching device shown in this application. Figure 4As shown, the Go game opponent matching device 400 includes a first acquisition module 401, a second acquisition module 402, a determination module 403 and a matching module 404, wherein:

[0132] The first acquisition module 401 is configured to acquire a sequence of historical game records corresponding to a user to be matched, wherein the sequence of historical game records includes a plurality of historical game records arranged in the order of game timestamps.

[0133] The second acquisition module 402 is configured to determine a first target game record from a plurality of historical game records, obtain a target game timestamp corresponding to the first target game record, and obtain an initial chess skill score of the user to be matched corresponding to the target game timestamp.

[0134] The determination module 403 is configured to use a first target game record in the historical game record sequence and a historical game record following the first target game record as a second target game record, and determine a chess skill score adjustment value for the user to be matched based on game-related parameters of the second target game record.

[0135] The matching module 404 is used to determine the current chess strength score of the user to be matched according to the initial chess strength score and the chess strength score adjustment value, and match the user to be matched with an opponent based on the current chess strength score.

[0136] This device derives the current chess skill score of the user to be matched through comprehensive analysis of multiple games, making the chess skill score more accurate and fair, and can promptly reflect changes as the user's level improves, avoiding the lag of chess skill scores that have not been updated for a long time; it can accurately assess the user's chess skill level and ensure that he or she plays against opponents with similar skills, which can greatly enhance the user's competitive experience and enable him or her to challenge suitable opponents.

[0137] Furthermore, the second acquisition module 402 is further configured to: acquire the total number of historical game records in the historical game record sequence; set an offset threshold, and determine a first target game record from the plurality of historical game records based on the offset threshold and the total number of historical game records.

[0138] Furthermore, the second acquisition module 402 is also used to: obtain the Go-related rank of the user to be matched corresponding to the target game timestamp, the Go-related rank including the professional rank, amateur rank and platform rank corresponding to the user to be matched on each Go platform; determine the initial Go strength score of the user to be matched based on the Go-related rank.

[0139] Furthermore, the determination module 403 is further configured to: determine, for each second target chess record, the total number of moves of the user to be matched in the second target chess record, and calculate the value of each move of the user to be matched; divide the moves of the user to be matched in the second target chess record into multiple stages according to the total number of moves corresponding to the second target chess record, and assign a weight to each stage; calculate the move value score of the second target chess record according to the move value of each move of the user to be matched in the second target chess record and the stage weight of the stage to which each move belongs; determine the win / loss value score of the second target chess record according to the win / loss result corresponding to the second target chess record; determine the chess record score of the second target chess record according to the move value score and the win / loss value score corresponding to the second target chess record; and take the sum of the chess record scores of all the second target chess records as the chess strength score adjustment value of the user to be matched.

[0140] Furthermore, the determination module 403 is further configured to: obtain the tournament level and win / loss result corresponding to the second target chess record; and determine the win / loss value score of the second target chess record according to the tournament level and win / loss result.

[0141] Furthermore, the determination module 403 is further configured to: determine, based on artificial intelligence technology, first win rates corresponding to the first N recommended chess positions for the i-th move in the second target chess record; obtain a second win rate corresponding to the actual chess position corresponding to the i-th move in the second target chess record; obtain a preset weight array, wherein the weight array includes a weight corresponding to each of the first N selected moves; and calculate the move value of the i-th move based on the first win rates corresponding to the first N recommended chess positions for the i-th move, the second win rate corresponding to the actual chess position corresponding to the i-th move, and the weight array.

[0142] Furthermore, the matching module 404 is further configured to: determine the chess skill level of the user to be matched according to the current chess skill score; determine the opponent of the user to be matched from other users to be matched according to the chess skill level and match the opponent to the user to be matched.

[0143] In order to implement the above embodiment, the present application also provides an electronic device 500, such as Figure 5 As shown, the electronic device 500 includes: a processor 501 and a memory 502 communicatively connected to the processor, the memory 502 stores instructions that can be executed by at least one processor, and the instructions are executed by at least one processor 501 to implement the Go game opponent matching method as shown in the above embodiment.

[0144] In order to implement the above embodiment, the embodiment of the present application also proposes a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to enable a computer to implement the Go game opponent matching method as shown in the above embodiment.

[0145] To achieve the above-mentioned embodiments, the embodiments of the present application further provide a computer program product comprising a computer program, which, when executed by a processor, implements the opponent matching method for Weiqi game as shown in the above-mentioned embodiments.

[0146] In the description of the present application, it should be understood that the terms "center", "longitudinal", "transverse", "length", "width", "thickness", "upper", "lower", "front", "back", "left", "right", "vertical", "horizontal", "top", "bottom", "inner", "outer", "clockwise", "counterclockwise", "axial", "radial", "circumferential" and the like indicate the orientation or positional relationship shown in the drawings, which are only for convenience of describing the present application and simplifying the description, and do not indicate or imply that the device or element referred to must have a particular orientation, be constructed and operated in a particular orientation, and therefore cannot be understood as limiting the present application.

[0147] In addition, the terms "first", "second", "third", etc. are only used for descriptive purpose and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the technical features indicated. Therefore, the features defined with "first", "second", etc. can explicitly or implicitly include one or more of the features. In the description of the present application, the meaning of "a plurality of" is two or more, unless otherwise specifically limited.

[0148] In the description of the present application, the description referring to the terms "one embodiment", "some embodiments", "an example", "a specific example", or "some examples" and the like means that the specific features, structures, materials or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the present application. In the present specification, the illustrative description of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any appropriate manner in any one or more embodiments or examples. In addition, the person skilled in the art can combine and combine the different embodiments or examples described in the present specification and the features of the different embodiments or examples without contradiction.

[0149] Although the embodiments of the present application have been shown and described above, it should be understood that the above-mentioned embodiments are exemplary and cannot be understood as limiting the present application, and the person skilled in the art can make changes, modifications, replacements and variations to the above-mentioned embodiments within the scope of the present application.

Claims

1. A method for matching opponents in a Go game, characterized in that: include: Obtaining a historical game record sequence corresponding to the user to be matched, wherein the historical game record sequence includes multiple historical game records arranged in order of game timestamps; Determine a first target game record from the plurality of historical game records, obtain a target game timestamp corresponding to the first target game record, and obtain an initial chess skill score of the to-be-matched user corresponding to the target game timestamp; using the first target game record and the historical game records following the first target game record in the historical game record sequence as second target game records; For each second target chess game, determining the total number of moves made by the to-be-matched user in the second target chess game, and calculating the value of each move of the to-be-matched user; Dividing the number of moves of the user to be matched in the second target chess game into multiple stages according to the total number of moves corresponding to the second target chess game, and assigning a weight to each stage; Calculating a move value score of the second target chess record based on the move value of each move of the to-be-matched user in the second target chess record and the stage weight of the stage to which each move belongs; Determining the win / loss value of the second target game record according to the win / loss result corresponding to the second target game record; Determine a score of the second target chess record according to the move value points and the win / loss value points corresponding to the second target chess record; The sum of the game scores of all the second target game records is used as the game skill score adjustment value of the user to be matched; The current chess strength score of the user to be matched is determined according to the initial chess strength score and the chess strength score adjustment value, and the opponent is matched with the user to be matched based on the current chess strength score.

2. The method according to claim 1, characterized in that Determining a first target chess record from the plurality of historical chess records includes: Obtaining the total number of historical game records in the historical game record sequence; A deviation threshold is set, and the first target game record is determined from the plurality of historical game records according to the deviation threshold and the total number of the historical game records.

3. The method according to claim 2, characterized in that The step of obtaining the initial chess skill score of the to-be-matched user corresponding to the target game timestamp includes: Obtaining the Go-related rank of the to-be-matched user corresponding to the target game timestamp, the Go-related rank including the professional rank, amateur rank, and platform rank corresponding to each Go platform of the to-be-matched user; The initial Go skill score of the user to be matched is determined according to the Go-related rank.

4. The method according to any one of claims 1 to 3, characterized in that The step of determining the win / loss value of the second target chess record according to the win / loss result corresponding to the second target chess record includes: Obtaining the tournament level and win / loss result corresponding to the second target chess record; The win / loss value score of the second target chess record is determined according to the competition level and the win / loss result.

5. The method according to claim 4, characterized in that The calculating of the value of each move of the to-be-matched user includes: Determine, based on artificial intelligence technology, first win rates corresponding to the first N recommended chess positions for the i-th move in the second target chess record; Obtaining a second winning rate corresponding to the actual chess position corresponding to the i-th chess move in the second target chess record; Obtain a preset weight array, wherein the weight array includes a weight corresponding to each of the first N selections; The move value of the i-th move is calculated based on the first winning rates corresponding to the first N recommended chess positions for the i-th move, the second winning rates corresponding to the actual chess positions corresponding to the i-th move, and the weight array.

6. The method according to claim 5, characterized in that The matching of the to-be-matched user with an opponent based on the current chess skill score includes: Determine the chess skill level of the user to be matched according to the current chess skill score; An opponent of the user to be matched is determined from other users to be matched according to the chess skill level and matched with the user to be matched.

7. A Go game opponent matching device, characterized in that: include: A first acquisition module is configured to acquire a sequence of historical game records corresponding to a user to be matched, wherein the sequence of historical game records includes a plurality of historical game records arranged in the order of game timestamps; a second acquisition module, configured to determine a first target game record from the plurality of historical game records, obtain a target game timestamp corresponding to the first target game record, and obtain an initial chess skill score of the to-be-matched user corresponding to the target game timestamp; a determination module configured to use the first target game record and the historical game records following the first target game record in the sequence of historical game records as second target game records, and for each second target game record, determine the total number of moves played by the user to be matched in the second target game record, and calculate the move value of each move of the user to be matched; divide the moves of the user to be matched in the second target game record into multiple stages based on the total number of moves corresponding to the second target game record, and assign a weight to each stage; calculate the move value score of the second target game record based on the move value of each move of the user to be matched in the second target game record and the stage weight of the stage to which each move belongs; determine the win / loss value score of the second target game record based on the win / loss result corresponding to the second target game record; determine the game score of the second target game record based on the move value score and the win / loss value score corresponding to the second target game record; and take the sum of the game scores of all the second target game records as the chess skill score adjustment value of the user to be matched; A matching module is used to determine the current chess strength score of the user to be matched according to the initial chess strength score and the chess strength score adjustment value, and match the user to be matched with an opponent based on the current chess strength score.

8. An electronic device comprising: at least one processor; as well as, a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 6.

9. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to cause the computer to execute the method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Man-machine chess playing method and device, equipment and storage medium

    CN113509713A

  • Game data processing method and device, equipment, storage medium and program product

    CN118649422A