Ad hoc testing is concern with the Application Testing without following any rules or test cases. For Ad hoc testing one should have strong knowledge about the Application.
Ad hoc testing means doing something, which is not planned.
similar to exploratory testing, but often taken to mean that the testers have significant understanding of the software before testing it.