Comment on page
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.
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
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.

A simple, built-in algorithm
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 modified 1mo ago