A test paper generation method, device, computer readable storage medium and equipment
By constructing a population optimization algorithm with a fitness function and optimized parameters, and by handling updates and mutations, the problems of low test paper generation efficiency and poor versatility in existing technologies are solved, generating efficient and globally optimal test papers.
Patent Information
- Application Number
- CN202210010185.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-01-06
- Publication Date
- 2026-02-03
- Estimated Expiration
- 2042-01-06
AI Technical Summary
Existing computer-automated test paper generation algorithms are inefficient with large question banks, have low success rates, and lack versatility and scalability, making it difficult to quickly generate test papers that meet multiple constraints.
A test paper generation method is adopted, which generates test papers that meet multiple constraints by constructing a fitness function and optimizing parameters, using the best individual in the population optimization algorithm to update the remaining individuals, and controlling the mutation process by fitness variance value.
It improves the efficiency and success rate of test paper generation, enhances the versatility and scalability of the algorithm, ensures that the generated test paper is the globally optimal solution, and adapts to different test paper generation conditions without recoding the question bank.
Smart Images

Figure CN116451781B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of information technology in education, and in particular to a method, apparatus, computer-readable storage medium, and device for generating test papers. Background Technology
[0002] Computer-automated test paper generation refers to the automatic extraction of a certain number of test questions from a question bank based on an algorithm program. Essentially, it is an optimization problem under multiple objectives and constraints. Under multiple constraints, such as question type distribution, difficulty, knowledge point coverage, and repetition rate with previous years' test questions, a set of test questions that meets the requirements is selected from the question bank.
[0003] Currently, common algorithms used for automated computer-generated test papers include randomization, backtracking, and genetic algorithms. Randomization involves the program randomly selecting questions of various types for test paper generation. However, this method is prone to producing test papers that meet the requirements in a short time, resulting in a low success rate, a high likelihood of generating invalid papers, and excessively long search times and low efficiency when the question bank is large. Backtracking allows for reverting to previous search steps and reselecting questions. However, this method only passively adjusts the test paper generation process. As the number of questions in the question bank increases, the number of backtracking steps also increases, leading to decreased efficiency, longer generation times, and a lower success rate. Genetic algorithms encode test questions as genetic operators. During the algorithm iteration process, genetic operators undergo crossover and mutation. After one round of iteration, the fitness function is calculated. If the test paper grouping constraints are met, the algorithm iteration ends. This method requires that the test paper question structure be specified when the genetic operators are set in the initial stage. Different genetic operators need to be set for different test paper question structures. When the test paper question structure changes, the genetic operators need to be redesigned and coded. The algorithm has poor versatility, lacks scalability and flexibility. Summary of the Invention
[0004] To address the existing technical problems, embodiments of the present invention provide a test paper generation method, apparatus, computer-readable storage medium, and device.
[0005] To achieve the above objectives, the technical solution of this invention is implemented as follows:
[0006] In a first aspect, embodiments of the present invention provide a test paper generation method, including:
[0007] The first population is obtained, and the fitness function and optimization parameters are determined based on the first constraints related to test paper assembly; each individual in the first population includes test item information that constitutes a test paper to be assembled;
[0008] The fitness values of each individual in the first population are obtained according to the fitness function, and the first, second, and third individuals with the highest fitness values in the first population are determined.
[0009] Based on the optimization parameters, the remaining individuals in the first population are updated using the first individual, the second individual, and the third individual, and the second population is determined based on the updated first population.
[0010] Based on the fitness values of each individual in the second population, the fitness variance of the second population is determined. Based on the fitness variance, the second population is subjected to mutation processing. Based on the mutated second population, a new first population is determined.
[0011] If the new first group meets the first preset condition, a target test paper is generated based on the target individuals in the new first group.
[0012] In the above scheme, obtaining the first group includes:
[0013] The first group is randomly generated from the real number-encoded question bank.
[0014] In the above scheme, the method further includes:
[0015] If the new first population does not meet the first preset condition, the first, second, and third individuals with the top three fitness values in the new first population are obtained again according to the fitness function, and the second population is determined again based on the first, second, and third individuals in the new first population.
[0016] In the above scheme, updating the remaining individuals in the first population using the first individual, the second individual, and the third individual includes:
[0017] Based on the optimization parameters and the test question information included in each individual in the first population, a position vector corresponding to each individual is obtained; wherein, the position vector represents the value of the optimization parameters of the test paper to be assembled for the corresponding individual;
[0018] Based on the first position vector corresponding to the first individual, the second position vector corresponding to the second individual, and the third position vector corresponding to the third individual, the position vector corresponding to any other individual is updated to obtain the updated position vector.
[0019] The updated position vector is used to generate the updated version of any of the other individuals.
[0020] In the above scheme, generating the updated version of any remaining individual based on the updated position vector includes:
[0021] Obtain the first target test question information from any of the remaining individuals, wherein the first individual, the second individual, and the third individual all include the first target test question information;
[0022] Obtain the second target test question information from any of the remaining individuals, wherein the first individual, the second individual, and the third individual do not include the second target test question information;
[0023] The first target question information is retained in any of the remaining individuals, and the second target question information is deleted. An updated version of any of the remaining individuals is generated based on the updated position vector.
[0024] In the above scheme, the step of performing mutation processing on the second population based on the fitness variance value, and determining a new first population based on the mutated second population, includes:
[0025] If the fitness variance value meets the second preset condition, some individuals in the second population are mutated, and a new first population is determined based on the mutated second population.
[0026] If the fitness variance value does not meet the second preset condition, a new first population is determined based on the second population.
[0027] In the above scheme, the mutation treatment of some individuals in the second population includes:
[0028] The target individuals for mutation processing in the second population are determined based on the fitness variance value, and the target individuals are mutated based on a first random vector that follows a Lévy distribution.
[0029] In the above scheme, determining the target individuals for mutation processing in the second population based on the fitness variance value includes:
[0030] The mutation probability is determined based on the fitness variance value, the number of individuals in the second population, and a pre-defined probability range.
[0031] A second random number is determined for each individual in the second population. If the second random number is less than the mutation probability, the individual corresponding to the second random number is determined to be the target individual.
[0032] In the above scheme, the mutation processing of the target individual based on a first random vector following a Lévy distribution includes:
[0033] Based on the optimization parameters and the test question information included in the target individual, a fourth position vector corresponding to the target individual is determined; the fourth position vector is transformed based on the first random vector, and the mutated target individual is generated based on the transformed fourth position vector.
[0034] In the above scheme, the first constraint includes at least one of the following: question type constraint, total score constraint, difficulty constraint, knowledge point coverage constraint, and average score constraint.
[0035] Secondly, embodiments of the present invention also provide a test paper generation apparatus, comprising:
[0036] An initialization module is used to obtain the first population and determine the fitness function and optimization parameters based on the first constraints related to test paper assembly; each individual in the first population includes test item information that makes up a test paper to be assembled.
[0037] The calculation module is used to obtain the fitness values of each individual in the first population according to the fitness function determined by the initialization module, and to determine the first, second and third individuals with the top three fitness values in the first population.
[0038] An update module is used to update the remaining individuals in the first population based on the optimization parameters determined by the initialization module, using the first individual, the second individual, and the third individual determined by the calculation module, and to determine the second population based on the updated first population.
[0039] The mutation module is used to determine the fitness variance of the second population based on the fitness values of each individual in the second population determined by the update module, perform mutation processing on the second population based on the fitness variance, and determine a new first population based on the mutated second population.
[0040] The generation module is used to generate a target test paper based on the target individuals in the new first group when the new first group determined by the mutation module meets the first preset condition.
[0041] In the above scheme, the initialization module is used to randomly generate the first group from the real number encoded question bank.
[0042] In the above scheme, the generation module is further configured to, when the new first population determined by the mutation module does not meet the first preset condition, re-obtain the first, second, and third individuals with the top three fitness values in the new first population according to the fitness function determined by the initialization module, and re-determine the second population based on the first, second, and third individuals in the new first population.
[0043] In the above scheme, the update module includes:
[0044] The first submodule is used to obtain the position vector corresponding to each individual based on the optimization parameters determined by the initialization module and the test question information included in each individual in the first population; wherein, the position vector represents the value of the optimization parameter of the test paper to be assembled corresponding to the individual;
[0045] The second submodule is used to update the position vector of any other individual based on the first position vector of the first individual, the second position vector of the second individual, and the third position vector of the third individual obtained by the first submodule, so as to obtain the updated position vector.
[0046] And a third submodule, used to generate an updated version of any remaining individual based on the updated position vector obtained by the second submodule.
[0047] In the above scheme, the third submodule is used to obtain the first target test question information in any of the remaining individuals, wherein the first individual, the second individual, and the third individual all include the first target test question information; obtain the second target test question information in any of the remaining individuals, wherein the first individual, the second individual, and the third individual do not include the second target test question information; retain the first target test question information in any of the remaining individuals and delete the second target test question information; and generate an updated version of any of the remaining individuals based on the updated position vector.
[0048] In the above scheme, the mutation module includes:
[0049] The fourth submodule is used to perform mutation processing on some individuals in the second population when the fitness variance value meets the second preset condition, and to determine a new first population based on the mutated second population.
[0050] The fifth submodule is used to determine a new first population based on the second population if the fitness variance value does not meet the second preset condition.
[0051] In the above scheme, the fourth submodule is further configured to determine the target individual for mutation processing in the second population based on the fitness variance value, and to perform mutation processing on the target individual based on a first random vector that follows a Lévy distribution.
[0052] In the above scheme, the fourth submodule is further configured to determine the mutation probability based on the fitness variance value, the number of individuals in the second population, and a preset probability range; and to determine a second random number corresponding to each individual in the second population, and to determine the individual corresponding to the second random number as the target individual if the second random number is less than the mutation probability.
[0053] In the above scheme, the fourth sub-module is further configured to determine the fourth position vector corresponding to the target individual based on the optimization parameters determined by the initialization module and the test question information included in the target individual; perform position transformation on the fourth position vector based on the first random vector; and generate the mutated target individual based on the position-transformed fourth position vector.
[0054] In the above scheme, the first constraint includes at least one of the following: question type constraint, total score constraint, difficulty constraint, knowledge point coverage constraint, and average score constraint.
[0055] Thirdly, embodiments of the present invention also provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the aforementioned method.
[0056] Fourthly, embodiments of the present invention also provide a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the steps of the aforementioned method.
[0057] The technical solution of this invention constructs a fitness function and related optimization parameters based on the constraints related to test paper generation. On the one hand, the fitness function determines the three best individuals in the population, and these three individuals are used to update the remaining individuals based on the optimization parameters. When the test paper generation conditions change, there is no need to re-encode the test paper database. The algorithm has good versatility, strong scalability, and high test paper generation efficiency. On the other hand, the fitness variance value is used to avoid the clustering of the updated population, which expands the search space of the algorithm and ensures that the target test paper is the globally optimal solution. Attached Figure Description
[0058] Figure 1 This is a flowchart illustrating the test paper generation method according to an embodiment of the present invention. Figure 1 ;
[0059] Figure 2This is a schematic diagram of updating the remaining individuals in the population in a two-dimensional space.
[0060] Figure 3 This is a flowchart illustrating the test paper generation method according to an embodiment of the present invention. Figure 2 ;
[0061] Figure 4 This is a schematic diagram of the composition structure of the test paper generation device according to an embodiment of the present invention;
[0062] Figure 5 This is a schematic diagram of the hardware structure of the test paper generation device according to an embodiment of the present invention. Detailed Implementation
[0063] The present invention will now be described in further detail with reference to the accompanying drawings and specific embodiments.
[0064] This invention provides a method for generating test papers. Figure 1 This is a flowchart illustrating the test paper generation method according to an embodiment of the present invention. Figure 1 ,like Figure 1 As shown, the method includes:
[0065] Step 101: Obtain the first population and determine the fitness function and optimization parameters based on the first constraints related to test paper assembly; each individual in the first population includes test question information that constitutes a test paper to be assembled.
[0066] Step 102: Obtain the fitness values of each individual in the first population according to the fitness function, and determine the first, second, and third individuals with the highest fitness values in the first population.
[0067] Step 103: Based on the optimization parameters, update the remaining individuals in the first population using the first individual, the second individual, and the third individual, and determine the second population based on the updated first population;
[0068] Step 104: Determine the fitness variance of the second population based on the fitness values of each individual in the second population, perform mutation processing on the second population based on the fitness variance, and determine a new first population based on the mutated second population.
[0069] Step 105: If the new first group meets the first preset condition, generate a target test paper based on the target individuals in the new first group.
[0070] In this embodiment, the first population is generated from the encoded question bank. The first population includes multiple individuals, each of which can be mapped to a test paper to be assembled. That is, each individual includes test paper information that constitutes a test paper. Optionally, the question information may include question number, question score, question difficulty, knowledge point number, question type, average question score, etc. Based on the question information included in each individual, the individuals in the population can be represented as a multidimensional matrix:
[0071]
[0072] Where n represents the number of test questions in the test paper to be generated for each individual, m represents the number of attributes for each test question, and a ij This represents the value of the j-th attribute corresponding to the i-th question in the test paper to be compiled, where i = 1, 2, ..., n, j = 1, 2, ..., m, which is a ij It can represent test question information. For example, the first column (a) in the matrix... i1 ) can be used to represent the question number, the second column (a i2 ) can be used to represent the score of the test item, the third column (a i3 The fourth column (a) can be used to indicate the difficulty of the test questions. i4 The fifth column (a) can represent the knowledge point number corresponding to the question. i5 The sixth column (a) can represent the question type. i6 () can represent the average score of test questions, and so on.
[0073] As one implementation method, the question bank can be encoded using binary encoding. For example, assuming the total number of questions in the question bank is N, an N-bit binary string can be used to represent a test paper, in the form of F1F2…F N Where Fi (i = 1, 2, ..., N) has two possible values. When the i-th question in the question bank is selected, F... i The value is 1 if it is not 0 otherwise. Thus, a test paper can be represented as an N-bit binary string such as 0001101000...00.
[0074] As another implementation, obtaining the first group may include: randomly generating the first group from the real-number encoded question bank. When the number of questions in the question bank is large, real-number encoding can be used. For example, the question number can be used as the real-number encoding value. Assuming a test paper includes n questions, an n-dimensional vector can be used to represent a test paper, such as {S1, S2, ..., S...}. n}, where S j This represents the question number of question j (j = 1, 2, ..., n) in the test paper. At the same time, the question numbers in the test paper can also be stored in segments according to the question type.
[0075] The test paper generation problem can be viewed as a multi-objective optimization problem. The final generated target test paper is the optimal solution under multiple constraints related to test paper generation. The optimal solution must satisfy each constraint. In this embodiment, the first constraint is related to the target test paper. The fitness function is used to determine the target optimization problem. The optimization parameters serve as the mathematical expression of the first constraint and are used to solve the optimization problem. Optionally, in step 101, the first constraint includes at least one of the following: question type constraint, total score constraint, difficulty constraint, knowledge point coverage constraint, and average score constraint.
[0076] For example, the question type constraint T x It can be represented as T x ={x1, x2, ..., x l}, where l represents the number of question types in the test paper to be assembled, and x k The specific question type is represented by k = 1, 2, ..., l, such as single choice, multiple choice, true / false, question-and-answer, calculation, program, etc. The question type constraints can be determined based on the data in the fifth column of the individual's matrix representation. In one embodiment, obtaining the first group data may further include: randomly generating the first group from a real-number encoded question bank while satisfying the question type constraints related to test paper assembly.
[0077] Based on the matrix representation of individuals in the population, the total score constraint can be expressed as: Where S represents the total score value corresponding to the total score constraint, a i2 Let represent the score corresponding to the i-th question in an individual. The difficulty constraint can be expressed as: Where D represents the average difficulty of the test paper corresponding to the difficulty constraint, a i3 This represents the difficulty coefficient of the i-th question in an individual. The knowledge point coverage constraint can be expressed as KP(PaperKPList, KPList) ≥ Rate, where KPList represents the set of knowledge points to be covered in the exam, PaperKPList represents the set of knowledge points to be covered in the test paper, KP(·) is used to calculate the knowledge point coverage rate of the test paper, that is, the proportion of the number of elements in the intersection of PaperKPListRate and KPList to the number of elements in KPList, and Rate represents the minimum percentage of knowledge point coverage rate of the test paper. The knowledge point coverage constraint can be based on the fourth column (a i4 The data is used for judgment. The average score constraint can be expressed as: Where AVR represents the average score of the test paper corresponding to the average score constraint, QAvrScore iThis represents the average score corresponding to the i-th question, and the average score constraint can be based on the sixth column (a). i6 The data is used to make judgments.
[0078] In one embodiment, weight coefficients can be assigned to the constraints included in the first constraint condition, and a fitness function can be constructed based on a linear weighted sum method. For example, corresponding weight coefficients are assigned to the knowledge point coverage constraint, difficulty constraint, and average score constraint, thereby constructing the fitness function:
[0079]
[0080] Where KP is the knowledge point coverage rate of the test paper to be generated, ED is the expected difficulty coefficient of the target test paper, D is the difficulty coefficient of the test paper to be generated, EAVR is the expected average score of the target test paper, AVR is the average answer score of the test paper to be generated, and w1, w2, and w3 represent the weight coefficients corresponding to the knowledge point coverage constraint, difficulty constraint, and average score constraint, respectively. Based on the fitness function, the test paper generation problem can be transformed into an optimization problem to be solved: max x∈X {f(x)}, where x represents the parameter to be solved. In this embodiment, the parameter to be solved is the question number corresponding to the test paper in the question bank. X represents the solution space. In this embodiment, the optimization parameters are the knowledge point coverage rate, difficulty coefficient, and average score of the test paper. In addition, the total score constraint and question type constraint can be imposed when generating the first type group, or they can be used as constraints on the solution space X.
[0081] In step 102, the fitness value of each individual in the first population is calculated according to the fitness function determined in step 101, and all fitness values are sorted to determine the top three individuals: the first, second, and third individuals. It should be noted that the sorting rule can be determined based on the objective optimization problem corresponding to the fitness function. For example, if the objective optimization problem is to find the maximum value, the top three in the sort are the maximum, second, and third largest values; conversely, if the objective optimization problem is to find the minimum value, the top three in the sort are the minimum, second, and third smallest values. It can be understood that the first individual, the second individual, and the third individual are the top three optimal solutions in the first population for the objective optimization problem corresponding to the fitness function.
[0082] In step 103, based on the optimization parameters related to the fitness function, the difference values between the remaining individuals in the first population and the first, second, and third individuals can be determined. The remaining individuals are then updated according to these difference values. The updated remaining individuals, along with the first, second, and third individuals, constitute the second population. It can be understood that the first, second, and third individuals in the first population are the three solutions closest to the optimal solution in the population. The second population obtained after updating the remaining individuals based on the optimization parameters will further approach the optimal solution to the target optimization problem. For example, the difference values can be determined based on the values of the optimization parameters, or the difference values can be calculated after assigning weights to the values of the optimization parameters.
[0083] In step 104, after obtaining the second population, to avoid population aggregation, this embodiment further performs mutation processing on the individuals in the second population based on the fitness variance value of the second population. The mutated individuals can explore the remaining solution space, escape local optima, and further converge towards the global optimum. Optionally, the fitness variance value can be... in, F represents the average fitness value of individuals in the current second population, where F = max{1, max{F} i -F avg} represents the normalization factor, F i This represents the fitness value of the i-th individual in the current second population.
[0084] Optionally, the step of performing mutation processing on the second population based on the fitness variance value and determining a new first population based on the mutated second population may include: performing mutation processing on the second population when the fitness variance value is less than a first preset threshold, and determining a new first population based on the mutated second population; or determining a new first population based on the second population when the fitness variance value is greater than or equal to the first preset threshold. In this embodiment, the fitness variance value reflects the population aggregation situation. Mutation processing is only performed on the second population when the fitness variance value is less than the first preset threshold, and a new first population is determined based on the mutated second population; otherwise, the second population is directly used as the new first population.
[0085] In step 105, the first preset condition can be determined based on the first individual in the new first group. For example, when the fitness value of the first individual in the new first group is greater than (or less than) the second preset threshold, a target test paper is generated based on the target individual in the new first group. The first preset condition can also be a pre-set maximum number of iterations. When the number of iterations in steps 101 to 104 reaches the maximum number of iterations, a target test paper is generated based on the target individual in the new first group. The target individual can be a single individual, such as the first individual with the highest fitness value in the new first group, or multiple individuals, such as multiple individuals with high fitness values determined according to the number of test papers to be generated.
[0086] In one embodiment, the method further includes: step 106, if the new first population does not meet the first preset condition, re-obtaining the first, second, and third individuals with the top three fitness values in the new first population according to the fitness function, and re-determining the second population based on the first, second, and third individuals in the new first population. In this embodiment, when the new first population does not meet the first preset condition, steps 101 to 105 are re-executed.
[0087] The technical solution of this invention constructs a fitness function and related optimization parameters based on the constraints related to test paper generation. On the one hand, the fitness function determines the three best individuals in the population, and these three individuals are used to update the remaining individuals based on the optimization parameters. When the test paper generation conditions change, there is no need to re-encode the test paper database. The algorithm has good versatility, strong scalability, and high test paper generation efficiency. On the other hand, the fitness variance value is used to avoid the clustering of the updated population, which expands the search space of the algorithm and ensures that the target test paper is the globally optimal solution.
[0088] Based on the foregoing embodiments, this embodiment provides a detailed description of the update process in step 103 and the mutation process in step 104. Specifically, in step 103, updating the remaining individuals in the first population using the first individual, the second individual, and the third individual includes:
[0089] Step 103a: Based on the optimization parameters and the test question information included in each individual in the first population, obtain the position vector corresponding to each individual; wherein, the position vector represents the value of the optimization parameters of the test paper to be assembled corresponding to the individual.
[0090] Step 103b: Based on the first position vector corresponding to the first individual, the second position vector corresponding to the second individual, and the third position vector corresponding to the third individual, update the position vector corresponding to any other individual to obtain the updated position vector;
[0091] Step 103c: Generate an updated version of any remaining individual based on the updated position vector.
[0092] In this embodiment, the value of the optimization parameters of the test paper to be formed corresponding to each individual can be calculated by using the test question information included in each individual in the first group. For example, for the fitness function f in the aforementioned embodiment, the corresponding optimization parameters include knowledge point coverage, difficulty coefficient and average score, and the position vector corresponding to the individual can be determined accordingly.
[0093] In one embodiment, step 103b, which involves updating the position vector corresponding to any other individual to obtain an updated position vector, may include: determining a first intermediate vector based on the first position vector and the position vector corresponding to any other individual; determining a second intermediate vector based on the second position vector and the position vector corresponding to any other individual; determining a third intermediate vector based on the third position vector and the position vector corresponding to any other individual; and determining the updated position vector based on a weighted average of the first intermediate vector, the second intermediate vector, and the third intermediate vector.
[0094] The step of determining the first intermediate vector based on the first position vector and the position vector corresponding to any other individual may include: determining the update step size based on the first random coefficient and a convergence factor related to the number of iterations; determining the update direction based on the second random coefficient, the first position vector, and the position vector corresponding to any other individual; and determining the first intermediate vector based on the first position vector, the update step size, and the update direction. The second and third intermediate vectors can be obtained by referring to the first intermediate vector, and will not be elaborated here. It should be noted that the first individual, the second individual, and the third individual may correspond to the same or different convergence factors, update step sizes, first random coefficients, and second random coefficients. The first random coefficient and the second random coefficient are both composed of random numbers in the range [0, 1]. The convergence factor decreases linearly from 2 to 0 as the number of iterations increases.
[0095] For example, the first intermediate vector Second intermediate vector and the third intermediate vector They are respectively:
[0096]
[0097] in, Let these represent the first position vector, the second position vector, and the third position vector, respectively. These represent the update step sizes for the first, second, and third entities, respectively. These represent the update directions for the first, second, and third entities, respectively. Taking the first entity as an example, its update step size is determined by a first random coefficient within the range [0, 1]. and the convergence factor that decreases linearly within [0, 2]. Sure: The corresponding update direction is determined by the second random coefficient. The first position vector and the position vector corresponding to any of the other individuals Sure: The calculation method is similar and will not be repeated here.
[0098] Therefore, the updated position vector of any other individual is Figure 2 This is a schematic diagram illustrating how, in a two-dimensional space, the remaining individuals are updated based on the first, second, and third individuals. Figure 2 In the diagram, a1, a2, and a3 represent the convergence factors for the first, second, and third individuals, respectively, and D1, D2, and D3 represent the distances of the first, second, and third individuals to the remaining individuals that need to be updated, respectively. These represent the second random coefficients for the first, second, and third individuals, respectively. For example... Figure 2 As shown, the updated individuals are closer to the three individuals with the best fitness values.
[0099] After determining the updated position vectors of the remaining individuals, it is also necessary to obtain the updated question information included in the individual from the question bank based on the updated position vectors. Optionally, step 103c further includes: obtaining the first target question information in any of the remaining individuals, wherein the first individual, the second individual, and the third individual all include the first target question information; obtaining the second target question information in any of the remaining individuals, wherein the first individual, the second individual, and the third individual do not include the second target question information; retaining the first target question information and deleting the second target question information in any of the remaining individuals, and generating the updated individual based on the updated position vector. That is, when a question information included in a remaining individual is selected by the first individual, the second individual, and the third individual simultaneously, the question information is retained; when a question information included in a remaining individual is not selected by the first individual, the second individual, and the third individual simultaneously, the question information is deleted, and under this premise, the updated individual is randomly generated in the question bank based on the optimized parameter values corresponding to the updated position vector.
[0100] Based on the foregoing embodiments, step 104, which involves performing mutation processing on the second population based on the fitness variance value and determining a new first population based on the mutated second population, includes: performing mutation processing on some individuals in the second population when the fitness variance value meets a second preset condition, and determining a new first population based on the mutated second population; and determining a new first population based on the second population when the fitness variance value does not meet the second preset condition.
[0101] In this embodiment, the second preset condition is a pre-set variance threshold, which may change or remain constant with the number of iterations. It can be understood that when the fitness variance of the second population generated in the current iteration is less than the corresponding variance threshold, some individuals in the second population are mutated, and the mutated second population becomes the new first population; otherwise, the second population is not mutated, and the second population becomes the new first population. The individuals to be mutated can be determined based on the fitness values of each individual in the second population; for example, individuals with poor fitness values may be mutated.
[0102] As an optional implementation, the mutation process on a subset of individuals in the second population includes: determining the target individuals for mutation within the second population based on the fitness variance value, and performing mutation on the target individuals based on a first random vector following a Lévy distribution. In this embodiment, the mutation probability corresponding to the current second population can be determined based on the fitness variance value, and the target individuals for mutation can be determined based on the mutation probability and a random number.
[0103] For example, determining the target individual for mutation processing in the second population based on the fitness variance value includes: determining the mutation probability based on the fitness variance value, the number of individuals in the second population, and a pre-set probability range; determining a second random number corresponding to each individual in the second population; and determining the individual corresponding to the second random number as the target individual if the second random number is less than the mutation probability. Specifically, the mutation probability k is:
[0104]
[0105] Where, p max p min σ represents the maximum and minimum values within a predefined probability range, respectively. 2 denoted by , where represents the fitness variance value, and 'n' represents the number of individuals in the second population. In this embodiment, for each individual in the second population, a second random number is randomly generated within a pre-defined probability range. When the second random number is less than the mutation probability, the individual corresponding to that random number undergoes mutation processing.
[0106] In this embodiment, a random number p can be generated in the interval [0, 1] first, and a random number following a Lévy distribution can be determined based on the random number p. Among them, erfc -1 (·) denotes the inverse function of the error complementarity function, the error complementarity function μ represents the position parameter of the error complementarity function, and c represents the dispersion parameter of the error complementarity function. The first random vector can be determined based on multiple random numbers following a Lévy distribution.
[0107] Optionally, the mutation process of the target individual based on the first random vector following a Lévy distribution may include: determining the fourth position vector corresponding to the target individual according to the optimization parameters and the test question information included in the target individual; performing a position transformation on the fourth position vector based on the first random vector; and generating the mutated target individual based on the position-transformed fourth position vector.
[0108] Specifically, based on the optimization parameters and utilizing the test question information included in the target individual, the fourth position vector corresponding to the target individual is calculated. Where Q represents the dimension of the fourth position vector, X s (q) represents the values of each dimension, q = 1, 2, ..., Q. Based on the first random vector For the fourth position vector After performing a position transformation, δ(q) represents the q-th random number following a Lévy distribution in the first random vector, and the value of the q-th dimension in the transformed fourth position vector is X. s ′(q)=X s (q)+σ s ′(q)δ(q), where σ s ′(q)=σ s (q)exp{(τ′N(0,1)+τN q (0, 1))}, N(0, 1) represents a Gaussian random number with mean 0 and variance 1 corresponding to the target individual, N q (0, 1) represents a Gaussian random number with a mean of 0 and a variance of 1 corresponding to the q-th dimension of the fourth position vector. σ s (q) represents the q-th component of the perturbation factor of the fourth position vector. Based on this, the fourth position vector is transformed, and the mutated target individuals are generated in the question bank based on the values of the optimization parameters corresponding to the transformed fourth position vector.
[0109] The technical solution of this invention adopts an adaptive Lévy mutation strategy, which determines whether individuals in the population cluster by calculating the fitness variance of the population, and performs Lévy mutation when clustering occurs, thereby increasing the diversity of the population and expanding the search space of the algorithm.
[0110] This invention also provides a method for generating test papers. Figure 3 This is a flowchart illustrating the test paper generation method according to an embodiment of the present invention. Figure 2 ,like Figure 3 As shown, the method includes:
[0111] Step 201: Randomly initialize the population. Set the maximum number of iterations, iteration termination condition, position vector dimension, and upper and lower bounds of the solution space, etc.
[0112] Step 202: Calculate the fitness values of individuals α, β, and δ in the population. That is, calculate the fitness value of each individual in the population, and select the three optimal solutions as the first individual α, the second individual β, and the third individual δ.
[0113] Step 203: Obtain parameters a, A, and C. Here, A and C represent the coefficient vectors corresponding to the current iteration, and a represents the convergence factor of the current iteration, which decreases linearly in the interval [0, 2] as the number of iterations increases. A = 2a·r1 - a, C = 2·r2, where r1 and r2 represent random vectors in the interval [0, 1]. It should be noted that the values of parameters a, A, and C differ in different iterations, and the parameters a, A, and C corresponding to the three individuals α, β, and δ can also be different in the same iteration.
[0114] Step 204: Update the remaining individuals based on α, β, and δ. Specifically, refer to the update process in the aforementioned embodiment. If a question is selected by individuals α, β, and δ simultaneously, that question is retained in the remaining individuals. If a question is not selected by any of individuals α, β, and δ, that question is deleted from the remaining individuals. If the selection of questions differs among individuals α, β, and δ, the remaining individuals are updated according to the standard procedure.
[0115] Step 205: Calculate the fitness value of each individual in the updated population and determine the new α, β, and δ.
[0116] Step 206: Calculate the fitness variance of the updated population and determine whether the population has clustered. If clustering occurs, perform Lévy mutation on some individuals.
[0117] Step 207: If the optimal solution (which may be one or more) corresponding to the current population satisfies the iteration termination condition or the current iteration count reaches the maximum iteration count, then end the iteration and output the target test paper corresponding to the optimal solution; otherwise, jump to step 203 and proceed to the next iteration.
[0118] For a detailed explanation of steps 201 to 207 in this embodiment, please refer to the detailed explanation of steps 101 to 106 in the previous embodiment. To save space, they will not be repeated here.
[0119] This invention also provides a test paper generation device. Figure 4 This is a schematic diagram of the composition structure of a test paper generation device according to an embodiment of the present invention, such as... Figure 4 As shown, the test paper generation device 300 includes:
[0120] Initialization module 301 is used to obtain the first population and determine the fitness function and optimization parameters based on the first constraints related to test paper assembly; each individual in the first population includes test question information that makes up a test paper to be assembled.
[0121] The calculation module 302 is used to obtain the fitness values of each individual in the first population according to the fitness function determined by the initialization module 301, and to determine the first, second and third individuals with the top three fitness values in the first population.
[0122] The update module 303 is used to update the remaining individuals in the first population based on the optimization parameters determined by the initialization module 301, using the first individual, the second individual, and the third individual determined by the calculation module 302, and to determine the second population based on the updated first population.
[0123] The mutation module 304 is used to determine the fitness variance value of the second population based on the fitness values of each individual in the second population determined by the update module 303, perform mutation processing on the second population based on the fitness variance value, and determine a new first population based on the mutated second population.
[0124] The generation module 305 is used to generate a target test paper based on the target individuals in the new first group when the new first group determined by the mutation module 304 meets the first preset condition.
[0125] In an optional embodiment of the present invention, the initialization module 301 is used to randomly generate the first group from the real number encoded question bank.
[0126] In an optional embodiment of the present invention, the generation module 305 is further configured to, when the new first population determined by the mutation module 304 does not meet the first preset condition, re-obtain the first, second, and third individuals with the top three fitness values in the new first population according to the fitness function determined by the initialization module 301, and re-determine the second population based on the first, second, and third individuals in the new first population.
[0127] In an optional embodiment of the present invention, the update module 303 includes:
[0128] The first submodule is used to obtain the position vector corresponding to each individual based on the optimization parameters determined by the initialization module 301 and the test question information included in each individual in the first population; wherein, the position vector represents the value of the optimization parameter of the test paper to be assembled corresponding to the individual.
[0129] The second submodule is used to update the position vector of any other individual based on the first position vector of the first individual, the second position vector of the second individual, and the third position vector of the third individual obtained by the first submodule, so as to obtain the updated position vector.
[0130] And a third submodule, used to generate an updated version of any remaining individual based on the updated position vector obtained by the second submodule.
[0131] In an optional embodiment of the present invention, the third submodule is configured to obtain first target test question information in any remaining individual, wherein the first individual, the second individual, and the third individual all include the first target test question information; obtain second target test question information in any remaining individual, wherein the first individual, the second individual, and the third individual do not include the second target test question information; retain the first target test question information in any remaining individual and delete the second target test question information; and generate an updated version of any remaining individual based on the updated position vector.
[0132] In an optional embodiment of the present invention, the mutation module 304 includes:
[0133] The fourth submodule is used to perform mutation processing on some individuals in the second population when the fitness variance value meets the second preset condition, and to determine a new first population based on the mutated second population.
[0134] The fifth submodule is used to determine a new first population based on the second population if the fitness variance value does not meet the second preset condition.
[0135] In an optional embodiment of the present invention, the fourth submodule is further configured to determine the target individual for mutation processing in the second population based on the fitness variance value, and to perform mutation processing on the target individual based on a first random vector following a Lévy distribution.
[0136] In an optional embodiment of the present invention, the fourth submodule is further configured to determine the mutation probability based on the fitness variance value, the number of individuals in the second population, and a preset probability range; and to determine a second random number corresponding to each individual in the second population, and to determine the individual corresponding to the second random number as the target individual if the second random number is less than the mutation probability.
[0137] In an optional embodiment of the present invention, the fourth submodule is further configured to determine the fourth position vector corresponding to the target individual based on the optimization parameters determined by the initialization module and the test question information included in the target individual; perform position transformation on the fourth position vector based on the first random vector; and generate the mutated target individual based on the position-transformed fourth position vector.
[0138] In an optional embodiment of the present invention, the first constraint includes at least one of the following: question type constraint, total score constraint, difficulty constraint, knowledge point coverage constraint, and average score constraint.
[0139] In this embodiment of the invention, the initialization module 301, calculation module 302, update module 303, mutation module 304, generation module 305, and each sub-module in the test paper generation device 300 can all be implemented by a central processing unit (CPU), digital signal processor (DSP), microcontroller unit (MCU), or field-programmable gate array (FPGA) in the terminal in practical applications.
[0140] It should be noted that the test paper generation device provided in the above embodiments is only illustrated by the division of the above-described program modules. In actual applications, the above processing can be assigned to different program modules as needed, that is, the internal structure of the device can be divided into different program modules to complete all or part of the processing described above. In addition, the test paper generation device and the test paper generation method embodiments provided in the above embodiments belong to the same concept, and their specific implementation process can be found in the method embodiments, which will not be repeated here.
[0141] Figure 5This is a schematic diagram of the structure of a test paper generation device according to another embodiment of the present invention. The test paper generation device 400 can be a computer, tablet device, personal digital assistant, etc. Figure 5 The test paper generation apparatus 400 shown includes at least one processor 401, a memory 402, at least one network interface 404, and a user interface 403. The various components in the test paper generation apparatus 400 are coupled together via a bus system 405. It is understood that the bus system 405 is used to implement communication between these components. In addition to a data bus, the bus system 405 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in… Figure 5 The general designated all buses as Bus System 405.
[0142] The user interface 403 may include a monitor, keyboard, mouse, trackball, click wheel, buttons, touchpad, or touch screen.
[0143] It is understood that memory 402 can be volatile memory or non-volatile memory, or both. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), ferromagnetic random access memory (FRAM), flash memory, magnetic surface memory, optical disc, or compact disc read-only memory (CD-ROM); magnetic surface memory can be disk storage or magnetic tape storage. Volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Synchronous Static Random Access Memory (SSRAM), Dynamic Random Access Memory (DRAM), Synchronous Dynamic Random Access Memory (SDRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDRSDRAM), Enhanced Synchronous Dynamic Random Access Memory (ESDRAM), SyncLink Dynamic Random Access Memory (SLDRAM), and Direct Rambus Random Access Memory (DRRAM).The memory 402 described in this embodiment of the invention is intended to include, but is not limited to, these and any other suitable types of memory.
[0144] The memory 402 in this embodiment of the invention is used to store various types of data to support the operation of the test paper generation device 400. Examples of such data include: test item bank data, and any computer program used to operate on the test paper generation device 400, such as a program implementing the method of this embodiment of the invention.
[0145] The methods disclosed in the above embodiments of the present invention can be applied to processor 401, or implemented by processor 401. Processor 401 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the integrated logic circuit of the hardware in processor 401 or by instructions in the form of software. The processor 401 may be a general-purpose processor, DSP, or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. Processor 401 can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of the present invention. The general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the methods disclosed in the embodiments of the present invention can be directly manifested as being executed by a hardware decoding processor, or being executed by a combination of hardware and software modules in the decoding processor. The software modules may be located in a storage medium, which is located in memory 402. Processor 401 reads the information in memory 402 and combines its hardware to complete the steps of the aforementioned method.
[0146] In an exemplary embodiment, the test paper generation device 400 may be implemented by one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), FPGAs, general-purpose processors, controllers, MCUs, microprocessors, or other electronic components to perform the aforementioned method.
[0147] In an exemplary embodiment, the present invention also provides a computer-readable storage medium, such as a memory 402 including a computer program, which can be executed by a processor 401 of the test paper generation apparatus 400 to complete the steps described in the foregoing method. The computer-readable storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface memory, optical disc, or CD-ROM; or it may be various devices including one or any combination of the above-mentioned memories, such as mobile phones, computers, tablet devices, personal digital assistants, etc.
[0148] The methods disclosed in the several method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.
[0149] The features disclosed in the several product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.
[0150] The features disclosed in the several method or device embodiments provided in this application can be arbitrarily combined without conflict to obtain new method or device embodiments.
[0151] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods, such as: multiple units or components can be combined, or integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the various components shown or discussed can be through some interfaces, and the indirect coupling or communication connection between devices or units can be electrical, mechanical, or other forms.
[0152] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the units may be selected to achieve the purpose of this embodiment according to actual needs.
[0153] In addition, in the various embodiments of the present invention, each functional unit can be integrated into one processing unit, or each unit can be a separate unit, or two or more units can be integrated into one unit; the integrated unit can be implemented in hardware or in the form of hardware plus software functional units.
[0154] Those skilled in the art will understand that all or part of the steps of the above method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps of the above method embodiments. The aforementioned storage medium includes various media that can store program code, such as mobile storage devices, ROM, RAM, magnetic disks, or optical disks.
[0155] Alternatively, if the integrated units of this invention are implemented as software functional modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the embodiments of this invention, or the parts that contribute to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the methods described in the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as mobile storage devices, ROM, RAM, magnetic disks, or optical disks.
[0156] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. A method for generating test papers, characterized in that, The method includes: The first population is obtained, and the fitness function and optimization parameters are determined based on the first constraints related to test paper assembly; each individual in the first population includes test item information that constitutes a test paper to be assembled; The fitness values of each individual in the first population are obtained according to the fitness function, and the first, second, and third individuals with the highest fitness values in the first population are determined. Based on the optimization parameters, the remaining individuals in the first population are updated using the first individual, the second individual, and the third individual, and the second population is determined based on the updated first population. Based on the fitness values of each individual in the second population, the fitness variance of the second population is determined. Based on the fitness variance, the second population is subjected to mutation processing. Based on the mutated second population, a new first population is determined. If the new first group satisfies the first preset condition, a target test paper is generated based on the target individuals in the new first group. The step of updating the remaining individuals in the first population using the first individual, the second individual, and the third individual includes: Based on the optimization parameters and the test question information included in each individual in the first population, a position vector corresponding to each individual is obtained; wherein, the position vector represents the value of the optimization parameters of the test paper to be assembled for the corresponding individual; Based on the first position vector corresponding to the first individual, the second position vector corresponding to the second individual, and the third position vector corresponding to the third individual, the position vector corresponding to any other individual is updated to obtain the updated position vector. Generating an updated version of any remaining individual based on the updated position vector includes: Obtain the first target test question information from any of the remaining individuals, wherein the first individual, the second individual, and the third individual all include the first target test question information; Obtain the second target test question information from any of the remaining individuals, wherein the first individual, the second individual, and the third individual do not include the second target test question information; The first target question information is retained in any of the remaining individuals, and the second target question information is deleted. An updated version of any of the remaining individuals is generated based on the updated position vector.
2. The method according to claim 1, characterized in that, Obtaining the first group includes: The first group is randomly generated from the real number-encoded question bank.
3. The method according to claim 1, characterized in that, The method further includes: If the new first population does not meet the first preset condition, the first, second, and third individuals with the top three fitness values in the new first population are obtained again according to the fitness function, and the second population is determined again based on the first, second, and third individuals in the new first population.
4. The method according to any one of claims 1 to 3, characterized in that, The step of performing mutation processing on the second population based on the fitness variance value, and determining a new first population based on the mutated second population, includes: If the fitness variance value meets the second preset condition, some individuals in the second population are mutated, and a new first population is determined based on the mutated second population. If the fitness variance value does not meet the second preset condition, a new first population is determined based on the second population.
5. The method according to claim 4, characterized in that, The mutation treatment of some individuals in the second population includes: The target individuals for mutation processing in the second population are determined based on the fitness variance value, and the target individuals are mutated based on a first random vector that follows a Lévy distribution.
6. The method according to claim 5, characterized in that, The step of determining the target individuals for mutation processing in the second population based on the fitness variance value includes: The mutation probability is determined based on the fitness variance value, the number of individuals in the second population, and a pre-defined probability range. A second random number is determined for each individual in the second population. If the second random number is less than the mutation probability, the individual corresponding to the second random number is determined to be the target individual.
7. The method according to claim 5 or 6, characterized in that, The mutation process performed on the target individual based on a first random vector following a Lévy distribution includes: Based on the optimization parameters and the test question information included in the target individual, a fourth position vector corresponding to the target individual is determined; the fourth position vector is transformed based on the first random vector, and the mutated target individual is generated based on the transformed fourth position vector.
8. The method according to claim 1, characterized in that, The first constraint includes at least one of the following: question type constraint, total score constraint, difficulty constraint, knowledge point coverage constraint, and average score constraint.
9. A test paper generation device, characterized in that, The device includes: An initialization module is used to obtain the first population and determine the fitness function and optimization parameters based on the first constraints related to test paper assembly; each individual in the first population includes test item information that makes up a test paper to be assembled. The calculation module is used to obtain the fitness values of each individual in the first population according to the fitness function determined by the initialization module, and to determine the first, second and third individuals with the top three fitness values in the first population. An update module is used to update the remaining individuals in the first population based on the optimization parameters determined by the initialization module, using the first individual, the second individual, and the third individual determined by the calculation module, and to determine the second population based on the updated first population. The mutation module is used to determine the fitness variance of the second population based on the fitness values of each individual in the second population determined by the update module, perform mutation processing on the second population based on the fitness variance, and determine a new first population based on the mutated second population. The generation module is used to generate a target test paper based on the target individuals in the new first group when the new first group determined by the mutation module meets the first preset condition. The update module includes: The first submodule is used to obtain the position vector corresponding to each individual based on the optimization parameters determined by the initialization module and the test question information included in each individual in the first population; wherein, the position vector represents the value of the optimization parameter of the test paper to be assembled corresponding to the individual; The second submodule is used to update the position vector of any other individual based on the first position vector of the first individual, the second position vector of the second individual, and the third position vector of the third individual obtained by the first submodule, so as to obtain the updated position vector. The third submodule is used to generate an updated version of any remaining individual based on the updated position vector obtained by the second submodule, and to obtain first target test question information in any remaining individual, wherein the first individual, the second individual, and the third individual all include the first target test question information; to obtain second target test question information in any remaining individual, wherein the first individual, the second individual, and the third individual do not include the second target test question information; to retain the first target test question information in any remaining individual and delete the second target test question information, and to generate an updated version of any remaining individual based on the updated position vector.
10. The apparatus according to claim 9, characterized in that, The initialization module is used to randomly generate the first group from the real number encoded question bank.
11. The apparatus according to claim 9, characterized in that, The generation module is further configured to, when the new first population determined by the mutation module does not meet the first preset condition, re-obtain the first, second, and third individuals with the top three fitness values in the new first population according to the fitness function determined by the initialization module, and re-determine the second population based on the first, second, and third individuals in the new first population.
12. The apparatus according to any one of claims 9 to 11, characterized in that, The mutation module includes: The fourth submodule is used to perform mutation processing on some individuals in the second population when the fitness variance value meets the second preset condition, and to determine a new first population based on the mutated second population. The fifth submodule is used to determine a new first population based on the second population if the fitness variance value does not meet the second preset condition.
13. The apparatus according to claim 12, characterized in that, The fourth submodule is further configured to determine the target individual for mutation processing in the second population based on the fitness variance value, and to perform mutation processing on the target individual based on a first random vector that follows a Lévy distribution.
14. The apparatus according to claim 13, characterized in that, The fourth submodule is further configured to determine the mutation probability based on the fitness variance value, the number of individuals in the second population, and a preset probability range; and to determine a second random number corresponding to each individual in the second population, and to determine the individual corresponding to the second random number as the target individual if the second random number is less than the mutation probability.
15. The apparatus according to claim 13 or 14, characterized in that, The fourth submodule is further configured to determine the fourth position vector corresponding to the target individual based on the optimization parameters determined by the initialization module and the test question information included in the target individual; perform position transformation on the fourth position vector based on the first random vector; and generate the mutated target individual based on the position-transformed fourth position vector.
16. The apparatus according to claim 9, characterized in that, The first constraint includes at least one of the following: question type constraint, total score constraint, difficulty constraint, knowledge point coverage constraint, and average score constraint.
17. A computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by a processor, the program implements the steps of the method according to any one of claims 1 to 8.
18. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the steps of the method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Intelligent test paper method based on genetic particle swarm optimization algorithm
CN105469145A
Method and system for examination timetable scheduling using test paper conflictive analysis and swarm intelligence
WO2012050519A1