The problem of determining in advance whether a particular program or algorithm will terminate or run forever. The halting problem is the canonical example of a provably unsolvable problem. Obviously any attempt to answer the question by actually executing the algorithm or simulating each step of its execution will only give an answer if the algorithm under consideration does terminate, otherwise the algorithm attempting to answer the question will itself run forever.
Some special cases of the halting problem are partially solvable given sufficient resources. For example, if it is possible to record the complete state of the execution of the algorithm at each step and the current state is ever identical to some previous state then the algorithm is in a loop. This might require an arbitrary amount of storage however. Alternatively, if there are at most N possible different states then the algorithm can run for at most N steps without looping.
A program analysis called termination analysis attempts to answer this question for limited kinds of input algorithm.
[hawl-tuh m] /ˈhɔl təm/ noun 1. a city in N Texas, near Fort Worth.
/ˈhɔːltən/ noun 1. a unitary authority in NW England, in N Cheshire. Pop: 118 400 (2003 est). Area: 75 sq km (29 sq miles)
[hawl-tn] /ˈhɔl tn/ noun 1. a city in SE Ontario, in S Canada, near Toronto.
[khah-loots] /xɑˈluts/ noun, plural halutzim [Sephardic Hebrew khah-loo-tseem; Ashkenazic Hebrew khah-loo-tsim] /Sephardic Hebrew ˌxɑ luˈtsim; Ashkenazic Hebrew xɑˈlu tsɪm/ (Show IPA). Hebrew. 1. a person who immigrates to Israel to establish or join a settlement for accomplishing tasks, as clearing the land or planting trees, that are necessary to future development of the country. /xɑˈlʊts; […]