Il titolo dice tutto: interrompi e termina i sinonimi nel contesto della teoria della computabilità ?
Il titolo dice tutto: interrompi e termina i sinonimi nel contesto della teoria della computabilità ?
Bene, non è chiamato il problema di terminazione; si chiama "Interruzione del problema"
Dato questo:
while(true) { }
non si ferma, ma puoi "terminarlo" buttando il cavo di alimentazione fuori dal muro (o facendo clic su "Termina operazione" in Task Manager), direi, no, non sono sinonimi.
link )
In computer science, a computation is said to diverge if it does not terminate or terminates in an (unobservable) exceptional state. Otherwise it is said to converge.
Più specificamente rilevante per l'arresto,
In the lambda calculus an expression is divergent if it has no normal form.
Quindi la differenza tra fermare - processo non continua indefinitamente - e terminare è che terminare implica il ritorno di un risultato normale. Non terminare bruscamente (con un errore o condizioni eccezionali) o incunearsi in uno stato in cui non si applica alcuna regola di riduzione.
Questo problema può essere illustrato nel calcolo λ esteso con valori booleani e numeri utilizzati da Benjamin Pierce :
(λx.if x then x else x)(1)
che non si riduce perché rimane bloccato
(if 1 then 1 else 1)
che non corrisponde a nessuna regola di riduzione poiché le sole regole valide per if
sono
if true then
v else
t → v
if false then
t else
v → v
e 1
non è né true
né false
.
Leggi altre domande sui tag theory