• Nie Znaleziono Wyników

Co wynika ze współczesnej logiki formalnej?

3.0. R ODZAJE JĘZYKÓW

3.0.0.POJĘCIE JĘZYKA

Wyrazu „język” używamy w języku polskim, co najmniej w dwojakim rozumieniu. W pewnych wypadkach mówiąc „język” mamy na myśli pewną część ciała ludzkiego czy zwierzęcego. To właśnie jest jedno z rozumień wyrazu „język”. W innych wypadkach mówiąc „język” mamy na myśli pewien system sygnałów, z pomocą - których następuje w obrębie społeczeństwa, porozumiewanie się między ludźmi. To właśnie jest drugie rozumienie wyraz „język”.

Zapamiętajmy, że odtąd będziemy używali wyrazu „język” tylko w tym drugim rozumieniu.

Porozumiewanie się między ludźmi zapomogą tęgo czy innego języka zwykle obejmuje:

informowanie, stawianie pytań, wydawanie rozkazów itd.

Języki naturalne, ale również niektóre języki sztuczne, składają się z dwóch warstw, a mianowicie z warstwy informacyjnej i warstwy prezentacyjnej. Warstwa informacyjna jest nośnikiem informacji przekazywanych w danym języku. Natomiast warstwa prezentacji służy do odpowiedniego przekazywania (w jakimś sensie interpretowania) informacji – właściwemu odbiorcy. Na fakt ten - zwrócono uwagę stosunkowo niedawno, być może, że dopiero przy opracowywaniu kolejnej wersji języka HTML i wyposażania go w mechanizm nazwany CSS (kaskadowe arkusze styli), który umożliwił oddzielenie warstw informacyjnej i prezentacyjnej.

Piśmiennictwo: Dobosiewicz S. D.3.1., Greniewski H. G.2.1.

3.0.1.JĘZYKI AKUSTYCZNE, GRAFICZNE I GESTOWO-MIMICZNE Odróżniamy trzy rodzaje języków:

1) Języki akustyczne (język akustyczny - mowa);

2) Języki graficzne (język graficzny - pismo);

3) Języki gestowo-mimiczne.

Podział powyższy jest rozłączny, to znaczy, że żaden język gestowo-mimiczny nie jest językiem akustycznym, żaden język gestowo-mimiczny nie jest językiem graficznym i wreszcie, że żaden język akustyczny nie jest językiem graficznym. Nie twierdzimy natomiast, że podział powyższy jest zupełny, to znaczy, że nie wykluczamy istnienia - chociaż jednego języka, który nie jest ani gestowo-mimiczny, ani akustyczny, ani graficzny. Zgodne z wyżej wprowadzonym podziałem należy odróżniać dwa odrębne języki: polski język akustyczny i polski język graficzny. Takie rozróżnienie nie jest stosowane potocznie, mamy - bowiem zwyczaj utożsamiać w życiu codziennym dowolny język akustyczny z jego odpowiednikiem graficznym. Przeciwko takiemu utożsamianiu przemawiają jednak względy następujące:

1) Istnieją ludzie znający swój ojczysty język akustyczny, lecz nieznający jego odpowiednika graficznego (analfabeci).

2) Każdy język akustyczny jakiejś narodowości (mającej swój język graficzny) powstał znacznie wcześniej niż - odpowiadający mu język graficzny. Innymi słowy, wynalazek (czy adaptacja) pisma był w każdym społeczeństwie, które takiego wynalazku dokonało (lub wynalazek taki adaptowało), dużo późniejszy niż powstanie mowy.

3) Zdarza się niekiedy, ze jeden i ten sam język graficzny jest odpowiednikiem więcej niż - jednego języka akustycznego. Istnieje na przykład jeden graficzny język chiński i

przynajmniej dwa chińskie języki akustyczne. Niejeden Chińczyk z południa, znając południowo-chiński język akustyczny i graficzny język chiński, nie rozumie języka akustycznego północno-chińskiego i odwrotnie.

4) Zdarza się, że znamy język graficzny nie znając jego odpowiednika akustycznego. Tak mianowicie przedstawia się sprawa z niektórymi językami martwymi, na przykład z łaciną i staroegipskim. Znamy, bowiem graficzny język łaciński nie znając jego autentycznej wymowy (teksty łacińskie czytamy głośno w sposób konwencjonalny). To samo - z językiem staroegipskim35. Na pierwszy rzut oka język graficzny danej narodowości jest dokładnym odbiciem jego odpowiednika akustycznego.

W rzeczywistości sprawa przedstawia się inaczej. Przekład z języka graficznego na jego odpowiednik akustyczny czy też przekład w kierunku odwrotnym napotyka nieraz znaczne trudności, ze względu na warstwę prezentacyjną. Niech ta prosta anegdota, zastąpi nam tu rozwlekły wywód. Za czasów, gdy na-wsi polskiej rozpowszechniony był jeszcze analfabetyzm i obowiązywała powszechna służba wojskowa. Wzięto pewnego Jasia do wojska. Po dwu tygodniach od Jasia nadszedł na wieś list do jego matki. Matka Jasia była analfabetką i szukała po wsi kogoś, kto by jej przeczytał list od syna. Natknęła się na zawodowego sierżanta, który spędzał tam swój urlop. Ostrym głosem nawykłym do „besztania” i wydawania rozkazów sierżant czytał: „Kochana Matulu. Jak się miewają świnie, kury i gęsi? Przyślijta mi z dwa pęta kiełbasy, bo mi się strasznie cni”. „Oj, takeś zhardział, już po dwu tygodniach - krzyknęła matula – nic nie dostaniesz”. Minęły jeszcze dwa tygodnie. Od Jasia nadszedł nowy list. Nowy kłopot, kto list przeczyta. Natknęła się Jasiowa matka na staruszka nauczyciela. Ten drżącym, płaczliwym głosem czytał: „Kochana Matulu. Jak się miewają świnie, kury i gęsi? Przyślijta mi z dwa pęta kiełbasy, bo mi się strasznie cni”. „Oj, mój chrobocku - powiada matula - toś ty taki biedak, zaraz kiełbasy ci poślę”36.

Widzimy, więc, że przekład z języka graficznego na jego odpowiednik akustyczny bywa niepozbawiony dowolności (w powyższym żartobliwym przykładzie dowolność tę stwarzała mimowolna intonacja). Ale ta wzmiankowana mimowolna intonacja, nie jest niczym innym jak warstwą prezentacyjną języka.

Rozróżniając języki: gestowo-mimiczne, akustyczne i graficzne nie po to bynajmniej, że języków tych używamy nieraz łącznie czy równocześnie. Aktor na scenie zwraca się do publiczności jednocześnie w języku akustycznym i gestowo-mimicznym, w jego wystąpieniu warstwa prezentacyjna języka odgrywa bardzo istotną rolę. Usuńcie z przedstawienia teatralnego gesty i mimikę nie naruszając mówionych tekstów, a z najlepszego przedstawienie niewiele zostanie.

Załatwienie poważnej sprawy przez, telefon jest trudniejsze niż w rozmowie bezpośredniej, gdyż w czasie rozmowy telefonicznej słyszymy tylko odpowiedzi drugiej strony dawane w języku akustycznym, pozbawieni jesteśmy widoku mimiki i gestów nieraz istotnie nas informujących o drugiej strony, a tym samym następuje zubożenie warstwy prezentacyjnej języka.

Daliśmy powyżej dwa przykłady posługiwania się równocześnie akustycznym i gestowo-mimicznym. Nie trudno dać przykład trzech języków naraz: gestowo-mimicznego, akustycznego i graficznego. W czasie dobrze prowadzonej lekcji matematyki nauczyciel pisze na tablicy, mówi

35 Uprzejmości Olgierda Wojtasiewicza zawdzięczamy kilka uwag niniejszego paragrafu.

36 Tę interesującą anegdotę zawdzięczamy uprzejmości Tadeusza Pasierbińskiego.

do uczniów, a ruchy jego rąk i mimika nie są bynajmniej obojętne, bo w procesie nauczania warstwa prezentacyjna odgrywa nie mniejszą rolę niż w przedstawieniu teatralnym.

Piśmiennictwo: Dobosiewicz S., D.3.1., Greniewski H. G.2.1.

3.0.2.JĘZYKI NATURALNE, SZTUCZNE I MIESZANE Należy odróżniać trzy rodzaje języków:

1. Języki naturalne;

2. Języki sztuczne (symboliki), a w szczególności języki formalne;

3. Języki mieszane.

Podział powyższy jest doniosły tylko z punktu widzenia logiki formalnej, przy czym jest on niezależny od uprzednio wprowadzonego podziału na języki gestowo-mimiczne, graficzne i akustyczne. Nie wynika stąd, że ma on jakiekolwiek znaczenie dla językoznawstwa.

3.0.2.00. Wyjaśnienie. „Język naturalny”, to tyle, co język obsługujący całe społeczeństwo (narodowość, naród), każdy język taki powstaje na drodze żywiołowej.

Mówiąc, że każdy język naturalny powstał w drodze żywiołowej, nie przeczymy temu, że pewne fragmenty danego języka naturalnego rozwijają się w sposób nie żywiołowy, lecz planowany. Na przykład każdy fragment języka naturalnego będący terminologią naukową czy techniczną rozwija się zwykle w sposób planowany, a nie żywiołowy.

3.0.2.10. Wyjaśnienie. „Język sztuczny”, to tyle, co „język stworzony świadomie przez poszczególnych ludzi i to w sposób umowny”; każdy taki język obsługuje wąski (w porównani z językiem naturalnym) zakres potrzeb społeczeństwa.

Rozwojowi informatyki towarzyszy niemal eksplozja powstawania i rozwoju sztucznych języków. Przykładowo, powstało wiele języków programowania (komputerów), począwszy od języka FORTRAN – jeszcze na początku lat pięćdziesiątych XX wieku; język SQL – wyszukiwania informacji w bazach danych; język UML – zunifikowany język modelowania systemów informatycznych; BPMN – notacja modelowania procesów biznesowych; SGML i jego następca XML – języki znaczników, odgrywające dziś olbrzymią rolę, jako narzędzia dokumentowania i administrowania dokumentami.

3.0.2.20. Wyjaśnienie. Niekiedy okazuje się celowe utworzenie z jakiegoś języka naturalnego i jakiegoś języka sztucznego –„konglomeratu”, który również jest językiem. Każdy taki i tylko taki konglomerat nazywamy językiem mieszanym.

Przykłady. Znamy przykłady wszystkich trzech rodzajów wyżej wymienionych: Znany jest nam wszystkim przykład języka naturalnego - to nasz język ojczysty, polski język akustyczny.

Uczyliśmy się w szkole średniej algebry, geometrii, fizyki chemii, informatyki. W podręczniku każdego z tych przedmiotów widzieliśmy wzory lub schematy. Każdy z tych wzorów lub schematów był napisany w jakimś języku sztucznym; w innym – zresztą języku sztucznym były napisane wzory algebraiczne, a w innym jeszcze języku sztucznym (w innej symbolice) - wzory chemiczne, a w jeszcze innym języku sztucznym programy komputerowe (informatyka).

W podręczniku geografii mieliśmy niewątpliwie niejedną mapkę: jest to dla nas nowy przykład, języka sztucznego; sporządzając mapy wypowiadamy się, bowiem w pewnym języku sztucznym w języku map geograficznych. Istnieje też język sztuczny - wykresów statystycznych. Podręcznik szkolnej algebry nie składał się jednak z samej symboliki; oprócz wzorów podręcznik ten

zawierał przecież sporo tekstu w języku naturalnym. Krótko mówiąc, podręcznik algebry był napisany w języku mieszanym.

Podane przykłady mogłyby stworzyć błędną sugestię, jakoby tworzenie języków sztucznych było monopolem nauk ścisłych (zwłaszcza matematyki). Otóż wcale tak nie jest. Języki sztuczne powstają i rozwijają się nie tylko dla celów naukowych, ale również dla celów wyłączni praktycznych. Trzy pouczające przykłady możemy zaczerpnąć z transportu (morskiego, kolejowego i drogowego):

 Międzynarodowy system sygnalizacyjny chorągiewek, stosowany powszechnie przez statki morskie,

 System sygnałów kolejowych,

 Międzynarodowy system znaków drogowych (niezbędny dla kierowców samochodowych, ale przydatny też dla pieszych).

W ciągu ostatnich kilkudziesięciu lat (począwszy od 1951 roku) nastąpił, jak wiadomo, gwałtowny rozwój komputerów - maszyn do przetwarzania informacji. Jak już powiedzieliśmy, rozwój ten był nierozłącznie związany z powstaniem nowym języków sztucznych (symbolik) mających zastosowanie w programowaniu komputerów, opisywaniu struktur baz danych, wyszukiwania informacji w bazach danych, projektowaniu systemów informatycznych, opisywaniu procesów biznesowych, itp.

Piśmiennictwo: Greniewski H. G.2.1. , Wilkosz W., W.3.1.

3.0.3.JĘZYK SFORMALIZOWANY

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

Aby zdefiniować język sformalizowany, najpierw definiuje się alfabet, wybierając jakiś niepusty zbiór skończony elementów. 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 sformalizowanym.

Przykłady języków sformalizowanych:

Zbiór wszystkich słów złożonych z liter polskiego alfabetu i występujących w pewnym słowniku;

Zbiór takich słów złożonych z cyfr od 0 do 9, które przedstawiają liczby całkowite;

Zbiór słów złożonych z zer i jedynek, w których zer jest więcej niż jedynek;

Zbiór prawidłowo napisanych równań matematycznych;

Zbiór programów, które po skompilowaniu i uruchomieniu mogą działać na komputere o danej architekturze.

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

Zbiór liczb całkowitych należących do jakiegoś przedziału, np. 0 i 100, albo od 0 do 9;

Zbiór wszystkich bądź niektórych liter alfabetu łacińskiego;

Zbiór symboli ASCII;

Zbiór złożony z dokładnie jednego symbolu;

Zbiór kart do gry;

Zbiór złożony z możliwych wartości koloru piksela (trójki liczb całkowitych, od 0 do 255 każda);

Zbiór wszystkich obrazów możliwych do wyświetlenia przy ustalonej rozdzielczości ekranu i liczbie kolorów.

3.0.3.20. Wyjaśnienie. Alfabetami nie mogą być:

Zbiór pusty - nie dało by się z niego ułożyć żadnego słowa. Można jednak rozszerzyć definicję języka formalnego na ten przypadek – wtedy nad takim alfabetem istnieje tylko jedno słowo – słowo puste – i tylko dwa języki – język pusty, oraz język zawierający tylko słowo puste.

Zbiory nieskończone, np. zbiór wszystkich liczb naturalnych, czy rzeczywistych.

3.0.3.25. Wyjaśnienie. Słowo. Słowami są dowolne skończone ciągi symboli. Przykłady słowa to:

Słowa języka naturalnego, np. „Ala”, „słoneczko” (jeśli alfabet obejmuje litery);

Słowo puste (nad dowolnym alfabetem), oznaczane ∈;

Liczba zapisana w systemie dziesiętnym (jeśli alfabet obejmuje cyfry arabskie) lub rzymskim (jeśli alfabet obejmuje znaki I, V, X, L, C, M, D);

Wyrażenie algebraiczne;

Film o dowolnej skończonej długości, wyświetlany na ekranie o ustalonej rozdzielczości i liczbie kolorów (jeśli alfabetem jest zbiór obrazów możliwych do wyświetlenia na tym ekranie).

3.0.3.30. Wyjaśnienie. Słowami nie są:

Ciągi o nieskończonej długości, np. reprezentacje liczb niewymiernych w systemie dziesiętnym - choć już reprezentacje symboliczne, np. 𝜋 - są.

Nieuporządkowane zbiory symboli, np. zbiór samogłosek.

3.0.3.35. Wyjaśnienie. Języki sformalizowane 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.

3.0.3.40. Wyjaśnienie. Metody definiowania języków. Dla każdego alfabetu (nawet jednoelementowego), liczba słów nad tym alfabetem jest nieskończona - przeliczalna (oznaczana ℵ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.

3.0.3.45. Wyjaśnienie. Gramatyki formalne. Gramatyki formalne są najpopularniejszym sposobem opisywania języków sformalizowanych. Opis w postaci gramatyki składa się z:

Określenia symboli alfabetu, na którym zbudowany jest język. Są to tzw. symbole terminalne.

Określenia dowolnego skończonego zbioru symboli pomocniczych, tzw. symboli nieterminalnych

Określenia jednego symbolu startowego, należącego do symboli nieterminalnych.

Określenia pewnego skończonego zbioru reguł przepisywania (zwanych też produkcjami).

Każda reguła, to para słów (lewe → prawe), w których mogą występować symbole terminalne i nieterminalne.

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

Pierwszym elementem ciągu jest słowo złożone z symbolu startowego;

Każde kolejne słowo w ciągu można uzyskać przez zastąpienie w poprzednim słowie fragmentu równego lewemu słowu jakiejś reguły przez prawe słowo tej reguły;

Ostatnim elementem ciągu jest dane słowo.

3.0.3.50. Wyjaśnienie. Przynależność słowa do języka. Nie istnieje ogólna metoda, która dla danej gramatyki formalnej 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 (patrz podrozdział 3.7.6). 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:

Gramatyki regularne – rozpoznawalne przez automaty skończone (patrz podrozdział 3.8.2);

Gramatyki bezkontekstowe – rozpoznawalne przez automaty ze stosem (patrz podrozdział 3.8.3);

Gramatyki kontekstowe – rozpoznawalne przez automaty liniowo ograniczone,

Dowolne gramatyki – w ogólności nierozpoznawalne automatycznie. Ich podzbiór, rozpoznawalny przez maszyny Turinga, definiuje klasę języków określanych jako rekursywne (patrz podrozdział 3.8.4).

3.0.3.55. Wyjaśnienie. Języki sformalizowane a języki naturalne. Języki sformalizowane są używane do opisu języków naturalnych, choć nie jest to łatwe. Od 1956 roku stosowane są np.

tzw. gramatyki generatywne Chomsky’ego. 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.

3.0.3.60. Wyjaśnienie. Aktualnie istnieje wiele systemów komercyjnych przetwarzających język naturalny (np. udostępniony przez firmę Google). Tłumaczenie wolnego tekstu jest bardzo niedokładne, pozwala jednak zrozumieć treść i wspomaga pracę tłumaczy (przyspieszenie nawet 4 razy. Nieco lepsze wyniki zostały osiągnięte w tłumaczeniu tekstów specjalistycznych.

Piśmiennictwo: Pawlak Z. P.2.1., Sipser M. S.7.1., Wirth N. W.5.1.

Outline

Powiązane dokumenty