Reward Types based on Matrix Completion
About this model
To represent row-player bound and the matrix of pools, we will use arrays from Math.JS functions stored in register nodes (fx) as a more efficient solution
The tricky part comes from the left most register, as it stores the dynamic array that will represent the row progress of each player. To construct it, we can use the resize() function. The required parameters for resize() are: a. initial array - we can use an empty array [] to showcase that the players start with 0 filled slots in their rows b. the size of the resized array (with mandatory []) - this is the most difficult part. We would want for the row to have 0 elements when the player fills 0 slots, the row must update to 1 element when a slot is filled, ..... and x elements while the player fills x slots. As such, we use the variable Px_fill, which references how many slots are filled from the player pool. c. the value which will be filled in the resized array - I have used 1 as a placeholder value since you mentioned that each slot can hold only 1 resource For example for resize([],[3],1) the output will be [1,1,1] representing a row with 3 filled slots
"Reward Types based on Matrix Completion" is a public Machinations diagram shared in the Community by Catalin Ichim, with 96 components.
It was created in November 2025 and last edited in November 2025.
Open the diagram in the Machinations app and press Play to watch the resources move, adjust its values to test how the system responds, or remix it to make an editable copy in My diagrams.