"""TECZA (Rainbow) steering method constants."""
from wisent.core.infrastructure.constant_definitions.for_experiments.by_method._tetno import *  # noqa: F401,F403

# --- Core TECZA parameters ---
TECZA_NUM_DIRECTIONS = 3
TECZA_MARGINAL_THRESHOLD = 0.05
TECZA_MAX_DIRECTIONS = 10
TECZA_LEARNING_RATE = 0.01
TECZA_RETAIN_WEIGHT = 0.1
TECZA_INDEPENDENCE_WEIGHT = 0.05
TECZA_ABLATION_WEIGHT = 1.0
TECZA_ADDITION_WEIGHT = 1.0
TECZA_MIN_COSINE_SIM = 0.3
TECZA_MAX_COSINE_SIM = 0.95

# --- TECZA search ranges ---
TECZA_SEARCH_NUM_DIRECTIONS = (1, 2, 3, 5)
TECZA_SEARCH_OPT_STEPS = (50, 100)
TECZA_SEARCH_RETAIN_WEIGHTS = (0.0, 0.1, 0.3)

# --- TECZA training ---
TECZA_SEPARATION_MARGIN = 1.0
TECZA_PERTURBATION_SCALE = 0.3
TECZA_UNIVERSAL_BASIS_NOISE = 0.1

# --- TECZA hierarchical ---
HIERARCHICAL_TECZA_DIRECTIONS = (1, 2, 3, 5)

# --- TECZA optimizer bounds ---
TECZA_RETAIN_UPPER = 1.0
TECZA_DIRECTIONS_UPPER = 5.0
TECZA_INDEPENDENCE_UPPER = 0.5

# --- TECZA min pairs ---
MIN_PAIRS_TECZA = 30
