Task allocation method with privacy protection
By adopting vector intra-product encryption and addition secret sharing technology on the crowdsourcing platform, the shortcomings of task allocation methods in the existing technology in terms of privacy protection and efficiency improvement are solved, and efficient privacy protection and security task allocation of task vectors, preference vectors and vector internal product results are achieved.
Patent Information
- Application Number
- CN202510147218.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-11
- Publication Date
- 2025-05-23
AI Technical Summary
Existing task allocation methods have shortcomings in protecting sensitive information in task requirements and worker preferences, especially in resilience to linear analytical attacks and improving task allocation efficiency.
The vector intra-product encryption and addition secret sharing technology are adopted to ensure the privacy of task vectors, preference vectors and vector intra-product results through collaboration between key generation centers, workers, task requesters and crowdsourcing platforms. Specific steps include encryption of preference vectors and task vectors, construction of security mapping tables, and execution of task allocation.
It realizes efficient privacy protection of task vectors, preference vectors and vector internal product results, improves the security and efficiency of task allocation, and avoids the leakage of sensitive information.
Smart Images

Figure CN120034322A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of crowdsourcing, and more specifically, to constructing a task allocation method with privacy protection based on vector inner product function encryption and additive secret sharing technology. Background Art
[0002] In the era of the sharing economy, crowdsourcing, as an innovative model, has become a common solution to solve complex tasks by pooling human knowledge and collective wisdom. This model is favored for its high cost-effectiveness, convenient operation and high flexibility. More and more individuals and companies tend to use crowdsourcing platforms to publish tasks to recruit suitable workers. In order to meet the growing demand for services, various crowdsourcing applications have emerged, such as Amazon's Mechanical Turk, crowdsourcing data processing platform CrowdFlower, and travel service platform Didi Chuxing.
[0003] Task allocation is an important function in crowdsourcing, and its core goal is to accurately match the right tasks to the right workers. To achieve this goal, a common method is to let the crowdsourcing platform perform keyword matching based on worker preferences and task requirements. However, the crowdsourcing platform is not a completely trustworthy entity and is vulnerable to various attacks from both inside and outside, resulting in the leakage of sensitive information in worker preferences and task requirements. Therefore, existing research suggests encrypting task requirements and worker preferences before outsourcing, and designing a privacy-preserving task allocation method to complete ciphertext-based task allocation.
[0004] The paper "Privacy-Preserving Task Recommendation Services for Crowdsourcing" converts the keywords in task requirements and worker preferences into vectors, and uses asymmetric scalar product encryption to encrypt the task vectors and preference vectors. However, the encryption technology used in this scheme is difficult to resist linear analysis attacks. In order to improve security, the paper "Proxy-Free Privacy-Preserving Task Matching with Efficient Revocation in Crowdsourcing" uses bilinear pairing calculations to match keywords to complete task allocation. However, this scheme needs to perform bilinear pairing calculations on each keyword, and the task allocation efficiency is not high. In addition, none of the above schemes protect the matching degree between task requirements and worker preferences, that is, the number of keyword matches, and there is a potential privacy risk. Therefore, how to design an efficient and secure task allocation method remains a thorny issue.
[0005] In view of the above, the present invention proposes a task allocation method with privacy protection based on vector inner product encryption and additive secret sharing. Summary of the invention
[0006] The purpose of the present invention is to provide a task allocation method with privacy protection to overcome the technical problems existing in the prior art.
[0007] In order to achieve the above technical objectives and the above technical effects, the present invention provides the following technical solutions:
[0008] A task assignment method with privacy protection involves four entities, including a key generation center, workers, task requesters and a crowdsourcing platform. The key generation center is trustworthy, the workers and task requesters are honest, that is, they will not intentionally disclose their keys to other entities, and the crowdsourcing platform is honest and curious, that is, the crowdsourcing platform will honestly execute a predefined algorithm, but will speculate on the plaintext value of a vector and the result of the vector inner product during the execution process.
[0009] The method adopts the keyword-based task allocation in crowdsourcing, that is, given a set of common keywords Workers construct preference vectors based on keywords in their own preferences, and task requesters construct task vectors based on keywords in task requirements. If the dth keyword in the common keyword set is contained, the dth position of the own vector is set to 1. Given the vector inner product encryption scheme DDH-IP=(Setup,Enc,KDer,Dec) and public key encryption scheme PKE=(G,E,D) proposed in the paper "Simple functional encryption schemesfor inner products", security parameters λ and vector dimension l, vector inner product maximum value MAX and integer set RND, the specific steps of the method of the present invention are as follows:
[0010] Step 1: Initialization algorithm ((pk, sk), (pk, sk))←Initialization( λ ,l): The initialization algorithm is run by the trusted key generation center. First, the key generation center inputs the security parameter λ and the vector dimension l, and then executes the algorithm DDH-IP.Setup(λ,l) to generate the public / private key pair (pk,sk) and public parameters used for vector encryption in It is a cyclic group with generator g and order p. Then the key generation center executes the algorithm PKE.G(λ) to generate the public key / private key pair (pk, sk) for public key encryption. Finally, the key generation center sends pk to the worker, (sk, pk) to the task requester, and sk to the cloud server of the crowdsourcing platform.
[0011] Step 2: Preference vector encryption algorithm Preference vector encryption algorithm by workers Run, given a worker The preference vector p j , the algorithm first randomly selects an integer r from the integer set RND j , and r j Fill to vector p j The last bit of the algorithm is then executed. The algorithm DDH-IP.Enc(pk,p j ) Generate an encrypted preference vector The last worker The generated At the same time, it is sent to the cloud server of the crowdsourcing platform and
[0012] Step 3: Task vector encryption algorithm The algorithm is determined by the task requester Run, given Mission And the corresponding task vector q i , the algorithm first starts from Randomly select an element z from i , and fill it into q i The last bit of q is then i Generate two share task vectors and in The algorithm then runs Algorithm-generated share trapdoor run Generate share trapdoor Next, the algorithm selects {0,1} λ Randomly select an element k from i as the key of the pseudo-random function and run GenMapTab(RND,MAX,k i ,pk) algorithm to generate the security mapping table M i , the last task requester Will Sent to the cloud server of the crowdsourcing platform Will Sent to the cloud server of the crowdsourcing platform
[0013] Step 4: Task Allocation Algorithm The algorithm is jointly run by two non-collusive cloud servers in the crowdsourcing platform. enter enter
[0014] Preferably, in a task allocation method with privacy protection, the task allocation in step 4 consists of the following three steps:
[0015] S1, given and For each share trapdoor and each encrypted preference vector Cloud Server Running the algorithm get And store it in the matrix X 1 [i][j], when all share trapdoors and all encryption preference vectors are executed, X 1 Send to cloud server
[0016] S2, given and For each share trapdoor and each encrypted preference vector Cloud Server Running the algorithm get And store it in the matrix X 2 [i][j]. For X 1 and X 2 Every element X in 1 [i][j] and X 2 [i][j], First calculate X 1 [i][j] × X 2 [i][j] get Then according to get Then Stored in Y[i][j], when X 1 and X 2 After all elements in are processed, Send Y to the cloud server
[0017] S3, as a cloud server After receiving the matrix Y, Decrypt the elements in Y using the key sk and the PKE.D algorithm. Specifically, for Y[i][j], Execute PKE.D(sk,Y[i][j]) to get the randomized plaintext value and store it in V[i][j]. Tasks are assigned according to the matrix V, that is, for the i-th task, the cloud server Get the worker corresponding to the maximum vector dot product value from V[i][*] That is, V[i][c]=max{V[i][1],...,V[i][m]}, and the workers Assign to task Where max{} represents the maximum value function.
[0018] Preferably, in a task allocation method with privacy protection, the key generation center in step 1 is used to generate keys and parameters required for system operation and belongs to a trusted entity.
[0019] Preferably, in a task assignment method with privacy protection, the worker in step 2 is an honest entity, and the worker encodes his or her preference into a preference vector, which is encrypted and uploaded to the cloud server of the crowdsourcing platform.
[0020] Preferably, in a task assignment method with privacy protection, the task requester in step three is an honest entity, and the task requester encodes his task requirements into a task vector, which is encrypted to form a trapdoor and a security mapping table.
[0021] Preferably, in a task allocation method with privacy protection, when the inner product results of the same task vector and the preference vector in step three are the same, the positions located in the security mapping table are different.
[0022] Preferably, in a task allocation method with privacy protection, the crowdsourcing platform in step 4 is composed of two non-collusive servers and the two servers are honest and curious, which are used to infer the meanings represented by the preference vector and the task vector during the execution of the algorithm. In addition, since cloud service providers are usually large enterprises of considerable scale, they will actively avoid collusion and other behaviors that damage the reputation of the enterprise. Therefore, the assumption that the two cloud servers do not collude is reasonable in the real world.
[0023] Compared with the prior art, the present invention has the following beneficial effects:
[0024] 1. The present invention proposes a task assignment method with privacy protection, which can simultaneously ensure the privacy of task vectors, preference vectors and vector inner product results;
[0025] 2. The present invention proposes a security mapping table construction scheme, which introduces random numbers and different pseudo-random function keys to ensure that when the inner product results of the same task vector and the preference vector are the same, the positions located in the security mapping table are different, thereby further enhancing the security of the method;
[0026] 3. The present invention proposes a task allocation calculation system with privacy protection, which does not require complex bilinear pairing calculations and can effectively improve the efficiency of task allocation;
[0027] In summary, the present invention uses a vector inner product encryption scheme to ensure the privacy of the preference vector, introduces additive secret sharing on the basis of the vector inner product encryption scheme, ensures the privacy of the task vector, randomizes the vector inner product value in order, ensures that the crowdsourcing platform completes the task allocation without knowing the true vector inner product value, and by introducing random values, the security mapping table constructed by the method can ensure that when the inner product results of the same task vector and preference vector are the same, the location of the security mapping table is different, thereby further enhancing the security of the method. The present invention can simultaneously ensure the privacy of the task vector, preference vector and vector inner product results, with high overall operating efficiency, and can also ensure the privacy of the vector inner product value, with higher security. BRIEF DESCRIPTION OF THE DRAWINGS
[0028] In order to more clearly illustrate the technical solution of the present invention, the drawings required for use in the description of the specific implementation methods will be briefly introduced below. Obviously, the drawings described below are only 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.
[0029] Figure 1 This is a system model diagram of the present invention "a task allocation method with privacy protection";
[0030] Figure 2 A flowchart of the task allocation steps of the present invention "a task allocation method with privacy protection";
[0031] Figure 3 This is an example diagram of preference vector encryption of the present invention "a task allocation method with privacy protection";
[0032] Figure 4 This is an example diagram of task vector encryption of the present invention "a task allocation method with privacy protection";
[0033] Figure 5 This is an example diagram of task allocation of the present invention "a task allocation method with privacy protection";
[0034] Figure 6 An algorithm for generating a security mapping table in the present invention "a task allocation method with privacy protection". DETAILED DESCRIPTION
[0035] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only 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.
[0036] See also Figure 1-6 As shown, this embodiment is a task allocation method with privacy protection, and the workflow of each entity in the method is:
[0037] Key Generation Center: Given the security parameter λ and vector dimension l, this entity runs the Initialization algorithm to generate the public / private key pair (pk, sk) used for vector encryption DDH-IP and the public / private key pair (pk, sk) for public key encryption PKE. After the key is generated, the entity sends pk to the worker, (sk, pk) to the task requester, and sk to the cloud server of the crowdsourcing platform.
[0038] Worker Given a preference vector p j and public key pk, worker Execute the PrefEnc algorithm to generate the ciphertext preference vector Then, the workers Will Sent to the cloud server of the crowdsourcing platform and
[0039] Task Requester Given a task vector q i , vector encryption private key sk and public key pk of public key encryption algorithm, the entity runs TaskEnc algorithm to generate share trapdoor and security mapping table M i Next, the task requester Will Sent to the cloud server of the crowdsourcing platform Will Sent to the cloud server of the crowdsourcing platform
[0040] Crowdsourcing platform: Given m encrypted preference vectors n share trapdoors and The entity runs the TAssign algorithm to obtain the final task assignment result AR. Specifically, the cloud server in the crowdsourcing platform enter Cloud Server enter Then the two cloud servers follow Figure 2 The steps shown obtain AR, thereby completing task allocation with privacy protection.
[0041] This method is based on the vector inner product encryption scheme DDH-IP. It ensures the privacy of the task vector through encrypted secret sharing technology, and designs the order-preserving randomization technology (algorithm GenMapTab) to ensure the privacy of the vector inner product result. Therefore, the correctness analysis is carried out from these two aspects:
[0042] First, given an arbitrary task vector q i and the preference vector p j , and the share task vector obtained by using additive secret sharing technology and if The results and The results are consistent, which means that the proposed method is correct for vector inner product calculation, where τi Equal to DDH-IP.KDer(sk,q i ). Correctness analysis is shown in formula (1). According to Fermat's little theorem, it can be seen that the vector inner product calculation method proposed in the present invention is the same as The results obtained are consistent.
[0043]
[0044] Secondly, the proposed GenMapTab algorithm does not affect the allocation result. From the algorithm, it can be seen that for each possible vector inner product result c, the method first uses formula c r =c×(|RND|1)+r to convert it into c r , and then use C r Random
[0045] Due to r ≤ |RND|, so when c < c′, equation c r< c′ r In addition, because randomization is an accumulation operation, if c r< c′ r , then the equation This is definitely true, so the GenMapTab algorithm proposed in the present invention will not affect the task allocation result.
[0046] Next, the security of the proposed scheme is explained. First, based on the DDH hypothesis, the DDH-IP scheme is able to resist selective chosen plaintext attacks, ensuring the privacy of the preference vector; second, based on the security of additive secret sharing and the non-collusion assumption, no cloud server in the crowdsourcing platform can know the task vector, ensuring the privacy of the task vector; third, based on the security of the pseudo-random function, the cloud server cannot infer the original value based on the order-preserving randomized value, thereby ensuring the privacy of the vector inner product result; finally, the constructed security mapping table can ensure that when the inner product result of the same task vector and the preference vector is the same, the location of the security mapping table is different, thereby further enhancing the security of the method.
[0047] The following takes crowdsourcing based on keyword matching as an example to illustrate the steps of the proposed method in detail. In this example, given a set of common keywords When workers and task requesters construct their own vectors, if they contain the dth keyword in the common keyword set, they set the dth position of their own vectors to 1. In this method, the dimensions of the preference vector and the task vector are in Indicates the size of the common keyword set. In this example, assume that the number of workers and task requesters is 2, each task requester has one task, and the worker is represented by and Indicates that the task requester uses the symbol and express, Have a task Have a task In addition, the example assumes that the worker The preference vector p 1 =(0,1,1,1,0), worker The preference vector p 2 =(1,1,1,0,0), task The corresponding task vector q 1= (0,1,1,1,0), task The corresponding task vector q 2= (1,1,1,0,0), RND={1,2}, MAX=4, large prime number p=71.
[0048] Step 1: The key generation center runs the Initialization algorithm to generate keys and sends the corresponding keys to each entity in the system.
[0049] a) Given the security parameter λ and the vector dimension l = 5, the key generation center runs the algorithm DDH-IP.Setup( λ,l) Generate a public key / private key pair (pk,sk) for vector encryption;
[0050] b) Given the security parameter λ, the key generation center runs the algorithm PKE.G( λ ) Generate a public key and private key pair (pk, sk) for a public key encryption algorithm;
[0051] c) The key generation center sends pk to the worker, sends (sk, pk) to the task requester, and sends sk to the cloud server of the crowdsourcing platform
[0052] Step 2: Workers and Execute the PrefEnc algorithm to generate the ciphertext preference vector and and will and Sent to the cloud server of the crowdsourcing platform and The specific process is as follows Figure 3 shown.
[0053] a) Workers Randomly select an integer r from RND 1= 2, and r 1 Fill to vector p 1 The last digit, p 1= (0,1,1,1,2), then Execute the algorithm DDH-IP.Enc(pk,p 1 ) Generate an encrypted preference vector
[0054] b) Workers Randomly select an integer r from RND 2= 1, and r 2 Fill to vector p 2 The last digit, p 2= (1,1,1,0,1), then Execute the algorithm DDH-IP.Enc(pk,p 2 ) Generate an encrypted preference vector
[0055] c) Workers Will Sent to the cloud server of the crowdsourcing platform and Worker Will Sent to the cloud server of the crowdsourcing platform and
[0056] Step 3: Task Requester and Execute TaskEnc algorithm to generate trapdoors and security mapping tables and and will and Sent to the cloud server of the crowdsourcing platform Will and Sent to the cloud server of the crowdsourcing platform The specific process is as follows Figure 4 shown.
[0057] a) Task requester from Randomly select an element z from 1= 6, and z 1 Fill to vector q 1 The last digit, q 1 (0,1,1,1,6), then the algorithm uses secret sharing technology to 1 Generate two share task vectors and
[0058] b) Task requester run Algorithm-generated share trapdoor run Generate share trapdoor Task Requester From {0,1} λ Randomly select an element k from 1 , and run GenMapTab(RND,MAX,k 1 ,pk) algorithm to generate the security mapping table M 1 like Figure 6 as stated;
[0059] c) Task requester from Randomly select an element z from 2= 5, and z 2 Fill to vector q 2 The last digit, q 2= (1,1,1,0,5), then the algorithm uses secret sharing technology to 2 Generate two share task vectors and
[0060] d) Task requester run Algorithm-generated share trapdoor run Generate share trapdoor Task Requester From {0,1} λ Randomly select element k from 2 , and run GenMapTab(RND,MAX,k 2 ,pk) algorithm to generate the security mapping table M 2 ;
[0061] e) Will Sent to the cloud server of the crowdsourcing platform Will Sent to the cloud server of the crowdsourcing platform
[0062] f) Will Sent to the cloud server of the crowdsourcing platform Will Sent to the cloud server of the crowdsourcing platform
[0063] Step 4: Given 2 encrypted preference vectors 2 share trapdoors and The crowdsourcing platform executes the TAssign algorithm to obtain the final task assignment result AR. The specific process is as follows: Figure 5 shown.
[0064] a) Given and For each share trapdoor and each encrypted preference vector Running the algorithm get And store it in the matrix X 1 [i][j], when all share trapdoors and all encryption preference vectors are executed, X 1 Send to cloud server
[0065] b) Given and For each share trapdoor and each encrypted preference vector Running the algorithm get And store it in the matrix X 2 [i][j];
[0066] c) For X 1 and X2 Every element X in 1 [i][j] and X 2 [i][j], where i,j∈[2], First calculate X 1 [i][j]×X 2 [i][j] get Then according to get Then Stored in Y[i][j], when X 1 and X 2 After all elements in are processed, Send Y to the cloud server
[0067] d) As a cloud server After receiving the matrix Y, Decrypt the elements in Y using the key sk and the PKE.D algorithm. Specifically, for Y[i][j], Execute PKE.D(sk,Y[i][j]) to get the randomized plaintext value and store it in V[i][j]. Assign tasks according to matrix V: Since V[1][1] = max{V[1][1],V[1][2]}, The workers Assign to task For the task Since V[2][2] = max{V[2][1],V[2][2]}, The workers Assign to task
[0068] In the description of this specification, the description with reference to the terms "one embodiment", "example", "specific example", etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic representation of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any one or more embodiments or examples in a suitable manner.
[0069] The embodiments described in the present invention are merely descriptions of the preferred implementation modes of the present invention, and are not intended to limit the concept and scope of the present invention. Without departing from the design concept of the present invention, various modifications and improvements made to the technical solutions of the present invention by engineers and technicians in this field should fall within the protection scope of the present invention. The technical contents for which protection is sought in the present invention have all been recorded in the claims.
Claims
1. A task allocation method with privacy protection, characterized in that: Involving four entities, including the key generation center, workers, task requesters, and crowdsourcing platforms, the task allocation based on keywords, given a set of common keywords, workers construct preference vectors based on the keywords in their own preferences, and task requesters construct task vectors based on the keywords in task requirements, including the following specific steps: Step 1: Initialization algorithm ((pk, sk), (pk, sk))←Initialization(λ, l): The initialization algorithm is run by a trusted key generation center. First, the key generation center inputs the security parameter λ and the vector dimension l, and then executes the algorithm DDH-IP.Setup(λ, l) to generate the public / private key pair (pk, sk) and public parameters used for vector encryption. in is a cyclic group with generator g and order p, and then the key generation center executes the algorithm PKE.G( λ ) generates a public key / private key pair (pk, sk) for public key encryption. Finally, the key generation center sends pk to the worker, (sk, pk) to the task requester, and sk to the cloud server of the crowdsourcing platform. Step 2: Preference vector encryption algorithm ([[p j ]])←PrefEnc(pk,p j ): Preference vector encryption algorithm by worker Run, given a worker The preference vector p j , the algorithm first randomly selects an integer r from the integer set RND j , and r j Fill to vector p j The last bit of the algorithm is then executed. The algorithm DDH-IP.Enc(pk,p j ) Generate an encrypted preference vector [[p j ]]. The last worker The generated [[p j ]]Sent to the cloud server of the crowdsourcing platform at the same time and Step 3: Task vector encryption algorithm The algorithm is determined by the task requester Run, given Mission And the corresponding task vector q i , the algorithm first starts from Randomly select an element z from i , and fill it into q i The last bit of q is then i Generate two share task vectors and in The algorithm then runs Algorithm-generated share trapdoor run Generate share trapdoor Next, the algorithm selects {0,1} λ Randomly select an element k from i as the key of the pseudo-random function and run GenMapTab(RND,MAX,k i ,pk) algorithm to generate the security mapping table M i , where MAX represents the maximum inner product of the vector. The last task requester Will Sent to the cloud server of the crowdsourcing platform Will Sent to the cloud server of the crowdsourcing platform Step 4: Task Allocation Algorithm The algorithm is jointly run by two non-collusive cloud servers in the crowdsourcing platform. enter enter 2. A task allocation method with privacy protection according to claim 1, characterized in that: The task allocation in step 4 consists of the following three steps: S1, given and For each share trapdoor And each encrypted preference vector [[p j ]], Cloud Server Running the algorithm get And store it in the matrix X 1 [i][j], when all share trapdoors and all encryption preference vectors are executed, X 1 Send to cloud server S2, given and For each share trapdoor And each encrypted preference vector [[p j ]], Cloud Server Running the algorithm get And store it in the matrix X 2 [i][j]. For X 1 and X 2 Every element X in 1 [i][j] and X 2 [i][j], First calculate X 1 [i][j]×X 2 [i][j] get Then according to get Then Stored in Y[i][j], when X 1 and X 2 After all elements in are processed, Send Y to the cloud server S3, as a cloud server After receiving the matrix Y, Decrypt the elements in Y using the key sk and the PKE.D algorithm. Specifically, for Y[i][j], Execute PKE.D(sk,Y[i][j]) to get the randomized plaintext value and store it in V[i][j]. Tasks are assigned according to the matrix V, that is, for the i-th task, the cloud server Get the worker corresponding to the maximum vector dot product value from V[i][*] That is, V[i][c]=max{V[i][1],...,V[i][m]}, and the workers Assign to task Where max{} represents the maximum value function.
3. The task allocation method with privacy protection according to claim 1, characterized in that: The key generation center described in step 1 is used to generate the keys and parameters required for system operation and is a trusted entity.
4. The task allocation method with privacy protection according to claim 1, characterized in that: The workers described in step 2 are honest entities. They encode their preferences into preference vectors and encrypt them before uploading them to the cloud server of the crowdsourcing platform.
5. The task allocation method with privacy protection according to claim 1, characterized in that: In step three, the task requester is an honest entity. The task requester encodes his task requirements into a task vector and encrypts it to form a trapdoor and a security mapping table.
6. The task allocation method with privacy protection according to claim 1, characterized in that: When the inner product results of the same task vector and preference vector in step 3 are the same, the locations located in the security mapping table are different.
7. The task allocation method with privacy protection according to claim 1, characterized in that: In step 4, the crowdsourcing platform consists of two non-colluding servers and both servers are honest and curious, which are used to infer the meaning of the preference vector and the task vector during the execution of the algorithm.