Qual è la parola per un'operazione che può essere applicata più volte e mai cambiare stato oltre l'applicazione iniziale?

32

Sto cercando di ricordare una parola, io penso che è correlata alla teoria computazionale o del database. Il sinonimo più vicino è atomic , ma non è esattamente questo. Fondamentalmente è una sorta di computazione che dovrebbe produrre lo stesso risultato anche quando viene eseguito più volte di seguito, il che significa che non crea effetti collaterali per se stesso.

In particolare ho trovato questa parola in una risposta Stack Overflow su un comando chmod (o qualche altra operazione relativa ai permessi).

Speriamo che sia abbastanza per andare avanti. Giocare su Wikipedia non è di grande aiuto.

    
posta Mark Fox 05.04.2013 - 03:01
fonte

5 risposte

80

Potresti pensare a " Idempotente ".

Idempotence is the property of certain operations in mathematics and computer science, that they can be applied multiple times without changing the result beyond the initial application.

    
risposta data 05.04.2013 - 03:08
fonte
12

La parola generale è Idempotence che si applica a entrambi i computer e alla matematica. Non è la stessa cosa di Reentrant con cui spesso viene confuso. L'idempotenza è esattamente ciò che hai descritto, Reentrant è fondamentalmente interrompibile con la capacità di riprendere esattamente da dove eri rimasto.

I linguaggi puramente funzionali come Haskell sono costruiti attorno al principio di essere il più vicino possibile a Idempotent. Le prime tre lettere dell'acronimo ACID nella Teoria del database sono Idempotence applicate ai database.

    
risposta data 05.04.2013 - 03:09
fonte
9

Potresti cercare una funzione pura .

Come definito nel link, due condizioni rendono una funzione pura:

  1. The function always evaluates the same result value given the same argument value(s).
  2. Evaluation of the result does not cause any semantically observable side effect or output, such as mutation of mutable objects or output to I/O devices.
    
risposta data 05.04.2013 - 06:29
fonte
3

Nell'algebra lineare lineare, le funzioni idempotenti sono chiamate proiezioni. Forse è la parola che stai cercando. :)

link

    
risposta data 05.04.2013 - 10:43
fonte
0

Un'altra possibilità è deterministica .

In computer science, a deterministic algorithm is an algorithm which, given a particular input, will always produce the same output, with the underlying machine always passing through the same sequence of states.

    
risposta data 05.04.2013 - 12:07
fonte

Leggi altre domande sui tag