Skip to content

feat(Φ5.2): trios-phi-schedule — φ-exponential LR scheduler #24

@gHashTag

Description

@gHashTag

🎯 Цель

Атомарный крейт — только фамилия функций расписания LR. Без зависимостей кроме trios-physics.

📦 Создать: crates/trios-phi-schedule/

crates/trios-phi-schedule/
├── Cargo.toml
└── src/
    └── lib.rs

💻 Реализация

use trios_physics::{PHI, ALPHA_PHI};

/// τ = T / (φ × 27)
pub fn tau(max_steps: usize) -> f64 {
    max_steps as f64 / (PHI * 27.0)
}

/// LR(t) = α_φ · φ^(-t/τ)
pub fn phi_lr(step: usize, max_steps: usize) -> f64 {
    ALPHA_PHI * PHI.powf(-(step as f64 / tau(max_steps)))
}

/// warmup за Fib(7)=21 шагов
pub fn phi_lr_warmup(step: usize, warmup: usize, max_steps: usize) -> f64 {
    if step < warmup {
        ALPHA_PHI * (step as f64 / warmup as f64)
    } else {
        phi_lr(step - warmup, max_steps - warmup)
    }
}

✅ Acceptance Criteria

  • cargo test -p trios-phi-schedule — все тесты зелёные
  • phi_lr(0, 10000) равно ALPHA_PHI (Δ < 1e-10)
  • phi_lr(10000, 10000) < phi_lr(0, 10000) (убывающий график)
  • warmup: phi_lr_warmup(0, 21, 10000) == 0.0
  • warmup: phi_lr_warmup(21, 21, 10000) == ALPHA_PHI (Д < 1e-10)
  • НЕТ .sh файлов
  • Коммит с refs #24

⏰ Дедлайн

30 апреля 2026. Priority: 🔴 CRITICAL

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions