Resmi dil - Formal language

Sözdizimsel olarak iyi biçimlendirilmiş yapı, saçma olmasına rağmen, İngilizce cümle, "Renksiz yeşil fikirler öfkeyle uyur" (tarihsel örnek itibaren Chomsky 1957).

İçinde matematik, bilgisayar Bilimi, ve dilbilim, bir resmi dil içerir kelimeler kimin harfler bir alfabe ve iyi biçimli belirli bir kurallar kümesine göre.

alfabe Biçimsel bir dil, dilin dizeleri ile birleştirilmiş semboller, harfler veya simgelerden oluşur.[1] Bu alfabenin sembollerinden birleştirilmiş her dizgeye bir kelime denir ve belirli bir biçimsel dile ait olan kelimelere bazen iyi biçimli kelimeler veya iyi biçimlendirilmiş formüller. Biçimsel bir dil genellikle bir resmi gramer gibi normal gramer veya bağlamdan bağımsız gramer oluşur oluşum kuralları.

Alanı resmi dil teorisi öncelikle saf olarak çalışır sözdizimsel bu tür dillerin yönleri - yani iç yapısal kalıpları. Biçimsel dil teorisi, sözdizimsel düzenliliklerini anlamanın bir yolu olarak dilbilimden doğmuştur. doğal diller Bilgisayar biliminde, biçimsel diller, diğerlerinin yanında, dilbilgisini tanımlamada temel olarak kullanılır. Programlama dilleri ve dilin kelimelerinin belirli anlamlarla ilişkili kavramları temsil ettiği doğal dillerin alt kümelerinin resmi versiyonları veya anlambilim. İçinde hesaplama karmaşıklığı teorisi, karar problemleri tipik olarak resmi diller olarak tanımlanır ve karmaşıklık sınıfları olabilen resmi dil kümeleri olarak tanımlanır makineler tarafından çözümlendi sınırlı hesaplama gücü ile. İçinde mantık ve matematiğin temelleri biçimsel diller, sözdizimini temsil etmek için kullanılır aksiyomatik sistemler, ve matematiksel biçimcilik tüm matematiğin bu şekilde biçimsel dillerin sözdizimsel manipülasyonuna indirgenebileceği felsefesidir.

Tarih

İlk resmi dilin, tarafından kullanılan dil olduğu düşünülmektedir. Gottlob Frege onun içinde Begriffsschrift (1879), kelimenin tam anlamıyla "kavram yazma" anlamına gelir ve Frege bunu "saf düşüncenin biçimsel dili" olarak tanımlamıştır.[2]

Axel Thue erken yarı Thue sistemi dizeleri yeniden yazmak için kullanılabilen, resmi gramerler.

Alfabenin üzerindeki kelimeler

Bir alfaberesmi diller bağlamında, herhangi biri olabilir Ayarlamak, çoğu zaman bir alfabe kelimenin olağan anlamında veya daha genel olarak karakter seti gibi ASCII veya Unicode. Bir alfabenin unsurlarına onun adı verilir harfler. Bir alfabe bir sonsuz eleman sayısı;[not 1] ancak, biçimsel dil teorisindeki çoğu tanım, sınırlı sayıda öğeye sahip alfabeleri belirtir ve çoğu sonuç yalnızca onlar için geçerlidir.

Bir kelime bir alfabe üzerinde herhangi bir sonlu dizi olabilir (yani, dizi ) harf. Bir alfabe üzerindeki tüm kelimelerin kümesi Σ genellikle Σ ile gösterilir* (kullanmak Kleene yıldızı ). Bir kelimenin uzunluğu, oluşturduğu harflerin sayısıdır. Herhangi bir alfabe için, 0 uzunluğunda yalnızca bir kelime vardır, boş kelime, genellikle e, ε, λ veya hatta Λ ile gösterilir. Tarafından birleştirme biri, uzunluğu orijinal kelimelerin uzunluklarının toplamı olan yeni bir kelime oluşturmak için iki kelimeyi birleştirebilir. Bir kelimeyi boş kelimeyle birleştirmenin sonucu orijinal kelimedir.

Bazı uygulamalarda, özellikle mantık alfabe aynı zamanda kelime bilgisi ve kelimeler olarak bilinir formüller veya cümleler; bu, harf / kelime metaforunu bozar ve bir kelime / cümle metaforu ile değiştirir.

Tanım

Bir resmi dil L bir alfabenin üzerinde Σ bir alt küme / Σ*yani bir dizi kelimeler bu alfabenin üzerinden. Bazen kelime grupları ifadeler halinde gruplanırken, kurallar ve kısıtlamalar 'iyi biçimlendirilmiş ifadelerin' oluşturulması için formüle edilebilir.

Bilgisayar bilimi ve matematikte genellikle ilgilenmeyen doğal diller "biçimsel" sıfatı genellikle gereksiz olduğu için ihmal edilir.

Biçimsel dil kuramı genellikle bazı sözdizimsel kurallarla tanımlanan biçimsel dillerle ilgilenirken, "biçimsel dil" kavramının gerçek tanımı yalnızca yukarıdaki gibidir: belirli bir alfabeden oluşan (muhtemelen sonsuz) bir dizi sonlu uzunlukta dizge, ne fazla ne eksik Uygulamada, kurallarla tanımlanabilecek birçok dil vardır, örneğin: normal diller veya bağlamdan bağımsız diller. A kavramı resmi gramer sözdizimsel kurallarla tanımlanan sezgisel bir "dil" kavramına daha yakın olabilir. Tanımın kötüye kullanılmasıyla, belirli bir biçimsel dil, genellikle onu tanımlayan biçimsel bir dilbilgisi ile donatılmış olarak düşünülür.

Örnekler

Aşağıdaki kurallar resmi bir dili tanımlarL alfabenin üzerinde Σ = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, +, =}:

  • "+" Veya "=" içermeyen ve "0" ile başlamayan her boş olmayan dizeL.
  • "0" dizesiL.
  • İçinde "=" içeren bir dize varL sadece ve ancak tam olarak bir "=" varsa ve iki geçerli dizeyi ayırırsaL.
  • "+" İçeren ancak "=" içermeyen bir dizeL ancak ve ancak dizedeki her "+" iki geçerli dizeyi ayırırsaL.
  • Hiçbir dize yokL önceki kurallarda belirtilenler dışında.

Bu kurallara göre, "23 + 4 = 555" dizesiL, ancak "= 234 = +" dizesi değil. Bu resmi dil ifade eder doğal sayılar, iyi biçimlendirilmiş eklemeler ve iyi biçimlendirilmiş toplama eşitlikleri, ancak yalnızca neye benzediklerini ifade eder (onların sözdizimi ), ne demek istediklerini değil (anlambilim ). Örneğin, bu kuralların hiçbir yerinde "0" sayısının sıfır, "+" toplama, "23 + 4 = 555" yanlış vb. Olduğuna dair herhangi bir gösterge yoktur.

İnşaatlar

Sonlu diller için, tüm iyi biçimlendirilmiş sözcükler açıkça numaralandırılabilir. Örneğin, bir dil tanımlayabilirizL tıpkı L = {a, b, ab, cba}. dejenere bu yapının durumu boş dil, hiç kelime içermeyen (L = ).

Bununla birlikte, Σ = {a, b} gibi sonlu (boş olmayan) bir alfabe üzerinde bile potansiyel olarak ifade edilebilecek sonsuz sayıda sonlu uzunlukta sözcük vardır: "a", "abb", "ababba", " aaababbbbaab ", .... Bu nedenle, biçimsel diller tipik olarak sonsuzdur ve sonsuz biçimsel bir dili tanımlamak, yazmak kadar basit değildir L = {a, b, ab, cba}. İşte bazı resmi dil örnekleri:

  • L = Σ*, kümesi herşey Σ üzeri kelimeler;
  • L = {a}* = {an}, nerede n doğal sayılar ve "an"a", tekrarlanan anlamına gelir n kez (bu, yalnızca "a" sembolünden oluşan sözcükler kümesidir);
  • belirli bir programlama dilinde sözdizimsel olarak doğru programlar kümesi (sözdizimi genellikle bir bağlamdan bağımsız gramer );
  • belirli bir girdi kümesi Turing makinesi durur; veya
  • maksimal dizeler kümesi alfanümerik ASCII bu satırdaki karakterler, yani
    {the, set, of, maximal, string, alphanumeric, ASCII, characters, on, this, line, i, e}.

Dil spesifikasyon formalizmleri

Biçimsel diller, birden çok disiplinde araç olarak kullanılır. Bununla birlikte, biçimsel dil teorisi nadiren belirli dillerle ilgilenir (örnekler dışında), ancak esas olarak dilleri tanımlamak için çeşitli biçimcilik türlerinin incelenmesiyle ilgilenir. Örneğin bir dil şu şekilde verilebilir:

Bu tür formalizmler hakkında sorulan tipik sorular şunları içerir:

  • İfade gücü nedir? (Biçimcilik X biçimciliğin olduğu her dili tanımlayın Y tarif edebilir misin? Diğer dilleri tanımlayabilir mi?)
  • Tanınabilirlikleri nedir? (Belirli bir kelimenin biçimcilik tarafından tanımlanan bir dile ait olup olmadığına karar vermek ne kadar zordur. X?)
  • Karşılaştırılabilirlikleri nedir? (İki dilin, birinin biçimcilikle tanımlanıp tanımlanmadığına karar vermek ne kadar zor X ve biri formalizmde Yveya içinde X yine, aslında aynı dil mi?).

Şaşırtıcı bir şekilde, bu karar problemlerinin cevabı "hiç yapılamaz" veya "son derece pahalıdır" (ne kadar pahalı olduğunun bir özelliği ile). Bu nedenle, biçimsel dil teorisi ana uygulama alanıdır. hesaplanabilirlik teorisi ve karmaşıklık teorisi. Biçimsel diller, Chomsky hiyerarşisi üretken gramerlerinin ifade gücüne ve tanımanın karmaşıklığına dayanmaktadır. otomat. Bağlamdan bağımsız gramerler ve normal gramerler ifade etme ve kullanım kolaylığı arasında iyi bir uzlaşma sağlar ayrıştırma ve pratik uygulamalarda yaygın olarak kullanılmaktadır.

Diller üzerinde işlemler

Dillerde belirli işlemler yaygındır. Bu, birleşim, kesişim ve tamamlama gibi standart küme işlemlerini içerir. Diğer bir işlem sınıfı, dizgi işlemlerinin eleman bazında uygulanmasıdır.

Örnekler: varsayalım ve bazı ortak alfabelerin üzerinde diller .

  • birleştirme formun tüm dizelerinden oluşur nerede dan bir dizedir ve dan bir dizedir .
  • kavşak nın-nin ve her iki dilde bulunan tüm dizelerden oluşur
  • Tamamlayıcı nın-nin göre tüm dizelerden oluşur içinde olmayanlar .
  • Kleene yıldızı: orijinal dilde sıfır veya daha fazla kelimenin bir araya getirilmesi olan tüm sözcüklerden oluşan dil;
  • Ters çevirme:
    • İzin Vermek ε boş kelime ol o zaman , ve
    • boş olmayan her kelime için (nerede bazı alfabelerin unsurlarıdır), izin ver ,
    • sonra resmi bir dil için , .
  • Dize homomorfizmi

Böyle dize işlemleri araştırmak için kullanılır kapanış özellikleri dil sınıfları. Sınıftaki dillere uygulanan işlem, her zaman aynı sınıfta tekrar bir dil ürettiğinde, belirli bir işlem altında bir dil sınıfı kapatılır. Örneğin, bağlamdan bağımsız diller birleşim, birleştirme ve kesişim altında kapalı olduğu bilinmektedir. normal diller, ancak kesişme veya tamamlama altında kapalı değil. Teorisi üçlüler ve soyut dil aileleri Dil ailelerinin en yaygın kapanış özelliklerini kendi başlarına inceler.[3]

Dil ailelerinin kapanış özellikleri ( Op ikisi de nerede ve sütun tarafından verilen dil ailesindedir). Hopcroft ve Ullman'dan sonra.
OperasyonDüzenliDCFLCFLINDCSLyinelemeliYENİDEN
BirlikEvetHayırEvetEvetEvetEvetEvet
KavşakEvetHayırHayırHayırEvetEvetEvet
TamamlayıcıEvetEvetHayırHayırEvetEvetHayır
BirleştirmeEvetHayırEvetEvetEvetEvetEvet
Kleene yıldızıEvetHayırEvetEvetEvetEvetEvet
(Dize) homomorfizm EvetHayırEvetEvetHayırHayırEvet
ε içermeyen (dizgi) homomorfizm EvetHayırEvetEvetEvetEvetEvet
ikame EvetHayırEvetEvetEvetHayırEvet
Ters homomorfizm EvetEvetEvetEvetEvetEvetEvet
Tersine çevirmekEvetHayırEvetEvetEvetEvetEvet
Bir ile kesişme normal dil EvetEvetEvetEvetEvetEvetEvet

Başvurular

Programlama dilleri

Bir derleyicinin genellikle iki farklı bileşeni vardır. Bir sözcük çözümleyici, bazen gibi bir araç tarafından oluşturulur lex, programlama dili gramerinin belirteçlerini tanımlar, ör. tanımlayıcılar veya anahtar kelimeler, sayısal ve dize değişmezleri, noktalama işaretleri ve operatör sembolleri, kendileri daha basit bir biçimsel dille, genellikle düzenli ifadeler. En temel kavramsal düzeyde, bir ayrıştırıcı, bazen bir ayrıştırıcı oluşturucu sevmek yacc, kaynak programın sözdizimsel olarak geçerli olup olmadığına, yani derleyicinin inşa edildiği programlama dili dilbilgisine göre iyi oluşturulmuş olup olmadığına karar vermeye çalışır.

Elbette, derleyiciler kaynak kodunu ayrıştırmaktan daha fazlasını yapar - genellikle onu çalıştırılabilir bir biçime çevirirler. Bu nedenle, bir ayrıştırıcı genellikle bir evet / hayır cevabından daha fazlasını verir, tipik olarak bir soyut sözdizimi ağacı. Bu, derleyicinin sonraki aşamaları tarafından sonunda bir çalıştırılabilir kapsamak makine kodu doğrudan donanım üzerinde veya bazılarında ara kod gerektiren sanal makine yürütmek için.

Biçimsel teoriler, sistemler ve ispatlar

Bu diyagram, sözdizimsel bir içindeki bölümler resmi sistem. Sembol dizileri genel olarak saçmalığa ayrılabilir ve iyi biçimlendirilmiş formüller. İyi biçimlendirilmiş formül seti, teoremler ve teoremler.

İçinde matematiksel mantık, bir biçimsel teori bir dizi cümleler resmi bir dilde ifade edilir.

Bir resmi sistem (ayrıca a mantıksal hesapveya a mantıksal sistem) resmi bir dil ile birlikte bir tümdengelim aygıtı (ayrıca a tümdengelim sistemi). Tümdengelim aygıtı bir dizi dönüşüm kuralları, geçerli çıkarım kuralları olarak yorumlanabilir veya bir dizi aksiyomlar veya ikisine birden sahip olun. Resmi bir sistem, türetmek bir veya daha fazla başka ifadeden bir ifade. Biçimsel bir dil formülleri ile tanımlanabilse de, biçimsel bir sistem benzer şekilde teoremleri ile tanımlanamaz. İki resmi sistem ve tüm aynı teoremlere sahip olabilir ve yine de bazı önemli kanıt-teorik yönden farklılık gösterebilir (örneğin, bir formül A, bir formül B'nin sözdizimsel bir sonucu olabilir, ancak diğerinde olmayabilir).

Bir resmi kanıt veya türetme iyi biçimlendirilmiş formüllerin sonlu bir dizisidir (cümleler olarak yorumlanabilir veya önermeler ) bunların her biri bir aksiyomdur veya dizideki önceki formüllerden bir çıkarım kuralı. Sekanstaki son cümle, biçimsel bir sistemin bir teoremidir. Biçimsel ispatlar yararlıdır çünkü teoremleri gerçek önermeler olarak yorumlanabilir.

Yorumlar ve modeller

Biçimsel diller doğası gereği tamamen sözdizimseldir, ancak verilebilir anlambilim dil unsurlarına anlam veren. Örneğin matematiksel olarak mantık, belirli bir mantığın olası formülleri kümesi biçimsel bir dildir ve yorumlama formüllerin her birine bir anlam atar - genellikle bir gerçek değer.

Biçimsel dillerin yorumlanması çalışmasına denir biçimsel anlambilim. Matematiksel mantıkta bu genellikle şu terimlerle yapılır: model teorisi. Model teorisinde, bir formülde ortaya çıkan terimler içindeki nesneler olarak yorumlanır. matematiksel yapılar ve sabit kompozisyon yorumlama kuralları, formülün doğruluk değerinin, terimlerinin yorumlanmasından nasıl türetilebileceğini belirler; a model bir formül için, formülün gerçek olacağı şekilde terimlerin yorumlanmasıdır.

Ayrıca bakınız

Notlar

  1. ^ Örneğin, birinci dereceden mantık genellikle ∧, ¬, ∀ ve parantez gibi sembollerin yanı sıra sonsuz sayıda öğe içeren bir alfabe kullanılarak ifade edilir x0x1x2,… Değişkenlerin rolünü oynayanlar.

Referanslar

Alıntılar

  1. ^ Bkz. Ör. Reghizzi, Stefano Crespi (2009), Biçimsel Diller ve Derleme, Bilgisayar Bilimlerinde Metinler, Springer, s. 8, ISBN  9781848820500, Bir alfabe sonlu bir kümedir.
  2. ^ Martin Davis (1995). "Matematiksel Mantığın Bilgisayar Bilimi Üzerindeki Etkileri". Rolf Herken'de (ed.). Evrensel Turing makinesi: yarım asırlık bir araştırma. Springer. s. 290. ISBN  978-3-211-82637-9.
  3. ^ Hopcroft ve Ullman (1979), Bölüm 11: Dil ailelerinin kapanış özellikleri.

Kaynaklar

Çalışmalar alıntı
Genel referanslar

Dış bağlantılar