Tworzenie książki (wyłącz)
 Dodaj tę stronę do książki Pokaż książkę (0 stron) Proponowane strony

Język formalny

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, szukaj

Język formalny – jest to podzbiór zbioru wszystkich słów nad skończonym alfabetem. Język formalny jest kluczowym pojęciem w informatyce, logice matematycznej i językoznawstwie. Język formalny nie jest uściśleniem pojęcia języka naturalnego i nie powinien być z nim mylony.

Spis treści

[edytuj] Formalna definicja

Aby zdefiniować język formalny, najpierw definiuje się alfabet, wybierając jakiś niepusty zbiór skończony. Elementy tego zbioru nazywane są symbolami. Ciągi symboli, o skończonej długości, nazywane są słowami. Dowolny zbiór takich ciągów nazywany jest językiem formalnym.

Przykłady języków formalnych:

[edytuj] Alfabet

Alfabetem może być dowolny skończony zbiór. Przykładowe alfabety to:

Alfabetami nie mogą być:

[edytuj] Słowo

Słowami są dowolne skończone ciągi symboli. Przykładowe słowa to:

Słowami nie są:

[edytuj] Języki na zbiorach nieskończonych

W niektórych zastosowaniach, przydatne jest operowanie na ciągach elementów z nieskończonego zbioru, np. zbioru liczb naturalnych. Zbiór takich ciągów nie jest językiem, ale to ograniczenie można obejść, jeśli tylko zbiór używanych elementów jest przeliczalny. Wtedy te elementy można przedstawić jako słowa nad skończonym alfabetem.

Przykładowo, aby operować na ciągach liczb naturalnych, zapisuje się te liczby w sposób pozycyjny. Np. ciąg "10 200 317 852", zawierający 14 symboli, należy do języka ciągów liczb naturalnych zapisanych w postaci pozycyjnej, za pomocą cyfr arabskich oraz spacji.

[edytuj] Metody definiowania języków

Dla każdego alfabetu (nawet jednoelementowego), liczba słów nad tym alfabetem jest nieskończona i przeliczalna (oznaczana \aleph_0). Liczba zbiorów słów (liczba języków), jest zatem nieprzeliczalna. Ponieważ każda metoda opisania może objąć tylko przeliczalną liczbę elementów, nie istnieje metoda opisania wszystkich języków nad żadnym niepustym alfabetem. Dlatego opisuje się jedynie wybrane klasy języków. Przykładowo hierarchia Chomsky'ego precyzuje cztery klasy języków, w zależności od tego jak złożona jest gramatyka formalna opisująca dany język.

[edytuj] Gramatyki formalne

Information icon.svg Osobny artykuł: Gramatyka formalna.

Gramatyki formalne są najpopularniejszym sposobem opisywania języków formalnych. Opis w postaci gramatyki składa się z:

Do tak opisanego języka należy każde słowo, dla którego potrafimy zbudować taki ciąg, że:

[edytuj] Przykładowa gramatyka

Przykładowe wyprowadzenie słowa 00011111 w tej gramatyce:

[edytuj] Należenie słowa do języka

Nie istnieje ogólna metoda, która dla danej gramatyki formalej i danego słowa pozwoliłaby stwierdzić, czy dane słowo należy do języka opisywanego przez tę gramatykę. Wynika to z faktu, że gramatyki formalne mogą w szczególności definiować zachowanie maszyny Turinga i powyższy problem wymagałby rozwiązania problemu stopu. Dlatego w praktycznych zastosowaniach używa się wybranych klas gramatyk, dla których taka weryfikacja jest możliwa do przeprowadzenia. W ogólności, im więcej języków potrafi opisać dana klasa gramatyk, tym problem tej weryfikacji ma większą złożoność.

Przykładowo, hierarchia Chomsky'ego wprowadza podział na następujące klasy, które można zdefiniować przez złożoność automatu rozpoznającego należenie do języka:

[edytuj] Języki formalne a języki naturalne

Information icon.svg Osobny artykuł: tłumaczenie automatyczne.

Języki formalne są używane do opisu języków naturalnych, choć nie jest to łatwe. Od 1956 roku stosowane są np. tzw. gramatyki generatywne Chomskyego. Problemem jest kontekstowość języka naturalnego, tzn. zależność reguł gramatycznych, a szczególnie reguł interpretacji (semantyki) języka naturalnego od kontekstu, czyli sąsiednich zdań, a nawet wypowiedzi bezpośrednio z daną nie sąsiadujących.

Aktualnie istnieje wiele systemów komercyjnych przetwarzających język naturalny. Tłumaczenie wolnego tekstu jest bardzo niedokładne, pozwala jednak zrozumieć treść i wspomaga pracę tłumaczy (przyspieszenie nawet 4 razy)[potrzebne źródło]. Lepsze wyniki zostały osiągnięte w tłumaczeniu tekstów specjalistycznych.

[edytuj] Linki zewnętrzne

Źródło „http://pl.wikipedia.org/w/index.php?title=Język_formalny&oldid=31421656
Osobiste
Przestrzenie nazw

Warianty
Działania
Nawigacja
Dla czytelników
Dla wikipedystów
Narzędzia
Drukuj lub eksportuj
W innych językach

Polecamy: Pozycjonowanie, wózki dziecięce, Kino domowe, Viagra, Kredyty