peter norvig algorithm