Module 2 Lab: Search, planning, and problem formulation#
Implement breadth-first and heuristic search on a small planning problem.
Lab Context#
This lab uses synthetic system evidence including task features, model outputs, confidence signals, and review outcomes as a safe proxy for the course setting. It is not a substitute for institutional data, but it lets you practice the reasoning, metrics, and documentation pattern before working with real records.
Lab Tasks#
Run the baseline analysis.
Identify the decision the metric supports.
Change one threshold, score weight, or input assumption.
Compare the result before and after your change.
Record one deployment risk that the synthetic data cannot reveal.
import numpy as np
import matplotlib.pyplot as plt
rng = np.random.default_rng(2)
n = 80
evidence_quality = rng.uniform(0.2, 0.95, n)
operational_fit = rng.uniform(0.1, 0.9, n)
risk = rng.uniform(0.05, 0.8, n)
readiness = 0.45*evidence_quality + 0.35*operational_fit - 0.20*risk
plt.figure(figsize=(6, 3))
plt.scatter(evidence_quality, readiness, c=risk, cmap="magma", s=24)
plt.xlabel("evidence quality")
plt.ylabel("readiness")
plt.title("Module 2 Lab: Search, planning, and problem formulation")
plt.tight_layout()
{"mean_readiness": float(readiness.mean()), "highest_readiness_case": int(np.argmax(readiness)), "highest_risk_case": int(np.argmax(risk))}
{'mean_readiness': 0.34892333535764175,
'highest_readiness_case': 38,
'highest_risk_case': 62}
reflection = {
"what_changed": "",
"metric_before": "",
"metric_after": "",
"interpretation": "",
"synthetic_data_limit": "",
"next_real_world_evidence_needed": "",
}
reflection
{'what_changed': '',
'metric_before': '',
'metric_after': '',
'interpretation': '',
'synthetic_data_limit': '',
'next_real_world_evidence_needed': ''}