Logic Programming and Soft Computing: an Introduction