Go playing opponent matching method and device

By analyzing the user's historical Go game score and calculating the current chess score, the problem of low accuracy in opponent matching in the existing technology is solved, and a more accurate and fair chess score and chess experience is achieved.

CN119746419AActive Publication Date: 2025-04-04CCTEG COAL MINING RES INST
View PDF 9 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

Existing Go chess platforms have the problem of low accuracy in opponent matching, especially in high-level chess or matching between beginners and advanced people, which is difficult to provide balanced challenges.

Method used

By obtaining the historical chess score sequence of the user to be matched, determining the relevant parameters of the target chess score and chess score, calculating the initial chess score and chess score adjustment values, and then determining the current chess score, and matching the opponent based on this.

Benefits of technology

It improves the accuracy and fairness of chess ratings, can promptly reflect changes in user level, ensure that users play games with opponents with comparable technical skills, thereby improving the competitive experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119746419A_ABST
    Figure CN119746419A_ABST
Patent Text Reader

Abstract

The invention provides a Go playing opponent matching method and device, and relates to the technical field of data processing. According to the method, a historical chess playing manual sequence corresponding to a to-be-matched user is obtained, and the historical chess playing manual sequence comprises a plurality of historical chess playing manual arranged according to the sequence of chess playing timestamps; determining a first target chess manual from the plurality of historical chess-playing chess manual, obtaining a target chess-playing timestamp corresponding to the first target chess manual, and obtaining an initial chess strength score corresponding to the target chess-playing timestamp of the to-be-matched user; taking a first target chess manual in the historical chess manual sequence and a historical chess manual after the first target chess manual as a second target chess manual, and determining a chess strength score adjustment value of the to-be-matched user based on chess manual related parameters of the second target chess manual; and determining a current chess strength score of the to-be-matched user according to the initial chess strength score and the chess strength score adjustment value, and performing opponent matching on the to-be-matched user 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 technology, Go, as a complex board game, has gradually become a hot topic in intelligent algorithm research. The game of Go not only tests the strategic thinking and reaction ability of the players, but also places extremely high demands on the computing power of artificial intelligence. Existing Go game platforms usually match opponents based on information such as the player's level and historical record to ensure the fairness and competitiveness of the game. However, the existing matching methods have certain limitations. For example, the accuracy of opponent matching is low, which may lead to a poor player experience, especially in high-level games or in the matching of beginners and advanced players, and it is 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 some extent.

[0004] To this end, one purpose of the present application is to propose a method for matching opponents in a Go game, comprising: 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 record from the multiple historical game records, and obtaining a target game timestamp corresponding to the first target record, and obtaining an initial chess strength score of the user to be matched corresponding to the target game timestamp; taking the first target record in the sequence of historical game records and the historical game records after the first target record as second target records, and determining a chess strength score adjustment value of the user to be matched based on record-related parameters of the second target 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.

[0005] The second purpose of the present application is to provide an opponent matching device for playing Go.

[0006] The third objective of the present 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 the present application is to provide a computer program product.

[0009] To achieve the above-mentioned purpose, the first aspect of the present application proposes a method for matching opponents in a Go game, comprising: 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; taking the first target game record in the sequence of historical game records and the historical game records after the first target game record as second target game records, and determining a chess strength score adjustment value of the user to be matched based on the 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 chess record from a plurality of historical chess game records includes: obtaining the total number of historical chess game records in a sequence of historical chess game records; setting an offset threshold, and determining the first target chess record from the plurality of historical chess game records according to the offset threshold and the total number of historical chess 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 according to the Go-related rank.

[0012] According to an 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-loss value score of the second target chess record according to the win-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-loss value score corresponding to the second target chess record; and taking the sum of the chess record scores of all second target chess records as the chess strength score adjustment value of the user to be matched.

[0013] According to an embodiment of the present application, determining the victory or defeat value score of the second target chess record according to the victory or defeat result corresponding to the second target chess record includes: obtaining the event level and victory or defeat result corresponding to the second target chess record; and determining the victory or defeat value score of the second target chess record according to the event level and victory or defeat result.

[0014] According to an embodiment of the present application, the value of each chess move of the to-be-matched user is calculated, including: based on artificial intelligence technology, determining the first winning rates corresponding to the first N recommended chess positions of the ith chess move in the second target chess record; obtaining the second winning rate corresponding to the real chess position corresponding to the ith chess move in the second target chess record; obtaining a preset weight array, the weight array including the weight corresponding to each of the first N choices; calculating the value of the move of the ith chess move according to the first winning rates corresponding to the first N recommended chess positions of the ith chess move, the second winning rate corresponding to the real chess position corresponding to the ith chess move, and the weight array.

[0015] According to one embodiment of the present application, matching opponents for users to be matched based on current chess strength scores includes: determining the chess strength level of the user to be matched based on the current chess strength score; determining opponents 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 aspect of the present application proposes a Go 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 the chess strength score adjustment value of the user to be matched based on the 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 according to the initial chess strength score and the chess strength score adjustment value, and match the opponent of the user to be matched 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 corresponding platform rank on each Go platform corresponding to 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 an embodiment of the present application, the determination module is further used to: determine the total number of chess moves of the to-be-matched user in the second target chess record for each second target chess record, and calculate the value of each move of the to-be-matched user; divide the number of 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 an embodiment of the present application, the determination module is further used 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 the win-loss result.

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

[0022] According to one embodiment of the present application, the matching module is further used to: determine the chess level of the user to be matched according to the current chess level score; determine the opponent of the user to be matched from other users to be matched according to the chess 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 executable by the at least one processor, and the instructions are executed by the at least one processor to implement the opponent matching method for the Go game as described in the first aspect embodiment of the present application.

[0024] To achieve the above-mentioned purpose, the fourth aspect embodiment of the present application proposes a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to implement the opponent matching method for Go games as described in the first aspect embodiment of the present application.

[0025] To achieve the above-mentioned purpose, the fifth aspect embodiment of the present application proposes a computer program product, including a computer program, which, when executed by a processor, implements the opponent matching method for Go games as described in the first aspect embodiment of the present application.

[0026] The present application achieves at least the following beneficial effects: the present application derives the current chess strength score of the user to be matched through comprehensive analysis of multiple games, making the chess strength score more accurate and fair, and can promptly reflect changes as the user's level improves, avoiding the lag of the chess strength score not being updated for a long time; it can accurately evaluate the user's chess strength level and ensure that he or she plays against opponents with equivalent skills, which can greatly enhance the user's competitive experience and enable the user to challenge suitable opponents. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] The above and / or additional aspects and advantages of the present application will become apparent and easily understood from the following description of the embodiments in conjunction with the accompanying drawings, in which:

[0028] Figure 1 It is a schematic diagram of an exemplary implementation of a method for matching opponents in a Go game shown in an embodiment of the present application.

[0029] Figure 2 It is a schematic diagram of an exemplary implementation of a method for matching opponents in a Go game shown in an embodiment of the present application.

[0030] Figure 3 It is a schematic diagram of an exemplary implementation of a method for matching opponents in a Go game shown in an embodiment of the present application.

[0031] Figure 4 It is a schematic diagram of an opponent matching device for a Go game shown in an embodiment of the present application.

[0032] Figure 5 It is a schematic diagram of an electronic device shown in one embodiment of the present application. DETAILED DESCRIPTION

[0033] Embodiments of the present application are described in detail below, and examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are intended to be used to explain the present application, and should not be construed as limiting 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 relevant laws, regulations and standards of relevant countries and regions.

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

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

[0037] Taking user A as an example, first collect multiple historical game records of user A and obtain the game timestamp corresponding to each historical game record. Then, according to the time sequence of the game timestamps, arrange the multiple historical game records of user A in chronological order 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 chess record from a plurality of historical chess records, obtaining a target game timestamp corresponding to the first target chess record, and obtaining an initial chess skill score of the to-be-matched user corresponding to the target game timestamp.

[0041] In the present application, a shift threshold may be set, and a first target chess record may be determined from multiple historical chess records based on the shift threshold and the total number of historical chess 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 taken 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 strength score of the to-be-matched user 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, 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, and assuming that the target game timestamp corresponding to the obtained 41st historical game record is 8:00 on January 1, 2024, then the relevant ranks of the user to be matched in various competitions or online Go platforms at 8:00 on January 1, 2024 are 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 ranks.

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

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

[0046] In some embodiments, after determining the second target chess record, the chess record related parameters of each second target chess record are obtained, for example, the win or loss result of each second target chess record is obtained, a win is recorded as plus 10 points, a loss is recorded as minus 10 points, and so on, until the total score of all second target chess records is obtained, and the total score is used as the chess strength 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 chess strength score and the chess strength score adjustment value of the user to be matched is used as the current chess strength score of the user to be matched. For example, if the initial chess strength score of user A is 80 points and the chess strength score adjustment value is 300 points, then the current chess strength score of user A 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 an 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 their current chess skill scores are closest, user A and user B are matched as opponents.

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

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

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

[0053] S202, obtaining the total number of historical chess game records in the historical chess 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, setting a shift threshold, and determining a first target chess record from a plurality of historical chess records according to the shift threshold and the total number of historical chess 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, 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, obtaining 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 to-be-matched user corresponding to the target game timestamp.

[0061] Obtain the Go-related rank of the user to be matched corresponding to the target game timestamp, where 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 strength score of the user to be matched according to the Go-related rank.

[0062] In practice, the rank value ranges from 18 to 1 (the higher the rank, the lower the chess skill, 1 can be understood as -1 rank, 2 as -2 rank, and so on), 1 to 10 rank (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 chess 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 network 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 level of the occupation rank; w point Indicates the initial level of the platform; a point 、p point 、w pointThe values ​​of the three may be equal or unequal; in some embodiments, λ1 may be set to 1; λ2 may be set to 1.5; and λ3 may be set to 1.

[0068] S206: Use the first target chess record in the historical chess record sequence and the historical chess record after the first target chess record as the second target chess record.

[0069] After the first target chess record is determined as described above, the first target chess record in the historical chess record sequence and the historical chess record after the first target chess record are used as second target chess records, that is, the M×a+1th to Mth historical chess records in the historical chess record sequence are used as second target chess records.

[0070] Continuing with the example that 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, the 41st to 100th historical game records in the historical game record sequence corresponding to user A are taken as the second target records.

[0071] S207, for each second target chess record, determining the total number of moves made by the to-be-matched user in the second target chess record, and calculating the value of each move of the to-be-matched user.

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

[0073] The first step is to determine the first winning rates corresponding to the first N recommended chess positions for the i-th move in the second target chess record based on artificial intelligence technology (here, the pre-trained Go AI value network can be used). Take the first 10 choices as an example, that is, the total number of moves of the user to be matched in the second target chess record is n steps, and each step corresponds to the first winning rate of the first 10 choices predicted by AI, which can be stored in a two-dimensional array of dimension 10*n, recorded as ai_rate[n]

[10] .

[0074] The second step is to obtain the second winning rate corresponding to the real chess position corresponding to the i-th move in the second target chess record based on artificial intelligence technology (and also obtain the second winning rate corresponding to the real chess position of the i-th move of the user to be matched based on the Go AI value network analysis generated by pre-training). That is, the total number of moves of the user to be matched in the second target chess record is n, and each real position corresponds to 1 second winning rate, which can be stored in an array of dimension n, recorded as real_rate[n].

[0075] The "win rate" in the first win rate and the second win rate mentioned above refers to the probability of winning in future games if the player chooses to play the game in a certain game state. The win rate is usually expressed as a percentage.

[0076] The third step is to obtain the preset weight array, which includes the weight corresponding to each of the first N selections. Continuing with the example of the first N selections being the first 10 selections, the weights of the first 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 rate 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. If we continue to take the first N choices as the first 10 choices, that is, take N = 10, the calculation formula for the move value of the i-th move in the second target chess record is:

[0078]

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

[0080] Since the winning rate is expressed in percentage, the value of the move at the i-th move is also expressed in 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 small 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 leads to a certain degree of decrease in the winning rate, causing the situation to be unfavorable.

[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 one, a very bad one.

[0087] 7. If 70% ≤ value[i] < 100%, it indicates that this move is a blunder, a move that directly leads to defeat.

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

[0089] S208. Divide the number of steps of the user to be matched in the second target chess score into multiple stages according to the total number of steps in the second target chess score, and assign weights to each stage.

[0090] In some embodiments, the number of steps of the user to be matched in the second target chess score is successively divided into the layout, middle game, and endgame stages. To avoid the influence of different values in the layout, middle game, or endgame stages on the value of the move, in this application, weights are assigned to each stage, denoted 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 relatively low.

[0093] 2. Middle game: It is crucial for decision-making, so the weight α2 is set relatively high.

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

[0095] Among them, the number of steps in the layout, middle game, and endgame stages are represented by the functions f1(n), f2(n), and f3(n) respectively, and 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 the actual situation.

[0101] S209. Calculate the move value score of the second target chess score according to the move value of each move of the user to be matched in the second target chess score and the stage weight of each move belonging to the stage.

[0102] For any second target chess score sheet, when 0 < n ≤ 50, the calculation formula for the move value score of the second target chess score sheet is:

[0103]

[0104] For any second target chess score sheet, when 50 < n, the calculation formula for the move value score of the second target chess score sheet is:

[0105]

[0106] In the above formula, move score represents the move value score of a certain second target chess score sheet; α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 move of the user to be matched in the second target chess score sheet; i represents the i-th move, 1 ≤ i ≤ n.

[0107] S210. Determine the win-loss value score of the second target chess score sheet according to the win-loss result corresponding to the second target chess score sheet.

[0108] For any second target chess score sheet, obtain the tournament level (such as world championships, domestic championships, Chinese Chess League, amateur competitions, online games on different gaming websites, etc.) and the win-loss result corresponding to the second target chess score sheet; and determine the win-loss value score of the second target chess score sheet according to the tournament level and the win-loss result, and record it as winning score . Among them, different tournament levels can set different win-loss scores.

[0109] Exemplarily, if a certain second target chess score sheet is the chess score sheet recorded for the user to be matched in the Chinese Chess League, if the game result of the second target chess score sheet is that the user to be matched wins, 10 points will be added; if the game result of the second target chess score sheet is that the user to be matched loses, 10 points will be deducted; if the game result of the second target chess score sheet is a draw between the two sides, it will be recorded as 0 points; if a certain second target chess score sheet is the chess score sheet recorded for the user to be matched on an entertainment Go platform, if the game result of the second target chess score sheet is that the user to be matched wins, 7 points will be added; if the game result of the second target chess score sheet is that the user to be matched loses, 7 points will be deducted; if the game result of the second target chess score sheet is a draw between the two sides, it will be recorded as 0 points.

[0110] S211. Determine the chess score sheet score of the second target chess score sheet according to the move value score and the win-loss value score corresponding to the second target chess score sheet.

[0111] For any second target chess record, the above steps determine the move value points and win / loss value points corresponding to the second target chess record. 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 record, the calculation formula for the chess record score of the second target chess record 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 strength score adjustment value of the to-be-matched user.

[0115] Exemplarily, the 41st to 100th historical game records in the historical game record sequence are continued to be used as the second target game records, with a total of 60 second target game records. Each second target game record corresponds to a game record score. The sum of the game record 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 strength score of the user to be matched is the sum of the initial chess strength score of the matched user and the chess strength 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 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 strength score of the user to be matched through a comprehensive analysis of multiple games, so that the chess strength score is more accurate and fair, and can promptly reflect changes as the user's level improves, avoiding the lag of the chess strength score not being updated for a long time; it can accurately evaluate the user's chess strength level and ensure that he or she plays against opponents with equivalent skills, which can greatly enhance the user's competitive experience and enable the user to challenge suitable opponents.

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

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

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

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

[0125] S304, 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.

[0126] Regarding the specific implementation of steps S301 to S304, reference may be made to the specific introduction of the relevant parts in the above embodiments, which will not be elaborated here.

[0127] S305, determining the chess skill level of the user to be matched according to 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, determining an opponent of the user to be matched from other users to be matched according to the chess skill level and matching the opponent to the user to be matched.

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

[0131] Figure 4 Schematic diagram of a Go opponent matching device shown in the present application, such as 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 used to acquire a sequence of historical game records corresponding to the 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 used to determine a first target chess record from multiple historical chess game records, and obtain a target game timestamp corresponding to the first target chess record, and obtain an initial chess skill score of the to-be-matched user corresponding to the target game timestamp.

[0134] The determination module 403 is used to use the first target chess record in the historical chess record sequence and the historical chess record after the first target chess record as the second target chess record, and determine the chess strength score adjustment value of the to-be-matched user based on the chess record related parameters of the second target chess 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 opponent of the user to be matched based on the current chess strength score.

[0136] This device derives the current chess strength score of the user to be matched through comprehensive analysis of multiple games, making the chess strength score more accurate and fair, and can promptly reflect changes as the user's level improves, avoiding the lag of the chess strength score not being updated for a long time; it can accurately evaluate the user's chess strength level and ensure that he or she plays against opponents with equivalent 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 multiple historical game records according to 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 according to the Go-related rank.

[0139] Furthermore, the determination module 403 is also used to: determine the total number of chess moves of the to-be-matched user in the second target chess record for each second target chess record, and calculate the value of each move of the to-be-matched user; divide the number of 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.

[0140] Furthermore, the determination module 403 is further used to: obtain the tournament level and the 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 the win-loss result.

[0141] Furthermore, the determination module 403 is also used to: determine the first winning rates corresponding to the first N recommended chess positions for the i-th step in the second target chess record based on artificial intelligence technology; obtain the second winning rate corresponding to the actual chess position corresponding to the i-th step in the second target chess record; obtain a preset weight array, the weight array including the weight corresponding to each of the first N choices; calculate the move value of the i-th step according to the first winning rates corresponding to the first N recommended chess positions for the i-th step, the second winning rate corresponding to the actual chess position corresponding to the i-th step, and the weight array.

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

[0143] In order to implement the above embodiment, the present application embodiment also proposes 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 executable by at least one processor, and the instructions are executed by at least one processor 501 to implement the opponent matching method for Go games 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 the computer to implement the opponent matching method for the Go game as shown in the above embodiment.

[0145] In order to implement the above embodiments, the embodiments of the present application also propose a computer program product, including a computer program, which, when executed by a processor, implements the opponent matching method for the Go game as shown in the above embodiments.

[0146] In the description of the present application, it should be understood that the terms "center", "longitudinal", "lateral", "length", "width", "thickness", "up", "down", "front", "back", "left", "right", "vertical", "horizontal", "top", "bottom", "inside", "outside", "clockwise", "counterclockwise", "axial", "radial", "circumferential" and the like indicate orientations or positional relationships based on the orientations or positional relationships shown in the accompanying drawings, and are only for the convenience of describing the present application and simplifying the description, and do not indicate or imply that the referred device or element must have a specific orientation, be constructed and operated in a specific orientation, and therefore should not be understood as a limitation on the present application.

[0147] In addition, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features. In the description of this application, the meaning of "plurality" is two or more, unless otherwise clearly and specifically defined.

[0148] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present application. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine the different embodiments or examples described in this 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 can be understood that the above embodiments are exemplary and cannot be understood as limitations on the present application. Ordinary technicians in this field can change, modify, replace and modify the above 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 a plurality of historical game records arranged in the order of game timestamps; Determine a first target chess record from the multiple historical chess records, obtain a target game timestamp corresponding to the first target chess record, and obtain an initial chess skill score of the to-be-matched user corresponding to the target game timestamp; The first target chess record in the historical chess record sequence and the historical chess record after the first target chess record are used as second target chess records, and the chess skill score adjustment value of the to-be-matched user is determined based on the record-related parameters of the second target chess record; 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 matching is performed for the user to be matched based on the current chess strength score.

2. The method according to claim 1, characterized in that The step of determining a first target chess record from the plurality of historical chess records comprises: Obtaining the total number of historical chess game records in the historical chess game record sequence; A deviation threshold is set, and the first target chess record is determined from the plurality of historical chess records according to the deviation threshold and the total number of the historical chess 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: Obtain the Go-related rank of the to-be-matched user corresponding to the target game timestamp, wherein the Go-related rank includes 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 claim 3, characterized in that The step of determining the chess skill score adjustment value of the to-be-matched user based on the chess record related parameters of the second target chess record includes: For each of the second target chess records, determine the total number of moves made by the to-be-matched user in the second target chess record, and calculate the value of each move of the to-be-matched user; Dividing the number of moves of the to-be-matched user in the second target chess record into multiple stages according to the total number of moves corresponding to the second target chess record, and assigning 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 victory or defeat value score of the second target chess record according to the victory or defeat result corresponding to the second target chess record; Determine the chess record 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 to-be-matched user.

5. The method according to claim 4, characterized in that The step of determining the victory or defeat value of the second target chess record according to the victory or defeat result corresponding to the second target chess record comprises: Obtaining the tournament level and win / loss result corresponding to the second target chess record; The victory and defeat value score of the second target chess record is determined according to the competition level and the victory and defeat result.

6. The method according to claim 5, characterized in that The calculating the value of each move of the to-be-matched user includes: Based on artificial intelligence technology, determine the first winning 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 a real 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.

7. The method according to claim 6, 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 to-be-matched user 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.

8. A Go opponent matching device, characterized in that: include: A first acquisition module is used to acquire a sequence of historical game records corresponding to the 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 is used to determine a first target chess record from the multiple historical chess records, and obtain a target game timestamp corresponding to the first target chess 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 chess record in the historical chess record sequence and the historical chess record after the first target chess record as the second target chess record, and determine the chess skill score adjustment value of the to-be-matched user based on the chess record-related parameters of the second target chess record; 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 to match the user to be matched with an opponent based on the current chess strength score.

9. 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 7.

10. 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-7.

Citation Information

Patent Citations

  • Game interface display method, device and equipment in terminal and storage medium

    CN108888950A

  • Game user matching method and device, electronic equipment and storage medium

    CN112426724A

  • Chess self-learning method and device based on machine learning

    CN113318451A

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

    CN113509713A

  • Go set chess playing method and device, electronic equipment and storage medium

    CN113934766A