Algorithms
Algorithms are directed graphs. In these graphs, each node represents a 'Batch' operation, which can be of four types: Personalized
, Sampled
, Biased
, or Random
. Each edge in the graph signifies a 'UserAction', which has two sub-categories: Batch
and Signal
.
In this system, users have two possible actions: sending signals and requesting new data batches. Each action updates the user's current state in the algorithm, and FirstBatch individually tracks these states.
What is a State?
A State identifies the current node in a session. It changes whenever a user performs an action, triggering two things:
Execution of the node's operation type
State update through the directed graph based on the user's action
Simple Algorithm
The "simple" algorithm below features three states: Discovery, Recommendation, and Expansion. Each node has its own operation type and associated parameters. Additionally, each node has at least one outgoing signal and batch edge that connects it to other nodes.
Here blue edges represent "batch" action, where purple operations represent "signal" action. An example run for a session starting at "Recommendation" state:
User action -> batch
Operation: personalized batch, params: {mu: 0, r:0, alpha:0}
New state: Expansion
User action -> Signal
New State: Recommendation
Last updated