graph LR subgraph "Data Generation" A1["Isotropic 2D Field\nKnown Kernel ฮธ"] end subgraph "Extraction Methods" B1["Approach A:\nsklearn GPR"] B2["Approach B:\nMulti-realisation MLE"] end subgraph "Optimizer" C["L-BFGS-B\nMulti-start"] end subgraph "Verification" D["Compare estimated ฮธ\nvs true ฮธ"] end A1 --> B1 A1 --> B2 B1 --> C B2 --> C C --> D style A1 fill:#2196f3,color:#fff style B1 fill:#4caf50,color:#fff style B2 fill:#ff9800,color:#fff style C fill:#9c27b0,color:#fff style D fill:#f44336,color:#fff
graph LR R1["Exponential\n(rough)"] --> R2["Matรฉrn-3/2"] R2 --> R3["Matรฉrn-5/2"] R3 --> R4["Gaussian\n(smooth)"] style R1 fill:#ff9800 style R2 fill:#ffc107 style R3 fill:#8bc34a style R4 fill:#4caf50
graph TD Q{"What is your\nprocess?"} --> S1["Smooth\n(CMP, Litho)"] Q --> S2["Medium\n(General)"] Q --> S3["Rough\n(Random dopant)"] Q --> S4["Unknown\n(No prior)"] S1 --> G["Gaussian โจ"] S2 --> M52["Matรฉrn-5/2 ๐"] S3 --> E["Exponential ๐"] S4 --> M32["Matรฉrn-3/2 โ \nSafest default!"] style Q fill:#f44336,color:#fff style S1 fill:#e1bee7 style S2 fill:#c5cae9 style S3 fill:#ffe0b2 style S4 fill:#b2dfdb style G fill:#4caf50,color:#fff style M52 fill:#8bc34a style M32 fill:#ff9800,color:#fff style E fill:#ff5722,color:#fff
graph LR subgraph "Step 1: Generate" D["Isotropic 2D Data\nKnown kernel ฮธ"] end subgraph "Step 2: Compute" C["Sample Covariance\nY = (1/M) ฮฃ y yแต"] end subgraph "Step 3: Optimise" O["Minimise -log L\nvia L-BFGS-B"] end subgraph "Step 4: Extract" P["Estimated ฮธฬ\nโ, ฯ, ฯโ"] end subgraph "Step 5: Verify" V["โฮธฬ - ฮธโ < tol\nโ / โ"] end D --> C C --> O O --> P P --> V style D fill:#2196f3,color:#fff style C fill:#9c27b0,color:#fff style O fill:#f44336,color:#fff style P fill:#ff9800,color:#fff style V fill:#4caf50,color:#fff
graph LR Y1["yโ"] --> YSUM["(1/M) ฮฃ y yแต"] Y2["yโ"] --> YSUM YM["yโ"] --> YSUM YSUM --> MLE["MLE: min -log L"] MLE --> THETA["ฮธฬ = {โ, ฯ, ฯโ}"] style Y1 fill:#e3f2fd style Y2 fill:#e3f2fd style YM fill:#e3f2fd style YSUM fill:#9c27b0,color:#fff style MLE fill:#f44336,color:#fff style THETA fill:#4caf50,color:#fff
graph TD R["Rough kernel\non smooth data"] --> LONG["โ too long\noverestimates range"] S["Smooth kernel\non rough data"] --> SHORT["โ too short\nunderestimates range"] R -->|"โฌ๏ธ"| AGGR["Aggressive\n(insufficient margin)"] S -->|"โฌ๏ธ"| CONS["Conservative\n(too much guard-band)"] style S fill:#bbdefb style R fill:#ffe0b2 style SHORT fill:#e57373,color:#fff style LONG fill:#e57373,color:#fff style CONS fill:#ffb74d style AGGR fill:#ef5350,color:#fff
graph TD A["Sample Size\nM = 200"] --> B["โ error < 1%"] A --> C["ฯ error < 1%"] B --> D["Timing Analysis\nยฑ10% tolerance โ "] C --> E["Statistical STA\naccurate spatial model โ "] D --> F["Yield estimation\nreliable โ "] E --> F style A fill:#4caf50,color:#fff style B fill:#81c784 style C fill:#81c784 style D fill:#a5d6a7 style E fill:#a5d6a7 style F fill:#2e7d32,color:#fff
graph LR DATA["2D Data\n๐"] --> GP["GP Regression\n๐"] GP --> KERNEL["Kernel Params\nโ, ฯ, ฯโ"] KERNEL --> CHIP["Chip Design\n๐ญ"] style DATA fill:#2196f3,color:#fff style GP fill:#4caf50,color:#fff style KERNEL fill:#ff9800,color:#fff style CHIP fill:#f44336,color:#fff