An Introduction to Natural Computation