Kleene yıldız operatörü neden Kleene 'kapatma' operatörü olarak da adlandırılır?


14

Bir cs / programlama teriminin arkasındaki etimolojiyi anlamıyorsam, bunun genellikle temeldeki bazı önemli kavramları kaçırdığım veya yanlış anladığım anlamına gelir.

Kleene yıldızına neden Kleene kapatma adı verildiğini anlamıyorum. Yerel olmayan değişkenlere bağlı bir fonksiyon olan programlamadaki kapanışlarla mı ilgili?

... yansıma üzerine, belki de açık uçlu bir kümenin kapalı ifade biçiminde yazılmasına izin verdiği için mi?

... iyi eski lastik ördek açıklayan moda, şimdi bu olduğunu tahmin ediyorum, ama yine de yetkili bir cevap hoş geldiniz.


3
Kullanıcı adınız eski lastik ördek açıklayan modayı istemenizin sebebi mi?
babou

@babou Evet. Ama bugün başarısız oldu :(
mallardz

Cevabımda tanımlanan birleştirme altındaki kapanışın (ve @David Richerby'nin cevabında, açıkça bir yorum dışında herhangi bir dize işleminden hiç bahsetmediği gibi) boş word kelimesini içermeyeceğine dikkat çekiyor. Teşekkürler. Sonuç olarak , Kleene yıldız operatörü birleştirme altında kapanışı temsil edemez: Kleene + operatörü yapar. Bununla birlikte, Kleene yıldız operatörü, birleştirme işleminden türetilen güç işlemi altında kapanmayı temsil edebilir. Bu yönü kapsayacak cevabım tamamlandı. Beklenenden daha inceydi.
babou

Yanıt yeterince okunabilir mi, yoksa daha yumuşak kauçukta bir bölüm eklemeliyim?
babou

Yanıtlar:


16

Setteki şeylere operatörün uygulanması sonucu her zaman sette ise bazı operatör altında bir set kapatılır . Örneğin, doğal sayılar ek olarak kapatılır, çünkü ve doğal sayılar olduğunda, doğal bir sayıdır. Öte yandan, doğal olanlar çıkarma altında kapalı değildir, örneğin doğal bir sayı değildir.m , n + m, 3 - 5nmn+m35

Kapatma kümesi içinde bazı operatör altında içeren en küçük kümesidir operatörü altında kapalıdır. Örneğin, çıkarma altındaki doğal sayıların kapanması tamsayılardır; Eklenen doğal sayıların kapatılması sadece doğal sayılardır, çünkü set zaten kapalıdır.SSS

Yani, "Kleene kapatma", "Kleene yıldızı" için alternatif bir isim değildir. Kleene yıldızı operatördür; bir setin Kleene kapanışı operatörün altındaki setin kapanmasıdır.


Tamam teşekkürler, bir setin kapanışıyla ilgili açıklamanızın anlaşılması çok kolaydır. Peki Kleene yıldızı bir operatör (artı bir operatör gibi) ve Kleene kapatma bir işlemdir (toplama gibi)? Ayrıca Babou'nun adının, operasyonun esasen birleştirme altındaki setin kapanmasını temsil ettiği gerçeğinden gelmesi çok mantıklı. Epsilon orada işleri biraz karıştırmasa da
?!

1
@mallardz Düzgün konuşursak, kapanış kümedir; kapağı oluşturma işlemine normalde "kapatma" denir.
David Richerby

@DavidRicherby: Çıkarma altındaki doğal sayılar kümesini bir kapatma olarak adlandırabilir misiniz? Operatör kleene * altında kapatılan düzenli ifadeler kümesi, ona kapatma olarak adlandırdığımız düzenli bir ifade ürettiğini mi demek istediniz ?
justin

@justin Tanım gereği, bir işlem altındaki herhangi bir kümenin kapatılması, o işlem altında kapatılmalıdır. Doğallar çıkarma altında kapalı olmadığından, çıkarma altındaki hiçbir şeyin kapanması olamazlar. Düzenli ifadeler kümesi zaten Kleene yıldızı altında kapalıdır ve bazı ifadeler altında düzenli ifadeler kümesinin kapatılması, tanım gereği, tek bir düzenli ifade değildir. Bu yüzden sorularınızı gerçekten anlamıyorum.
David Richerby

@DavidRicherby: Evet, bu gerçekten doğru. Yanlışlıkla doğal sayılar setini tamamen doğal bir sayı olarak çıkarttım. Kleene yıldızı setlerle veya sonlu otomata ya da her ikisi ile mi ilgili?
justin

7

Kısaca

Kleene kapatma adı açıkça, bazı tel operasyonu altında kapatma anlamına gelir .

Bununla birlikte, dikkatli analiz (OP mallardz tarafından yapılan kritik bir yorum sayesinde), Kleene yıldızının birleştirme altında kapanamayacağını gösterir, bu da Kleene plus operatörüne karşılık gelir.

Kleene yıldız operatörü aslında birleştirme işleminden türetilen güç operasyonu altındaki bir kapanmaya karşılık gelir.

Kleene yıldızı adı , operasyonun bir yıldızla sözdizimsel temsilinden *gelirken, kapatma , yaptığı şeydir.

Bu aşağıda daha ayrıntılı olarak açıklanmaktadır. Genel olarak kapanmanın ve özellikle Kleene yıldızının setler üzerinde, burada dizeler dizileri, yani diller üzerinde bir işlem olduğunu
hatırlayın . Bu açıklamada kullanılacaktır.

Her zaman tanımlanmış bir işlem altında bir alt kümenin kapatılması

Bir dizi bazı altında kapatılır n -ary işlem f IFF f her bir için tanımlandığı n argümanların -tuple C ve C = { f ( Cı- 1 , ... , c , n ) | c 1 , ... , c , nC } .CnffnCC={f(c1,,cn)c1,,cnC}

Genişleterek , normal şekilde yani değerlerin kümelerine f ( S 1 , ... , S n ) = { f ( s 1 , ... , s , n ) | ler iS i . 1 i n } koşulu bir set denklemi olarak yeniden yazabiliriz: C = f ( C , , C )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)

Bu, genellikle anlambilimde kullanılan ve aynı zamanda biçimsel dillerde kullanılan en az sabit nokta tanımına bir örnektir. Bağlamdan bağımsız bir dilbilgisi, terminal olmayan dil değişkenleri anlamına gelen bir dil denklemleri sistemi (yani dize kümesi denklemleri) olarak görülebilir. En az sabit noktalı çözüm, bir dili her değişkenle ilişkilendirir ve bu nedenle başlangıç ​​sembolüyle ilişkilendirilen dil, CF dilbilgisi tarafından tanımlanan dildir.

Konseptin genişletilmesi

SSff

ϵSfS+*

Aslında, kapatma fikri uzatılabilir veya farklı şekillerde düşünülebilir.

  1. Diğer cebirsel özelliklere genişletme

    Sff

    SfSfϵ

  2. Türetilmiş bir işlem yoluyla genişletme

    SDD

    fDSf,1S

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

    veya set denklemleri ile:

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

    Bu, argümanlar aynı kümeye ait olmadığında da anlamlıdır. Daha sonra, diğer argümanlar için tüm olası değerleri göz önünde bulundurarak, bir kümedeki bazı argümanlarla ilgili olarak kapanabilirsiniz (birçok varyasyon mümkündür).

    (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)

    Ve bu bize inşaat, serbest Dizelerin Monoid'inin birleştirme işlemine uygulandığında Kleene yıldız işlemini verir.

    Tamamen dürüst olmak gerekirse, hile yapmadığımdan emin değilim. Ancak bir tanım sadece sizin yaptığınız şeydir ve Kleene yıldızını aslında bir kapanışa çevirmenin tek yolu buydu. Çok fazla uğraşıyor olabilirim.
    Yorumlarınızı bekliyoruz.

Her zaman tanımlanmamış bir işlem altında bir kümeyi kapatma

Bu, kapanma kavramının biraz farklı bir görüşü ve kullanımıdır. Bu görüş soruyu gerçekten cevaplamıyor, ancak bazı olası karışıklıklardan kaçınmak için akılda tutulması iyi görünüyor.

fD

  • Df

  • DDf

  • DDff

DfDf

Tamsayılar, bir denklik ilişkisi ile belirlenen doğal sayı çiftleri seti göz önünde bulundurularak doğal sayılardan nasıl oluşturulur (iki eleman aynı sırada ve aynı farka sahipse iki çift eşdeğerdir).

Bu, tamsayılardan rasyonların nasıl oluşturulacağıdır.

Ve inşaat daha karmaşık olmasına rağmen, klasik gerçekler gerekçelerden bu şekilde inşa edilebilir.


Hey teşekkürler, birleştirme açıklaması altındaki kapatma çok mantıklı, ama epsilon birleştirme altındaki kapatmada var mı?
mallardz

ϵ

@DavidRicherby Aslında bir set S = {m} varsa ne demekti o zaman S birleştirme altında kapatma epsilon içeriyor mu? Çünkü m * doğru mu? Değilse, sanırım Kleene kapatma, birleştirme altında kapanmaya oldukça eşdeğer değil, ancak yine de adın nereden geldiğini görebiliyorum. Ayrıca başlangıçta Kleene yıldızı nasıl bir ikili operatör olduğunu ve epsilon üretmek kaçındı bir yerde okuma hatırlıyorum gibi görünüyor?
mallardz

@DavidRicherby @ mallardz adil itirazını karşılamak için cevabımı tamamladım.
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 operatörü de bu aksiyomları karşılar, bu nedenle bu tanım kapsamında bir kapatma operatörüdür.


Bu, asgari gereklilikleri ortadan kaldırmıyor mu? Yani, bu gereksinimi kaldırırsanız, hem David Richerby'nin yanıtı hem de ilk cevabım Kleene yıldızı için sorun değil.
babou

Kendi yorumumu cevaplıyorum. Minimalite korunur, ancak kapalı kümeler kümesine göre tanımlanır. Birleştirme gibi dizelerdeki bir işlemle doğrudan bir ilişki yoktur. Kleene yıldızı ve artı her ikisi de kapatma işlemidir, ancak farklı kapalı kümeler kümelerine göre minimumluk kullanılarak tanımlanır. Bu çok daha soyut bir görüş. (En azından benim yaptığım gibi akıl yürütmenin ayarlanan seviyede gitmenin doğru yolu olduğunu görmekten memnuniyet duyuyorum :). İlginç. Teşekkürler.
babou
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.