All files / lib/evolution mutation_utils.ts

0% Statements 0/10
0% Branches 0/1
0% Functions 0/1
0% Lines 0/10

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15                             
/**
 * Mutation Utilities
 * أدوات لتوليد نسخ معدلة من السياسات (mutations)
 */
 
/**
 * يولّد وزن جديد بناءً على معدل الطفرة المحدد.
 */
export function mutateWeight(baseWeight: number, rate: number): number {
  const delta = (Math.random() * 2 - 1) * rate; // -rate ↔ +rate
  const mutated = baseWeight + delta;
  // نحافظ على القيم بين 0.05 و 1.0
  return Math.min(1, Math.max(0.05, mutated));
}