Prediction tasks, features, and targets
A learning task specifies an input, an output, and the circumstances in which the output will be used. Statistical learning discovers predictive patterns from examples. Unlike a programmer-authored rule, the resulting behavior depends on the examples and fitting procedure. Both execute code; neither a successful fit nor executable code alone establishes useful predictions.
A build-duration predictor might estimate one job's build-command runtime, in minutes, immediately before execution, to inform a waiting-time estimate. A job is one execution within a potentially larger build. Whole-build duration, setup time, and command runtime are different targets. The TravisTorrent schema distinguishes these measurements; choosing one is part of specifying the task.
| Field | Role | Available before execution |
|---|---|---|
| Project and job identifiers | Identify the observation and related records | Yes |
| Source size and configured test suites | Candidate features, captured before execution | Required by this task design |
| Build-command runtime, minutes | Observed target | No |
| Final status and test results | Outcomes, not pre-build inputs | No |
A feature is an input attribute; a feature vector collects one example's inputs. A label, or target, is its recorded answer. Parameters are fitted values shared across examples. The prediction is the model's computed answer, distinct from the observed target. These are the basic objects of supervised learning.
Numeric inputs need a defined representation. One-hot encoding gives each category a binary column, avoiding an invented ordering such as compiler A < compiler B. Standardization subtracts a training-fitted mean and divides by a training-fitted standard deviation. Retain those values for later inputs. Preprocessing documentation explains both transformations.
Recorded durations can contain measurement noise. Missing or canceled jobs also require a declared inclusion rule: an absent duration is not a measured zero. Otherwise the dataset silently changes what the predictor estimates.
Training, fitted state, and inference
The training set contains examples used for fitting: determining model parameters from data. Inference applies the fitted function to another input. Saving a model preserves its learned state; restoring it requires the corresponding computational structure. An evaluation may compare predictions with labels and calculate loss without updating anything.
Fitted preprocessing belongs with the predictor. A new build must use the retained encoding and scaling, rather than recomputing them from itself or an evaluation batch. Otherwise the same numerical coordinate can acquire a different meaning.
Create state once, reuse it for predictions
Only fitting creates learned state.
Read the diagram as text
- Training pairs.
- Fit.
- Fitted artifact. Transformations and parameters.
- New features.
- Transform and predict.
- Withheld target.
- Evaluate prediction.
- Training pairs → Fit: data: examples.
- Fit → Fitted artifact: writes fitted state.
- Fitted artifact → Transform and predict: data: retained state.
- New features → Transform and predict: data: input.
- Transform and predict → Evaluate prediction: data: prediction.
- Withheld target → Evaluate prediction: data: target.
- Input changes — Supplying another example changes what the model computes. Few-shot demonstrations placed in a language model's input also condition predictions while its weights remain fixed.
- Parameter changes — Training changes stored fitted values through an update procedure. Computing gradients, selecting evaluation behavior, and applying an optimizer update are distinct operations.
- Learned representations — An embedding is a learned numerical representation of an input. Its parameters can be trained, then reused to produce features. Embeddings and Representation Learning develops how these representations acquire useful structure.
Supervision, baselines, and loss
Supervised learning uses paired inputs and recorded targets. Target choice determines the task: predicting duration is regression, while predicting failure is classification. Encoding success as 0 and failure as 1 does not turn category prediction into duration regression.
| Task | Output | Simple training-fitted baseline |
|---|---|---|
| Duration regression | A quantity in minutes | Return the training targets' mean for every job; ignore features. |
| Failure classification | A category or failure score | Always choose the most frequent training category. Accuracy can still conceal poor minority-class performance. |
A loss assigns a numerical penalty to a prediction. Empirical risk minimization means minimizing average loss on observed examples. The training objective may add penalties or constraints. Comparing a feature-dependent model with a baseline on the same new cases tests whether its added complexity buys predictive value.
| Residuals, minutes | Mean absolute error | Mean squared error |
|---|---|---|
| 2, 2 | 2 minutes | 4 minutes² |
| 0, 4 | 2 minutes | 8 minutes² |
Classification can produce a probability score rather than only a label. Logistic regression transforms a weighted input score through a sigmoid, mapping any finite score between zero and one. For failure labels, this estimates failure probability under the modeled distribution. A probability-shaped output is not automatically calibrated: its numerical confidence still needs checking against outcomes.
Label ambiguity differs from measurement noise. A paper may reasonably fit several subject categories even when the dataset records only its author's chosen primary category. Exact-match scoring then penalizes another defensible answer. Annabell Schäfer's classification example illustrates why a deterministic scoring rule does not make the underlying target unambiguous.
- Objective — The quantity optimization directly improves, such as average log loss. Incorrect targets remain incorrect even when the optimizer fits them successfully.
- Reported metric — The chosen assessment summary, such as classification accuracy. Different scoring rules measure different properties.
- User goal — The useful consequence, such as better scheduling or helpful edits. Zed's edit-model work distinguishes offline reference similarity from editor acceptance and latency; one score cannot stand in for all three.
Model families and inductive assumptions
A hypothesis class is the set of functions available to the learner. Model capacity describes how flexibly that class can fit patterns. An inductive bias is a restriction or preference favoring some solutions. Examples constrain predictions where observations exist; assumptions determine much of what happens elsewhere.
| Model | Prediction structure | Fitted choices |
|---|---|---|
| Linear predictor | One weighted relationship across the input space | Weights and intercept |
| Decision tree | Thresholds partition inputs into constant-prediction regions | Split features, thresholds, and leaf predictions |
Agreement on examples leaves choices elsewhere
ExampleTwo functions exactly fit the same observations.
Same fit, different predictions
One input varies; both functions use the same two observations.
Scroll sideways if the figure extends beyond the screen.
- 1. Linear
- 2. Tree: lower region
- 3. Tree: upper region
- 4. Observed
Read coordinates and regions as data
X: 0–4.5 thousand lines; Y: 0–10 minutes, increasing up. Axes scaled independently; screen angles and distances are not comparable.
(0, 1); (4, 9)
(0, 3); (1.99, 3)
(2, 7); (4, 7)
(1, 3); (3, 7)
A hyperparameter controls fitting or the available model family rather than being learned by an ordinary fitting update. A tree's maximum depth is a hyperparameter; its selected split thresholds are fitted values. Learning rate is another hyperparameter. Choosing such settings uses validation evidence, not the final test results.
Gradients and parameter updates
A gradient describes local sensitivity: how a small change in each parameter would change the objective. Gradient descent moves opposite that direction. The learning rate scales the move. Local information does not guarantee that a large step helps, and reducing training loss does not guarantee better predictions on future examples.
Step size changes the result
ExampleThe same gradient can lead to lower or higher loss.
Learning rate 0.1
Parameter 0.4; loss 2.56.
Scroll sideways if the figure extends beyond the screen.
- 1. Loss
- 2. Start
- 3. Update
Read coordinates and regions as data
X: -1–5.5 dimensionless; Y: -0.5–10 dimensionless, increasing up. Axes scaled independently; screen angles and distances are not comparable.
(-1, 9); (-0.5, 6.25); (0, 4); (0.5, 2.25); (1, 1); (1.5, 0.25); (2, 0); (2.5, 0.25); (3, 1); (3.5, 2.25); (4, 4); (4.5, 6.25); (5, 9)
(0, 4)
(0, 4); (0.4, 2.56)
Learning rate 0.5
Parameter 2; loss 0.
Scroll sideways if the figure extends beyond the screen.
- 1. Loss
- 2. Start
- 3. Update
Read coordinates and regions as data
X: -1–5.5 dimensionless; Y: -0.5–10 dimensionless, increasing up. Axes scaled independently; screen angles and distances are not comparable.
(-1, 9); (-0.5, 6.25); (0, 4); (0.5, 2.25); (1, 1); (1.5, 0.25); (2, 0); (2.5, 0.25); (3, 1); (3.5, 2.25); (4, 4); (4.5, 6.25); (5, 9)
(0, 4)
(0, 4); (2, 0)
Learning rate 1.25
Parameter 5; loss 9.
Scroll sideways if the figure extends beyond the screen.
- 1. Loss
- 2. Start
- 3. Update
Read coordinates and regions as data
X: -1–5.5 dimensionless; Y: -0.5–10 dimensionless, increasing up. Axes scaled independently; screen angles and distances are not comparable.
(-1, 9); (-0.5, 6.25); (0, 4); (0.5, 2.25); (1, 1); (1.5, 0.25); (2, 0); (2.5, 0.25); (3, 1); (3.5, 2.25); (4, 4); (4.5, 6.25); (5, 9)
(0, 4)
(0, 4); (5, 9)
For the dimensionless example , the gradient at is −4. A learning rate of 0.1 gives , lowering loss from 4 to 2.56. A rate of 1.25 instead reaches 5, where loss is 9. The direction was useful; the displacement was excessive.
for x_batch, y_batch in training_batches:
optimizer.zero_grad()
predictions = model(x_batch)
loss = loss_fn(predictions, y_batch)
loss.backward()
optimizer.step()Backpropagation computes gradients through composed differentiable operations using the chain rule. The optimizer uses those gradients to change parameters. Clearing gradients matters because frameworks such as PyTorch accumulate them. The forward pass produces predictions; neither that pass nor loss calculation alone performs the parameter update.
A minibatch is a subset processed for one update. Minibatch stochastic gradient descent uses its average gradient instead of the entire dataset's gradient. Smaller batches introduce more sampling variation; larger batches can exploit vectorized computation but change update frequency. An epoch is one pass through the training examples, potentially containing many updates.
- Optimization difficulty — Failure to find a good training fit can reflect the update procedure, not just insufficient model capacity.
- Other fitting procedures — Least squares also admits analytic solutions. Trees select discrete splits rather than differentiating their thresholds.
Structure learning and data-derived targets
Unsupervised learning fits structure without externally supplied answer labels. K-means clustering assigns observations to a chosen number of centroids—the groups' mean vectors—to reduce within-group squared distances. Compactness under those coordinates is its objective, not discovery of authoritative categories.
| Record | Source size, thousand lines | Test suites |
|---|---|---|
| A | 1 | 1 |
| B | 1 | 3 |
| C | 5 | 1 |
| D | 5 | 3 |
Scaling changes the preferred partition
ExampleFixed records form different minimum-distance groups.
Size divided by 1 thousand lines
Suites divided by 1 suite. Vertical groups: total squared distance 4.
Scroll sideways if the figure extends beyond the screen.
- 1. Group 1
- 2. Group 2
- 3. A
- 4. B
- 5. C
- 6. D
Read coordinates and regions as data
X: 0–6 dimensionless; Y: 0–6 dimensionless, increasing up. Equal scale on both axes.
(0.6, 0.6); (1.4, 0.6); (1.4, 3.4); (0.6, 3.4)
(4.6, 0.6); (5.4, 0.6); (5.4, 3.4); (4.6, 3.4)
(1, 1)
(1, 3)
(5, 1)
(5, 3)
A: (1.1, 1.2)
B: (1.1, 3.2)
C: (5.1, 1.2)
D: (5.1, 3.2)
Size divided by 4 thousand lines
Suite scale unchanged. Horizontal groups: total squared distance 1.
Scroll sideways if the figure extends beyond the screen.
- 1. Group 1
- 2. Group 2
- 3. A
- 4. B
- 5. C
- 6. D
Read coordinates and regions as data
X: 0–6 dimensionless; Y: 0–6 dimensionless, increasing up. Equal scale on both axes.
(0.1, 0.6); (1.6, 0.6); (1.6, 1.4); (0.1, 1.4)
(0.1, 2.6); (1.6, 2.6); (1.6, 3.4); (0.1, 3.4)
(0.25, 1)
(0.25, 3)
(1.25, 1)
(1.25, 3)
A: (0.35, 1.2)
B: (0.35, 3.2)
C: (1.35, 1.2)
D: (1.35, 3.2)
Relative feature scaling changes distance and therefore can change clustering. Subtracting the same mean cancels in pairwise differences; dividing one coordinate by a larger scale reduces its contribution. The illustration changes only the source-size scale, retaining records and cluster count. Scaling is a modeling choice, not evidence of meaningful feature importance.
| Method | What it fits | Interpretive limit |
|---|---|---|
| Principal component analysis, or PCA | Perpendicular directions capturing input variation; retaining fewer directions reduces dimension. | High retained variation need not preserve prediction-relevant information. PCA centers inputs but does not automatically standardize their scales. |
| Density estimation | How observations are distributed across values; kernel methods combine smoothed contributions around observations. | Bandwidth controls smoothing. Apparent structure depends on this choice, and high dimensions can make estimation difficult. |
| Self-supervised prediction | Targets constructed from the data itself, such as predicting original text at corrupted positions. | Targets still exist. BERT's masked-token training derives answers from original text rather than manual labels for each prediction. |
These methods can be composed. A self-supervised model can supply frozen features for a supervised predictor; a linear probe trains only a final linear mapping to test what those features already contain. Embeddings and Representation Learning develops representation geometry, while Pretraining and Midtraining covers large-scale data-derived training.
Cluster interpretation still requires domain judgment. A group of price-related agent traces might combine incorrect quotations with incorrect refund calculations, despite different causes. Ben Hylak's trace-analysis example shows why a coherent-looking cluster is not automatically a stable, actionable issue.
Actions, rewards, and learning from interaction
Reinforcement learning improves action choices using rewards from interaction. The environment responds to actions; a scheduler's environment includes jobs and resources. Its observation exposes current allocations and waiting jobs. A state is sufficient information for predicting subsequent transitions; an observation may reveal only part of that state.
| Object | Role |
|---|---|
| Policy | Chooses an action, possibly probabilistically, from available information. |
| Reward | Immediate numerical feedback, such as a penalty for unfinished jobs. |
| Return | Accumulated, possibly discounted future rewards. |
| Value estimate | Predicts expected return under a policy; it is not itself the action-selection rule. |
Scheduling changes later availability
ExampleCompletion frees the resource for another action.
0–1: A runs; reward −2.
Read the diagram as text
- Job A.
- Job B.
- A running.
- A completed.
- B waiting.
- B running.
- B completed.
- Job A → A running: status.
- Job A → A completed: status.
- Job B → B waiting: status.
- Job B → B running: status.
- Job B → B completed: status.
- A running → B waiting: occupies slot.
- A completed → B running: frees slot.
- Choose A. 0–1: A runs; reward −2. Active: Job A, Job B, A running, B waiting. New: Job A, Job B, A running, B waiting.
- A completes. At 1: B remains waiting. Active: Job A, Job B, A completed, B waiting. New: A completed.
- Choose B. 1–3: B runs; rewards −1, −1. Active: Job A, Job B, A completed, B running. New: B running.
- Episode ends. At 3: both completed. Active: Job A, Job B, A completed, B completed. New: B completed.
A Markov decision process assumes that current state and action suffice to determine the next-state and reward distributions. Compressed observations can violate that sufficiency. DeepRM's scheduling formulation explicitly acknowledges partial observability; a job summary should not automatically be treated as a complete environment state.
- Credit assignment — A delayed reward follows many decisions and external events. Credit assignment determines how earlier choices should be updated; temporal order alone does not establish causal responsibility.
- Exploration and exploitation — Exploitation chooses currently promising actions. Exploration collects experience about less-understood alternatives. The acting policy determines which state–action pairs become data, so repeatedly choosing familiar actions can leave important alternatives poorly estimated.
- Consequences change later inputs — Changing a scheduling action requires recomputing subsequent resource states and observations. Replaying the old observations to a changed policy generally does not simulate its outcome.
Rewards can also train generated behavior when outcomes are automatically checkable. Stefano Fiorucci's game example scores outcomes and invalid moves, illustrating that environment rules determine which behavior receives credit. Post-training and Alignment develops these methods for model behavior; a checkable score still needs to express the intended goal.
Generalization and independent assessment
Generalization means performing well on new cases from a specified population or process. A sample contains finitely many such cases. Population risk is expected loss—the average under that process over repeated draws. Empirical risk averages the observed sample. Different samples yield different estimates even when the predictor is fixed.
A lookup table can reproduce recorded job durations while having no answer for a new job. Low training loss therefore does not establish low population risk. The generalization gap separates those quantities. A fresh representative test sample estimates new-case performance; deterministic repetition of a prediction says nothing about whether it is correct.
Selection determines independence
A score used for revision becomes development feedback.
Read the diagram as text
- Training data.
- Fitted candidates.
- Validation data.
- Selected, frozen model.
- Untouched test data.
- Test result.
- Assessment retained.
- Test becomes development data.
- Training data → Fitted candidates: data: fitting examples.
- Fitted candidates → Selected, frozen model: selection: candidate choice.
- Validation data → Selected, frozen model: selection: validation scores.
- Selected, frozen model → Test result: data: predictions.
- Untouched test data → Test result: data: assessment pairs.
- Test result → Assessment retained: if used only for assessment.
- Test result → Test becomes development data: if used to revise choices.
| Partition | Permitted influence |
|---|---|
| Training | Fits parameters. |
| Validation | Selects models, settings, and checkpoints. |
| Test | Assesses the selected, frozen choice. |
Leakage occurs when information crosses a boundary needed for realistic prediction or independent assessment. It includes preprocessing fitted on test data. During cross-validation, a fold is one partition used in repeated training–validation rounds. Fit transformations separately inside each training fold, then apply them unchanged to that round's validation fold.
The split must match the claim. Holding out projects tests transfer to unseen projects. Predicting future builds of existing projects requires chronological separation. Related retries should not straddle a boundary that claims independent cases. Group separation and time separation address different dependencies; some tasks need both.
- Scores can leak influence — Hidden test records are not enough if their aggregate scores guide revisions. Adaptive selection makes later candidates depend on the reused data. Retain discovered failures for regression checks, then use fresh representative cases for an ordinary untouched-holdout claim.
- Interfaces can enforce boundaries — In Zhengyao Jiang's fraud-preprocessing example, a shared training/testing function allowed leakage. Separating test access from training preprocessing removed the observed contamination. Such a boundary addresses that information path, not every possible evaluation defect.
Overfitting, regularization, and residual uncertainty
Underfitting means the fitted model misses useful structure, potentially because its family is too restrictive. High training loss can also reflect unsuccessful optimization. Overfitting means fitting sample-specific patterns that fail to transfer. Improving training loss while validation loss worsens is a warning, provided the losses and evaluation conditions are comparable.
In a small language-model training exercise, Angelos Perivolaropoulos describes validation loss eventually rising despite continued training improvement. Validation loss was a useful signal, but task behavior still required inspection. The plotted example expresses that possible divergence without prescribing a universal curve.
Continued fitting can worsen validation
ExampleThe best validation checkpoint precedes the best training fit.
A possible overfitting pattern
Validation improves initially, then deteriorates.
Scroll sideways if the figure extends beyond the screen.
- 1. Training
- 2. Validation
- 3. Selected checkpoint
Read coordinates and regions as data
X: 0–9 updates; Y: 0–5 dimensionless, increasing up. Axes scaled independently; screen angles and distances are not comparable.
(0, 4.5); (1, 3.2); (2, 2.3); (3, 1.7); (4, 1.2); (5, 0.9); (6, 0.7); (7, 0.5); (8, 0.4)
(0, 4.6); (1, 3.4); (2, 2.6); (3, 2.2); (4, 2); (5, 2.1); (6, 2.4); (7, 2.8); (8, 3.2)
(4, 2)
| Intervention | What it addresses | Condition |
|---|---|---|
| Change model family or optimization | Insufficient fit | Distinguish restricted expressiveness from failure to fit the available family. |
| Increase regularization | Sample-specific fitting | Select strength on validation; stronger is not always better. |
| Early stopping | Deterioration during continued fitting | Select the checkpoint using validation, then assess independently. |
| Collect relevant independent examples | Limited sample coverage | Repeated copies add no new situations; target mismatch remains. |
For squared-error prediction, bias describes how the average fitted prediction differs from the best prediction for the problem. Variance describes how fitted predictions change across newly sampled training datasets. Irreducible noise is outcome variability remaining beyond those differences. Prediction variance here is not randomness from repeatedly sampling outputs of one fixed model.
The decomposition does not impose one universal relationship between capacity and test error. Some settings show error falling again after an initial rise as capacity increases. Model size alone therefore cannot diagnose overfitting or select a remedy; separated predictive evidence must decide.
Distribution shift and prediction coverage
A data distribution describes how often inputs and outcomes occur together. A conditional distribution describes outcomes for a given input, or inputs for a given outcome. Distribution shift changes those patterns between training and deployment.
| Shift | Defining condition | Build interpretation |
|---|---|---|
| Covariate shift | Input frequencies change; outcomes conditional on inputs remain stable. | Large projects become more frequent, without changing the duration relationship. |
| Label shift | Outcome frequencies change; inputs conditional on outcomes remain stable. | Failure prevalence changes under this stronger modeling assumption. |
| Concept shift or drift | Outcomes conditional on inputs change. | A compiler change alters duration at the same recorded project size. |
Within coverage and beyond it
ExampleChanged input frequency need not imply extrapolation.
Interpolation
New size remains inside the historical range.
Scroll sideways if the figure extends beyond the screen.
- 1. Fixed predictor
- 2. Historical observations
- 3. New prediction
Read coordinates and regions as data
X: 0–4.5 thousand lines; Y: 0–10 minutes, increasing up. Axes scaled independently; screen angles and distances are not comparable.
(0, 1); (4, 9)
(1, 3); (2, 5); (3, 7)
(2.8, 6.6)
Extrapolation
New size exceeds historical coverage.
Scroll sideways if the figure extends beyond the screen.
- 1. Fixed predictor
- 2. Historical observations
- 3. New prediction
Read coordinates and regions as data
X: 0–4.5 thousand lines; Y: 0–10 minutes, increasing up. Axes scaled independently; screen angles and distances are not comparable.
(0, 1); (4, 9)
(1, 3); (2, 5); (3, 7)
(4, 9)
Interpolation predicts within the observed input domain; extrapolation extends outside it. More frequent large projects can remain inside historical coverage. Unprecedented sizes require extrapolation. In multiple dimensions, each feature being individually within range does not establish coverage of their combination.
An accuracy change alone does not identify a shift mechanism. Data Quality and Curation develops collection and coverage practices; Evals develops assessment under changed conditions.
Prediction and causal effects
An intervention sets an action. A counterfactual describes its possible outcome. A causal effect compares interventions; confounding arises from shared causes of action and outcome.
Predicting duration under historical worker assignment differs from estimating what additional workers would accomplish. Random assignment can replace an assignment mechanism driven by difficulty, making comparable treatment groups in expectation. The intervention and outcome must still be specified, and the experiment must address the intended population. Observational comparisons require additional identification assumptions.
Difficulty creates a second explanation
ExampleAllocation and duration share a cause.
Read the diagram as text
- Build difficulty.
- Worker allocation.
- Build duration.
- Build difficulty → Worker allocation: influences assignment.
- Build difficulty → Build duration: influences runtime.
- Worker allocation → Build duration: possible causal effect.
For observational adjustment, three requirements matter.
- Consistency — The recorded allocation corresponds to the sufficiently specified intervention whose effect is sought.
- Exchangeability — Measured pre-allocation information removes allocation–outcome confounding. Unmeasured difficulty can defeat this requirement.
- Positivity — Each compared allocation occurs in relevant conditions. Historical records cannot supply comparisons for allocations never used there.
Feature importance describes a fitted predictor under a chosen attribution procedure. It does not identify what changing the corresponding real-world quantity would cause. Even changing the worker-count input and observing a smaller model prediction establishes only a computational response. Real-world effects depend on the assignment and outcome mechanisms, not just the predictor's accuracy.
From predictive performance to system usefulness
A model test supports a bounded predictive claim. Integration tests establish that the surrounding software passes the right inputs and handles outputs correctly. Deployed-system evaluation asks whether the resulting workflow achieves its intended outcome. A duration forecast may be accurate while the scheduling rule that consumes it remains ineffective.
Zed's edit-prediction work adds production acceptance and latency measurements because offline scores need not reflect editor preferences. Acceptance itself does not establish increased productivity. Evals develops intended-use criteria, uncertainty, offline versus live evidence, and failure investigation needed to connect model behavior with useful consequences.
Open questions
Efficient assessment under repeated adaptation remains difficult: each revealed score can influence subsequent choices. Progress would preserve a defensible future-performance estimate under a declared query budget, without requiring a prohibitively large fresh dataset for every revision.
Separating ambiguous labels from missing information remains a practical learning problem. More optimization cannot recover an author preference absent from the input. Progress would demonstrate that revised labels or additional available features improve independent agreement and task usefulness, rather than only the development score.
Choosing model structure under a limited data budget remains uncertain because expressive capacity and generalization do not follow one universal curve. Progress would predict which structural assumptions transfer to new tasks under matched data and compute, then confirm those predictions independently.
Learning policies from narrow experience leaves unvisited actions poorly understood. Exploration matters because it changes future training data, but informative actions can have costs. Progress would demonstrate improved held-out policy performance while explicitly bounding exploration costs and measuring coverage beyond familiar trajectories.





























