Ehrenfeucht-Fraisse Games: Applications and Complexity