Chess replay analysis method and device, electronic equipment and storage medium
By detecting and analyzing the actual position and winning rate value of each moving step in the Go game, the problem that the chess analysis results in the existing technology are difficult to explain knowledgeably, and the comprehensive review and analysis of the chess game is realized, and Go learning is improved. Efficiency and chess power.
Patent Information
- Application Number
- CN202411299713.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-18
- Publication Date
- 2024-12-20
AI Technical Summary
The existing Go engine devices are mainly based on the number of mesh or winning rate in chess game analysis, making it difficult to achieve knowledge-based explanations, resulting in high teaching costs and difficulty in improving chess power through independent learning.
By detecting the actual position and winning rate of each moving step in the chess game, perform chess trend analysis and good and bad hands analysis, generate review analysis results, and improve the comprehensiveness and objectivity of the analysis results.
It realizes a comprehensive review and analysis of the chess game, improves learning efficiency, and helps chess players to independently improve their chess skills.
Smart Images

Figure CN119158249A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of image processing technology, and in particular to a chess game review and analysis method, device, electronic equipment and storage medium. Background Art
[0002] Go is an excellent thinking training activity. By learning Go, you can strengthen the orderliness and logic of thinking, help children concentrate, and cultivate children's ability to think independently and solve problems independently.
[0003] "Replay" (also called "re-game") refers to replaying the record of a Go game after it is over, in order to check the pros and cons and gains and losses of the moves in the game, thereby helping players improve their game skills and strategy, and thus achieving the effect of improving their Go strength.
[0004] Most of the current Go engine devices only analyze the game based on the number of points or the winning rate. The knowledge-based explanation of the analysis results still needs to be achieved through oral explanation by the teacher, which leads to an increase in teaching costs. At the same time, it is difficult to achieve the goal of improving the level of Go through independent learning. Summary of the invention
[0005] In view of this, the embodiments of the present disclosure provide a chess game review and analysis method, device, electronic device, and storage medium to at least partially solve the above-mentioned problems.
[0006] According to a first aspect of an embodiment of the present disclosure, a chess game replay analysis method is provided, comprising: detecting the actual position of one's own chess piece at each move of one's own side and the actual position of the opponent's chess piece at each move of the opponent in the chess game, obtaining the actual winning rate value of one's own side, the best position of one's own chess piece and the best winning rate value of one's own side, and the actual winning rate value of the opponent's side at each move of the opponent; performing one's own chess move trend analysis according to the actual winning rate value of one's own side at each move of one's own side, and obtaining each trend segment of one's own side; performing analysis according to the actual winning rate value of one's own side and the best position of one's own chess piece at each move of one's own side, the actual winning rate value of the opponent at each move of the opponent, and each trend segment, and obtaining each good hand of one's own side and each bad hand of one's own side in each move of one's own side, and each good hand of the opponent in each move of the opponent; performing replay analysis according to the actual winning rate value of one's own side at each move of one's own side, the trend segments of one's own side, each good hand of one's own side, each bad hand of one's own side, and each good hand of the opponent, and obtaining the replay analysis result of the chess game.
[0007] According to a second aspect of the embodiments of the present disclosure, a chess game review and analysis device is provided, comprising: a detection module, used to detect the actual position of the player's own chess piece at each move of the player's own chess piece and the actual position of the opponent's chess piece at each move of the opponent's chess piece in the chess game, and obtain the actual winning rate value of the player's own chess piece, the best position of the player's own chess piece and the best winning rate value of the player's own chess piece for each move of the player's own chess piece, and the actual winning rate value of the opponent's chess piece for each move of the opponent's chess piece; a trend analysis module, used to perform the trend analysis of the player's own chess piece according to the actual winning rate value of each move of the player's own chess piece, and obtain the trend analysis of the player's own chess piece. a single-step analysis module, for performing analysis according to the actual winning rate value of the own side and the best position of the own side in each moving step of the own side, the actual winning rate value of the opponent in each moving step of the opponent, and each trend segment, to obtain each good hand of the own side and each bad hand of the own side in each moving step of the own side, and each good hand of the opponent in each moving step of the opponent; a replay analysis module, for performing replay analysis according to the actual winning rate value of the own side in each moving step of the own side, each trend segment of the own side, each good hand of the own side, each bad hand of the own side, and each good hand of the opponent, to obtain the replay analysis result of the chess game.
[0008] According to a third aspect of an embodiment of the present disclosure, there is provided an electronic device, comprising: a processor; and a memory for storing a program, wherein the program comprises instructions, which, when executed by the processor, cause the processor to execute the chess game review and analysis method described in the first aspect above.
[0009] According to a fourth aspect of an embodiment of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable the computer to execute the chess game review and analysis method as described in the first aspect.
[0010] In summary, the chess game review and analysis solution provided by various aspects of the present disclosure detects the actual placement of the two players in the chess game corresponding to each move, analyzes the various trend segments of the chess game and the good and bad moves of both players, and performs a comprehensive review and analysis of the chess game through multiple dimensions to improve the comprehensiveness and objectivity of the chess game analysis results, which helps to improve the effect of Go learning. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] Further details, features and advantages of the present disclosure are disclosed in the following description of exemplary embodiments in conjunction with the accompanying drawings, in which:
[0012] Figure 1 It is a processing flow chart of the chess game review and analysis method of the exemplary embodiment of the present disclosure.
[0013] Figure 2 It is a processing flow chart of a chess game review and analysis method according to another exemplary embodiment of the present disclosure.
[0014] Figure 3It is a processing flow chart of a chess game review and analysis method according to another exemplary embodiment of the present disclosure.
[0015] Figure 4 It is a processing flow chart of a chess game review and analysis method according to another exemplary embodiment of the present disclosure.
[0016] FIG. 5A to FIG. 5B It is a schematic diagram of the application of the chess game review and analysis method of the exemplary embodiment of the present disclosure.
[0017] Figure 6 It is a structural block diagram of a chess game review and analysis device according to an exemplary embodiment of the present disclosure.
[0018] Figure 7 It is a schematic diagram of the architecture of an electronic device according to an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION
[0019] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments described herein, which are instead provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.
[0020] It should be understood that the various steps described in the method embodiments of the present disclosure may be performed in different orders and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this respect.
[0021] The term "including" and its variations used in this document are open inclusions, that is, "including but not limited to". The term "based on" means "based at least in part on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one other embodiment"; the term "some embodiments" means "at least some embodiments". Relevant definitions of other terms will be given in the description below. It should be noted that the concepts of "first", "second", etc. mentioned in this disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.
[0022] It should be noted that the modifications of "one" and "multiple" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, it should be understood as "one or more". The names of the messages or information exchanged between the multiple devices in the embodiments of the present disclosure are only for illustrative purposes and are not used to limit the scope of these messages or information.
[0023] The specific implementation of each embodiment of the present disclosure will be described in detail below in conjunction with the accompanying drawings.
[0024] Figure 1 This is a processing flow chart of a chess game review analysis method according to an exemplary embodiment of the present disclosure. As shown in the figure, this embodiment mainly includes the following steps:
[0025] Step 102, detect the actual position of the player's chess piece at each move of the player's chess piece and the actual position of the opponent's chess piece at each move of the opponent's chess piece, and obtain the actual winning rate value of the player's chess piece at each move of the player's chess piece, the best position of the player's chess piece and the best winning rate value of the player's chess piece, and the actual winning rate value of the opponent's chess piece at each move of the opponent's chess piece.
[0026] In this embodiment, the chess game includes a Go game, the player's chess piece is one of the black and white pieces, and the opponent's chess piece is the other of the black and white pieces.
[0027] In some embodiments, a chess game format file (for example, an SGF format file) can be parsed to obtain the actual position of one's own piece for each move of one's own side and the actual position of the opponent's piece for each move of the opponent in the game. A game prediction model is used to perform predictions based on the actual position of one's own piece for each move of one's own side to obtain one's actual winning rate value for each move of one's own side, one's best position of one's own side, and one's best winning rate value corresponding to one's best position of one's own side. A prediction is also performed based on the actual position of the opponent's piece for each move of the opponent to obtain the opponent's actual winning rate value for each move of the opponent.
[0028] Step 104: Perform chess trend analysis on your own side according to your own actual winning rate value of each move to obtain your own trend segments.
[0029] In some embodiments, the actual winning rate value of each own move step can be arranged in order according to the execution order of each own move step to obtain a own winning rate sequence, and each own move step can be divided into each own opening move step and each own final move step. According to a given initial upper limit threshold, a given initial lower limit threshold, and a given initial average threshold, the actual winning rate value of each own opening move step is traversed to obtain a trend segment of the chess game corresponding to the opening stage, and a sliding window is used to traverse each own actual winning rate value in the own winning rate sequence, and the smoothed winning rate value of each own final move step is calculated to obtain at least one trend segment of the chess game corresponding to the final stage.
[0030] Specifically, since it is difficult to accumulate enough game data in the initial state, the chess-playing process can be divided into the opening stage and the final stage (including the middle game and the closing game). Among them, auxiliary features are used for trend analysis in the opening stage to improve the accuracy of trend segmentation.
[0031] For example, the first 30 own moves of the opening game can be used to determine the own opening sequence corresponding to the opening stage. It should be noted that the number of own moves included in the own opening sequence is not limited to 30 and can be adjusted arbitrarily according to actual analysis requirements.
[0032] Step 106, according to the actual winning rate value of the own side and the best position of the own side in each moving step, the actual winning rate value of the opponent in each moving step of the opponent, and each trend segment analysis, obtain each good hand and each bad hand of the own side in each moving step of the own side, and each good hand of the opponent in each moving step of the opponent.
[0033] In some embodiments, from each own move step and each opponent move step in the chess game, each own target step and each opponent target step that fall into the analysis interval are determined, and analysis is performed based on the opponent's actual win rate value of each opponent's target step to determine each opponent's good player in each opponent's target step, and analysis is performed based on one's actual win rate value of each own target step, one's best move position, one's best win rate value, each trend segment, and each opponent's good player to determine each own good player and each own bad player in each own target step.
[0034] Exemplarily, based on the diversity of early board changes, a moving step among each of the own moving steps and each of the opponent's moving steps that meets a given initial number of moving steps can be determined as the starting position of the analysis interval. For example, according to the execution order of each of the own moving steps and each of the opponent's moving steps, the 11th moving step is determined as the first moving step in the analysis interval.
[0035] In this embodiment, in order to avoid meaningless late-stage situations where the analysis trend has been determined and filter out steps where both sides have obvious advantages, a reverse scanning method can be used to obtain an actual winning rate value of one's own side or an actual winning rate value of the opponent that meets the given terminal winning rate condition as the terminal position of the analysis interval.
[0036] Exemplarily, if the actual winning rate value of the last move among each of the own moves and each of the opponent's moves is higher than the given upper limit of the winning rate or lower than the given lower limit of the winning rate, then search forward until a move step whose actual winning rate value is between the given lower limit of the winning rate and the given upper limit of the winning rate is found as the last move step in the analysis interval.
[0037] Step 108, perform a re-analysis based on the actual winning rate value of each move of the own side, each trend segment of the own side, each good move of the own side, each bad move of the own side, and each good move of the opponent side to obtain the re-analysis result of the chess game.
[0038] In some embodiments, a first analysis process may be performed based on the actual winning rate value of each move of the own side to obtain a first analysis sub-result of the chess game, a second analysis process may be performed based on each trend segment, each good move of the own side, each bad move of the own side, and each bad move of the opponent to obtain a second analysis sub-result of the chess game, and a third analysis process may be performed based on each optimal move prediction sequence corresponding to each bad move of the own side to obtain a third analysis sub-result of the chess game. The first analysis sub-result, the second analysis sub-result, and the third analysis sub-result may be spliced to obtain a replay analysis result of the chess game.
[0039] In some embodiments, the actual win rate value of each move of the player in the game can be resampled to perform data standardization processing to obtain each actual win rate sample value of the player in the game. Each actual win rate sample value of the player can be input into a pre-trained classification model to perform classification prediction, so as to determine a target classification result from each classification label of the classification model, and obtain the replay analysis and comment content (e.g., an overview of the overall chess process) matching the target classification result from a given classification comment template to obtain the first analysis sub-result of the game.
[0040] To summarize, this embodiment performs a review analysis of the chess game based on multiple dimensions by analyzing the actual winning rate value of each of the team's moves, the team's various trend segments, the team's good hands, the team's bad hands, and the opponent's good hands. It automatically gains insight into the chess game situation, realizes a comprehensive analysis of the chess game, improves the comprehensiveness and objectivity of the chess game analysis results, solves the problem of learners' independent review, and greatly improves learning efficiency.
[0041] Figure 2 This is a processing flow of a chess game review analysis method according to another exemplary embodiment of the present disclosure. This embodiment is a specific implementation of the above step 104.
[0042] As shown in the figure, this embodiment mainly includes the following steps:
[0043] Step 202, according to the execution order of each own move step, arrange the own actual winning rate value of each own move step in order to obtain the own winning rate sequence, and divide each own move step into each own opening move step and each own final move step.
[0044] In some embodiments, each own opening move step and each own final move step may partially overlap. For example, the first to the 30th own move steps may be determined as each own opening move step, and the 16th to the last own move step may be determined as each own final move step.
[0045] Step 204: According to a given initial upper threshold, a given initial lower threshold, and a given initial average threshold, the actual winning rate value of each opening move of the own side is traversed to obtain a trend segment of the chess game corresponding to the opening stage.
[0046] In some embodiments, the actual winning rate value of each of the player's opening moves can be used as the current winning rate value in sequence, where:
[0047] If the current winning rate value is higher than the given initial upper threshold value (for example, higher than 60%), the trend segment of the opening stage is determined as an upward trend segment; if the current winning rate value is lower than the given initial lower threshold value (for example, lower than 40%), the trend segment of the opening stage is determined as a downward trend segment; if the current winning rate value is between the given initial upper threshold value and the given initial lower threshold value (for example, between 40%-60%), return to the step of taking one of the actual winning rate values of one's own opening sequence as the current winning rate value in turn, until the actual winning rate value of one's own opening move step has been traversed.
[0048] In this embodiment, if the actual winning rate value of each own opening move step is between a given initial upper threshold and a given initial lower threshold, an average calculation is performed on the actual winning rate value of each own opening move step to obtain an opening average value. If the opening average value is greater than the given initial average threshold (for example, the opening average value > 50%), the trend segmentation of the opening stage is determined as an upward trend segment. If the opening average value is not greater than the given initial average threshold (for example, the opening average value ≤ 50%), the trend segmentation of the opening stage is determined as a downward trend segment.
[0049] Step 206: Use a sliding window to traverse each of the actual winning rate values of the own side in the winning rate sequence of the own side, calculate the smoothed winning rate value of each of the own side's final move steps, and obtain at least one trend segment of the game corresponding to the final stage.
[0050] In some embodiments, a sliding window may be used to repeatedly perform a sliding process that satisfies a preset sliding step length on each actual winning rate value of the own side in the winning rate sequence of the own side, and obtain a subsequence corresponding to each sliding process.
[0051] Exemplarily, the window size of the sliding window may be set to 15 own moving steps, and the preset sliding step length may be 1 own moving step. In this case, each subsequence obtained by using the sliding window may include: a first subsequence consisting of the 1st own moving step to the 15th own moving step, a second subsequence consisting of the 2nd own moving step to the 16th own moving step, a third subsequence consisting of the 3rd own moving step to the 17th own moving step, and so on.
[0052] In some embodiments, an average calculation can be performed on each of the actual winning rate values of the own side in each subsequence to obtain a smoothed winning rate value of the last own terminal move step in each subsequence, and the two smoothed winning rate values of two adjacent own terminal move steps can be compared to obtain each rising trend segment and each falling trend segment of the own side corresponding to the terminal stage.
[0053] Exemplarily, when the 16th own move step to the last own move step are determined as each own final move step, an average calculation can be performed based on the 15 actual own win rate values of the 15 own moves in the second subsequence (including the 2nd own move step to the 16th own move step) to obtain a smoothed win rate value of the 16th own move step (i.e., the last own final move step in the second subsequence); an average calculation can be performed based on the 15 actual own win rate values of the 15 own moves in the third subsequence (including the 3rd own move step to the 17th own move step) to obtain a smoothed win rate value of the 17th own move step (i.e., the last own final move step in the third subsequence), and so on.
[0054] In some embodiments, any one of the own terminal moving steps in the own winning rate sequence can be determined as the own current step, and the one of the own terminal moving step before the own current step can be determined as the one's previous step, wherein, if the smoothed winning rate value of the own current step is higher than the smoothed winning rate value of the one's previous step, the one's current step is determined to be on an upward trend, and if the smoothed winning rate value of the one's current step is lower than the smoothed winning rate value of the one's previous step, the one's current step is determined to be on a downward trend.
[0055] In some embodiments, the final game moves of the team that are determined to be on an upward trend and continuous in the team's winning rate sequence can be merged to obtain the upward trend segments of the final stage, and the final game moves of the team that are determined to be on a downward trend and continuous in the team's winning rate sequence can be merged to obtain the downward trend segments of the final stage.
[0056] In some embodiments, if the segment length of a single trend segment is less than a specified length (for example, if the number of one's own final moves contained in a single trend segment is less than a given segment lower limit), this single trend segment can be merged with an adjacent trend segment.
[0057] In summary, this embodiment processes the chess trend of one's own side in segments based on the actual winning rate value of each move of one's own side in the chess game, which helps to improve the accuracy of subsequent review analysis results.
[0058] Figure 3 This is a processing flow of a chess game review analysis method according to another exemplary embodiment of the present disclosure. This embodiment is a specific implementation of the above step 106.
[0059] As shown in the figure, this embodiment mainly includes the following steps:
[0060] Step 302: Determine each own target step and each opponent target step that fall into the analysis interval from each own move step and each opponent move step in the game.
[0061] Exemplarily, the 11th moving step may be determined as the first moving step in the analysis interval according to the execution order of each own moving step and each opponent moving step.
[0062] In this embodiment, according to a given terminal winning rate condition, a reverse scanning method can be used to obtain an actual winning rate value of one's own side or an actual winning rate value of the opponent that meets the given terminal winning rate condition as the terminal position of the analysis interval.
[0063] Exemplarily, if the actual winning rate value of the last move among each of the own moves and each of the opponent's moves is higher than the given upper limit of the winning rate or lower than the given lower limit of the winning rate, then search forward until a move step whose actual winning rate value is between the given lower limit of the winning rate and the given upper limit of the winning rate is found as the last move step in the analysis interval.
[0064] Based on the first moving step and the last moving step of the analysis interval, each own target step and each opponent target step falling within the analysis interval can be determined.
[0065] Step 304: Perform analysis based on the opponent's actual winning rate value of each opponent's target step to determine each opponent's good player in each opponent's target step.
[0066] In some embodiments, any opponent's target step can be determined as the opponent's current step, and the opponent's target step before the opponent's current step can be determined as the opponent's previous step. If the increase value of the opponent's actual winning rate value of the opponent's current step compared to the opponent's actual winning rate value of the opponent's previous step exceeds a given difference threshold (for example, 15%), the opponent's current step is determined as the opponent's good move.
[0067] Step 306: Perform analysis based on the actual winning rate value of the own side, the best position of the own side, the best winning rate value of the own side, each trend segment, and each good opponent's player in each own target step to determine each good player and each bad player of the own side in each own target step.
[0068] In some embodiments, any one of one's own target steps is determined as one's current step, and the one's own target step before the current step is determined as one's own previous step, so as to perform analysis and processing of one's own good hand or one's own bad hand based on the comparison result of one's own actual winning rate value of one's current step and one's own previous step.
[0069] In some embodiments, if the actual winning rate value of one's current step is greater than the actual winning rate value of one's previous step, analysis is performed based on the winning rate increase value of one's current step compared to one's previous step, one's best move position of one's current step, and each trend segment to obtain an analysis result of whether one's current step is a good move.
[0070] Specifically, the difference between the actual winning rate value of the current step of the player and the actual winning rate value of the previous step of the player can be calculated to obtain the increase in the winning rate of the current step of the player compared to the previous step of the player.
[0071] If the winning rate increase value exceeds a given rising threshold value (e.g., 15%), the analysis result that the player's current move is a good move (or an excellent move) is obtained. If the winning rate increase value does not exceed the given rising threshold value (e.g., 15%), but the player's actual move position in the current move is the same as the player's best move position, and the player's current move falls into any rising trend segment, the analysis result that the player's current move is a good move can also be obtained.
[0072] In some embodiments, if the actual winning rate value of one's current step is less than the actual winning rate value of one's previous step, an analysis is performed based on the winning rate decrease value of one's current step compared to one's previous step, one's best winning rate value of one's current step, and each opponent's good player to obtain an analysis result of whether one's current step is a bad move.
[0073] Specifically, the decrease in the winning rate of the current step of the own side compared to the previous step of the own side can be calculated based on the difference between the actual winning rate value of the current step of the own side and the actual winning rate value of the previous step of the own side.
[0074] Among them, if the winning rate decrease value exceeds a given decrease threshold (for example, 15%), the analysis result of one's current step is a bad move (or bad chess) is obtained; if one's actual winning rate value of one's current step is between one's best winning rate value of one's current step and one's actual winning rate value of one's previous step, the analysis result of one's current step is a bad move (or bad chess) is obtained; if an opponent's moving step following one's current step is determined to be the opponent's good move, the analysis result of one's current step is a bad move (or a missed move) is obtained.
[0075] In some embodiments, after determining each own bad move in each own target step, the bad moves of each own in each trend segment can be pruned according to a given bad move upper limit value in each trend segment and a win rate reduction value of each own bad move in each trend segment, until the actual number of each own bad move in each trend segment does not exceed the given bad move upper limit value, to ensure that only the most significant bad moves of each own are retained in each trend segment.
[0076] In some embodiments, the winning rate reduction values corresponding to each bad hand after pruning can be sorted, and the moving step corresponding to the bad hand with the highest winning rate reduction value can be determined as a losing move, and the moving step corresponding to the bad hand with the second highest winning rate reduction value can be determined as a bad move.
[0077] In summary, this embodiment accurately analyzes the good and bad moves of both parties in the chess process according to multiple dimensions such as the actual winning rate value of one's own move and the best position of one's own move, the actual winning rate value of the opponent's move, and each trend segment, which helps to improve the accuracy of the results of the chess game review analysis.
[0078] Figure 4 The processing flow of the chess game replay analysis method of another exemplary embodiment of the present disclosure is shown. This embodiment shows the specific implementation of obtaining the third analysis sub-result in step 108.
[0079] like Figure 4 As shown, this embodiment mainly includes the following steps:
[0080] Step 402: Determine any one of the bad hands of the own team as the current bad hand, or determine only the bad hands among all the bad hands of the own team as the current bad hand.
[0081] Specifically, according to each own bad hand determined in step 106 or step 306, one own bad hand can be determined as the current bad hand in turn.
[0082] In other embodiments, the processing flow of this embodiment may be executed only for one bad player who is determined to be a bad player (refer to step 306 ).
[0083] Step 404: Use the best move position of the current bad player to replace the actual move position of the current bad player, and perform move predictions of multiple moves of the player and multiple moves of the opponent to obtain the optimal move prediction sequence of the current bad player.
[0084] In some embodiments, based on the best move position of the current bad player, move predictions of multiple own moves and multiple opponent moves can be performed to obtain the predicted move position of the own side corresponding to each own move step and the predicted move position of the opponent corresponding to each opponent move step, and based on the execution order of each own move step and each opponent move step, each predicted move position of the own side and each predicted move position of the opponent are arranged in sequence to obtain the optimal move prediction sequence corresponding to the current bad player.
[0085] Specifically, the game engine can be reset to the position of the opponent's previous move before the current bad move (one's move), and the best move position of the current bad move is input into the game engine. Figure 5A and Figure 5BIn the example shown, the actual position of the player's own chess piece is Figure 5A The "Black 141" shown in the figure has the best position for the current bad move. Figure 5B The "predicted black chess 1" shown can reset the game engine to the position of the opponent's move before the current bad move (one's move) to remove Figure 5A The "Black 141" in Figure 5B The "Predicted Black 1" in is input into the game engine.
[0086] The game engine can be based on the Monte Carlo tree search algorithm, alternately executing the simulated game of each opponent's move and each own move, and predicting the predicted position of the own move corresponding to each own move (refer to Figure 5B "Predicted Black 3", "Predicted Black 5", "Predicted Black 7") and the predicted position of the opponent's move corresponding to each opponent's move (reference Figure 5B The execution order of "predicting black chess 1", "predicting white chess 2", "predicting black chess 3", "predicting white chess 4", "predicting black chess 5", "predicting white chess 6" and "predicting black chess 7" can be arranged in sequence to obtain the optimal predicted sequence of the current bad hand "black chess 141".
[0087] Specifically, the game engine can perform a traversal search on the Monte Carlo tree. At the node corresponding to each prediction step, it selects the move position corresponding to the child node with the most visits, adds it to the optimal move prediction sequence, and continues to iterate the next prediction step until an invalid move, an unexpanded node is encountered, or the optimal move prediction sequence has reached a specified length (for example, 7 prediction steps).
[0088] Step 406: Perform a third analysis process according to the optimal move prediction sequence of the current bad move to obtain a third analysis result of the chess game corresponding to the current bad move.
[0089] In some embodiments, the Manhattan distance between the actual position of the opponent's previous opponent's move and the current bad player's own best position can be calculated to obtain a first distance value, the Manhattan distance between the actual position of the opponent's previous opponent's move and the current bad player's own actual position can be calculated to obtain a second distance value, the Manhattan distance between the current bad player's own best position and the actual position can be calculated to obtain a third distance value, and the third distance value can be obtained based on the comparison between each predicted position of the own side and each predicted position of the opponent in the optimal prediction sequence of the current bad player (for example, Figure 5BThe maximum radius of all the positions of the moves is calculated to obtain the discreteness of the optimal move prediction sequence of the current bad move. The third analysis process can be performed according to the first distance value, the second distance value, the third distance value, and the discreteness of the optimal move prediction sequence of the current bad move to obtain the third analysis result of the chess game corresponding to the current bad move.
[0090] In summary, this embodiment predicts the optimal move prediction sequence of the current bad hand, uses Manhattan distance to calculate the positional relationship between the optimal move prediction sequence and the current bad hand, and conducts a review and analysis of the current bad hand and its recommended move strategy based on this, thereby improving the Go learning effect.
[0091] Figure 6 The structural block diagram of the chess game replay analysis device of the exemplary embodiment of the present disclosure is shown. As shown in the figure, the chess game replay analysis device 600 of this embodiment includes:
[0092] The detection module 602 is used to detect the actual position of the player's chess piece at each move of the player and the actual position of the opponent's chess piece at each move of the opponent in the game, and obtain the actual winning rate value of the player's chess piece at each move of the player, the best position of the player's chess piece and the best winning rate value of the player's chess piece, and the actual winning rate value of the opponent at each move of the opponent;
[0093] A trend analysis module 604 is used to perform a trend analysis of one's own moves according to the actual winning rate value of each one's own move to obtain each trend segment of one's own move;
[0094] The single-step analysis module 606 is used to perform analysis according to the actual winning rate value of the own side and the best position of the own side in each move step of the own side, the actual winning rate value of the opponent in each move step of the opponent, and each trend segment to obtain each good move and each bad move of the own side in each move step of the own side, and each good move of the opponent in each move step of the opponent;
[0095] The re-game analysis module 608 is used to perform re-game analysis based on the actual winning rate value of each move of the own side, the trend segments of the own side, the good moves of the own side, the bad moves of the own side, and the good moves of the opponent side to obtain the re-game analysis result of the chess game.
[0096] In some embodiments, the game comprises a Go game.
[0097] In some embodiments, the detection module 602 is also used to: parse the chess record format file of the chess game to obtain the actual position of the own side's move for each of the own side's moves and the actual position of the opponent's move for each of the opponent's moves in the chess game; use the game prediction model to perform predictions based on the actual position of the own side's move for each of the own side's moves to obtain the actual winning rate value of the own side for each of the own side's moves, the best position of the own side and the best winning rate value of the own side corresponding to the best position of the own side, and perform predictions based on the actual position of the opponent's move for each of the opponent's moves to obtain the actual winning rate value of the opponent's move for each of the opponent's moves.
[0098] In some embodiments, the trend analysis module 604 is also used to: arrange the actual winning rate value of each own move step in order according to the execution order of each own move step to obtain a own winning rate sequence, and divide each own move step into each own opening move step and each own final move step; traverse the actual winning rate value of each own opening move step according to a given initial upper limit threshold, a given initial lower limit threshold, and a given initial average threshold to obtain a trend segment of the chess game corresponding to the opening stage; use a sliding window to traverse each own actual winning rate value in the own winning rate sequence, calculate the smoothed winning rate value of each own final move step, and obtain at least one trend segment of the chess game corresponding to the final stage.
[0099] In some embodiments, the trend analysis module 604 is further used to: sequentially use the actual winning rate value of one of the own opening moves as the current winning rate value; if the current winning rate value is higher than the given initial upper limit threshold, determine the trend segment of the opening stage as an upward trend segment; if the current winning rate value is lower than the given initial lower limit threshold, determine the trend segment of the opening stage as a downward trend segment; if the current winning rate value is between the given initial upper limit threshold and the given initial lower limit threshold, return to the sequential use of the actual winning rate value of one of the own opening moves as the current winning rate value Steps are performed until all the actual winning rate values of the own side at the opening move step of the own side are traversed; and wherein, if the actual winning rate values of the own side at the opening move step of the own side are between the given initial upper threshold value and the given initial lower threshold value, average calculation is performed based on the actual winning rate values of the own side at the opening move step of the own side to obtain the opening average value, if the opening average value is greater than the given initial average threshold value, the trend segmentation of the opening stage is determined as an upward trend segmentation, if the opening average value is not greater than the given initial average threshold value, the trend segmentation of the opening stage is determined as a downward trend segmentation.
[0100] In some embodiments, the trend analysis module 604 is also used to: use the sliding window to repeatedly perform sliding processing that satisfies a preset sliding step length on each own actual winning rate value in the own winning rate sequence, and obtain a subsequence corresponding to each sliding processing; perform mean calculation on each own actual winning rate value in each subsequence to obtain a smoothed winning rate value of the last own terminal moving step in each subsequence; compare the two smoothed winning rate values of two adjacent own terminal moving steps to obtain each upward trend segment and each downward trend segment of the own corresponding to the terminal stage.
[0101] In some embodiments, the trend analysis module 604 is also used to: determine any one of the own final moving steps in the own winning rate sequence as the own current step, determine the previous one of the own final moving step as the own previous step, if the smoothed winning rate value of the own current step is higher than the smoothed winning rate value of the own previous step, determine the own current step as an upward trend, if the smoothed winning rate value of the own current step is lower than the smoothed winning rate value of the own previous step, determine the own current step as a downward trend; merge the own final moving steps that are determined to be an upward trend and are continuous in the own winning rate sequence to obtain the upward trend segments of the final stage, and merge the own final moving steps that are determined to be a downward trend and are continuous in the own winning rate sequence to obtain the downward trend segments of the final stage.
[0102] In some embodiments, the single-step analysis module 606 is also used to: determine each own target step and each opponent target step that fall into the analysis interval from each own move step and each opponent move step of the chess game; perform analysis based on the opponent's actual win rate value of each opponent's target step to determine each opponent's good player in each opponent's target step; perform analysis based on the own actual win rate value of each own target step, the best own move position, the best own win rate value, each trend segment, and each opponent's good player to determine each own good player and each own bad player in each own target step.
[0103] In some embodiments, the single-step analysis module 606 is also used to: determine any opponent's target step as the opponent's current step, and determine the opponent's target step before the opponent's current step as the opponent's previous step; if the increase value of the opponent's actual winning rate value of the opponent's current step compared to the opponent's actual winning rate value of the opponent's previous step exceeds a given difference threshold, determine the opponent's current step as the opponent's good hand.
[0104] In some embodiments, the single-step analysis module 606 is also used to: determine any one of one's own target steps as one's current step, and determine the previous one's own target step as one's previous step; if the actual winning rate value of one's current step is greater than the actual winning rate value of one's previous step, perform analysis based on the winning rate increase value of one's current step compared to one's previous step, the best position of one's current step, and each trend segment to obtain an analysis result of whether one's current step is a good move; if the actual winning rate value of one's current step is less than the actual winning rate value of one's previous step, perform analysis based on the winning rate decrease value of one's current step compared to one's previous step, the best winning rate value of one's current step, and each opponent's good player to obtain an analysis result of whether one's current step is a bad move.
[0105] In some embodiments, the single-step analysis module 606 is also used to: calculate the difference between the actual winning rate value of the current step of the party and the actual winning rate value of the previous step of the party, and obtain the winning rate increase value of the current step of the party compared with the previous step of the party; if the winning rate increase value exceeds a given rising threshold, the analysis result that the current step of the party is a good player of the party is obtained; if the winning rate increase value does not exceed the given rising threshold, the actual placement position of the party in the current step of the party is the same as the best placement position of the party, and the current step of the party falls into any rising trend segment, and the analysis result that the current step of the party is a good player of the party is obtained.
[0106] In some embodiments, the single-step analysis module 606 is also used to: calculate the winning rate decrease value of the current step compared to the previous step according to the difference between the actual winning rate value of the current step and the actual winning rate value of the previous step; if the winning rate decrease value exceeds a given decrease threshold, obtain an analysis result that the current step is a bad move of the own; if the actual winning rate value of the current step is between the best winning rate value of the current step and the actual winning rate value of the previous step, obtain an analysis result that the current step is a bad move of the own; if an opponent's moving step following the current step is determined to be a good move of the opponent, obtain an analysis result that the current step is a bad move of the own.
[0107] In some embodiments, the single-step analysis module 606 is also used for: after determining each own bad move in each own target step, pruning each own bad move in each trend segment according to a given bad move upper limit value in each trend segment and a win rate reduction value of each own bad move in each trend segment, until the actual number of each own bad move in each trend segment does not exceed the given bad move upper limit value; sorting according to the win rate reduction values corresponding to each own bad move after the pruning process, determining the own moving step corresponding to the own bad move with the highest win rate reduction value as a losing move, and determining the own moving step corresponding to the own bad move with the second highest win rate reduction value as a bad move.
[0108] In some embodiments, the re-game analysis module 608 is also used to: perform a first analysis process based on the actual winning rate value of each own move to obtain a first analysis sub-result of the chess game; perform a second analysis process based on each trend segment, each own good hand, each own bad hand and each opponent's bad hand to obtain a second analysis sub-result of the chess game; perform a third analysis process based on each optimal move prediction sequence corresponding to each own bad hand to obtain a third analysis sub-result of the chess game; and splice the first analysis sub-result, the second analysis sub-result and the third analysis sub-result to obtain a re-game analysis result of the chess game.
[0109] In some embodiments, the replay analysis module 608 is also used to: determine any one of the own bad hands as the current bad hand, or only determine the bad hands among the own bad hands as the current bad hand; use the best own move position of the current bad hand to replace the actual own move position of the current bad hand, and execute move predictions of multiple own moves and multiple opponent moves to obtain the predicted own move position corresponding to each own move step and the opponent's predicted move position corresponding to each opponent's move step; based on the execution order of each own move step and each opponent's move step, arrange each predicted own move position and each opponent's predicted move position in order to obtain the optimal move prediction sequence corresponding to the current bad hand.
[0110] In some embodiments, the replay analysis module 608 is also used to: calculate the distance between the actual position of the opponent's previous move of the current bad player and the best position of the current bad player, to obtain a first distance value; calculate the distance between the actual position of the opponent's previous move of the current bad player and the actual position of the current bad player, to obtain a second distance value; calculate the distance between the best position of the current bad player and the actual position of the current bad player, to obtain a third distance value; calculate the discreteness of the optimal prediction sequence of the current bad player based on each predicted position of the player and each predicted position of the opponent in the optimal prediction sequence of the current bad player; perform the third analysis process based on the first distance value, the second distance value, the third distance value, and the discreteness of the optimal prediction sequence of the current bad player, to obtain the third analysis result of the chess game.
[0111] The embodiments of the present disclosure also provide a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to enable the computer to execute the chess game review and analysis method described in each exemplary embodiment of the present disclosure.
[0112] The exemplary embodiments of the present disclosure also provide an electronic device, comprising: at least one processor; and a memory connected to the at least one processor in communication. The memory stores a computer program that can be executed by the at least one processor, and when the computer program is executed by the at least one processor, the electronic device performs the chess game review analysis method according to each exemplary embodiment of the present disclosure.
[0113] Please refer to Figure 7 , a block diagram of an electronic device 700 that can serve as a server or client of the present disclosure will now be described, which is an example of a hardware device that can be applied to various aspects of the present disclosure. The electronic device is intended to represent various forms of digital electronic computer devices, such as laptop computers, desktop computers, workbenches, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.
[0114] like Figure 7As shown, the electronic device 700 includes a computing unit 701, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 702 or a computer program loaded from a storage unit 708 into a random access memory (RAM) 703. In the RAM 703, various programs and data required for the operation of the device 700 can also be stored. The computing unit 701, the ROM 702, and the RAM 703 are connected to each other via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.
[0115] A plurality of components in the electronic device 700 are connected to the I / O interface 705, including: an input unit 706, an output unit 707, a storage unit 708, and a communication unit 709. The input unit 706 may be any type of device capable of inputting information to the electronic device 700, and the input unit 706 may receive input digital or character information, and generate key signal inputs related to user settings and / or function control of the electronic device. The output unit 707 may be any type of device capable of presenting information, and may include but is not limited to a display, a speaker, a video / audio output terminal, a vibrator, and / or a printer. The storage unit 708 may include but is not limited to a disk, an optical disk. The communication unit 709 allows the electronic device 700 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks, and may include but is not limited to a modem, a network card, an infrared communication device, a wireless communication transceiver, and / or a chipset, such as a Bluetooth™ device, a WiFi device, a WiMax device, a cellular communication device, and / or the like.
[0116] The computing unit 701 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 701 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 701 performs the various methods and processes described above. For example, in some embodiments, the chess game review analysis method as described above may be implemented as a computer software program, which is tangibly included in a machine-readable medium, such as a storage unit 708. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 700 via the ROM 702 and / or the communication unit 709. In some embodiments, the computing unit 701 may be configured to perform the above-mentioned chess game review analysis method by any other appropriate means (e.g., by means of firmware).
[0117] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, implements the functions / operations specified in the flow chart and / or block diagram. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0118] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0119] As used in this disclosure, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, apparatus, and / or device (e.g., disk, optical disk, memory, programmable logic device (PLD)) for providing machine instructions and / or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal for providing machine instructions and / or data to a programmable processor.
[0120] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0121] The systems and techniques described herein may be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.
[0122] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and the server relationship is generated by computer programs running on respective computers and having a client-server relationship with each other.
[0123] It should be pointed out that, according to the needs of implementation, the various components / steps described in the embodiments of the present disclosure can be split into more components / steps, or two or more components / steps or partial operations of components / steps can be combined into new components / steps to achieve the purpose of the embodiments of the present disclosure.
[0124] The above implementation methods are only used to illustrate the embodiments of the present disclosure, and are not limitations of the embodiments of the present disclosure. Ordinary technicians in the relevant technical field may make various changes and modifications without departing from the spirit and scope of the embodiments of the present disclosure. Therefore, all equivalent technical solutions also belong to the scope of the embodiments of the present disclosure. The scope of patent protection of the embodiments of the present disclosure should be defined by the claims.
Claims
1. A chess game review analysis method, comprising: Detect the actual position of the player's chess piece at each move of the player and the actual position of the opponent's chess piece at each move of the opponent in the game, and obtain the actual winning rate value of the player's chess piece at each move of the player, the best position of the player's chess piece and the best winning rate value of the player's chess piece, and the actual winning rate value of the opponent at each move of the opponent; Perform chess trend analysis based on the actual winning rate of each move to obtain the trend segments of the team; According to the actual winning rate value of the own side and the best position of the own side in each move of the own side, the actual winning rate value of the opponent in each move of the opponent, and the segmented analysis of each trend, each good move and each bad move of the own side in each move of the own side, and each good move of the opponent in each move of the opponent are obtained; A re-game analysis is performed based on the actual winning rate value of each move of the own side, the various trend segments of the own side, the good moves of the own side, the bad moves of the own side, and the good moves of the opponent side to obtain the re-game analysis result of the chess game.
2. The method according to claim 1, wherein: The chess game includes a Go game; The detecting of the actual position of the player's chess piece at each move of the player's chess piece and the actual position of the opponent's chess piece at each move of the opponent in the chess game, obtaining the actual winning rate value of the player's chess piece at each move of the player's chess piece, the best position of the player's chess piece and the best winning rate value of the player's chess piece, and the actual winning rate value of the opponent's chess piece at each move of the opponent, includes: Parsing the chess record format file of the chess game to obtain the actual position of the player's own chess piece for each move of the player's own chess piece and the actual position of the opponent's chess piece for each move of the opponent's chess piece; Using the game prediction model, prediction is performed based on the actual position of one's own move at each move step, and the actual winning rate value of one's own move step, the best position of one's own move step and the best winning rate value of one's own move step corresponding to the best position of one's own move step are obtained; and prediction is performed based on the actual position of the opponent's move step at each move step of the opponent, and the actual winning rate value of the opponent's move step is obtained.
3. The method according to claim 1, wherein: The step of performing chess trend analysis on the player's chess moves according to the player's actual winning rate value of each move to obtain each trend segment of the player's chess moves includes: According to the execution order of each own move, the own actual winning rate value of each own move is arranged in order to obtain the own winning rate sequence, and each own move is divided into each own opening move and each own final move; According to a given initial upper threshold, a given initial lower threshold, and a given initial average threshold, the actual winning rate value of each opening move of the own side is traversed to obtain a trend segment of the chess game corresponding to the opening stage; A sliding window is used to traverse each actual winning rate value of the own side in the winning rate sequence of the own side, and a smoothed winning rate value of each final move of the own side is calculated to obtain at least one trend segment of the chess game corresponding to the final stage.
4. The method according to claim 3, wherein: According to the given initial upper threshold, the given initial lower threshold, and the given initial average threshold, the actual winning rate value of each move of the own side is traversed to obtain a trend segment of the chess game corresponding to the opening stage, including: Take the actual winning rate value of each of your opening moves as the current winning rate value; If the current winning rate value is higher than the given initial upper limit threshold, the trend segment of the opening stage is determined as an upward trend segment; If the current winning rate value is lower than the given initial lower limit threshold, the trend segment of the opening stage is determined as a downward trend segment; If the current winning rate value is between the given initial upper threshold value and the given initial lower threshold value, return to the step of sequentially taking the actual winning rate value of one own opening move as the current winning rate value until all the own actual winning rate values of each own opening move are traversed; And wherein, if the actual winning rate value of one's own opening move step is between the given initial upper threshold and the given initial lower threshold, an average calculation is performed based on the actual winning rate value of one's own opening move step to obtain an opening average value, if the opening average value is greater than the given initial average threshold, the trend segmentation of the opening stage is determined as an upward trend segment, if the opening average value is not greater than the given initial average threshold, the trend segmentation of the opening stage is determined as a downward trend segment.
5. The method according to claim 3, wherein: The step of using a sliding window to traverse each actual win rate value of the own side in the win rate sequence of the own side, calculating the smoothed win rate value of each end-game move of the own side, and obtaining at least one trend segment of the chess game corresponding to the end-game stage includes: Using the sliding window, repeatedly performing a sliding process that satisfies a preset sliding step length on each own side's actual winning rate value in the own side's winning rate sequence, and obtaining a subsequence corresponding to each sliding process; Perform mean calculation on the actual winning rate values of each own side in each subsequence to obtain the smoothed winning rate value of the last own side's final move in each subsequence; By comparing the two smoothed winning rate values of two adjacent own side's final moves, each rising trend segment and each falling trend segment of the own side corresponding to the final stage are obtained.
6. The method according to claim 5, wherein: The comparing two smoothed winning rate values of two adjacent final game moves of the own side to obtain each ascending trend segment and each descending trend segment of the own side corresponding to the final game stage includes: Determine any one of the own final move steps in the own win rate sequence as the own current move, determine the one of the own final move steps before the own current move as the one of the own previous move, if the smoothed win rate value of the own current move is higher than the smoothed win rate value of the one of the own previous move, determine the one of the current move as an upward trend, if the smoothed win rate value of the own current move is lower than the smoothed win rate value of the one of the own previous move, determine the one of the current move as a downward trend; Merge the final moves of the team that are determined to be in an upward trend and are continuous in the team's winning rate sequence to obtain the upward trend segments of the final stage; merge the final moves of the team that are determined to be in a downward trend and are continuous in the team's winning rate sequence to obtain the downward trend segments of the final stage.
7. The method according to claim 1, wherein: The step of performing analysis according to the actual winning rate value of the player and the best position of the player in each move of the player, the actual winning rate value of the opponent in each move of the opponent, and each trend segment to obtain each good move and each bad move of the player in each move of the player, and each good move of the opponent in each move of the opponent, includes: Determine each own target step and each opponent target step that fall into the analysis interval from each own move step and each opponent move step in the chess game; Perform analysis based on the opponent's actual win rate value for each opponent's target step to determine each opponent's good player in each opponent's target step; According to the actual winning rate value of one's own side in each of one's own target steps, one's best move position, one's best winning rate value, each trend segment, and each opponent's good player, analysis is performed to determine each of one's good players and each of one's bad players in each of one's own target steps.
8. The method according to claim 7, wherein: The performing of analysis according to the opponent's actual winning rate value of each opponent's target step to determine each opponent's good player in each opponent's target step includes: Determine any opponent's target step as the opponent's current step, and determine the opponent's target step before the opponent's current step as the opponent's previous step; If the increase in the actual winning rate value of the opponent's current step compared to the actual winning rate value of the opponent's previous step exceeds a given difference threshold, the opponent's current step is determined to be a good move of the opponent.
9. The method according to claim 7, wherein: The step of performing analysis based on the actual winning rate value of the side, the best position of the side, the best winning rate value of the side, each trend segment, and each good opponent's hand in each target step of the side to determine each good opponent and each bad opponent's hand in each target step of the side includes: Determine any one of the own target steps as the own current step, and determine the one of the own target steps before the one of the own current step as the one of the own previous step; If the actual winning rate value of the current step of the player is greater than the actual winning rate value of the previous step of the player, the analysis is performed based on the winning rate increase value of the current step of the player compared with the previous step of the player, the best move position of the player in the current step of the player, and each trend segment to obtain an analysis result of whether the current step of the player is a good move of the player; If the actual winning rate value of one's current step is less than the actual winning rate value of one's previous step, analysis is performed based on the winning rate decrease value of one's current step compared to one's previous step, one's best winning rate value of one's current step, and each opponent's good player to obtain an analysis result of whether one's current step is a bad move.
10. The method according to claim 9, wherein: The analysis result of whether the current step of the player is a good move of the player is obtained according to the increase in the winning rate of the current step of the player compared with the previous step of the player, the best move position of the player of the current step of the player, and each trend segment. The analysis result includes: Calculate the difference between the actual winning rate value of the current step of the player and the actual winning rate value of the previous step of the player, and obtain the winning rate increase value of the current step of the player compared with the previous step of the player; If the winning rate increase value exceeds a given increase threshold, an analysis result is obtained that the current step of the player is a good player of the player; If the winning rate increase value does not exceed the given rising threshold, the actual move position of the player's current step is the same as the player's best move position, and the player's current step falls into any rising trend segment, the analysis result that the player's current step is a good move for the player is obtained.
11. The method according to claim 9, wherein: The analysis result of whether the current step of the player is a bad move of the player is obtained according to the decrease value of the winning rate of the current step of the player compared with the previous step of the player, the best winning rate value of the current step of the player, and the good moves of the opponents, including: Calculate the decrease in the winning rate of the current step of the own side compared with the previous step of the own side according to the difference between the actual winning rate value of the own side at the current step of the own side and the actual winning rate value of the own side at the previous step of the own side; If the winning rate decrease value exceeds a given decrease threshold, an analysis result is obtained that the current move of the player is a bad move of the player; If the actual winning rate value of the current move of the player is between the best winning rate value of the current move of the player and the actual winning rate value of the previous move of the player, the analysis result that the current move of the player is a bad move of the player is obtained; If an opponent's moving step following the own current step is determined to be the opponent's good move, the analysis result that the own current step is the own bad move is obtained.
12. The method according to claim 11, wherein: After determining each own bad move in each own target step, the method further includes: According to a given upper limit of bad moves in each trend segment and a decrease value of the winning rate of each own bad move in each trend segment, pruning each own bad move in each trend segment until the actual number of each own bad move in each trend segment does not exceed the given upper limit of bad moves; According to the win rate reduction values corresponding to each bad move of your own after the pruning process, the move corresponding to the bad move of your own with the highest win rate reduction value is determined as a losing move, and the move corresponding to the bad move of your own with the second highest win rate reduction value is determined as a bad move.
13. The method according to claim 1 or 12, wherein: The replay analysis is performed based on the actual winning rate value of each move of the own side, each trend segment of the own side, each good move of the own side, each bad move of the own side, and each good move of the opponent side to obtain the replay analysis result of the chess game, including: Performing a first analysis process according to the actual winning rate value of each move of the own side to obtain a first analysis sub-result of the chess game; Performing a second analysis process according to each trend segment, each good move of the own side, each bad move of the own side, and each bad move of the opponent side to obtain a second analysis sub-result of the chess game; Performing a third analysis process according to each optimal move prediction sequence corresponding to each bad move of the own side to obtain a third analysis result of the chess game; The first analysis sub-result, the second analysis sub-result, and the third analysis sub-result are spliced together to obtain a re-analysis result of the chess game.
14. The method according to claim 13, wherein: The optimal prediction sequence of any bad move of one's own side can be obtained by the following method: Determine any one of your bad moves as the current bad move, or determine only the bad moves among all your bad moves as the current bad move; Using the best move position of the current bad player, replace the actual move position of the current bad player, and perform move prediction of multiple moves of the player and multiple moves of the opponent to obtain the predicted move position of the player corresponding to each move of the player and the predicted move position of the opponent corresponding to each move of the opponent; Based on the execution order of each own move and each opponent's move, each own predicted move position and each opponent's predicted move position are arranged in order to obtain the optimal move prediction sequence corresponding to the current bad move.
15. The method according to claim 14, wherein: The third analysis process is performed according to each optimal move prediction sequence corresponding to each bad move of the own side to obtain the third analysis result of the chess game, including: Calculate the distance between the actual position of the opponent's move before the current bad player and the best position of the current bad player's own move to obtain a first distance value; Calculate the distance between the actual position of the opponent's move before the current bad player and the actual position of the player's move to obtain a second distance value; Calculate the distance between the best position of the current bad player and the actual position of the bad player to obtain a third distance value; Calculate the discreteness of the optimal move prediction sequence of the current bad player according to each predicted move position of the own player and each predicted move position of the opponent in the optimal move prediction sequence of the current bad player; The third analysis process is performed according to the first distance value, the second distance value, the third distance value, and the discreteness of the optimal move prediction sequence of the current bad move to obtain the third analysis result of the chess game corresponding to the current bad move.
16. A chess game review and analysis device, comprising: A detection module is used to detect the actual position of the player's chess piece at each move of the player and the actual position of the opponent's chess piece at each move of the opponent in the game, and obtain the actual winning rate value of the player's chess piece at each move of the player, the best position of the player's chess piece and the best winning rate value of the player's chess piece, and the actual winning rate value of the opponent at each move of the opponent; A trend analysis module is used to perform chess trend analysis on one's own chess moves according to the actual winning rate value of each move of one's own chess, and obtain each trend segment of one's own chess; A single-step analysis module is used to perform analysis based on the actual winning rate value of the own side and the best position of the own side in each move step of the own side, the actual winning rate value of the opponent in each move step of the opponent, and each trend segment to obtain each good move and each bad move of the own side in each move step of the own side, and each good move of the opponent in each move step of the opponent; The re-game analysis module is used to perform re-game analysis according to the actual winning rate value of each move of the own side, the trend segments of the own side, the good moves of the own side, the bad moves of the own side, and the good moves of the opponent side, so as to obtain the re-game analysis result of the chess game.
17. An electronic device comprising: processor; as well as Memory for storing programs, Wherein, the program includes instructions, which, when executed by the processor, enable the processor to execute the chess game review analysis method as described in any one of claims 1 to 15.
18. A non-transitory computer-readable storage medium storing computer instructions, characterized in that: The computer instructions are used to enable the computer to execute the chess game review analysis method as described in any one of claims 1 to 11.
