C'è una differenza nell'uso tra l'interruzione e la chiusura?

0

Il titolo dice tutto: interrompi e termina i sinonimi nel contesto della teoria della computabilità ?

    
posta mort 27.03.2012 - 20:13
fonte

2 risposte

6

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.

    
risposta data 27.03.2012 - 20:17
fonte
4

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

  1. if true then v else t v
  2. if false then t else v v

e 1 non è né truefalse .

    
risposta data 27.03.2012 - 20:31
fonte

Leggi altre domande sui tag