Optimization method and device of memory test algorithm based on improved genetic algorithm

By combining genetic algorithm with Monte Carlo search tree with taboo search algorithm, the search progress results of the memory test algorithm are optimized, and the problem of low fault coverage in the existing technology is solved, achieving more efficient memory testing effects.

CN119601067APending Publication Date: 2025-03-11BEIJING UNIV OF POSTS & TELECOMM +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411580726.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-07
Publication Date
2025-03-11

AI Technical Summary

Technical Problem

In some application scenarios, the failure coverage rate of existing memory testing algorithms is low, and the test effect needs to be improved.

Method used

The memory testing algorithm based on improved genetic algorithm is adopted, and the search progress results of the memory testing algorithm are optimized and fault coverage is improved through a combination of Monte Carlo search tree and taboo search algorithm.

Benefits of technology

It effectively improves the fault coverage rate and improves the testing effect of the memory test algorithm.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119601067A_ABST
    Figure CN119601067A_ABST
Patent Text Reader

Abstract

The invention provides a memory test algorithm optimization method and device based on an improved genetic algorithm, and the method comprises the steps: selecting a specific search advance element from a to-be-optimized search advance result of a memory test algorithm, and taking the selected specific search advance element as a root node of a first Monte Carlo search tree; selecting child nodes for extension according to the root node, and simulating a node set obtained by extension to obtain a fault coverage rate; the fault coverage rate serves as a reward value and is reversely propagated in the first Monte Carlo search tree, a second Monte Carlo search tree is obtained, candidate nodes are selected to obtain a to-be-inherited test sequence to serve as an initial population, a progeny sequence is inherited from the initial population according to the fitness, and when a genetic algorithm termination criterion is not met, the genetic algorithm termination criterion is completed. And calling a taboo search algorithm to search the offspring sequence to obtain an optimized search advancing result. By means of the method and device, the technical problem that in the prior art, a memory test algorithm is improved, but the fault coverage rate and the test effect still need to be improved is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of memory testing technology, and in particular to an optimization method and device for a memory testing algorithm based on an improved genetic algorithm. Background Art

[0002] In recent years, the demand for large-capacity memory has continued to grow. Due to the continuous improvement of memory integration and the increasing complexity of manufacturing processes, the failure rate is also gradually increasing. Therefore, the requirements for memory testing algorithms are constantly increasing. The March algorithm is the most typical memory testing algorithm. Although it has a high fault coverage rate and linear test complexity, it occupies an important position in memory testing algorithms, but its fault coverage rate is low in some application scenarios.

[0003] Although various memory testing methods for improving the March algorithm have been proposed in the prior art, the fault coverage and testing effect after the improvement still need to be improved. Summary of the invention

[0004] The present invention provides a method and device for optimizing a memory test algorithm based on an improved genetic algorithm, which are used to solve the technical problem in the prior art that the memory test algorithm is improved but the fault coverage and test effect still need to be improved.

[0005] The present invention provides a method for optimizing a memory test algorithm based on an improved genetic algorithm, the method comprising the following steps: Obtaining a search forward result to be optimized of a memory test algorithm, and selecting a specific search forward element from the search forward result to be optimized as a root node of a first Monte Carlo search tree; Selecting a child node in the first Monte Carlo search tree according to the root node for expansion, and simulating the expanded node set to obtain a corresponding fault coverage; Using the fault coverage rate as a reward value to perform back propagation in the first Monte Carlo search tree to obtain a second Monte Carlo search tree; Selecting candidate nodes from the second Monte Carlo search tree to obtain a sequence to be genetically tested; Taking the sequence to be tested as an initial population, and obtaining a descendant sequence by inheritance from the initial population according to fitness, wherein the fitness is the inverse of the fault coverage rate; When the termination criterion of the genetic algorithm is not met, the taboo search algorithm is called to search the offspring sequence to obtain the optimized search forward result of the memory test algorithm.

[0006] In some embodiments, the sequence length of the forward search results to be optimized is the same as the number of node layers of the first Monte Carlo search tree, and the step of selecting a child node for expansion in the first Monte Carlo search tree according to the root node includes: In the first Monte Carlo search tree, starting from the root node, determining the access status of the child nodes in each node layer; When the access status of the child nodes are all unvisited, randomly selecting one of the child nodes as an extension node; When the access state of the child node is a partially unvisited state, determining the number of unvisited state child nodes, if the number is 1, using the unvisited state child nodes as extension nodes, if the number is greater than 1, randomly selecting one from the unvisited state child nodes as the extension node; When the access status of the sub-nodes are all in the visited status, the UCB value is determined according to the number of accesses to the visited status sub-nodes, and the visited status sub-node with the largest UCB value is selected as the extended node; The expanded node is subjected to child node expansion, and when the expanded child node is a leaf node of the first Monte Carlo search tree, the node expansion is stopped.

[0007] In some embodiments, simulating the expanded node set to obtain the corresponding fault coverage includes: Using a search forward element sequence composed of search forward elements corresponding to nodes in the expanded node set as a fault test sequence; Obtaining the number of detected faults achieved by the fault test sequence during the memory test process, and determining the total number of faults of the memory fault type; The ratio of the number of detected faults to the total number of faults is used as the fault coverage of the fault test sequence.

[0008] In some embodiments, the method of using the fault coverage as a reward value to perform back propagation in the first Monte Carlo search tree to obtain a second Monte Carlo search tree includes: The following processing is performed iteratively: Starting from the leaf nodes in the expanded node set, the fault coverage is back-propagated to the root node in the first Monte Carlo search tree, and in the back-propagation process, the access status of each node in the node set is updated; When the iteration reaches the preset iteration rule, the first Monte Carlo search tree obtained after the current iteration is used as the second Monte Carlo search tree.

[0009] In some embodiments, the step of selecting a candidate node from the second Monte Carlo search tree to obtain a sequence to be genetically tested includes: For each non-leaf node in the second Monte Carlo search tree, select the best child node from the child node set of the non-leaf node as a candidate node with probability P, and randomly select a node from the child node set of the non-best child node as a candidate node with probability 1-P, wherein the best child node is a child node with the largest UCB value in the child node set of the non-leaf node; The search forward element sequence composed of the search forward elements corresponding to the candidate nodes is used as the sequence to be genetically tested.

[0010] In some embodiments, the step of inheriting a progeny sequence from the initial population according to fitness comprises: Determining the fitness of each sequence individual in the initial population; Perform M tournament selections to obtain M individuals to be inherited, wherein in each tournament selection process, m sequence individuals are randomly selected from the initial population, and a sequence individual with the smallest fitness is selected from the m sequence individuals as the individual to be inherited, wherein m is an integer greater than 1, and M is an integer greater than 1; Taking the sequences composed of the M individuals to be inherited as candidate sequences; Randomly select two candidate sequences for cross-inheritance, and mutate the individual sequences obtained by cross-inheritance to obtain offspring sequences.

[0011] In some embodiments, calling the taboo search algorithm to search the descendant sequence to obtain an optimized search forward result of the memory test algorithm includes: Select two sequences from the offspring sequence as current initial solutions, and initialize the taboo table to be empty; When the current initial solution does not meet the taboo search termination criterion, the current initial solution is taken as the historical optimal solution and an iterative search is started, wherein, in each iterative search process, under the restriction of the taboo table, a fragment exchange process is performed on the current initial solution to obtain a candidate solution representing the neighborhood of the current initial solution; updating the taboo table and the historical optimal solution according to the evaluation value of the candidate solution, and determining a new optimal solution, wherein the evaluation value of the candidate solution is fitness; When a new optimal solution obtained by an iterative search satisfies the taboo search termination criterion, the new optimal solution is inherited as the initial population, and when the termination criterion of the genetic algorithm is reached, the inherited offspring sequence is used as the optimized search forward result of the memory test algorithm.

[0012] In some embodiments, updating the taboo table and the historical optimal solution according to the evaluation value of the candidate solution and determining a new optimal solution includes: When the evaluation value of the candidate solution is less than the evaluation value of the current initial solution, it is determined that the amnesty criterion is met, the candidate solution is updated to a new optimal solution, and the current initial solution is updated to the taboo table; When the evaluation value of the candidate solution is greater than or equal to the evaluation value of the current initial solution, it is determined that the amnesty criterion is not met, the historical optimal solution is used as a new optimal solution, and the current initial solution and the candidate solution are updated to the taboo table.

[0013] In some embodiments, the method further comprises: When the termination criterion of the genetic algorithm is reached, the offspring sequence obtained by genetics of the initial population is used as the optimized search forward result of the memory test algorithm.

[0014] The present invention also provides an optimization device for a memory test algorithm based on an improved genetic algorithm, the device comprising the following modules: An acquisition module, used for acquiring a search forward result to be optimized of a memory test algorithm, and selecting a specific search forward element from the search forward result to be optimized as a root node of a first Monte Carlo search tree; An expansion module, configured to select child nodes for expansion in the first Monte Carlo search tree according to the root node, and simulate the node set obtained by the expansion to obtain a corresponding fault coverage; A propagation module, used for performing back propagation in the first Monte Carlo search tree using the fault coverage as a reward value to obtain a second Monte Carlo search tree; A selection module, used for selecting candidate nodes from the second Monte Carlo search tree to obtain a sequence to be genetically tested; A genetic module, used to use the sequence to be genetically tested as an initial population, and genetically obtain a descendant sequence from the initial population according to fitness, wherein the fitness is the inverse of the fault coverage rate; The search module is used to call the taboo search algorithm to search the offspring sequence when the termination criterion of the genetic algorithm is not met, so as to obtain the optimized search forward result of the memory test algorithm.

[0015] The present invention also provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, an optimization method for a memory testing algorithm based on an improved genetic algorithm as described above is implemented.

[0016] The present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the method for optimizing a memory test algorithm based on an improved genetic algorithm as described in any one of the above is implemented.

[0017] The present invention also provides a computer program product, comprising a computer program, wherein when the computer program is executed by a processor, the computer program implements any of the above-mentioned methods for optimizing a memory testing algorithm based on an improved genetic algorithm.

[0018] The optimization method and device of the memory test algorithm based on the improved genetic algorithm provided by the present invention use the fault coverage rate as the reward value, and use the Monte Carlo search tree to regenerate the search forward results to be optimized of the memory test algorithm, so as to generate a genetic test sequence with the optimal fault coverage rate. Then, based on the fitness, the genetic algorithm is continued to be used to generate the offspring sequence, and the taboo search algorithm is used in the genetic algorithm to further search to obtain the optimized search forward results. In this way, on the basis of ensuring the fault coverage rate, the search forward results to be optimized of the memory test algorithm are optimized multiple times, which can effectively improve the fault coverage rate and enhance the test effect of the memory test algorithm. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] In order to more clearly illustrate the technical solutions in the present invention or the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced one by one below. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0020] Figure 1 It is a flow chart of the optimization method of the memory test algorithm based on the improved genetic algorithm provided by the present invention.

[0021] Figure 2 This is one of the schematic diagrams of the Monte Carlo search tree node state changes provided by the present invention.

[0022] Figure 3 This is the second schematic diagram of the Monte Carlo search tree node state change provided by the present invention.

[0023] Figure 4 This is the third schematic diagram of the Monte Carlo search tree node state change provided by the present invention.

[0024] Figure 5 This is the fourth schematic diagram of the Monte Carlo search tree node state change provided by the present invention.

[0025] Figure 6 It is a schematic diagram of crossover inheritance provided by the present invention.

[0026] Figure 7 It is a schematic diagram of the sequence mutation provided by the present invention.

[0027] Figure 8 It is a schematic diagram of the framework of the improved genetic algorithm provided by the present invention.

[0028] Fig. 9 It is a structural schematic diagram of an optimization device for a memory test algorithm based on an improved genetic algorithm provided by the present invention.

[0029] Fig.10 It is a structural schematic diagram of an electronic device provided by the present invention. DETAILED DESCRIPTION

[0030] In order to make the purpose, technical solution and advantages of the present invention clearer, the technical solution of the present invention will be clearly and completely described below in conjunction with the drawings of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0031] Combine the following Figure 1-Figure 9 The present invention describes an optimization method and device for a memory test algorithm based on an improved genetic algorithm. Figure 1 FIG. 1 is a flow chart of an optimization method for a memory test algorithm based on an improved genetic algorithm provided by the present invention. Figure 1 As shown, the method includes the following steps 101 to 106, which are described in detail below.

[0032] Step 101: Obtain the search forward results to be optimized of the memory test algorithm, and select a specific search forward element from the search forward results to be optimized as the root node of the first Monte Carlo search tree.

[0033] First, the forward search result to be optimized of the memory test algorithm is obtained. Here, the memory test algorithm may be a March algorithm, and the processing process of the March algorithm is to execute read-write 0 or read-write 1 for each storage unit in the memory, so as to detect whether the storage unit of the memory has a fault.

[0034] For ease of description, the change in the state value of the two storage units (represented by the two-digit number uu, such as 00), each read and write operation (called operation type, read or write) and operation data (operation value, 0 or 1) are all recorded as a search forward element. Therefore, the search forward result to be optimized of the March algorithm includes multiple search forward elements. In addition, the search forward element also records the detection direction during the memory test, that is, the search forward direction of the March algorithm on the storage unit. In the search forward direction, the state values ​​of the two storage units will be changed by executing the operation type and the operation value. In the embodiment of the present invention, for the search forward element of the March algorithm, in the test operation, the state value change from left to right is defined as the "↑" direction, and the corresponding detection direction is from bottom to top, and the state value change from right to left is defined as the "↓" direction, and the corresponding detection direction is from top to bottom. For the operation type, the write operation type is write, represented by w, and the read operation type is read, represented by r. The operation value is the value input during the test, specifically a pair of opposite values, that is, 0 and 1. Therefore, a test operation example can be represented as “↑w1”, which means that two storage cells are written with 1 in a direction from bottom to top.

[0035] After obtaining the search forward results to be optimized of the memory test algorithm, the Monte Carlo search tree is used to perform preliminary optimization on the search forward results to be optimized. First, the test operation can be used as a node in the Monte Carlo search tree, and each node has a corresponding access status, including the number of accesses and the status information of the storage unit when the test operation is executed.

[0036] In the Monte Carlo search tree, the change of the state value of two units "uu" is used to represent the test operation of the node. After the test operation, the state information of the storage unit will be changed, and the number of node accesses will increase accordingly. Because the change of the "uu" state value is to execute read / write 0 or read / write 1, the state value types are divided into four types: "00", "01", "10", and "11", which are introduced below.

[0037] See also Figure 2 , Figure 2 The figure shows the changes in the state value of node "00" after performing various test operations. Specifically, after performing the ↑w0 operation, the state of "00" is still "00"; after performing the ↓w0 operation, the state is still "00"; after performing the ↑w1 operation, the state changes to "10"; after performing the ↓w1 operation, the state changes to "01"; after performing the ↑r0 operation, the state is still "00"; after performing the ↓r0 operation, the state is still "00".

[0038] See also Figure 3 , Figure 3It shows the changes in the state value of node "01" after performing various test operations. Specifically, after the ↑w0 operation, the state of node "01" changes to "00"; after the ↓w0 operation, the state changes to "10"; after the ↑w1 operation, the state changes to "10"; after the ↓w1 operation, the state changes to "11"; after the ↑r0 operation, the state is still "01"; after the ↓r0 operation, the state is still "01"; after the ↑r1 operation, the state is still "01"; after the ↓r1 operation, the state is still "01".

[0039] See also Figure 4 , Figure 4 It shows the changes in the state value of node "10" after performing various test operations. Specifically, after the ↑w0 operation, the state of node "10" changes to "01"; after the ↓w0 operation, the state changes to "00"; after the ↑w1 operation, the state changes to "11"; after the ↓w1 operation, the state changes to "01"; after the ↑r1 operation, the state is still "10"; after the ↓r1 operation, the state is still "10"; after the ↑r0 operation, the state is still "10"; after the ↓r0 operation, the state is still "10".

[0040] See also Figure 5 , Figure 5 It shows the changes in the state value of node "11" after performing various test operations. Specifically, after the ↑w1 operation, the state of node "11" is still "11"; after the ↓w1 operation, the state is still "11"; after the ↑w0 operation, the state changes to "01"; after the ↓w0 operation, the state changes to "10"; after the ↑r1 operation, the state is still "11"; after the ↓r1 operation, the state is still "11".

[0041] Next, the optimization process of the Monte Carlo search tree is introduced. In the first Monte Carlo search tree, the corresponding root node must be determined first. The embodiment of the present invention selects a specific search forward element from the search forward results to be optimized as the root node of the first Monte Carlo search tree. The first Monte Carlo search tree is the initial search tree. The initial value of the number of visits to the nodes in the tree is 0, and the initial state of the visited node set is also set to a null value. Among them, the specific search forward element is generally the "↕w0" operation. This is because in the memory test algorithm, "↕w0" is generally used as the initial first operation, so "↕w0" is used as the root node of the first Monte Carlo search tree. In the "↕w0" operation, "↕" indicates that in the test operation, the detection direction can be either from bottom to top or from top to bottom.

[0042] Step 102: Select child nodes in the first Monte Carlo search tree according to the root node for expansion, and simulate the node set obtained by the expansion to obtain the corresponding fault coverage.

[0043] After the root node is determined in step 101, a subnode is selected in the first Monte Carlo search tree according to the root node for expansion, and the expanded node set is simulated to obtain the corresponding fault coverage. The purpose of subnode expansion is to determine other operations after the "↕w0" test operation to generate a test sequence to be inherited.

[0044] Therefore, it is necessary to start from the root node and select child nodes from the first Monte Carlo search tree for expansion. The expansion here belongs to the expansion process in the Monte Carlo search tree. Selecting child nodes for expansion at each node layer in the tree will determine a child node, and a test operation will be obtained accordingly. After the optimization, the sequence length of the forward search result to be optimized cannot be changed. Therefore, the sequence length of the forward search result to be optimized is set to be the same as the number of node layers of the first Monte Carlo search tree, that is, the length of the genetic test sequence obtained by optimization is the same as the number of node layers of the first Monte Carlo search tree. It should be noted that when a node in the tree is expanded as an expansion node, the node is accessed, the number of accesses increases by 1, and the access state changes from the unaccessed state to the accessed state. After that, the node will be added to the set of visited nodes, which also indicates that the storage unit has performed the corresponding test operation and the storage unit state value has changed.

[0045] The process of sub-node expansion is described in detail below. First, in the first Monte Carlo search tree, starting from the root node, the access status of the sub-nodes in each node layer is determined. Here, the length of the sequence of the forward search result to be optimized is 6 as an example. It can be determined that the number of node layers of the first Monte Carlo search tree is also 6, and the length of the sequence to be genetically tested obtained subsequently is also 6.

[0046] For example, in the first node layer, the access status of all child nodes of the root node is first determined, and when the child nodes are expanded in the second to sixth node layers, the access status of all child nodes of the current node continues to be determined. Since there are multiple test operations performed by the memory, multiple child nodes will be obtained in each node layer for expansion or selection. According to the traditional Monte Carlo search tree algorithm, the expansion of child nodes is performed iteratively, so in a certain node layer, some nodes may not be expanded, and some nodes may have been expanded. The following is an example of an arbitrary middle node layer in the first Monte Carlo search tree.

[0047] Here, first determine the access status of all child nodes of the current node (if it is the first node layer, then the current node is the root node). When the access status of the child nodes is unvisited, it means that the current node layer has not yet been expanded, then randomly select one from the child nodes as the expansion node.

[0048] When the access status of a child node is partially unvisited, it means that only some of the child nodes have been expanded. Therefore, the number of unvisited child nodes is determined first, and then further judgment is made based on the number. If the number is 1, it means that only one child node has not been expanded, and the unvisited child node is used as the expansion node. If the number of child nodes is greater than 1, it means that there are multiple child nodes that have not been expanded, and one of the unvisited child nodes is randomly selected as the expansion node.

[0049] When the access status of all child nodes is in the visited state, it means that all child nodes in the current child node layer have been expanded, that is, they have been visited in the previous iteration process. In order to select the optimal child node, the embodiment of the present invention adopts the UCB (Upper Confidence Bound) algorithm, determines the UCB value according to the number of visits to the child nodes in the visited state, and selects the optimal child node by calculating the UCB value. The UCB value calculation formula is as follows: Formula (1): (1) In the above formula (1), n ​​is the number of visits to the visited state node, N is the total number of visits to the first Monte Carlo search tree node, and c is the exploration constant. F(x) is the fault coverage rate, which is the coverage rate of the faults that can be detected by the current test sequence. Here, after a node is expanded, it will be added to the visited node set. Each time a node is expanded, a test operation must be performed. Then, the current test sequence can be determined based on the visited node set. The calculation formula for the fault coverage rate is as follows: (2) In the above formula (2), represents the fault coverage, Represents the number of faults that the current test sequence can detect, which can be obtained by performing fault detection in the memory using the current test sequence. The number of all known faults representing the target fault type of the memory, determined based on a priori knowledge.

[0050] In this way, a UCB value can be calculated for each visited state sub-node accordingly. Here, a visited state sub-node with the largest UCB value is selected as the expansion node. The visited state sub-node with the largest UCB value belongs to the optimal sub-node obtained by expanding the current sub-node layer.

[0051] By expanding the sub-nodes, an expansion node can be selected in this node layer. After the expansion node, multiple test operations will be performed, and multiple sub-nodes will continue to be generated in the next sub-node layer. In this way, the above operation of selecting the expansion node is repeated to expand the sub-nodes of the expansion node. Because the length of the genetic test sequence is 6, and the number of layers of the first Monte Carlo search tree is 6, then at the 6th sub-node layer, it will be expanded to the leaf node, and when the expanded sub-node is the leaf node of the first Monte Carlo search tree, the node expansion is stopped.

[0052] After stopping node expansion, there are 6 expanded nodes expanded from the root node, all of which have been added to the visited node set. This visited node set is the expanded node set. Next, simulate the expanded node set to obtain the corresponding fault coverage.

[0053] First, the search forward element sequence composed of the search forward elements corresponding to the nodes in the expanded node set is used as the fault test sequence. For example, the expanded node set here has 6 expansion nodes and 6 corresponding test operations. In this way, a test sequence can be formed according to the order of adding the nodes to the set as the fault test sequence.

[0054] Next, we need to evaluate this test sequence, and the evaluation criteria are expressed in terms of fault coverage. First, we obtain the number of detected faults achieved by the fault test sequence during the memory test process, and determine the total number of faults of the memory fault type. Then, referring to the above formula (2), we take the ratio of the number of detected faults to the total number of faults as the fault coverage of the fault test sequence.

[0055] Step 103: Use the fault coverage rate as a reward value to perform back propagation in the first Monte Carlo search tree to obtain a second Monte Carlo search tree.

[0056] The fault coverage rate can be used as a reward value in the expansion process of the first Monte Carlo search tree at this time. Because this fault coverage rate cannot be used as the optimal fault coverage rate, it is inaccurate to use the above fault test sequence as the sequence to be inherited. Therefore, in the embodiment of the present invention, with reference to the traditional Monte Carlo search tree algorithm, the fault coverage rate is used as a reward value to perform back propagation in the first Monte Carlo search tree to obtain the second Monte Carlo search tree.

[0057] The back-propagation process is similar to the neural network model training process. Referring to the traditional Monte Carlo search tree algorithm, the back-propagation and child node expansion processes are performed iteratively. Therefore, during the back-propagation process, the following processing is performed iteratively: First, starting from the leaf nodes in the expanded node set, the fault coverage rate is back-propagated as the reward value to the root node in the first Monte Carlo search tree, and during the back-propagation process, the access status of each intermediate node is updated.

[0058] Here, we take the expanded node set as 6 expanded nodes as an example, where the last (6th) expanded node is the leaf node and the first node is the root node. During backpropagation, starting from the leaf node, the reward value (i.e., fault coverage) is backpropagated until it reaches the root node in the first Monte Carlo search tree, and during the backpropagation process, the access status of each node in the node set is updated, which means updating the access status of all 6 expanded nodes, including updating the number of visits and updating the fault coverage, so as to facilitate the calculation of the UCB value when the child node is expanded in the next iteration.

[0059] Next, we continue to start from the root node and enter the next iteration to continue to perform child node expansion, obtain multiple expanded nodes and add them to the expanded node set, and then continue to calculate the fault coverage as the reward value for back propagation. This iteration can achieve accurate evaluation of the expanded nodes and node access status of the first Monte Carlo tree, and ultimately all nodes in the first Monte Carlo search tree can be expanded, and then candidate points can be selected from a global perspective to construct the genetic test sequence.

[0060] When the iteration reaches the preset iteration rule, the iteration rule may be the number of iterations. If a certain iteration reaches the preset number of iterations, the iteration is stopped. At this time, the access status of the nodes in the first Monte Carlo search tree is stopped from being updated, and the first Monte Carlo search tree obtained after the current iteration is used as the second Monte Carlo search tree.

[0061] Step 104: Select candidate nodes from the second Monte Carlo search tree to obtain a sequence to be genetically tested.

[0062] After completing the update of the Monte Carlo search tree, candidate nodes are selected from the second Monte Carlo search tree to obtain the genetic test sequence as the initial population. In this embodiment of the present invention, candidate nodes in the second Monte Carlo search tree are selected according to the action selection probability.

[0063] For each non-leaf node in the second Monte Carlo search tree, the best child node is selected from the child node set of the non-leaf node as a candidate node with probability P, and a node is randomly selected from the child node set of the non-best child node as a candidate node with probability 1-P.

[0064] Specifically, in the second Monte Carlo search tree, each non-leaf node in each node layer has an optimal child node, and the other child nodes are non-optimal child nodes. That is to say, each non-leaf node has multiple expanded child nodes, one of which is the optimal child node, and the other child nodes constitute a non-optimal child node set, where the optimal child node is the child node with the largest UCB value in the child node set of the non-leaf node.

[0065] When selecting candidate nodes, the optimal child node (i.e., the child node with the largest UCB value) is selected as the candidate node with probability P, and a child node is randomly selected from the non-optimal child node set with probability 1-P as the candidate node. In this way, each node layer can select the corresponding candidate node, and the value of P can be set according to actual needs, such as 95%.

[0066] Finally, the search forward element sequence composed of the search forward elements corresponding to the candidate nodes is used as the sequence to be tested by genetics. For example, the second Monte Carlo search tree has 6 child node layers. If each layer selects the child node with the largest UCB value as the candidate node, 6 candidate nodes will be selected in the end. Then the search forward element sequence composed of the search forward elements corresponding to the 6 candidate nodes is used as the sequence to be tested by genetics.

[0067] In an embodiment of the present invention, fault coverage is used as a reward value, and a Monte Carlo search tree is used to regenerate the forward search results to be optimized of a memory test algorithm, so that the Monte Carlo search tree can gradually generate a genetic test sequence with the optimal fault coverage, which is convenient for the subsequent use of a genetic algorithm to further screen and obtain the optimization results.

[0068] Step 105: Use the sequence to be tested for inheritance as the initial population, and obtain the offspring sequence by inheritance from the initial population according to the fitness.

[0069] Next, the genetic algorithm is called to perform inheritance on the test sequence to be inherited. In the embodiment of the present invention, the test sequence to be inherited is used as the initial population for inheritance. Then, according to the genetic algorithm, the offspring sequence is inherited from the initial population according to the fitness. Figure 8 , Figure 8 A schematic diagram of the framework of the improved genetic algorithm provided by the present invention.

[0070] like Figure 8 As shown, here we first calculate the fitness of each sequence individual in the initial population to determine whether the sequence individual is inherited to the offspring based on the fitness. Here we can refer to the above formula (2) to calculate the fault coverage of each sequence individual , and then calculate the fault coverage rate based on The reciprocal of is taken as the fitness of the individual in the sequence, which is represented by the fitness function, denoted as FF(x), which is expressed as the following formula (3): (3) The smaller the fitness of the sequence individual, the higher the fault coverage, the more it meets the requirements and the more likely it is to be inherited by the offspring.

[0071] Next comes the inheritance process of the offspring, where individuals with the corresponding sequence are selected as the offspring sequence.

[0072] The embodiment of the present invention uses a tournament selection strategy to select offspring sequences for offspring inheritance. Here, the tournament selection is repeated M times to obtain M individuals to be inherited, wherein in each tournament selection process, m sequence individuals are randomly selected from the initial population, and a sequence individual with the smallest fitness is selected from the m sequence individuals as the individual to be inherited, where m is an integer greater than 1 and M is an integer greater than 1.

[0073] Finally, the sequence composed of M individuals to be inherited is used as a candidate sequence. However, in some implementation scenarios, multiple inheritances are required, that is, multiple tournament selection strategies are executed to inherit multiple candidate sequences, and then the optimal sequence is obtained as the offspring sequence through cross inheritance and mutation.

[0074] like Figure 8 As shown, when selecting offspring, two candidate sequences are randomly selected for cross inheritance, and cross inheritance is to select at least one sequence fragment from each other for exchange. Figure 6 The candidate sequence 1 and candidate sequence 2 shown are obtained by interacting the three sequence fragments "w1", "w0" and "r0" in candidate sequence 1 with "w0", "w1" and "r1" in candidate sequence 2, thereby obtaining new candidate sequence 1 and new candidate sequence 2.

[0075] After cross-inheritance, the individual sequences obtained by cross-inheritance are mutated to obtain the offspring sequence. Mutation is to change or flip the gene of a sequence fragment in the sequence or to swap the positions of two sequence fragments. Figure 7 As shown in the figure, for a new candidate sequence "w1 r1 w0 r0 w1 w1 r1 w0 w0 r0", the sequence fragment "r0w1" is flipped into "w1 r0", and then the flipped sequence fragment "w1 r0" is swapped with the sequence fragment "w1 r1" to obtain the mutated offspring sequence "w1 r1 w0 w1 r1 w1 r0 w0 w0 r0".

[0076] In this way, all candidate sequences after cross-inheritance can be mutated to ultimately obtain offspring sequences.

[0077] Step 105: When the termination criterion of the genetic algorithm is not met, the taboo search algorithm is called to search the offspring sequence to obtain the optimized search forward result of the memory test algorithm.

[0078] Through step 104, it is generally not easy to select a better offspring in a single genetic algorithm inheritance process, so the embodiment of the present invention sets a termination criterion for the genetic algorithm to perform multiple iterations of inheritance. When the offspring sequence is obtained through each iteration of inheritance, the obtained offspring sequence is searched by the taboo search algorithm until the termination criterion of the genetic algorithm is met, and the optimized search forward result of the memory test algorithm is obtained.

[0079] Therefore, after step 104, it is necessary to determine whether the offspring sequence obtained by inheritance meets the termination criterion of the genetic algorithm, and the termination criterion of the genetic algorithm can be a preset maximum number of iterative inheritance times. In the embodiment of the present invention, when the termination criterion of the genetic algorithm is not met, the taboo search algorithm is called to search the offspring sequence to obtain the optimized search forward result of the memory test algorithm, which is described in detail below.

[0080] First, two sequences are selected from the offspring sequence as the current initial solution S, and the taboo table I is initialized to be empty. When the current initial solution S does not meet the taboo search termination criterion, the current initial solution S is taken as the historical optimal solution P and an iterative search is started.

[0081] like Figure 8 As shown in the figure, when the taboo search algorithm is searching, the taboo table is initialized to be empty. The purpose of the taboo table is to avoid obtaining previously obtained solutions after executing the fragment exchange process, that is, to avoid taking repeated paths. The condition of the iterative search is whether the taboo search termination criterion is met. For example, if the taboo search reaches a preset number of iterative searches, it is determined that the taboo search termination criterion is met and the genetic algorithm continues to be executed. If the taboo search termination criterion is not met, the taboo search continues.

[0082] In each iterative search process, under the restriction of taboo table I, the current initial solution S is subjected to fragment swapping to obtain a candidate solution representing the neighborhood of the current initial solution. The segment exchange process can be to exchange at least one sequence segment randomly selected from the same position in the two current initial solutions S, and multiple candidate solutions can be obtained. Next, we need to The evaluation value is used to update the taboo table I and the historical optimal solution P, and determine the new optimal solution .

[0083] It should be noted that the candidate solution The evaluation value of is fitness, which is the inverse of the fault coverage, denoted as FF ( The following describes how to determine the new optimal solution. process.

[0084] In the neighborhood of constructing the current initial solution S, determine the candidate solution After that, we need to judge the candidate solution The evaluation value of the current initial solution S is greater than that of the candidate solution. The evaluation value FF ( ) is less than the evaluation value FF(S) of the current initial solution S, indicating that after the fragment exchange process, the evaluation value of the sequence decreases. The decrease in fitness indicates that the fault coverage rate of the detection increases, so it is determined that the amnesty criterion is met. Update to the new optimal solution . And because the current initial solution S and the candidate solution Once it has appeared, it cannot appear again in the subsequent iterative search process, so the current initial solution S is combined with the candidate solution Update to taboo table I and store it.

[0085] When the candidate solution The evaluation value FF ( ) is greater than or equal to the evaluation value FF(S) of the current initial solution S, indicating that after the fragment exchange process, the evaluation value of the sequence increases. The increase in fitness indicates that the fault coverage rate of the detection decreases. Therefore, it is determined that the amnesty criterion is not met, and the historical optimal solution is not updated. The historical optimal solution P is directly used as the new optimal solution. , and the candidate solution with the smallest evaluation value As the current initial solution for the next iterative search. Similarly, the current initial solution S is compared with the candidate solution Update to taboo table I and store it.

[0086] After updating the taboo table I, it is necessary to continue to determine whether the taboo search termination criterion is met, that is, to determine whether the preset number of iterative searches has been reached. When the taboo search termination criterion is not met, the iterative search is continued. The one with the smallest evaluation value is used as the initial solution to continue constructing candidate solutions.

[0087] When a new optimal solution is obtained by an iterative search When the taboo search termination criteria are met, it means that the preset number of iterative searches has been reached, and the new optimal solution will be obtained. It is used as the initial population for inheritance, and when the termination criterion of the genetic algorithm is reached, the inherited offspring sequence is used as the optimized search forward result of the memory test algorithm.

[0088] For example Figure 8 As shown in Figure 1, when the taboo search termination criterion is not reached, an iterative search is performed to construct the neighborhood of the current initial solution and obtain a candidate solution. Then, it is determined whether the amnesty criterion is met, that is, whether the evaluation value increases.

[0089] When the amnesty criterion is met, the current initial solution is replaced by the candidate solution that meets the amnesty criterion, and then the historical optimal solution is replaced by the candidate solution, and finally the taboo table is updated.

[0090] When the amnesty criterion is not met, the historical optimal solution remains unchanged, and the current initial solution is replaced by the candidate solution with the smallest evaluation value. Then the taboo table is updated and the next iterative search is started to continue to determine whether the taboo search termination criterion is met. If it is still not met, the candidate solution is constructed based on the current initial solution (that is, the candidate solution with the smallest evaluation value obtained in the last iterative search) for search.

[0091] When the taboo search termination criterion is reached, the genetic algorithm is continued to be executed using the historical optimal solution as the initial population to calculate the fitness of each sequence individual in the initial population.

[0092] In some embodiments, when, in a certain iterative inheritance, after the offspring sequence is obtained through the genetic algorithm, it is determined that the termination criterion of the genetic algorithm has been reached, there is no need to call the taboo search algorithm to search the offspring sequence, and the offspring sequence obtained by the initial population inheritance is directly used as the optimized search forward result of the memory test algorithm.

[0093] Based on the genetic algorithm, the embodiment of the present invention uses fitness as the evaluation value, searches and generates through multiple taboo search algorithms, and obtains the offspring sequence with the highest evaluation value as the optimized search forward result of the memory test algorithm. The optimized search forward result can effectively improve the fault coverage rate and enhance the test effect of the memory test algorithm.

[0094] In an embodiment of the present invention, the fault coverage rate is used as a reward value, and the Monte Carlo search tree is used to regenerate the search forward results to be optimized of the memory test algorithm, so that a genetic test sequence with the optimal fault coverage rate can be generated. Then, based on the fitness, the genetic algorithm is continued to be used to generate the offspring sequence, and the taboo search algorithm is used in the genetic algorithm to further search to obtain the optimized search forward results. In this way, on the basis of ensuring the fault coverage rate, the search forward results to be optimized of the memory test algorithm are optimized multiple times, which can effectively improve the fault coverage rate and enhance the test effect of the memory test algorithm.

[0095] The following describes an optimization device for a memory test algorithm based on an improved genetic algorithm provided by the present invention. The optimization device for a memory test algorithm based on an improved genetic algorithm described below and the optimization method for a memory test algorithm based on an improved genetic algorithm described above can refer to each other.

[0096] like Fig. 9The optimization device of the memory test algorithm based on the improved genetic algorithm specifically includes the following modules: an acquisition module 901 , an expansion module 902 , a propagation module 903 , a selection module 904 , a genetic module 905 , and a search module 906 . Specifically, an acquisition module 901 is used to obtain the forward search result to be optimized of the memory test algorithm, and select a specific forward search element from the forward search result to be optimized as the root node of the first Monte Carlo search tree; an expansion module 902 is used to select a child node in the first Monte Carlo search tree according to the root node for expansion, and simulate the expanded node set to obtain the corresponding fault coverage; a propagation module 903 is used to use the fault coverage as a reward value to perform back propagation in the first Monte Carlo search tree to obtain a second Monte Carlo search tree; a selection module 904 is used to select candidate nodes from the second Monte Carlo search tree to obtain a sequence to be inherited; an inheritance module 905 is used to use the sequence to be inherited as an initial population, and inherit an offspring sequence from the initial population according to fitness, wherein the fitness is the inverse of the fault coverage; a search module 906 is used to call a taboo search algorithm to search the offspring sequence when the termination criterion of the genetic algorithm is not met, and obtain the optimized forward search result of the memory test algorithm.

[0097] It should be noted that the beneficial effects of the optimization device of the memory testing algorithm based on the improved genetic algorithm here and the optimization method of the memory testing algorithm based on the improved genetic algorithm mentioned above can correspond to each other, so the beneficial effects of the optimization device of the memory testing algorithm based on the improved genetic algorithm will not be repeated here.

[0098] Fig.10 An example of a physical structure diagram of an electronic device is shown in FIG. Fig.10As shown, the electronic device may include: a processor (processor) 910 , a communication interface (Communications Interface) 920 , a memory (memory) 930 and a communication bus 940 , wherein the processor 910 , the communication interface 920 , and the memory 930 communicate with each other through the communication bus 940 . The processor 910 can call the logic instructions in the memory 930 to execute an optimization method for a memory test algorithm based on an improved genetic algorithm, the method comprising: obtaining the search forward result to be optimized of the memory test algorithm, selecting a specific search forward element from the search forward result to be optimized as the root node of the first Monte Carlo search tree; selecting a child node in the first Monte Carlo search tree according to the root node for expansion, and simulating the expanded node set to obtain the corresponding fault coverage; using the fault coverage as a reward value to perform backpropagation in the first Monte Carlo search tree to obtain a second Monte Carlo search tree; selecting candidate nodes from the second Monte Carlo search tree to obtain a sequence to be inherited; using the sequence to be inherited as an initial population, and inheriting a descendant sequence from the initial population according to the fitness, wherein the fitness is the inverse of the fault coverage; when the termination criterion of the genetic algorithm is not met, calling a taboo search algorithm to search the descendant sequence to obtain the optimized search forward result of the memory test algorithm.

[0099] In addition, the logic instructions in the above-mentioned memory 930 can be implemented in the form of a software functional unit and can be stored in a computer-readable storage medium when it is sold or used as an independent product. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program codes.

[0100] On the other hand, the present invention also provides a computer program product, which includes a computer program, which can be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer can execute the optimization method of the memory test algorithm based on the improved genetic algorithm provided by the above methods, the method including: obtaining the search forward result to be optimized of the memory test algorithm, selecting a specific search forward element from the search forward result to be optimized as the root node of the first Monte Carlo search tree; selecting a child node in the first Monte Carlo search tree according to the root node for expansion, and simulating the expanded node set to obtain the corresponding fault coverage; using the fault coverage as a reward value to perform back propagation in the first Monte Carlo search tree to obtain a second Monte Carlo search tree; selecting candidate nodes from the second Monte Carlo search tree to obtain a sequence to be inherited; using the sequence to be inherited as an initial population, and inheriting a descendant sequence from the initial population according to the fitness, wherein the fitness is the inverse of the fault coverage; when the termination criterion of the genetic algorithm is not met, calling a taboo search algorithm to search the descendant sequence to obtain the optimized search forward result of the memory test algorithm.

[0101] On the other hand, the present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, is implemented to execute the optimization method of the memory test algorithm based on the improved genetic algorithm provided by the above-mentioned methods, the method comprising: obtaining the search forward result to be optimized of the memory test algorithm, selecting a specific search forward element from the search forward result to be optimized as the root node of the first Monte Carlo search tree; selecting child nodes in the first Monte Carlo search tree according to the root node for expansion, and simulating the expanded node set to obtain the corresponding fault coverage; using the fault coverage as a reward value to perform back propagation in the first Monte Carlo search tree to obtain a second Monte Carlo search tree; selecting candidate nodes from the second Monte Carlo search tree to obtain a sequence to be inherited; using the sequence to be inherited as an initial population, and inheriting a descendant sequence from the initial population according to the fitness, wherein the fitness is the inverse of the fault coverage; when the termination criterion of the genetic algorithm is not met, calling a taboo search algorithm to search the descendant sequence to obtain the optimized search forward result of the memory test algorithm.

[0102] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative labor.

[0103] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a necessary general hardware platform, and of course, can also be implemented by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the prior art can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.

[0104] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

1. A method for optimizing a memory test algorithm based on an improved genetic algorithm, characterized in that: The method comprises: Obtaining a search forward result to be optimized of a memory test algorithm, and selecting a specific search forward element from the search forward result to be optimized as a root node of a first Monte Carlo search tree; Selecting a child node in the first Monte Carlo search tree according to the root node for expansion, and simulating the expanded node set to obtain a corresponding fault coverage; Using the fault coverage rate as a reward value to perform back propagation in the first Monte Carlo search tree to obtain a second Monte Carlo search tree; Selecting candidate nodes from the second Monte Carlo search tree to obtain a sequence to be genetically tested; Taking the sequence to be tested as an initial population, and obtaining a descendant sequence by inheritance from the initial population according to fitness, wherein the fitness is the inverse of the fault coverage rate; When the termination criterion of the genetic algorithm is not met, the taboo search algorithm is called to search the offspring sequence to obtain the optimized search forward result of the memory test algorithm.

2. The optimization method of the memory test algorithm based on the improved genetic algorithm according to claim 1, characterized in that: The sequence length of the forward search result to be optimized is the same as the number of node layers of the first Monte Carlo search tree, and the step of selecting a child node for expansion in the first Monte Carlo search tree according to the root node includes: In the first Monte Carlo search tree, starting from the root node, determining the access status of the child nodes in each node layer; When the access status of the child nodes are all unvisited, randomly selecting one of the child nodes as an extension node; When the access state of the child node is a partially unvisited state, determining the number of unvisited state child nodes, if the number is 1, using the unvisited state child nodes as extension nodes, if the number is greater than 1, randomly selecting one from the unvisited state child nodes as the extension node; When the access status of the sub-nodes are all in the visited status, the UCB value is determined according to the number of accesses to the visited status sub-nodes, and the visited status sub-node with the largest UCB value is selected as the extended node; The expanded node is subjected to child node expansion, and when the expanded child node is a leaf node of the first Monte Carlo search tree, the node expansion is stopped.

3. The optimization method of the memory test algorithm based on the improved genetic algorithm according to claim 1, characterized in that: The simulating the expanded node set to obtain the corresponding fault coverage includes: Using a search forward element sequence composed of search forward elements corresponding to nodes in the expanded node set as a fault test sequence; Obtaining the number of detected faults achieved by the fault test sequence during the memory test process, and determining the total number of faults of the memory fault type; The ratio of the number of detected faults to the total number of faults is used as the fault coverage of the fault test sequence.

4. The method for optimizing a memory test algorithm based on an improved genetic algorithm according to claim 1, characterized in that: The method of using the fault coverage rate as a reward value to perform back propagation in the first Monte Carlo search tree to obtain a second Monte Carlo search tree includes: The following processing is performed iteratively: Starting from the leaf nodes in the expanded node set, backpropagating the fault coverage rate as a reward value to the root node in the first Monte Carlo search tree, and updating the access status of each node in the node set during the backpropagation process; When the iteration reaches the preset iteration rule, the first Monte Carlo search tree obtained after the current iteration is used as the second Monte Carlo search tree.

5. The method for optimizing a memory test algorithm based on an improved genetic algorithm according to claim 1, characterized in that: The step of selecting a candidate node from the second Monte Carlo search tree to obtain a sequence to be genetically tested comprises: For each non-leaf node in the second Monte Carlo search tree, select the best child node from the child node set of the non-leaf node as a candidate node with probability P, and randomly select a node from the child node set of the non-best child node as a candidate node with probability 1-P, wherein the best child node is a child node with the largest UCB value in the child node set of the non-leaf node; The search advancing element sequence composed of the search advancing elements corresponding to the candidate nodes is used as the sequence to be genetically tested.

6. The method for optimizing a memory test algorithm based on an improved genetic algorithm according to claim 1, characterized in that: The step of obtaining a progeny sequence by inheritance from the initial population according to the fitness comprises: Determining the fitness of each sequence individual in the initial population; Perform M tournament selections to obtain M individuals to be inherited, wherein in each tournament selection process, m sequence individuals are randomly selected from the initial population, and a sequence individual with the smallest fitness is selected from the m sequence individuals as the individual to be inherited, wherein m is an integer greater than 1, and M is an integer greater than 1; Taking the sequences composed of the M individuals to be inherited as candidate sequences; Two candidate sequences are randomly selected for cross-inheritance, and the individual sequences obtained by cross-inheritance are mutated to obtain offspring sequences.

7. The method for optimizing a memory test algorithm based on an improved genetic algorithm according to claim 1, characterized in that: The calling of the taboo search algorithm to search the descendant sequence to obtain the optimized search forward result of the memory test algorithm includes: Select two sequences from the offspring sequences as current initial solutions, and initialize the taboo table to be empty; When the current initial solution does not meet the taboo search termination criterion, the current initial solution is taken as the historical optimal solution and an iterative search is started, wherein, in each iterative search process, under the restriction of the taboo table, a fragment exchange process is performed on the current initial solution to obtain a candidate solution representing the neighborhood of the current initial solution; updating the taboo table and the historical optimal solution according to the evaluation value of the candidate solution, and determining a new optimal solution, wherein the evaluation value of the candidate solution is fitness; When a new optimal solution obtained by an iterative search satisfies the taboo search termination criterion, the new optimal solution is inherited as the initial population, and when the termination criterion of the genetic algorithm is reached, the inherited offspring sequence is used as the optimized search forward result of the memory test algorithm.

8. The method for optimizing a memory test algorithm based on an improved genetic algorithm according to claim 1, characterized in that: The step of updating the taboo table and the historical optimal solution according to the evaluation value of the candidate solution and determining a new optimal solution includes: When the evaluation value of the candidate solution is less than the evaluation value of the current initial solution, it is determined that the amnesty criterion is met, the candidate solution is updated to a new optimal solution, and the current initial solution is updated to the taboo table; When the evaluation value of the candidate solution is greater than or equal to the evaluation value of the current initial solution, it is determined that the amnesty criterion is not met, the historical optimal solution is used as a new optimal solution, and the current initial solution and the candidate solution are updated to the taboo table.

9. The method for optimizing a memory test algorithm based on an improved genetic algorithm according to claim 1, characterized in that: The method further comprises: When the termination criterion of the genetic algorithm is reached, the offspring sequence obtained by genetics of the initial population is used as the optimized search forward result of the memory test algorithm.

10. An optimization device for a memory test algorithm based on an improved genetic algorithm, characterized in that: The device comprises: An acquisition module, used for acquiring a search forward result to be optimized of a memory test algorithm, and selecting a specific search forward element from the search forward result to be optimized as a root node of a first Monte Carlo search tree; An expansion module, configured to select child nodes for expansion in the first Monte Carlo search tree according to the root node, and simulate the node set obtained by the expansion to obtain a corresponding fault coverage; A propagation module, used for performing back propagation in the first Monte Carlo search tree using the fault coverage as a reward value to obtain a second Monte Carlo search tree; A selection module, used for selecting candidate nodes from the second Monte Carlo search tree to obtain a sequence to be genetically tested; A genetic module, used to use the sequence to be genetically tested as an initial population, and genetically obtain a descendant sequence from the initial population according to fitness, wherein the fitness is the inverse of the fault coverage rate; The search module is used to call the taboo search algorithm to search the offspring sequence when the termination criterion of the genetic algorithm is not met, so as to obtain the optimized search forward result of the memory test algorithm.