Kleene star 운영자가 Kleene 'closure'운영자라고도하는 이유는 무엇입니까?


14

CSS / 프로그래밍 용어의 어원을 이해하지 못하면 일반적으로 중요한 기본 개념을 놓치거나 오해했음을 의미합니다.

나는 Kleene 스타가 Kleene 클로저라고도하는 이유를 이해하지 못합니다. 바인딩되지 않은 로컬 변수가있는 함수 인 프로그래밍의 클로저와 관련이 있습니까?

... 반성에 대해서는 아마도 개방형 집합을 닫힌 표현 형식으로 쓸 수 있기 때문일 수 있습니다.

... 오래된 고무 덕 설명 패션에서, 나는 그것을 추측하고 있지만 여전히 권위있는 답변을 환영합니다.


3
당신의 사용자 이름이 당신이 좋은 오래된 고무 덕 설명 패션 을 원하는 이유 입니까?
babou

@babou 예. 그러나 그것은 오늘 나에게 실패했다 :(
mallardz

내 대답 (및 주석에서 제외하고 문자열 연산을 명시 적으로 언급하지 않기 때문에 @David Richerby의 대답에서 정의 된 연결 상태의 닫힘)에는 빈 단어 include가 포함되지 않습니다. 감사. 결과적 으로 Kleene star 연산자는 연결 상태에서 클로저를 나타낼 수 없습니다. Kleene + 연산자는 그렇지 않습니다. 그러나 Kleene star 연산자는 연결에서 파생 된 전원 작업에서 폐쇄를 나타낼 수 있습니다. 이 부분을 다루기 위해 내 대답을 보완합니다. 예상보다 미묘했습니다.
babou

답을 충분히 읽을 수 있습니까, 아니면 더 부드러운 고무로 섹션을 추가해야합니까?
babou

답변:


16

세트 의 항목에 연산자를 적용한 결과가 항상 세트에 있으면 일부 연산자 아래에서 세트가 닫힙니다 . 예를 들어, m 이 자연수 일 때마다 n + m 이 자연수 이므로 자연수는 더해서 닫힙니다 . 예를 들어, 이후 한편, 원주민은 감산 하에서 닫히지 3 - 5 자연수이다.nmn+m35

일부 연산자 에서 세트 S폐쇄 는 연산자에서 닫히는 S 를 포함하는 가장 작은 세트 입니다. 예를 들어, 뺄셈에서 자연수의 닫힘은 정수입니다. 세트가 이미 닫혀 있기 때문에 추가되는 자연수의 폐쇄는 자연수입니다.SS

따라서 "클린 클로저"는 "클린 스타"의 대체 이름이 아닙니다. Kleene 스타는 운영자입니다. 세트의 Kleene 클로저는 오퍼레이터에서 해당 세트의 클로저입니다.


감사합니다. 집합 폐쇄에 대한 설명은 이해하기 매우 쉽습니다. 그러나 Kleene star는 연산자 (예 : plus는 연산자)이고 Kleene 클로저는 연산 (예 : 덧셈)이라는 의미입니까? 또한 Babou의 대답은 그 작업이 본질적으로 연결된 세트의 폐쇄를 나타내는 사실에서 비롯된 것입니다. ?! 약간 거기하지 엡실론 엉망 일을하지만 ...
mallardz

1
@mallardz 제대로 말하면, 클로저가 설정됩니다. 클로저를 형성하는 동작은 일반적으로 "클로징"이라 불린다.
David Richerby

@DavidRicherby : 당신은 같은 뺄셈에서 자연수의 집합을 호출 할 수 폐쇄 정규 표현식의 세트가 운영자에 따라 폐쇄 이후 말을 의미합니까? kleene * 우리가 폐쇄 전화를 정규 표현식을 생산?
저스틴

@justin 정의에 따라 작업에서 모든 세트의 폐쇄는 해당 작업에서 자체적으로 닫아야합니다. 뺄셈에서 자연은 닫히지 않기 때문에 뺄셈에서 어떤 것도 닫을 수 없습니다. 정규 표현식 세트는 Kleene 스타에서 이미 닫혀 있으며 일부 작업에서 정규 표현식 세트의 닫기는 단일 정규 표현식이 아닌 일련의 사물입니다. 그래서 나는 당신의 질문을 정말로 이해하지 못합니다.
David Richerby

@DavidRicherby : 맞습니다. 실수로 실수로 자연수를 뺄셈하여 자연수 전체를 빼 냈습니다. 클린 별은 세트 또는 유한 오토마타 또는 둘 다와 관련이 있습니까?
저스틴

7

간단히 말해서

Kleene 클로저 라는 이름 은 분명히 일부 문자열 작업에서 클로저 를 의미 합니다.

그러나 OP mallardz의 비판적인 의견 덕분에 신중한 분석을 통해 Kleene 별은 연결 상태에서 폐쇄 될 수 없으며 Kleene plus 연산자에 해당합니다.

Kleene star 연산자는 실제로 연결에서 파생 된 전원 작업의 폐쇄에 해당합니다.

Kleene star 라는 이름 은 별표로 작업의 구문 표현에서 비롯된 *반면 클로저 는 그 역할을합니다.

이것은 아래에서 더 설명됩니다.
기억 일반적으로 그 폐쇄, 특히 149) 클린의 별 (Kleene star는 언어 즉, 문자열의 집합, 여기에, 설정에 대한 작업입니다. 설명에 사용됩니다.

항상 정의 된 작업에서 하위 집합 폐쇄

CnffnCC={f(c1,,cn)c1,,cnC}

f

f(S1,,Sn)={f(s1,,sn)siSi.1in}


C=f(C,,C)

DfDSDSfSfSSf={f(s1,,sn)s1,,snSf}

Sf

Sf is the smallest set such that SSf and Sf=f(Sf,,Sf)

이것은 시맨틱에서 자주 사용되며 공식 언어로도 사용되는 최소 고정 소수점 정의의 예입니다. 문맥이없는 문법은 언어 방정식 (즉, 문자열 집합 방정식)의 시스템으로 볼 수 있으며, 비 터미널은 언어 변수를 나타냅니다. 최소 고정 소수점 솔루션은 언어를 각 변수에 연결하므로 초기 기호와 관련된 언어는 CF 문법으로 정의 된 언어입니다.

개념 확장

SSff

ϵSfS+*

실제로 폐쇄 개념은 확장되거나 다른 방식으로 고려 될 수 있습니다.

  1. 다른 대수 속성으로의 확장

    Sff

    SfSfϵ

  2. 파생 된 작업을 통한 확장

    SDD

    fDSf,1S

    Sf,1={f(s1,s2)s1Sf,1s2D}

    또는 설정된 방정식으로 :

    Sf,1 is the smallest set such that SSf,1 and Sf,1=f(Sf,1,D)

    인수가 동일한 세트에 속하지 않을 때도 의미가 있습니다. 그러면 다른 인수에 대해 가능한 모든 값을 고려하면서 한 세트의 일부 인수와 관련하여 클로저가있을 수 있습니다 (많은 변형이 가능함).

    (M,f,ϵ) fMϵuM

    uM.u0=ϵ and nNun=f(u,un1)

    unMN0

    MnUn={unuU}unf

    {U0={u0uU}={ϵ}nN,Un=f(U,Un1)
    fM

    U,1UM

    U,1 is the smallest set suchthat UU,1 and U,1=f(U,1,N0)

    그리고 이것은 무료 Monoid 현의 연결 작업에 구성이 적용될 때 Kleene 스타 작업을 제공합니다.

    솔직히 말해서, 부정 행위를하지 않았는지 확신 할 수 없습니다. 그러나 정의는 당신이 만드는 것 뿐이며, Kleene 스타를 실제로 폐쇄로 전환시키는 유일한 방법이었습니다. 너무 열심히 노력하고 있습니다.
    의견을 환영합니다.

항상 정의되지 않은 작업에서 집합 닫기

이것은 폐쇄 개념에 대한 약간 다른 견해와 사용입니다. 이 견해는 실제로 그 질문에 대답하지 않지만 혼동을 피하기 위해 염두에 두는 것이 좋습니다.

fD

  • Df

  • DDf

  • DDff

DfDf

그것이 동등성 관계에 의해 인용 된 자연수 쌍의 세트를 고려하여 자연수로부터 정수가 구축되는 방법이다 (두 요소가 동일한 순서로 동일하고 차이가 동일한 경우에 두 쌍은 동일하다).

이것은 또한 정수로부터 합리적 근거를 만들 수있는 방법입니다.

그리고 이것은 구조가 더 복잡하지만 합리적인 것을 바탕으로 고전적인 현실을 만드는 방법입니다.


감사합니다. 연결 설명 아래의 클로저는 많은 의미가 있지만 연결 아래의 클로저에는 엡실론이 있습니까?
mallardz

ϵ

@DavidRicherby 실제로 내가 의미 한 것은 S = {m} 세트를 가지고 있다면 S를 연결 한 클로저에 엡실론이 포함되어 있습니까? m *가 옳기 때문에? 그렇지 않다면 Kleene 클로저는 연결 상태에서의 클로저와 크게 다르지 않지만 이름이 어떻게 시작되었는지 여전히 알 수 있습니다. 또한 Kleene star가 어떻게 이진 연산자였으며 엡실론 생성을 피했는지 어딘가에서 읽은 것을 기억하는 것 같습니다.
mallardz

@DavidRicherby @ mallardz 공정한 이의 제기를 충족시키기 위해 답변을 완료했습니다.
babou

6

:XXX

  1. xx
  2. xyxy
  3. (x)=x

=(xy)=xy

X=2Σx,yΣxyxy

  1. LL
  2. L1L2L1L2
  3. (L)=L

Kleene plus 연산자도 이러한 공리를 만족하므로이 정의에 따른 클로저 연산자이기도합니다.


이것이 최소 요구 사항을 제거하지 않습니까? 이 요구 사항을 제거하면 David Richerby의 답변과 내 초기 답변 모두 Kleene 스타에게 괜찮습니다.
babou

내 의견에 답변 최소값은 유지되지만 닫힌 세트 세트와 관련하여 정의됩니다. 연결과 같은 문자열 조작과 직접적인 관련이 없습니다. Kleene star와 plus는 모두 클로저 연산이지만 서로 다른 클로즈 세트 세트에 대해 최소를 사용하여 정의됩니다. 이것은 훨씬 더 추상적 인 견해입니다. (적어도 내가 한 것처럼 정해진 수준에서 추론하는 것이 올바른 방법이라는 것을 알기에 적어도 만족합니다.). 흥미 롭군 감사.
babou
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.