Kinetic Algorithm