how do computers find patterns