Reference · Algorithm guarantees
rainbow.algorithms.proofs.particle-swarm-convex-move
Normalized movement toward a swarm best preserves vector intervals.
swarm/nnrat-convex-move
swarm/nnrat-convex-move : (x₁ x₂ : ℚ≥0) (x₃ x₄ : List ℚ) → List ℚ
List = data/Listℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational
swarm/nnrat-convex-move-unfold
swarm/nnrat-convex-move-unfold : (w-position w-best : ℚ≥0) (position best : List ℚ) → swarm/nnrat-convex-move w-position w-best position best = vector/nnrat-wsum2 w-position w-best position best
= = equality/EqList = data/Listℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational
swarm/nnrat-convex-move-lower-bound
swarm/nnrat-convex-move-lower-bound : (w-position w-best : ℚ≥0) (position best lower : List ℚ) (normalized : w-position + w-best = 1) (lower-position : vector/at-most lower position) (lower-best : vector/at-most lower best) → vector/at-most lower (move) where move := swarm/nnrat-convex-move w-position w-best position best
+ = nnrat/add1 = nnrat/one= = nnrat/equivalent: equality of rational valuesList = data/Listℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational
swarm/nnrat-convex-move-upper-bound
swarm/nnrat-convex-move-upper-bound : (w-position w-best : ℚ≥0) (position best upper : List ℚ) (normalized : w-position + w-best = 1) (position-upper : vector/at-most position upper) (best-upper : vector/at-most best upper) → vector/at-most (move) upper where move := swarm/nnrat-convex-move w-position w-best position best
+ = nnrat/add1 = nnrat/one= = nnrat/equivalent: equality of rational valuesList = data/Listℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational
swarm/nnrat-convex-move-between-position-and-best
swarm/nnrat-convex-move-between-position-and-best : (w-position w-best : ℚ≥0) (position best : List ℚ) (normalized : w-position + w-best = 1) (ordered : vector/at-most position best) → proposition/conjunction (most) (most₁) where most := vector/at-most position (swarm/nnrat-convex-move w-position w-best position best) where most₁ := vector/at-most (swarm/nnrat-convex-move w-position w-best position best) best
+ = nnrat/add1 = nnrat/one= = nnrat/equivalent: equality of rational valuesList = data/Listℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational
swarm/nnrat-convex-move-between-best-and-position
swarm/nnrat-convex-move-between-best-and-position : (w-position w-best : ℚ≥0) (position best : List ℚ) (normalized : w-position + w-best = 1) (ordered : vector/at-most best position) → proposition/conjunction (most₁) (most) where most := vector/at-most (swarm/nnrat-convex-move w-position w-best position best) position where most₁ := vector/at-most best (swarm/nnrat-convex-move w-position w-best position best)
+ = nnrat/add1 = nnrat/one= = nnrat/equivalent: equality of rational valuesList = data/Listℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational