Een algoritme is elke set regels om iets te doen die een juiste uitkomst garandeerd. Een heuristiek is een algoritme dat geen correcte oplossing garandeert. Een goede heuristiek is een heuristiek die je ofwel de juiste, ofwel meestal een goede oplossing biedt.