Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's that CS "big word" term for the same action always having the same effect

There's a computer science term for this that escapes my head, one of those words that ends with "-icity".

It means something like a given action will always produce the same result, IE there won't be any hysteresis, or the action will not alter the functioning of the system...

Ring a bell, anyone? Thanks.

Apologies for the tagging, I'm only tagging it Java b/c I learned about this in a Java class back in school and I figure that crowd tends to have more CS background...

like image 885
ambertch Avatar asked Jan 19 '10 21:01

ambertch


2 Answers

This could mean two different things:

deterministic - meaning that given the same initial state, the same operation (with exactly the same data) will always produce the same resulting state (and optional output.) - http://en.wikipedia.org/wiki/Deterministic_algorithm

i.e. same action has the same effect - assuming you start from the same place in the same system. (Nothing random about it, nothing fed in from the outside that could effect the result...)

idempotent - meaning applying a function to a value once e.g. f(x) = v produces the same result as applying the function multiple times e.g. f(f(f(x))) = v - http://en.wikipedia.org/wiki/Idempotence

i.e. one or more function applications yields the same value given the same initial value

like image 68
Dafydd Rees Avatar answered Oct 24 '22 23:10

Dafydd Rees


you mean idempotent ??

like image 20
ram Avatar answered Oct 24 '22 21:10

ram