mercredi 12 octobre 2022

Weighted sampling without replacement with multiple weight vectors

This is a slightly more complicated problem than just the weighted sampling without replacement. I'd like to simulate a weighted sampling w/o replacement when there are multiple weight distributions to consider. Here's an example scenario:

Consider a simple game between two people, say 4 objects to choose from. Each person has an associated weight vector for each of the items (say corresponding to the value that they place on each object). Example of these weights, in ascending object order:

W1 = [30, 40, 20, 10] --> Probs = [30/100, 40/100, 20/100, 10/100]

W2 = [85, 10, 3, 2] --> Probs = [85/100, 10/100, 3/100, 2/100]

Assume we can normalize the weights at any point in the game so that the weight associated with the corresponding object acts as a probability. Here is a sample realization of the game to describe what I'm trying to do:

Stage 1: Player 1 selects Object 2 (randomly by his/her weight set)

Stage 2: Player 2 now selects from the following object and weight set:

Objects_avail = [1,3,4]
W2 = [85, 3, 2] --> Probs = [85/90, 3/90, 2/90]

--> Player 2 selects Object 1.

Stage 3: Player 1 now selects from the following object and weight set:

Objects_avail = [3,4]
W2 = [3, 2] --> Probs = [3/5, 2/5]

And so on until all objects have been selected. Then repeat this experiment N number of times. The final result of one iteration is just an ordering of the objects selected, e.g.

[2,1,4,3]

is the output from one run of this experiment (structure type not important, so just something that gives me the order in which objects were selected).




Aucun commentaire:

Enregistrer un commentaire