등가성

Idempotence
열차목적지 표지판 제어판의 On/Off 버튼.On 버튼(녹색)을 누르는 것은 1회 또는 여러 번 누르는 것과 동일한 효과가 있기 때문에 무의미한 조작입니다.마찬가지로 Off를 누르는 도 무의미합니다.

Idempotence(영국: /ɪdɛmʊpoʊtəns/,[1] 미국: /aaɪdəm-/)[2]는 수학 및 컴퓨터 과학에서 특정 연산의 특성으로, 초기 적용 범위를 벗어나지 않고 여러 번 적용할 수 있습니다.등가능의 개념은 추상 대수학(특히 프로젝터폐쇄 연산자의 이론)과 함수 프로그래밍(참조 투명성의 속성과 연결됨)의 여러 곳에서 발생한다.

이 용어는 1870년 미국의[3] 수학자 벤자민 피어스에 의해 양의 정수승으로 올려졌을 때 변하지 않는 대수의 원소의 맥락에서 도입되었으며, 문자 그대로 idem + power (동일 + 힘)에서 "같은 힘을 갖는 품질"을 의미한다.

정의.

바이너리 연산자 갖춘 x(\x 다음의 경우, 「\\cdot[4][5]아래에서 아이돌 퍼텐셜이라고 불립니다.

x {x\ x 입니다.

바이너리 연산 , 다음과 같은 경우에 유효하다고[6][7] 불립니다.

x x ( x \ x \ x x ) ( display \ S )

  • 곱셈을 하는 자연수모노이드 ,×)(\ ,\))에서는 0과 1만이 아이돌 포텐셜이다.실제로 0× {0 \ 0 =} × 1( \ 1 )은 다른 자연수에 해당되지 않습니다.
  • 마그마δ {에서는 식별 e(\ e 또는 흡수 a하는 경우)가 존재하지 않습니다.실제로 e {\e\ e {\ a a입니다.
  • G , ){ (, \ )에서는 ID e { e}가 유일한 Idempotent 요소입니다.실제로x { x x {x\ x와 같은 G { G 라면 { x\ xe}에 x x의 요소를 곱하면 x가 됩니다.
  • P {cup PE멱집합 P(\),\cap)})}(\}, \ 각각 유휴 상태입니다.실제로 P( ) \ x \ \ } x {\ x ( ) \ \ x ( E) x ∈ indeed indeed indeed、 x x ( E )
  • 부울 도메인의 모노이드 { , ,\ vee) { ( \ { , \ ) ({ , ) ( \ \ { 0 , 1 \ )display logical 、 \ \ ) (는) 유휴 상태입니다.실제로 { , { { \ x x } x 、 {, \} 、 x( \ \ \ 0 , 1 \ ) 。
  • 부울링에서는 곱셈은 idempotent입니다.
  • Tropical semiring에서는 덧셈은 무의미합니다.

등가함수

1세트 E{E\displaystyle}에서 기능의 자체에 기능 구성 ∘과monoid(EE, ∘){\displaystyle(E^{E},\circ)}에서{\displaystyle \circ}, 멱 등의 요소는 기능 f:E→ E{\displaystyle f\colon E\to E}은 s가 f∘ f)f{\displaystyle f\circ f=f},[8]uch ( ) () \ f ( x ) ( x ) } E ( \ x\ in E ) (즉, 각 x \ x \ E)의f( x )는f ( \ f입니다.예를 들어 다음과 같습니다.

  • 절대값은 아이돌포텐트입니다. { \ =\ { ) x에 x
  • 상수 함수는 등가함수이다.
  • 항등함수는 등가함수이다.
  • 바닥, 천장부분 함수가 동일하다.
  • 그룹의 멱집합에서 그 자체로 생성되는 부분군 함수는 등가함수이다.
  • 실수에 걸친 아핀 공간의 멱집합에서 그 자체로 볼록한 선체 함수는 등가함수이다.
  • 위상 공간의 동력 세트의 폐쇄내부 기능은 그 자체로 유효하다.
  • 클렌별클렌에 모노이드의 멱집합함수 자체도 무의미하다.
  • 벡터 공간의 등위 내형상투영이다.

n개의 경우 f{\f 의 선택된 과 n-의 비고정점으로 할 수 있으며 { k 서로 다른 고유함수입니다.따라서 가능한 모든 파티션을 고려하여

는 세트에서 사용 가능한 아이덴텐트 함수의 총 수입니다.위의 n = 0, 1, 2, 3, 4, 5, 6, 7, ...에 대한 합계에 따라 주어진 등가함수 수의 정수 시퀀스는 1, 1, 3, 10, 41, 196, 1057, 6322, 41393, ...(OEIS의 시퀀스 A000248)로 시작합니다.

함수 [9]구성에서는 유휴의 특성도, 그렇지 않은 특성도 보존되지 않습니다.전자의 예로서 f { f)= mod 3 및 5 { g)}는 모두 유효하지만 ([10]{ f g[11] 유효하지 않습니다후자의 예로서 부울 도메인상의 부정 함수 Idempotent는 아니지만 \ Idempotent입니다.마찬가지로 실수의단항 부정- ( ) { - ( ) 무의미하지만-( ){ - ( ) \ ( ) }은 무의미합니다.두 경우 모두 구성은 단순히 항등함수이며, 이는 무의미하다.

컴퓨터 과학의 의미

컴퓨터 과학에서, 아이돌 포텐스라는 용어는 그것이 적용되는 상황에 따라 다른 의미를 가질 수 있습니다.

  • 명령형 프로그래밍에서 서브루틴에 대한 여러 호출이 단일 호출과 동일한 시스템 상태에 영향을 미치는 경우, 즉 서브루틴과 관련된 시스템 상태 공간에서 그 자체에 대한 함수가 정의에 주어진 수학적 의미에서 동일하다면 부작용이 있는 서브루틴은 의미가 없다.
  • 함수형 프로그래밍에서, 순수한 함수는 정의에 주어진 수학적 의미에 있어 무의미하다면 무의미하다.

이것은 의도하지 않은 영향을 주지 않고 필요한 만큼 작업을 반복하거나 재시도할 수 있기 때문에 많은 상황에서 매우 유용한 속성입니다.비잠재적 연산의 경우 알고리즘은 연산이 이미 실행되었는지 여부를 추적해야 할 수 있습니다.

컴퓨터 과학의 예

데이터베이스에서 고객의 이름과 주소를 조회하는 기능은 데이터베이스가 변경되지 않으므로 일반적으로 무의미합니다.마찬가지로, 고객의 주소를 XYZ로 변경하는 요구는 일반적으로 무의미합니다.이는 요청이 몇 번 전송되더라도 최종 주소는 동일하기 때문입니다.단, 고객님의 주문 요청은 여러 번 요청하면 여러 번 주문이 이루어지기 때문에 일반적으로 의미가 없습니다.특정 주문 취소 요청은 몇 번을 요청해도 취소된 상태로 남아 있기 때문에 의미가 없습니다.

단, 적어도1개의 서브루틴이 다른 서브루틴과 다른 일련의 idempotent 서브루틴은 시퀀스 내의 이전 서브루틴이 의존하는 값이 변경되어도 반드시 idempotent 서브루틴이 되는 것은 아닙니다.즉, idempotent 서브루틴은 시퀀셜 구성 하에서 닫히지 않습니다.예를 들어 변수의 초기값이 3이고 변수를 읽은 후 5로 변경한 후 다시 읽는 서브루틴 시퀀스가 있다고 가정합니다.시퀀스의 각 스텝은 아이돌포텐트입니다.변수를 읽는 두 스텝은 모두 부작용이 없으며 변수를 5로 변경하는 스텝은 실행 횟수에 관계없이 항상 같은 효과가 있습니다.다만, 시퀀스 전체를 1회 실행하면 출력(3, 5)이 생성되지만, 2회 실행하면 출력(5, 5)이 생성되므로, 시퀀스는 무의미하지 않다.

인트 x = 3; 무효 읽어주세요() { 인쇄물(%d\n", x); } 무효 바꾸다() { x = 5; } 무효 순서() { 읽어주세요(); 바꾸다(); 읽어주세요(); }  인트 주된() {   순서();  // "3\n5\n" 인쇄   순서();  // "5\n5\n" 인쇄   돌아가다 0; } 

HTTP(Hypertext Transfer Protocol)에서는 idempotence와 safety가 HTTP 메서드를 분리하는 주요 속성입니다.주요 HTTP 방식 중 GET, PUT, DELETE는 표준에 따라 등가적으로 구현해야 하지만 [12]POST는 구현하지 않아도 됩니다.GET은 리소스 상태를 가져오고 PUT은 리소스 상태를 업데이트하며 DELETE는 리소스를 삭제합니다.위의 예시와 같이 데이터를 읽는 것은 일반적으로 부작용이 없으므로, 무의미합니다(사실상 무효).특정 데이터의 갱신과 삭제는 보통 요구에 따라 리소스가 일의로 식별되고 나중에 해당 리소스만 다시 식별되는 한 각각이 무의미합니다.PUT 및 DELETE는 각각 값 또는 null 값의 변수에 할당하는 단순한 경우로 축소되어 같은 이유로 유효합니다.응답이 달라도 [13]최종 결과는 항상 초기 실행 결과와 동일합니다.

저장 또는 삭제 시 고유 식별 요구 사항을 위반하면 일반적으로 유휴 기능 위반이 발생합니다.예를 들어 고유 식별자를 지정하지 않고 특정 콘텐츠세트를 저장 또는 삭제하는 경우: POST 요구에는 고유 식별자가 포함되지 않는 경우가 많기 때문에 식별자 작성은 수신 시스템에 위임되어 대응하는 새로운 레코드가 작성됩니다.마찬가지로 특정하지 않은 기준을 가진 PUT 및 DELETE 요청은 시스템 상태에 따라 결과가 달라질 수 있습니다.예를 들어, 최신 레코드 삭제 요청입니다.어느 경우든 이후의 실행은 시스템 상태를 더욱 수정하기 때문에 시스템 상태는 무의미하지 않습니다.

이벤트 스트림 처리에서 idempotence는 동일한 파일, 이벤트 또는 메시지가 여러 번 수신되더라도 동일한 결과를 생성하는 시스템의 능력을 의미합니다.

로드 스토어 아키텍처에서는 페이지 장애를 일으킬 가능성이 있는 명령은 무의미합니다.따라서 페이지 장애가 발생한 경우 운영체제는 디스크에서 페이지를 로드한 후 장애가 발생한 명령을 다시 실행할 수 있습니다.이러한 명령이 무의미하지 않은 프로세서에서는 페이지 장애에 대처하는 것이 훨씬 [14][15]더 복잡합니다.

출력을 재포맷 할 때는, 예쁜 인쇄가 불필요하게 됩니다.즉, 출력이 이미 「예쁘다」인 경우는,[citation needed] pretty-printer에 대해서는 아무것도 할 수 없습니다.

SOA(Service Orientic Architecture)에서는 전적으로 유휴 단계로 구성된 다단계 조정 프로세스를 해당 프로세스의 일부에 장애가 발생하더라도 부작용 없이 재생할 수 있습니다.

대부분의 유휴 작업에는 프로세스가 중단되었을 때 프로세스를 "재개"하는 방법이 있습니다. 즉, 처음부터 처음부터 다시 시작하는 것보다 훨씬 더 빨리 완료되는 방법이 있습니다.를 들어 파일 전송 재개, 파일 동기화, 소프트웨어 빌드 생성, 응용 프로그램 설치 및 패키지 관리자와의 모든 종속성 입니다.

적용된 예

일반적인 횡단보도 버튼은 유휴 시스템의 예입니다.

많은 사람들이 일상 생활에서 접할 수 있는 적용 사례로는 엘리베이터 호출 버튼과 횡단보도 [16]버튼이 있다.버튼을 처음 활성화하면 요청이 충족될 때까지 시스템이 요청 상태로 전환됩니다.시스템이 활성화 횟수에 따라 요청을 충족하는 시간을 조정하도록 설계되지 않는 한 최초 활성화와 요구 충족 사이의 버튼의 후속 활성화는 효과가 없습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "idempotence". Oxford English Dictionary (3rd ed.). Oxford University Press. 2010.
  2. ^ "idempotent". Merriam-Webster. Archived from the original on 2016-10-19.
  3. ^ Polcino & Sehgal 2002, 페이지 127.
  4. ^ Valenza, Robert (2012). Linear Algebra: An Introduction to Abstract Mathematics. Berlin: Springer Science & Business Media. p. 22. ISBN 9781461209010. An element s of a magma such that ss = s is called idempotent.
  5. ^ Doneddu, Alfred (1976). Polynômes et algèbre linéaire (in French). Paris: Vuibert. p. 180. Soit M un magma, noté multiplicativement. On nomme idempotent de M tout élément a de M tel que a2 = a.
  6. ^ George Grätzer (2003). General Lattice Theory. Basel: Birkhäuser. 여기: 1.2장, 5페이지.
  7. ^ 여기: SectionGarrett Birkhoff (1967). Lattice Theory. Colloquium Publications. Vol. 25. Providence: Am. Math. Soc..I.5, 페이지 8
  8. ^ 이것은 함수 간의 방정식입니다.도메인과 범위가 일치하고 출력 값이 도메인 전체에서 일치하면 두 함수는 동일합니다.
  9. ^ f{ fg { g(가) 구성 하에서 통근하는 (f { = \ display fg \ style f}),f { gg { f}의 등)의 등가 모두 f( 이후 f 됩니다 ( f ) ( )( ( ) \ g )\ style ( f \ g ( f \ g )\ ( )\ display g )\ display ( f )\ g )\ display ( f )\ display g )\ display ( f= f = f = f = f = f\ display = f\
  10. ^ :f (( )= ( ) 1 { ( ) ( 7 ) ( ) =1= ( 5) { f () ( 5 ) = f ( 5 ) = 2 \ 1}
  11. ^ 또한 f{\ f와 g {\ g 교류가 잠재력 보존에 필요한 조건이 아님을 보여준다.
  12. ^ IETF, Hypertext Transfer Protocol(HTTP/1.1): 웨이백 머신에서 2014-06-08에 아카이브된 의미론 및 콘텐츠.HyperText Transfer Protocol을 참조하십시오.
  13. ^ "Idempotent Methods". Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content. sec. 4.2.2. doi:10.17487/RFC7231. RFC 7231. It knows that repeating the request will have the same intended effect, even if the original request succeeded, though the response might differ.
  14. ^ 존 오스터허트."디맨드 페이징"
  15. ^ 마크 A. 드 크루이프"아키텍처 설계에서의 유휴 영역응용 프로그램의 컴파일러 구축". 2012. 페이지 10.
  16. ^ https://web.archive.org/web/20110523081716/http://www.nclabor.com/elevator/geartrac.pdf 를 들어, 이 설계 사양에는 엘리베이터 객차가 후속 서비스 요청에 언제 응답할 것인지에 대한 자세한 알고리즘이 포함되어 있습니다.

추가 정보