Robot Programming by Demonstration - a Probabilistic Approach