1.1.5 Wybrane elementy teorii analizy tekstów

Wielkość: px
Rozpocząć pokaz od strony:

Download "1.1.5 Wybrane elementy teorii analizy tekstów"

Transkrypt

1 1.1.5 Wybrane elementy teorii analizy tekstów Poprzednie podrozdziały przedstawiły dwie podstawowe metody formalizacji: formalizację języka danej dziedziny wiedzy oraz formalizację dziedziny wiedzy opisanej matematycznie jako wielosortowa struktura relacyjna. Pokazane przykłady formalizacji ujawniły nam jednak, Ŝe formalizacja dokonywana jest z wykorzystaniem innej wiedzy niŝ wiedza, którą reprezentujemy wykorzystujemy dodatkowo wiedzę o tym jak rozumieć formalnie (logicznie) opisywane reprezentacje wiedzy z danej dziedziny (obrazy, napisy, tabele decyzyjne itp.). ZauwaŜmy, Ŝe w kaŝdym obiekcie reprezentującym wiedzę W moŝe być reprezentowana takŝe wiedza o odniesieniach do wiedzy W, jak i wiedza o tworzeniu (produkcji, konstruowaniu, budowie) tych reprezentacji; ta dodatkowa wiedza jest niezbędna do tego, aby człowiek (agent) dysponując konkretną reprezentacją wiedzy W mógł wiedzę W pozyskać i zrozumieć (ogólnie, przetwarzać tę wiedzę). JeŜeli jakiś konkretny obiekt słuŝący do reprezentacji wiedzy obejmuje wszystkie wyŝej opisane reprezentacje wiedzy: reprezentacje danej wiedzy, reprezentacje wiedzy na jaką wskazują te reprezentacje oraz reprezentacje o budowaniu reprezentacji wiedzy, to te reprezentacje będziemy nazywali tekstami (obiekty zawierające wszystkie z wymienionych typów reprezentacji nazywamy znakami). Przykładami obiektów zawierających czy udostępniających teksty są konkretne ksiąŝki, teksty dowodów twierdzeń czy wyszukiwarki internetowe. W ramach nauki logika, systemy wiedzy o tekstach (znakach) reprezentujących wiedzę i odnoszących się do wiedzy z danej dziedziny wiedzy nazywane są systemami tekstowymi (systemami znakowymi) lub systemami semiotycznymi w dziedzinie logiki zwanej semiotyką. Np. systemami tekstowymi są: wcześniej określana w systemie multimedialnym dowolna rzeczywistość wirtualna, a takŝe system znaków drogowych ustawionych na ulicach miasta, system tekstów mowy pisanej, reprezentującej słownictwo oraz zasady pisowni i zasady gramatyki, system określający język w lingwistyce matematycznej czy teorii automatów, system tekstów definiujących język programowania, systemy notacji języka formalnego sieci semantyczne, systemy BNF, drzew wyprowadzeń oraz drzew struktur budowy formuł. W 1981 r. została wydana ksiąŝka Witolda Marciszewskiego Metody analizy tekstu naukowego. ChociaŜ praca ta była przygotowana dla wydawnictwa jako poradnik, czy przewodnik po wskazanej w tytule ksiąŝki dziedzinie wiedzy, poradnik przeznaczony dla nauczycieli akademickich i studentów, to prezentowała ona takŝe nowatorskie idee oraz wytyczała nowe kierunki badań. Zwłaszcza prekursorskie było zaproponowanie, jako głównego

2 celu logicznej analizy tekstu, badania logicznego związku pomiędzy tematem (tekstem lub symbolem nieterminalnym) a rematem (tekstem lub symbolem terminalnym), tj. pomiędzy tymi fragmentami tekstu, które reprezentują wiedzę potrzebną do wyznaczenia i reprezentowania innej wiedzy, a tymi fragmentami tekstu, które reprezentują wiedzę wyznaczoną na podstawie tematu (symbolu nieterminalnego). W tym ujęciu, istotą logicznej poprawności jednostki tekstu jest występowanie logicznego stosunku pomiędzy tematem (symbolem nieterminalnym) i rematem (symbolem terminalnym). Ten związek logiczny ustala się dokonując formalnego opisu relacji określających zwartość tematyczną tekstów z danej dziedziny wiedzy, do której analizowany tekst naleŝy. Analizowane relacje zwane są relacjami nawiązywania. Na podstawie tych relacji jedne teksty są wyprowadzane z drugich, adekwatnie do wyznaczania jednej wiedzy przez drugą. W sensie wyprowadzalności tekstów, w dowolnym wyprowadzeniu jedne teksty są następnikami innych, w tym teksty wyprowadzane (rematy) są następnikami tekstów (tematów), z którymi pozostają w relacji nawiązywania. Relacja bycia następnikiem ustala pewien porządek tekstów, umoŝliwiający wykorzystanie do badania struktury tematycznej tekstu aparatu pojęciowego teorii krat. Ze względu na znaczenie pojęć tematu i rematu dla analizy tekstu, postuluje się utworzenie teorii, którą Autor omawianej pracy proponuje nazwać logiczną teorią tekstu. Standardowe procedury logicznej analizy tekstu mogły być rozpoznane dzięki określaniu języków programowania i zastosowaniom tych języków do implementacji algorytmów rozwiązujących zadania informatyczne, np. w programowaniu logicznym języka Prolog, czy bardziej dojrzałej postaci tego języka - języka Turbo Prolog 1. Języki programowania określa się uŝywając symboli nieterminalnych (tematów) oznaczających operacje tworzące słowa języka z symboli terminalnych (rematów). Działanie wyszukiwarki internetowej wiąŝe podany prze uŝytkownika temat poszukiwań z z rematem wynikiem tych poszukiwań. Definicja tekstu w edytorze TEX jest tematem edycji, a rematem jest wynik kompilacji tej definicji przez stosowny program edytora. W informatyce sformułowanie zadania (problemu) zawiera: dane wejściowe, stanowiące temat zadania oraz dane wyjściowe, stanowiące jego remat. W zapisie programu, tematy są zaimplementowane jako ciągi instrukcji przetwarzających dane wejściowe w dane wyjściowe, rematy są określone przez instrukcji określające, które z uzyskanych danych są wyjściowe oraz instrukcje ustalające zatrzymanie realizacji programu (instrukcje stop ). Istotą programowania logicznego jest, jak się zazwyczaj postuluje: 1) taka formalizacja tekstu zadania, wyraŝonego w języku jakiejś dziedziny wiedzy, która reprezentuje (wyraŝa, przedstawia) wiedzę logiczną o danych i faktach, do których odwołuje się (nawiązuje) tekst zadania, a więc reprezentacja tego co jest dla tego tekstu i dla danej dziedziny wiedzy 1 Przystępne wprowadzenie do programowania w języku Turbo Prolog moŝna znaleźć w: J. Szajna, M. Adamski, T. Kozłowski, Programowanie w języku logiki, Warszawa 1991.

3 tematem, utoŝsamianym w programowaniu logicznym z siecią semantyczną, 2) formalizacja relacji nawiązywania, ustalających sekwencje operacji prowadzących od danych i faktów do innych danych i faktów lub do nowych danych (szukanych) i ustaleń (tj. do rematu); w programowaniu logicznym sekwencjom tych operacji odpowiada przestrzeń rozwiązań, a zbiorowi relacji nawiązywania - baza wiedzy, 3) formalizacja wszystkich faktów określonych przez relacje nawiązywania występujące w tekście zadania; w programowaniu logicznym reprezentacji tych faktów odpowiada dynamiczna baza danych, 4) formalizacja zbioru danych, niekoniecznie występujących w tekście zadania, do których trzeba się odwołać, aby uzyskać to co jest szukane; w programowaniu logicznym odpowiada temu zewnętrzna baza danych, formalizacja zapytań, określających to co szukane i co ma być ustalone, a więc reprezentacja tego co jest dla danego tekstu zadania rematem. Podsumowując rozwaŝania dotyczące formalizacji naszkicujemy aparat pojęciowy umoŝliwiający sformułowanie logicznej teorii tekstu, podając stosowne postulaty znaczeniowe w języku teorii mnogości. Przez wiedzę będziemy rozumieć, jak poprzednio, informację przetwarzaną w umyśle człowieka, a przez reprezentację wiedzy, przedstawianie (kodowanie) wiedzy za pomocą róŝnorakich środków w ramach systemów komunikacji międzyludzkiej. Reprezentacje wiedzy są więc tekstami. Zrelatywizowanie reprezentacji wiedzy do dziedzin wiedzy prowadzi do wyodrębnienia tekstowych dziedzin wiedzy, a wyraŝanie tych tekstów w jakimś języku, do wyodrębnienia języka dziedziny wiedzy. Gdy wszystkie równokształtne teksty reprezentują tę samą wiedzę (w szczególności są pusto spełnione), a równokształtność jest kongruencją w tekstowej dziedzinie wiedzy, to tekstową dziedzinę wiedzy nazywamy systemem reprezentacji wiedzy Analiza tekstu w tekstowej dziedzinie wiedzy Strukturę relacyjną < U, U 0, ε, R> nazywamy tekstową dziedziną wiedzy, gdy U jest niepustym zbiorem wszystkich tekstów reprezentujących wiedzę z pewnej dziedziny, U 0 wyróŝnionym niepustym podzbiorem zbioru U zwanym bazą tekstową, ε jest relacją częściowego porządku określoną na zbiorze U zwaną relacją bycia częścią tekstów, a R jest ustalonym zbiorem relacji określonych w U zwanych relacjami nawiązywania tekstów.

4 Niech TDW = < U, U 0, ε, R> jest tekstową dziedziną wiedzy. (a) Dwa teksty α,β U są równokształtne, gdy dwie struktury relacyjne powstałe przez ograniczenie uniwersum struktury TDW odpowiednio do zbiorów {t U : t ε α}, {t U : t ε β}, są izomorficzne oraz części tekstu α pozostają w tych samych relacjach w strukturze TDW co ich obrazy izomorficzne będące częściami tekstu β. (b) Tekst α jest wyprowadzalny ze zbioru tekstów X U, co zapisujemy X - R α, gdy istnieje taki tekst β, zwany wyprowadzeniem tekstu α ze zbiory X, i istnieje taki ciąg tekstów α 1, α 2,..., α n U, Ŝe spełnione są warunki (1) teksty α 1, α 2,..., α n zawarte są w tekście β, (2) α n = α, (3) dla dowolnych i n: bądź α i X, bądź istnieją takie i 1, i 2,..., i k < i oraz istnieje taka relacja r R, Ŝe <α i1, α i2,..., α ik,, α i > r (4) β jest najmniejszym tekstem w <U, ε > spełniającym warunki (1)-(3). (c) Ramą zbioru tekstów X U jest zbiór Fr(X) = {α U : X - R α } (d) Poprawnie zbudowanymi są teksty naleŝące do zbioru Fr(U 0 ). (e) Dla dowolnych tekstów α, β U, α β wttw istnieje taki zbiór X tekstów, Ŝe β X i X - R α i nieprawdą jest X\{β} - R α, napis α β czytamy: α nawiązuje do β, lub α jest następnikiem β, (f) Dla dowolnego tekstu α U, zbiór Parts(α) = {t U : t ε α} zwany jest budową tekstu α. (g) Tekst β jest rematem tekstu α wttw β Fr(U 0 ), α β, β Parts(α) oraz nie istnieje taki tekst t Parts(α), Ŝe t β; innymi słowy: tekst β jest rematem tekstu α, gdy jest wyprowadzalny z tekstów bazowych (nawiązuje do tych tekstów), jest częścią właściwą tekstu α oraz Ŝadna część tekstu α nie jest jego następnikiem; intuicyjnie, remat danego tekstu jest tą jego częścią, która nie słuŝy do zrozumienia innych części tego tekstu, a jedynie sama moŝe być zrozumiana dzięki nawiązaniu do wcześniejszych tekstów, (h) Tekst t jest tematem tekstu α wttw t Fr(U 0 ), α t, t Parts(α) oraz kaŝdy następnik t naleŝący do Parts(α) jest rematem α; innymi słowy: tekst t jest tematem tekstu α, gdy jest jego częścią właściwą, której kaŝdy następnik będący częścią α jest rematem; intuicyjnie, tematem danego tekstu jest kaŝda jego właściwa część, która słuŝy do zrozumienia rematu tego tekstu, tak więc, aby zrozumieć remat nawiązujemy najpierw do tematów, a następnie do tekstów, z których tematy są wyprowadzone, (i) Dowolny tekst jest jednostką tekstu, gdy posiada w swojej budowie rematy i tematy oraz gdy ze zbioru wszystkich tematów tego tekstu wyprowadzalny jest kaŝdy z rematów. ZauwaŜmy, Ŝe dowolne wyprowadzenie tekstu poprawnie zbudowanego jest jednostką tekstu.

5 Definicja systemu reprezentacji wiedzy WaŜne jest takŝe stwierdzenie, Ŝe dla dowolnej tekstowej dziedziny wiedzy TDW, w której wszystkie równokształtne teksty reprezentują tę samą wiedzę, jeŝeli relacja ~ równokształtności tekstów jest kongruencją w TDW (tj. zachodzenie relacji pomiędzy danymi tekstami przechodzi na zachodzenie tych samych relacji pomiędzy tekstami równokształtnymi do odpowiednich danych tekstów, np. jeśli relacja(tekst1, tekst2) i tekst1~tekst1 oraz tekst2~tekst2, to relacja(tekst1, tekst2 )), to struktura ilorazowa TDW/~ jest takŝe tekstową dziedziną wiedzy. Uzasadnione jest więc sformułowanie następującej definicji: Niech w tekstowej dziedzinie wiedzy TDW wszystkie równokształtne teksty reprezentują tę samą wiedzę, a relacja ~ równokształtności tekstów jest kongruencją w TDW. Wtedy strukturę ilorazową TDW/~ nazywamy systemem reprezentacji wiedzy, relacje nawiązywania nazywamy relacjami konkatenacji, a o wyprowadzeniu danego tekstu mówimy, Ŝe jest konkatenacją pewnego ciągu tekstów określonego przez definicję wyprowadzenia tekstu. Tekstami są typy, tj. zbiory wszystkich tekstów równokształtnych w TDW Definicja języka sformalizowanego Przyjmijmy dalej, Ŝe wiedza logiczna jest informacją przetwarzaną w umyśle identyfikującą ogólną budowę, cechy i przyporządkowania wszelkich obiektów odnoszących się do danej dziedziny wiedzy oraz identyfikującą relacje pomiędzy tymi obiektami. Język, w którym przedstawiamy schematycznie, za pomocą schematów, tj. formuł, wzorów, planów, diagramów itp., wiedzę logiczną nazywamy językiem sformalizowanym. Język ten jest określony przez cztery zbiory symboli < Al, Tr, Fm, W>, Al jest alfabetem, Tr zbiorem termów, Fm zbiorem formuł, a W jest rodziną zbiorów formuł takich, Ŝe do kaŝdego z tych zbiorów naleŝą formuły reprezentujące wiedzę o tej samej wartości logicznej. Alfabet składa się ze stałych i zmiennych indywiduowych, będących zarazem termami, symboli funkcyjnych wiąŝących stałe i zmienne w termy, predykatów wiąŝących stałe i zmienne w formuły, spójników wiąŝących formuły w inne formuły, kwantyfikatorów wiąŝących zmienne i formuły w inne formuły oraz symboli pomocniczych (np. nawiasów, ramek, kropek, linii, strzałek itd.). Przykładem języka sformalizowanego jest język będący wynikiem formalizacji (schematyzacji) języka dowolnej dziedziny wiedzy.

6 Definicja systemu reprezentacji wiedzy Systemem reprezentacji wiedzy logicznej nazywamy system reprezentacji wiedzy, w którym zbiorem tekstów bazowych jest zbiór wszystkich symboli języka sformalizowanego, a zbiór relacji konkatenacji pozwala 1) wyróŝnić wszystkie składniki języka sformalizowanego, 2) wyprowadzić formuły poprawnie zbudowane, 3) tworzyć teksty wywodów prowadzących od formuł o określonej wartości logicznej do formuł o określonej wartości logicznej (niezmienniczość wartości logicznych względem wywodów). Systemy reprezentacji wiedzy logicznej są niekiedy nazywane logikami. W podrozdziale 1.2 określimy system zwany logiką pierwszego rzędu Pojęcie języka w lingwistyce matematycznej Najprostszymi przykładami systemów tekstowych w lingwistyce matematycznej lub teorii automatów skończonych albo teorii obliczeń (takŝe teorii algorytmów) są systemy dla których określamy pewne języki sformalizowane zwane językami abstrakcyjnymi, krótko językami. Niech V jest dającym się określić zbiorem, zwanym alfabetem, którego elementy nazywane są literami, dowolne ciągi liter słowami. KaŜdą literę moŝna utoŝsamiać ze słowem. Alfabet jest tak określony, Ŝe moŝna w nim wyróŝnić jedną literę oznaczaną symbolem Λ. Słowo zbudowane tylko z litery Λ nazywa się słowem pustym. Liczbę liter w słowie określa się jako liczbę liter l(x) w ciągu x, ale dla słowa pustego przyjmuje się: l(λ)=0. Dalej, określa się relację dwuargumentową zwaną konkatenacją w taki sposób, Ŝe dla dwu dowolnych słów x, y konkatenacją jest słowo będące sklejeniem tych słów oznaczane xy lub x y. Przyjmuje się dla dowolnego słowa x, Ŝe Λx = xλ = x. Posługując się słowem pustym moŝna w sposób prosty zdefiniować zawieranie się słowa x w słowie y: x zawiera się w y wtedy i tylko wtedy, gdy istnieją takie słowa w 1, w 2, Ŝe y=w 1 xw 2. Zbiór V* zwany zbiorem słów nad alfabetem V moŝemy określić takŝe rekurencyjnie: S1. Λ V*, S2. s V* x V xs, S3. nic innego nie jest słowem. Podobnie, długość l(x) słowa x moŝna określić rekurencyjnie: L1. l(λ) = 0, L2. x V s V* l(xs) = 1+l(s).

7 Dowolny podzbiór L zbioru słów V* nazywamy językiem abstrakcyjnym lub krótko językiem. Niech zbiór T V jest zbiorem liter zwanych literami terminalnymi. Litery, które nie są terminalne będziemy nazywać nieterminalnymi. WyróŜnijmy jedno słowo nieterminalne S. Słowo to nazywamy wyjściowym. Określmy funkcję częściową π przyporządkowującą pewnym słowom pewne litery nieterminalne. Funkcję π nazywamy operacją przypisania słów literom nieterminalnym. Przypisanie słowa s literze nieterminalnej M, jako słowu, nazywamy regułą produkcji i oznaczamy: M::=s lub M s. Wprowadzamy następującą operację wyprowadzalności: słowo s 2 jest wyprowadzane ze słowa s 1 wtedy i tylko wtedy, gdy dla pewnej reguły produkcji M::=s jeśli M jest literą naleŝąca do słowa s 1 i zastąpimy ją w kaŝdym miejscu, gdzie występuje w słowie s 1 przez słowo s, to w wyniku tego postawienia otrzymamy słowo s 2. JeŜeli dla słowa s 1 Ms 2 zastosujemy regułę M::=s, to otrzymamy słowo s 1 ss 2. Układ G = <V, T, S, π> nazywamy gramatyką bezkontekstową. PoniewaŜ, dla operacji przypisania, kaŝdemu słowu naleŝącemu do dziedziny tej operacji, odpowiada litera nieterminalna, która moŝe teŝ być słowem naleŝącym do dziedziny operacji przypisania, więc moŝna iterować (wielokrotnie stosować) operację przypisania do danego słowa. Gdy po tych iteracjach operacji przypisania, dla danego słowa przypisanego słowu wyjściowemu S, moŝna przekształć to słowo w słowo będące konkatenacją tyko symboli terminalnych, to takie słowo nazywać będziemy akceptowalnym lub generowanym przez gramatykę G. Zbiór słów w tym sensie akceptowalnych określa język bezkontekstowy L(G). Przykład Zbiór V = {Λ, S, A, B, 0, 1}, gdzie T = {0, 1} z regułami produkcji: S::= SAB, S::= Λ A::= 0, B::= 1 określa gramatykę bezkontekstową języka bezkontekstowego L V*. PokaŜemy, Ŝe słowo 0101 jest generowane przez tę gramatykę (akceptowalne). 1. S słowo wyjściowe, 2. SAB Reg. S::= SAB,

8 3. S0B Reg. A::= 0, 4. S01 Reg. B::= 0, 5. SAB01 Reg. S::= SAB, 6. S0B01 Reg. A::= 0, 7. S0101 Reg. B::= 0, 8. Λ0101 Reg. S::= Λ 0101 z Λ0101=0101 na podstawie własności konkatenacji. Przykład Implementacja powyŝszego przykładu w języku Turbo Prolog PREDICATES /*deklaracje predykatów */ litera_alfabetu(string) /*predykat uznający litery w jednoelementowych łańcuchach za litery budowanego języka */ litera_terminalna(string) /*predykat ustalajacy, Ŝe litera w jednoelementowym łańcuchu jest literą terminalną */ słowo(string) /* predykat ustalający, Ŝe łańcuch liter jest słowem */ CLAUSES /*deklaracja formuł klauzul faktów i reguł */ /* deklaracja liter alfabetu */ litera_alfabetu(""). /* "" - słowo puste */ litera_alfabetu("s"). litera_alfabetu("a"). litera_alfabetu("b"). litera_alfabetu("0"). litera_alfabetu("1"). /* deklaracja liter terminalnych */ litera_terminalna("0"). litera_terminalna("1"). /* deklaracja słów */ słowo(x) :- litera_alfabetu(x). słowo(z) :- słowo(x), słowo(y), concat(x,y,z).

9 /* concat(x,y,z) jest standardowym zapisem tworzącym dla łańcuchów słów X, Y ich konkatenację Z=XY lub dla X,Z znajdujący Y, lub dla Y,Z znajdujący X */ Przykład Relacje i operacje na tekstach (łańcuchach znaków, słowach języka) PREDICATES zawieranie(string,string) /* zawieranie(t1,t2) tekst T1 zawarty jest w tekście T2, np. tekst bc zawarty jest w tekście aabcd */ podstawienie(string,string,string,string) /* podstawienie(t1,t2,t3,t4) tekst T4 jest wynikiem podstawienia tekstu T1 za tekst T2 w tekście T3 na pierwszym miejscu, na którym tekst T2 występuje w tekście T3. Np. tekst aabbc jest wynikiem podstawienie tekstu a za tekst b na pierwszym miejscu w tekście abbbc, gdzie tekst b występuje */ poczatek(string,string,string) /* poczatek(t1,t2,p) tekst P jest częścią tekstu T2 poprzedzającą występowanie w nim tekstu T1 */ koniec(string,string,string) /* koniec(t1,t2,p) tekst P jest częścią tekstu T2 następującą po występowaniu w nim tekstu T1 */ podstawienie_globalne(string,string,string,string) /* podstawienie_globalne(t1,t2,t3,t4) tekst T4 jest wynikiem podstawienia tekstu T1 za tekst T2 w tekście T3 w kaŝdym miejscu, na którym tekst T2 występuje w tekście T3. Np. tekst aaaac jest wynikiem podstawienie tekstu a za tekst b w kaŝdym miejscu w tekście abbbc, gdzie tekst b występuje */ cyfra(string)

10 /* predykat cyfra(t)rozpoznaje wśród łańcuchów znaków cyfry: 0, 1,... 9 */ ciag_cyfr(string) /* predykat ciag_cyfr(t)rozpoznaje wśród łańcuchów znaków ciągi cyfr: np. 019 */ ciag_cyfr_w_tekscie(string,string,string) /* ciag_cyfr_w_tekscie(t,l,r) L jest ciągiem cyfr na początku tekstu T, a R jest pozostałą częścią tekstu T */ napis_liczby(string) /* predykat napis_liczby(t) rozpoznaje wśród ciągów cyfr napisy liczb, tj. ciągi cyfr nie zaczynające się od cyfry 0 */ napis_liczby_w_tekscie(string,string,string) /* - predykat rozpoznaje na początku tekstu napis liczby oraz wyróŝnia pozostałą część takstu */ CLAUSES % % ZAWIERANIE TEKSTÓW % zawieranie("",""). zawieranie(t1,t2):- T2<>"",concat(T1,_,T2); T2<>"",frontStr(1,T2,_,N_T2), zawieranie(t1,n_t2). /* występowanie w argumencie formuły atomowej symbolu _ oznacza, Ŝe istnieje jakaś wartość tego argumentu przy której formuła ta zachodzi; wyraŝenie postaci frontstr(1,t2,_,n_t2)oznacza, Ŝe z tekstu T2 została pobrana pierwsza litera i reszta po pobraniu tej litery jest tekstem N_T2;

11 zawieranie tekstów zostało określone rekurencyjnie: 1) tekst pusty zawiera się w tekście pustym, 2) zawieranie tekstu T1 w tekście T2 zachodzi, gdy istnieje jakiś tekst taki, Ŝe konkatenacja T1 z tym tekstem daje tekst T2, jeśli tak nie jest, to sprawdzamy ten warunek po popraniu a tekstu T2 pierwszej litery, a pobieranie liter powtarzamy do momentu uzyskania zawierania, lub do momentu otrzymania tekstu pustego, a wtedy zawieranie nie zachodzi */ T2<>"",concat(T1,K,T2),!; T2<>"",frontStr(1,T2,_,N_T2), koniec(t1,n_t2,k). /* prosimy o wyjaśnienie powyŝszej reguły: określenie tekstu K, który przy zawieraniu tekstu T1 w tekście T2 jest pozostałą częścią tekstu T2 występującą po pierwszym zakończeniu tekstu T1 (tekst T1 moŝe wystąpić w róŝnych miejscach tekstu T2) */ koniec(t1,t2,k):- poczatek(t1,t2,p):- koniec(t1,t2,k),concat(t,k,t2),concat(p,t1,t). /* poczatek(t1,t2,p)- zachodzi przy zawieraniu tekstu T1 w tekście T2; jeśli za pomocą predykatu konkatenacji i predykatu koniec pomniejszymy T2 o koniec K, a tekst który pozostanie pomniejszymy o tekst T1, to otrzymamy szukany początek P występujący w tekście T2 przed tekstem T1; P moŝe być tekstem pustym */ % % PODSTAWIANIE TEKSTU ZA TEKST W TEKŚCIE podstawienie(t1,t2,t3,t4):- T1<>T2, T3<>"", poczatek(t2,t3,p),koniec(t2,t3,k),!, concat(p,t1,t),concat(t,k,t4). /* podstawienie(t1,t2,t3,t4) pierwsze, jednokrotne, podstawienie tekstu T1 za tekst T2 w tekście T3, w wyniku czego otrzymujemy tekst T4; prosimy o wyjaśnienie podanej reguły */

12 podstawienie(t1,t2,t3,n_t3),!, podstawienie_globalne(t1,t2,n_t3,t4); T4=T3,!. /* podstawienie_globalne(t1,t2,t3,t4) kolejne podstawienia tekstu T1 za tekst T2 w tekście T3 wszędzie tam gdzie tekst T2 występuje przy pierwszym i po następnych podstawieniach, w wyniku czego otrzymujemy tekst T4; prosimy o wyjaśnienie podanej reguły */ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % NAPIS LICZBY % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% cyfra("0"). cyfra("1"). cyfra("2"). cyfra("3"). cyfra("4"). cyfra("5"). cyfra("6"). cyfra("7"). cyfra("8"). cyfra("9"). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Rozpoznawanie napisu jako ciągu cyfr %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X<>"", cyfra(x),!; X<>"", cyfra(c), concat(c,n_x,x),cyfra(n_x),!; X<>"", cyfra(c), concat(c,n_x,x),!, ciag_cyfr(n_x). podstawienie_globalne(t1,t2,t3,t4):- ciag_cyfr(x):- napis_liczby(x):- X= 0,!; ciag_cyfr(x),frontstr(1,x,c,_),c<>"0",!.

13 % Rozpoznawanie ciągu cyfr na początku napisu ciag_cyfr_w_tekscie("","",""). T<>"",ciag_cyfr(T),L=T,R="",!; T<>"", frontstr(1,t,l,r),cyfra(l), frontstr(2,t,l1,_),not(ciag_cyfr(l1)); T<>"", frontstr(1,t,c,n_t), cyfra(c), ciag_cyfr_w_tekscie(n_t,n_l,r), concat(c,n_l,l). ciag_cyfr_w_tekscie(t,l,r):- napis_liczby_w_tekscie(t,l,r):- ciag_cyfr_w_tekscie(t,l,r), frontstr(1,l,c,_),c<>"0",!. Problem Wykorzystując podane implementacje dokonać implementacji definicji języka niekontekstowego w języku Turbo Prolog Notacja Backusa-Naura (BNF) KaŜdy język programowania trzeba poprawnie zdefiniować i opisać reguły produkcji (tworzenia) napisów poprawnych i dopuszczalnych w tym języku. Trzeba to uczynić nie tylko dla uczących się tego języka programistów, lecz takŝe na uŝytek translatorów (kompilatorów), których przecieŝ podstawowym zadaniem jest rozstrzyganie, czy dany ciąg symboli źródłowych jest programem. Aby opis języka programowania był formalny, trzeba do tego celu uŝywać pewnego nadjęzyka, czyli metajęzyka. Takim metajęzykiem jest właśnie notacja zaproponowana pierwszy raz przez Backusa, a zastosowana na szeroką skalę przez duńskiego informatyka Naura. Wprowadzona notacja jest wynikiem prowadzenia specyficznej metody budowy języków bezkontekstowych, w których symbole nieterminalne są pisanymi w nawiasach <,> symbolami reprezentującymi nazwy składników metajęzyka słuŝącego do opisu budowy języka formalnego, w tym najczęściej języka programowania. Do opisu ciągu reguł produkcji słów uznanych za poprawnie zbudowane, ciągu postaci: N x 1, N x 2, N x 3, N x 4,, N x k, stosuje się bardzo uŝyteczną umowę notacyjną, ciąg tych reguł zapisuje się w postaci: N::= x 1 x 2 x 3 x 4... x k.

14 W notacji Backusa-Naura występują zmienne metajęzykowe (reprezentujące nazwy składników języka formalnego) oznaczone przy pomocy dowolnych napisów ujętych w nawiasy kątowe <, >, symbol ::= oraz kreska pionowa (rozumiana jako albo ). Symbol ::= ma znaczenie z definicji równa się. Przykładowo podamy określenie cyfry, litery i identyfikatora w języku Pascal: <cyfra> ::= , co czytamy cyfrą w Pascalu z definicji jest 0 albo 1, albo 2, itd. <litera> ::= a b c... x y z A B C... X Y Z, <identyfikator> ::= <litera> <identyfikator><litera> <identyfikator><cyfra>. Tę ostatnią definicję czytamy identyfikator jest literą albo ciągiem identyfikatora i litery (ich konkatenacją, np. Aa), albo ciągiem identyfikatora i cyfry (ich konkatenacją, np. A1). Przykład Rozpatrzmy język wyraŝeń algebraicznych. Symbolami nieterminalnymi są: <zmienna>, <operacja>, <wyraŝenie>, zaś terminalnymi symbole liter: A, B,, Z, i symbole działań: +, -,, /, a ponadto symbole nawiasów: (,) oraz symolbol równości: =. Symbolem wyjściowym (początkowym) jest <wyraŝenie>. Określmy reguły produkcji języka wyraŝeń algebraicznych następująco: <zmienna>::= A B Z <operacja>::= + - / ^ <relacja>::= < = > <nawiasy>::= <nawias lewy> <nawias prawy> <nawias lewy>::= ( <nawias prawy>::= ) <wyraŝenie>::=<zmienna> <nawias lewy><wyraŝenie><operacja><wyraŝenie><nawias prawy> <nawias lewy>-<wyraŝenie><nawias prawy> <nawias lewy> +<wyraŝenie><nawias prawy> <wyraŝenie> <wyraŝenie><relacja><wyraŝenie>. Stosując zapis strzałkowy dla reguł produkcji moŝemy wywód wyraŝenia (A- (B ((A+C))/D)) napisać w postaci: <wyraŝenie> <nawias lewy><wyraŝenie><operacja><wyraŝenie><nawias prawy> (A-<nawias lewy><wyraŝenie><operacja><wyraŝenie><nawias prawy>)

15 (A-(B <nawias lewy><wyraŝenie><operacja><wyraŝenie><nawias prawy>)) (A-(B (<wyraŝenie>/d))) (A-(B (<nawias lewy><wyraŝenie><operacja><wyraŝenie> <nawias prawy>/d))) (A-(B ((A+C)/D))) JeŜeli zbiór reguł produkcji tekstu rozszerzymy o operacje pozwalające podstawiać za dowolnie wybrane zmienne <wyraŝenie>, co np. dla zmiennej A zapisujemy w skrócie A := <wyraŝenie>, zamiast zapisu reguły produkcji <wyraŝenie>::= A:= <wyraŝenie>, to tak określoną regułę produkcji będziemy nazywać regułą przypisania. Reguła przypisania najczęściej jest uŝywana w językach programowania do implementacji obliczeń liczbowych lub przetwarzania tekstów. Przykład Operacja przypisania dla wyraŝeń algebraicznych. Niech w zaproponowanym języku wyraŝeń algebraicznych określone jest takŝe tworzenie napisów liczbowych w notacji dziesiętnej dla symbolu nieterminalnego <napis liczby>. Wykorzystując zaproponowaną notację reguły przypisania zapisać tekst obliczenia wyraŝenia: 3,145 2, wykorzystując w zapisie wyniku kaŝdej operacji tylko jedną zmienną X (tak wykorzystywane zmienne reprezentują rejestry pamięci komputera; minimalna ilość wykorzystanych zmiennych oznacza wykorzystanie minimalnego obszaru pamięci komputera). Obliczenie: 1. X:=2 2. X:= X 3. X:=(X 3,415) 4. X:= X

Wykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu.

Wykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu. Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki Wykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu. 1 Logika Klasyczna obejmuje dwie teorie:

Bardziej szczegółowo

Logiczna analiza tekstu

Logiczna analiza tekstu Logiczna analiza tekstu Większość współczesnych środków informatycznych obsługujących Internet wykorzystuje lepiej lub gorzej określone operacje i reguły logicznej analizy tekstu. W tym kontekście, znajomość

Bardziej szczegółowo

Wprowadzenie: języki, symbole, alfabety, łańcuchy Języki formalne i automaty. Literatura

Wprowadzenie: języki, symbole, alfabety, łańcuchy Języki formalne i automaty. Literatura Wprowadzenie: języki, symbole, alfabety, łańcuchy Języki formalne i automaty Dr inŝ. Janusz Majewski Katedra Informatyki Literatura Aho A. V., Sethi R., Ullman J. D.: Compilers. Principles, Techniques

Bardziej szczegółowo

Wykład 6. Reguły inferencyjne systemu aksjomatycznego Klasycznego Rachunku Zdań

Wykład 6. Reguły inferencyjne systemu aksjomatycznego Klasycznego Rachunku Zdań Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki Wykład 6. Reguły inferencyjne systemu aksjomatycznego Klasycznego Rachunku Zdań System aksjomatyczny logiki Budując logikę

Bardziej szczegółowo

Gramatyki, wyprowadzenia, hierarchia Chomsky ego. Gramatyka

Gramatyki, wyprowadzenia, hierarchia Chomsky ego. Gramatyka Gramatyki, wyprowadzenia, hierarchia Chomsky ego Teoria automatów i języków formalnych Dr inŝ. Janusz Majewski Katedra Informatyki Gramatyka Gramatyką G nazywamy czwórkę uporządkowaną gdzie: G =

Bardziej szczegółowo

Adam Meissner.

Adam Meissner. Instytut Automatyki i Inżynierii Informatycznej Politechniki Poznańskiej Adam Meissner Adam.Meissner@put.poznan.pl http://www.man.poznan.pl/~ameis SZTUCZNA INTELIGENCJA Podstawy logiki pierwszego rzędu

Bardziej szczegółowo

Języki programowania zasady ich tworzenia

Języki programowania zasady ich tworzenia Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 1

Języki formalne i automaty Ćwiczenia 1 Języki formalne i automaty Ćwiczenia Autor: Marcin Orchel Spis treści Spis treści... Wstęp teoretyczny... 2 Wprowadzenie do teorii języków formalnych... 2 Gramatyki... 5 Rodzaje gramatyk... 7 Zadania...

Bardziej szczegółowo

JAO - Wprowadzenie do Gramatyk bezkontekstowych

JAO - Wprowadzenie do Gramatyk bezkontekstowych JAO - Wprowadzenie do Gramatyk bezkontekstowych Definicja gramatyki bezkontekstowej Podstawowymi narzędziami abstrakcyjnymi do opisu języków formalnych są gramatyki i automaty. Gramatyka bezkontekstowa

Bardziej szczegółowo

Symbol, alfabet, łańcuch

Symbol, alfabet, łańcuch Łańcuchy i zbiory łańcuchów Teoria automatów i języków formalnych Dr inŝ. Janusz Majewski Katedra Informatyki Symbol, alfabet, łańcuch Symbol Symbol jest to pojęcie niedefiniowane (synonimy: znak, litera)

Bardziej szczegółowo

Definicje. Algorytm to:

Definicje. Algorytm to: Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi

Bardziej szczegółowo

Matematyczne Podstawy Informatyki

Matematyczne Podstawy Informatyki Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Automat ze stosem Automat ze stosem to szóstka

Bardziej szczegółowo

Programowanie deklaratywne

Programowanie deklaratywne Programowanie deklaratywne Artur Michalski Informatyka II rok Plan wykładu Wprowadzenie do języka Prolog Budowa składniowa i interpretacja programów prologowych Listy, operatory i operacje arytmetyczne

Bardziej szczegółowo

Predykat. Matematyka Dyskretna, Podstawy Logiki i Teorii Mnogości Barbara Głut

Predykat. Matematyka Dyskretna, Podstawy Logiki i Teorii Mnogości Barbara Głut Predykat Weźmy pod uwagę następujące wypowiedzi: (1) Afryka jest kontynentem. (2) 7 jest liczbą naturalną. (3) Europa jest mniejsza niż Afryka. (4) 153 jest podzielne przez 3. Są to zdania jednostkowe,

Bardziej szczegółowo

Wprowadzenie do logiki Zdania, cz. III Język Klasycznego Rachunku Predykatów

Wprowadzenie do logiki Zdania, cz. III Język Klasycznego Rachunku Predykatów Wprowadzenie do logiki Zdania, cz. III Język Klasycznego Rachunku Predykatów Mariusz Urbański Instytut Psychologii UAM Mariusz.Urbanski@amu.edu.pl Plan na pytanie o odniesienie przedmiotowe zdań odpowiedź

Bardziej szczegółowo

Matematyczne Podstawy Informatyki

Matematyczne Podstawy Informatyki Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Gramatyki bezkontekstowe I Gramatyką bezkontekstową

Bardziej szczegółowo

GRAMATYKI BEZKONTEKSTOWE

GRAMATYKI BEZKONTEKSTOWE GRAMATYKI BEZKONTEKSTOWE PODSTAWOWE POJĘCIE GRAMATYK Przez gramatykę rozumie się pewien układ reguł zadający zbiór słów utworzonych z symboli języka. Słowa te mogą być i interpretowane jako obiekty językowe

Bardziej szczegółowo

MATEMATYKA DYSKRETNA, PODSTAWY LOGIKI I TEORII MNOGOŚCI

MATEMATYKA DYSKRETNA, PODSTAWY LOGIKI I TEORII MNOGOŚCI MATEMATYKA DYSKRETNA, PODSTAWY LOGIKI I TEORII MNOGOŚCI Program wykładów: dr inż. Barbara GŁUT Wstęp do logiki klasycznej: rachunek zdań, rachunek predykatów. Elementy semantyki. Podstawy teorii mnogości

Bardziej szczegółowo

2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego

2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego 2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego Gramatyka Gramatyką G nazywamy czwórkę uporządkowaną G = gdzie: N zbiór symboli nieterminalnych, T zbiór symboli terminalnych, P zbiór

Bardziej szczegółowo

Zadanie analizy leksykalnej

Zadanie analizy leksykalnej Analiza leksykalna 1 Teoria kompilacji Dr inŝ. Janusz Majewski Katedra Informatyki Zadanie analizy leksykalnej Przykład: We: COST := ( PRICE + TAX ) * 0.98 Wy: id 1 := ( id 2 + id 3 ) * num 4 Tablica symboli:

Bardziej szczegółowo

PODSTAWY SZTUCZNEJ INTELIGENCJI

PODSTAWY SZTUCZNEJ INTELIGENCJI Katedra Informatyki Stosowanej Politechnika Łódzka PODSTAWY SZTUCZNEJ INTELIGENCJI Laboratorium PROGRAMOWANIE SYSTEMÓW EKSPERTOWYCH Opracowanie: Dr hab. inŝ. Jacek Kucharski Dr inŝ. Piotr Urbanek Cel ćwiczenia

Bardziej szczegółowo

Wprowadzenie. Teoria automatów i języków formalnych. Literatura (1)

Wprowadzenie. Teoria automatów i języków formalnych. Literatura (1) Wprowadzenie Teoria automatów i języków formalnych Dr inŝ. Janusz Majewski Katedra Informatyki Literatura (1) 1. Aho A. V., Sethi R., Ullman J. D.: Compilers. Principles, Techniques and Tools, Addison-Wesley,

Bardziej szczegółowo

Monoidy wolne. alfabetem. słowem długością słowa monoidem wolnym z alfabetem Twierdzenie 1.

Monoidy wolne. alfabetem. słowem długością słowa monoidem wolnym z alfabetem Twierdzenie 1. 3. Wykłady 3 i 4: Języki i systemy dedukcyjne. Klasyczny rachunek zdań. 3.1. Monoidy wolne. Niech X będzie zbiorem niepustym. Zbiór ten będziemy nazywać alfabetem. Skończony ciąg elementów alfabetu X będziemy

Bardziej szczegółowo

Lingwistyka Matematyczna Języki formalne i gramatyki Analiza zdań

Lingwistyka Matematyczna Języki formalne i gramatyki Analiza zdań Katedra Informatyki Stosowanej Politechnika Łódzka Lingwistyka Matematyczna Języki formalne i gramatyki Analiza zdań dr hab. inŝ. Lidia Jackowska-Strumiłło Historia rozwoju języków programowania 1955 1955

Bardziej szczegółowo

RACHUNEK ZDAŃ 7. Dla każdej tautologii w formie implikacji, której poprzednik również jest tautologią, następnik także jest tautologią.

RACHUNEK ZDAŃ 7. Dla każdej tautologii w formie implikacji, której poprzednik również jest tautologią, następnik także jest tautologią. Semantyczne twierdzenie o podstawianiu Jeżeli dana formuła rachunku zdań jest tautologią i wszystkie wystąpienia pewnej zmiennej zdaniowej w tej tautologii zastąpimy pewną ustaloną formułą, to otrzymana

Bardziej szczegółowo

Temat: Zastosowanie wyrażeń regularnych do syntezy i analizy automatów skończonych

Temat: Zastosowanie wyrażeń regularnych do syntezy i analizy automatów skończonych Opracował: dr inż. Zbigniew Buchalski KATEDRA INFORMATYKI TECHNICZNEJ Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie Temat: Zastosowanie wyrażeń regularnych do syntezy i analizy automatów

Bardziej szczegółowo

Gramatyki (1-2) Definiowanie języków programowania. Piotr Chrząstowski-Wachjtel

Gramatyki (1-2) Definiowanie języków programowania. Piotr Chrząstowski-Wachjtel Gramatyki (1-2) Definiowanie języków programowania Piotr Chrząstowski-Wachjtel Zagadnienia Jak zdefiniować język programowania? Gramatyki formalne Definiowanie składni Definiowanie semantyki l 2 Pożądane

Bardziej szczegółowo

Analiza leksykalna 1. Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki

Analiza leksykalna 1. Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki Analiza leksykalna 1 Teoria kompilacji Dr inż. Janusz Majewski Katedra Informatyki Zadanie analizy leksykalnej Kod źródłowy (ciąg znaków) Analizator leksykalny SKANER Ciąg symboli leksykalnych (tokenów)

Bardziej szczegółowo

Wprowadzenie do programowania języki i gramatyki formalne. dr hab. inż. Mikołaj Morzy

Wprowadzenie do programowania języki i gramatyki formalne. dr hab. inż. Mikołaj Morzy Wprowadzenie do programowania języki i gramatyki formalne dr hab. inż. Mikołaj Morzy plan wykładu wprowadzenie gramatyki podstawowe definicje produkcje i drzewa wywodu niejednoznaczność gramatyk hierarchia

Bardziej szczegółowo

Wprowadzenie do XML. Joanna Jędrzejowicz. Instytut Informatyki

Wprowadzenie do XML. Joanna Jędrzejowicz. Instytut Informatyki Instytut Informatyki Literatura http://www.w3c.org/tr/ - Technical Reports K. B. Stall - XML Family of Specifications, Addison-Wesley 2003 P. Kazienko, K. Gwiazda - XML na poważnie, Helion 2002 XML Rozszerzalny

Bardziej szczegółowo

Systemy iteracyjne. Podstawy programowania. wykład 2

Systemy iteracyjne. Podstawy programowania. wykład 2 Systemy iteracyjne Podstawy programowania wykład 2 Pojęcie iteracji Systemy rzeczywistości, tj. wyróŝnione struktury relacyjne (często z relacją porządku), w których realizowane jest powtarzalne wykonywanie

Bardziej szczegółowo

Np. Olsztyn leży nad Łyną - zdanie prawdziwe, wartość logiczna 1 4 jest większe od 5 - zdanie fałszywe, wartość logiczna 0

Np. Olsztyn leży nad Łyną - zdanie prawdziwe, wartość logiczna 1 4 jest większe od 5 - zdanie fałszywe, wartość logiczna 0 ĆWICZENIE 1 Klasyczny Rachunek Zdań (KRZ): zdania w sensie logicznym, wartości logiczne, spójniki logiczne, zmienne zdaniowe, tabele prawdziwościowe dla spójników logicznych, formuły, wartościowanie zbioru

Bardziej szczegółowo

Hierarchia Chomsky ego Maszyna Turinga

Hierarchia Chomsky ego Maszyna Turinga Hierarchia Chomsky ego Maszyna Turinga Języki formalne i automaty Dr inż. Janusz Majewski Katedra Informatyki Gramatyka Gramatyką G nazywamy czwórkę uporządkowaną gdzie: G = V skończony zbiór

Bardziej szczegółowo

Hierarchia Chomsky ego

Hierarchia Chomsky ego Hierarchia Chomsky ego Gramatyki nieograniczone Def. Gramatyką nieograniczoną (albo typu 0) nazywamy uporządkowaną czwórkę G= gdzie: % Σ - skończony alfabet symboli końcowych (alfabet, nad którym

Bardziej szczegółowo

11. Blok ten jest blokiem: a. decyzyjnym b. końcowym c. operacyjnym

11. Blok ten jest blokiem: a. decyzyjnym b. końcowym c. operacyjnym 1. Instrukcja warunkowa a. słuŝy do wprowadzania danych oraz wprowadzania wyników b. to instrukcja decyzyjna c. to sposób przedstawienia algorytmu 2. Instrukcja, która opisuje wykonanie róŝnych czynności

Bardziej szczegółowo

Algorytm. Krótka historia algorytmów

Algorytm. Krótka historia algorytmów Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne

Bardziej szczegółowo

KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 204

KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 204 Opracował: prof. dr hab. inż. Jan Kazimierczak KATEDA INFOMATYKI TECHNICZNEJ Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie 204 Temat: Hardware'owa implementacja automatu skończonego pełniącego

Bardziej szczegółowo

Języki i operacje na językach. Teoria automatów i języków formalnych. Definicja języka

Języki i operacje na językach. Teoria automatów i języków formalnych. Definicja języka Języki i operacje na językach Teoria automatów i języków formalnych Dr inŝ. Janusz Majewski Katedra Informatyki Definicja języka Definicja języka Niech Σ będzie alfabetem, Σ* - zbiorem wszystkich łańcuchów

Bardziej szczegółowo

Klasyczny rachunek predykatów

Klasyczny rachunek predykatów Kultura logiczna Klasyczny rachunek predykatów Bartosz Gostkowski bgostkowski@gmail.com Alfabet klasycznego rachunku zdań reguły konsytutywne języka Alfabet klasycznego rachunku predykatów (KRP Do alfabetu

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 4

Języki formalne i automaty Ćwiczenia 4 Języki formalne i automaty Ćwiczenia 4 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Sposób tworzenia deterministycznego automatu skończonego... 4 Intuicyjne rozumienie konstrukcji

Bardziej szczegółowo

Semantyka rachunku predykatów

Semantyka rachunku predykatów Relacje Interpretacja Wartość Spełnialność Logika obliczeniowa Instytut Informatyki Relacje Interpretacja Wartość Plan Plan Relacje O co chodzi? Znaczenie w logice Relacje 3 Interpretacja i wartościowanie

Bardziej szczegółowo

Systemy ekspertowe i ich zastosowania. Katarzyna Karp Marek Grabowski

Systemy ekspertowe i ich zastosowania. Katarzyna Karp Marek Grabowski Systemy ekspertowe i ich zastosowania Katarzyna Karp Marek Grabowski Plan prezentacji Wstęp Własności systemów ekspertowych Rodzaje baz wiedzy Metody reprezentacji wiedzy Metody wnioskowania Języki do

Bardziej szczegółowo

Maszyna Turinga. Algorytm. czy program???? Problem Hilberta: Przykłady algorytmów. Cechy algorytmu: Pojęcie algorytmu

Maszyna Turinga. Algorytm. czy program???? Problem Hilberta: Przykłady algorytmów. Cechy algorytmu: Pojęcie algorytmu Problem Hilberta: 9 Czy istnieje ogólna mechaniczna procedura, która w zasadzie pozwoliłaby nam po kolei rozwiązać wszystkie matematyczne problemy (należące do odpowiednio zdefiniowanej klasy)? 2 Przykłady

Bardziej szczegółowo

Metody Kompilacji Wykład 3

Metody Kompilacji Wykład 3 Metody Kompilacji Wykład 3 odbywa się poprzez dołączenie zasad(reguł) lub fragmentów kodu do produkcji w gramatyce. Włodzimierz Bielecki WI ZUT 2 Na przykład, dla produkcji expr -> expr 1 + term możemy

Bardziej szczegółowo

Rachunek logiczny. 1. Język rachunku logicznego.

Rachunek logiczny. 1. Język rachunku logicznego. Rachunek logiczny. Podstawową własnością rozumowania poprawnego jest zachowanie prawdy: rozumowanie poprawne musi się kończyć prawdziwą konkluzją, o ile wszystkie przesłanki leżące u jego podstaw były

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 6

Języki formalne i automaty Ćwiczenia 6 Języki formalne i automaty Ćwiczenia 6 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Wyrażenia regularne... 2 Standardy IEEE POSIX Basic Regular Expressions (BRE) oraz Extended

Bardziej szczegółowo

Programowanie w Logice Gramatyki metamorficzne. Przemysław Kobylański na podstawie [CM2003] i [SS1994]

Programowanie w Logice Gramatyki metamorficzne. Przemysław Kobylański na podstawie [CM2003] i [SS1994] Programowanie w Logice Gramatyki metamorficzne Przemysław Kobylański na podstawie [CM2003] i [SS1994] Gramatyki bezkontekstowe Gramatyką bezkontekstową jest uporządkowana czwórka G = Σ, N, S, P, gdzie

Bardziej szczegółowo

Logika Matematyczna (1)

Logika Matematyczna (1) Logika Matematyczna (1) Jerzy Pogonowski Zakład Logiki Stosowanej UAM www.logic.amu.edu.pl pogon@amu.edu.pl Wprowadzenie Jerzy Pogonowski (MEG) Logika Matematyczna (1) Wprowadzenie 1 / 20 Plan konwersatorium

Bardziej szczegółowo

Programowanie w logice

Programowanie w logice Programowanie w logice PROLOG cz.1 PROLOG język wysokiego poziomu Powstał w 1972 na Uniwersytecie w Marsylii (Francja) w zespole A.Colmerauer a i F.Roussel a PROgrammation en LOGique, PROgramming in LOGic,

Bardziej szczegółowo

Gramatyki atrybutywne

Gramatyki atrybutywne Gramatyki atrybutywne, część 1 (gramatyki S-atrybutywne Teoria kompilacji Dr inŝ. Janusz Majewski Katedra Informatyki Gramatyki atrybutywne Do przeprowadzenia poprawnego tłumaczenia, oprócz informacji

Bardziej szczegółowo

1. Wstęp do logiki. Matematyka jest nauką dedukcyjną. Nowe pojęcia definiujemy za pomocą pojęć pierwotnych lub pojęć uprzednio wprowadzonych.

1. Wstęp do logiki. Matematyka jest nauką dedukcyjną. Nowe pojęcia definiujemy za pomocą pojęć pierwotnych lub pojęć uprzednio wprowadzonych. Elementy logiki i teorii zbiorów. 1. Wstęp do logiki. Matematyka jest nauką dedukcyjną. Nowe pojęcia definiujemy za pomocą pojęć pierwotnych lub pojęć uprzednio wprowadzonych. Pojęcia pierwotne to najprostsze

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

Programowanie deklaratywne

Programowanie deklaratywne Programowanie deklaratywne Artur Michalski Informatyka II rok Plan wykładu Wprowadzenie do języka Prolog Budowa składniowa i interpretacja programów prologowych Listy, operatory i operacje arytmetyczne

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 9

Języki formalne i automaty Ćwiczenia 9 Języki formalne i automaty Ćwiczenia 9 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Maszyna Mealy'ego... 2 Maszyna Moore'a... 2 Automat ze stosem... 3 Konwersja gramatyki bezkontekstowej

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 2

Języki formalne i automaty Ćwiczenia 2 Języki formalne i automaty Ćwiczenia 2 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Metoda brute force... 2 Konwersja do postaci normalnej Chomskiego... 5 Algorytm Cocke a-youngera-kasamiego

Bardziej szczegółowo

Obliczenia inspirowane Naturą

Obliczenia inspirowane Naturą Obliczenia inspirowane Naturą Wykład 01 Modele obliczeń Jarosław Miszczak IITiS PAN Gliwice 05/10/2016 1 / 33 1 2 3 4 5 6 2 / 33 Co to znaczy obliczać? Co to znaczy obliczać? Deterministyczna maszyna Turinga

Bardziej szczegółowo

Automat ze stosem. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki

Automat ze stosem. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki Automat ze stosem Języki formalne i automaty Dr inż. Janusz Majewski Katedra Informatyki Automat ze stosem (1) dno stosu Stos wierzchołek stosu Wejście # B B A B A B A B a b b a b a b $ q i Automat ze

Bardziej szczegółowo

Wprowadzenie do analizy składniowej. Bartosz Bogacki.

Wprowadzenie do analizy składniowej. Bartosz Bogacki. Wprowadzenie do analizy składniowej Bartosz Bogacki Bartosz.Bogacki@cs.put.poznan.pl Witam Państwa. Wykład, który za chwilę Państwo wysłuchają dotyczy wprowadzenia do analizy składniowej. Zapraszam serdecznie

Bardziej szczegółowo

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 INFORMATYKA W SZKOLE Dr inż. Grażyna KRUPIŃSKA grazyna@fis.agh.edu.pl D-10 pokój 227 Podyplomowe Studia Pedagogiczne 2 Algorytmy Nazwa algorytm wywodzi się od nazwiska perskiego matematyka Muhamed ibn

Bardziej szczegółowo

Tautologia (wyrażenie uniwersalnie prawdziwe - prawo logiczne)

Tautologia (wyrażenie uniwersalnie prawdziwe - prawo logiczne) Tautologia (wyrażenie uniwersalnie prawdziwe - prawo logiczne) Definicja 1: Tautologia jest to takie wyrażenie, którego wartość logiczna jest prawdą przy wszystkich możliwych wartościowaniach zmiennych

Bardziej szczegółowo

LOGIKA Klasyczny Rachunek Zdań

LOGIKA Klasyczny Rachunek Zdań LOGIKA Klasyczny Rachunek Zdań Robert Trypuz trypuz@kul.pl 5 listopada 2013 Robert Trypuz (trypuz@kul.pl) Klasyczny Rachunek Zdań 5 listopada 2013 1 / 24 PLAN WYKŁADU 1 Alfabet i formuła KRZ 2 Zrozumieć

Bardziej szczegółowo

Systemy liczenia. 333= 3*100+3*10+3*1

Systemy liczenia. 333= 3*100+3*10+3*1 Systemy liczenia. System dziesiętny jest systemem pozycyjnym, co oznacza, Ŝe wartość liczby zaleŝy od pozycji na której się ona znajduje np. w liczbie 333 kaŝda cyfra oznacza inną wartość bowiem: 333=

Bardziej szczegółowo

Definicja pochodnej cząstkowej

Definicja pochodnej cząstkowej 1 z 8 gdzie punkt wewnętrzny Definicja pochodnej cząstkowej JeŜeli iloraz ma granicę dla to granicę tę nazywamy pochodną cząstkową funkcji względem w punkcie. Oznaczenia: Pochodną cząstkową funkcji względem

Bardziej szczegółowo

Programowanie komputerów

Programowanie komputerów Programowanie komputerów Wykład 1-2. Podstawowe pojęcia Plan wykładu Omówienie programu wykładów, laboratoriów oraz egzaminu Etapy rozwiązywania problemów dr Helena Dudycz Katedra Technologii Informacyjnych

Bardziej szczegółowo

1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie

1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie Opracował: dr hab. inż. Jan Magott KATEDRA INFORMATYKI TECHNICZNEJ Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie 207 Temat: Automaty Moore'a i Mealy 1. Cel ćwiczenia Celem ćwiczenia jest

Bardziej szczegółowo

Języki i gramatyki formalne

Języki i gramatyki formalne Języki i gramatyki formalne Języki naturalne i formalne Cechy języka naturalnego - duża swoboda konstruowania zdań (brak ścisłych reguł gramatycznych), duża ilość wyjątków. Języki formalne - ścisły i jednoznaczny

Bardziej szczegółowo

Algorytmika i pseudoprogramowanie

Algorytmika i pseudoprogramowanie Przedmiotowy system oceniania Zawód: Technik Informatyk Nr programu: 312[ 01] /T,SP/MENiS/ 2004.06.14 Przedmiot: Programowanie Strukturalne i Obiektowe Klasa: druga Dział Dopuszczający Dostateczny Dobry

Bardziej szczegółowo

Wstęp do informatyki- wykład 2

Wstęp do informatyki- wykład 2 MATEMATYKA 1 Wstęp do informatyki- wykład 2 Systemy liczbowe Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 7

Języki formalne i automaty Ćwiczenia 7 Języki formalne i automaty Ćwiczenia 7 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Automaty... 2 Cechy automatów... 4 Łączenie automatów... 4 Konwersja automatu do wyrażenia

Bardziej szczegółowo

Formalizacja jako reprezentacja wiedzy logicznej

Formalizacja jako reprezentacja wiedzy logicznej Formalizacja jako reprezentacja wiedzy logicznej Edward Bryniarski Uniwersytet Opolski, Instytut Matematyki i Informatyki, Zakład Informatyki Stosowanej edlog@uni.opole.pl W 1981 r. została wydana ksiąŝka

Bardziej szczegółowo

vf(c) =, vf(ft 1... t n )=vf(t 1 )... vf(t n ).

vf(c) =, vf(ft 1... t n )=vf(t 1 )... vf(t n ). 6. Wykład 6: Rachunek predykatów. Język pierwszego rzędu składa się z: symboli relacyjnych P i, i I, gdzie (P i ) oznaczać będzie ilość argumentów symbolu P i, symboli funkcyjnych f j, j J, gdzie (f j

Bardziej szczegółowo

Maszyna Turinga języki

Maszyna Turinga języki Maszyna Turinga języki Teoria automatów i języków formalnych Dr inż. Janusz Majewski Katedra Informatyki Maszyna Turinga (1) b b b A B C B D A B C b b Q Zależnie od symbolu obserwowanego przez głowicę

Bardziej szczegółowo

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10). Wprowadzenie do inżynierii przetwarzania informacji. Ćwiczenie 1. Systemy liczbowe Cel dydaktyczny: Poznanie zasad reprezentacji liczb w systemach pozycyjnych o różnych podstawach. Kodowanie liczb dziesiętnych

Bardziej szczegółowo

Przykładowe dowody formuł rachunku kwantyfikatorów w systemie tabel semantycznych

Przykładowe dowody formuł rachunku kwantyfikatorów w systemie tabel semantycznych Przykładowe dowody formuł rachunku kwantyfikatorów w systemie tabel semantycznych Zapoznaj z poniŝszym tekstem reprezentującym wiedzę logiczną o wartościach logicznych będących interpretacjami formuł złoŝonych

Bardziej szczegółowo

Logika Matematyczna (1)

Logika Matematyczna (1) Logika Matematyczna (1) Jerzy Pogonowski Zakład Logiki Stosowanej UAM www.logic.amu.edu.pl pogon@amu.edu.pl 4 X 2007 Jerzy Pogonowski (MEG) Logika Matematyczna (1) 4 X 2007 1 / 18 Plan konwersatorium Dzisiaj:

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 3

Języki formalne i automaty Ćwiczenia 3 Języki formalne i automaty Ćwiczenia 3 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Algorytm LL(1)... 2 Definicja zbiorów FIRST1 i FOLLOW1... 3 Konstrukcja tabeli parsowania

Bardziej szczegółowo

- Dla danego zbioru S zbiór wszystkich jego podzbiorów oznaczany symbolem 2 S.

- Dla danego zbioru S zbiór wszystkich jego podzbiorów oznaczany symbolem 2 S. 1 Zbiór potęgowy - Dla danego zbioru S zbiór wszystkich jego podzbiorów oznaczany symbolem 2 S. - Dowolny podzbiór R zbioru 2 S nazywa się rodziną zbiorów względem S. - Jeśli S jest n-elementowym zbiorem,

Bardziej szczegółowo

Gramatyki grafowe. Dla v V, ϕ(v) etykieta v. Klasa grafów nad Σ - G Σ.

Gramatyki grafowe. Dla v V, ϕ(v) etykieta v. Klasa grafów nad Σ - G Σ. Gramatyki grafowe Def. Nieskierowany NL-graf (etykietowane wierzchołki) jest czwórką g = (V, E, Σ, ϕ), gdzie: V niepusty zbiór wierzchołków, E V V zbiór krawędzi, Σ - skończony, niepusty alfabet etykiet

Bardziej szczegółowo

Metody dowodzenia twierdzeń i automatyzacja rozumowań Systemy aksjomatyczne I

Metody dowodzenia twierdzeń i automatyzacja rozumowań Systemy aksjomatyczne I Metody dowodzenia twierdzeń i automatyzacja rozumowań Systemy aksjomatyczne I Mariusz Urbański Instytut Psychologii UAM Mariusz.Urbanski@.edu.pl OSTRZEŻENIE Niniejszy plik nie zawiera wykładu z Metod dowodzenia...

Bardziej szczegółowo

Technologie informacyjne - wykład 12 -

Technologie informacyjne - wykład 12 - Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski

Bardziej szczegółowo

II Matematyka 2 stopnia( 3W). Logika i podstawy matematyki. Janusz Czelakowski. Wykład 8. Arytmetyka

II Matematyka 2 stopnia( 3W). Logika i podstawy matematyki. Janusz Czelakowski. Wykład 8. Arytmetyka II Matematyka 2 stopnia( 3W). Logika i podstawy matematyki Janusz Czelakowski Wykład 8. Arytmetyka Jak dobrze wiadomo, jednym z kluczowych praw zachodzących w dziedzinie liczb naturalnych jest Zasada Indukcji.

Bardziej szczegółowo

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykłady 12 i 13. Dowód i dowodzenie w KRP. Tezy KRP

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykłady 12 i 13. Dowód i dowodzenie w KRP. Tezy KRP Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki Wykłady 12 i 13. Dowód i dowodzenie w KRP. Tezy KRP 1 Pojęcie dowodu w KRP Pojęcia: formuły zdaniowej języka Klasycznego Rachunku

Bardziej szczegółowo

Elementy logiki matematycznej

Elementy logiki matematycznej Elementy logiki matematycznej Przedmiotem logiki matematycznej jest badanie tzw. wyrażeń logicznych oraz metod rozumowania i sposobów dowodzenia używanych w matematyce, a także w innych dziedzinach, w

Bardziej szczegółowo

LOGIKA I TEORIA ZBIORÓW

LOGIKA I TEORIA ZBIORÓW LOGIKA I TEORIA ZBIORÓW Logika Logika jest nauką zajmującą się zdaniami Z punktu widzenia logiki istotne jest, czy dane zdanie jest prawdziwe, czy nie Nie jest natomiast istotne o czym to zdanie mówi Definicja

Bardziej szczegółowo

Zbiory, relacje i funkcje

Zbiory, relacje i funkcje Zbiory, relacje i funkcje Zbiory będziemy zazwyczaj oznaczać dużymi literami A, B, C, X, Y, Z, natomiast elementy zbiorów zazwyczaj małymi. Podstawą zależność między elementem zbioru a zbiorem, czyli relację

Bardziej szczegółowo

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Studia podyplomowe dla nauczycieli INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Przedmiot JĘZYKI PROGRAMOWANIA DEFINICJE I PODSTAWOWE POJĘCIA Autor mgr Sławomir Ciernicki 1/7 Aby

Bardziej szczegółowo

Języki, automaty i obliczenia

Języki, automaty i obliczenia Języki, automaty i obliczenia Wykład 9: Własności języków bezkontekstowych Sławomir Lasota Uniwersytet Warszawski 27 kwietnia 2016 Plan 1 Pompowanie języków bezkontekstowych 2 Własności domknięcia 3 Obrazy

Bardziej szczegółowo

FUNKCJE. (odwzorowania) Funkcje 1

FUNKCJE. (odwzorowania) Funkcje 1 FUNKCJE (odwzorowania) Funkcje 1 W matematyce funkcja ze zbioru X w zbiór Y nazywa się odwzorowanie (przyporządkowanie), które każdemu elementowi zbioru X przypisuje jeden, i tylko jeden element zbioru

Bardziej szczegółowo

Wyszukiwanie. Wyszukiwanie binarne

Wyszukiwanie. Wyszukiwanie binarne Wyszukiwanie Wejście: posortowana, n-elementowa tablica liczbowa T oraz liczba p. Wyjście: liczba naturalna, określająca pozycję elementu p w tablicy T, bądź 1, jeŝeli element w tablicy nie występuje.

Bardziej szczegółowo

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa. Plan Procedura decyzyjna Reguły α i β - algorytm Plan Procedura decyzyjna Reguły α i β - algorytm Logika obliczeniowa Instytut Informatyki 1 Procedura decyzyjna Logiczna konsekwencja Teoria aksjomatyzowalna

Bardziej szczegółowo

R O Z D Z I A Ł V I I

R O Z D Z I A Ł V I I R O Z D Z I A Ł V I I 1. Podstawowe definicje RozwaŜane w poprzednim rozdziale automaty Rabina-Scotta były urządzeniami o bardzo ograniczonej zdolności przechowywania informacji. Rzeczywista pojemność

Bardziej szczegółowo

Wprowadzenie do Prologa

Wprowadzenie do Prologa Wprowadzenie do Prologa Rozdział 1 Tutorial Introduction Maciej Gapiński Dominika Wałęga Spis treści 1. Podstawowe informacje 2. Obiekty i relacje 3. Reguły 4. Fakty 5. Zapytania 6. Zmienne i stałe Podstawowe

Bardziej szczegółowo

Metalogika (1) Jerzy Pogonowski. Uniwersytet Opolski. Zakład Logiki Stosowanej UAM

Metalogika (1) Jerzy Pogonowski. Uniwersytet Opolski. Zakład Logiki Stosowanej UAM Metalogika (1) Jerzy Pogonowski Zakład Logiki Stosowanej UAM www.logic.amu.edu.pl pogon@amu.edu.pl Uniwersytet Opolski Jerzy Pogonowski (MEG) Metalogika (1) Uniwersytet Opolski 1 / 21 Wstęp Cel: wprowadzenie

Bardziej szczegółowo

5. Algebra działania, grupy, grupy permutacji, pierścienie, ciała, pierścień wielomianów.

5. Algebra działania, grupy, grupy permutacji, pierścienie, ciała, pierścień wielomianów. 5. Algebra działania, grupy, grupy permutacji, pierścienie, ciała, pierścień wielomianów. Algebra jest jednym z najstarszych działów matematyki dotyczącym początkowo tworzenia metod rozwiązywania równań

Bardziej szczegółowo

Rachunek zdań. Zdanie w sensie logicznym jest to wyraŝenie jednoznacznie stwierdzające, na gruncie reguł danego języka, iŝ tak a

Rachunek zdań. Zdanie w sensie logicznym jest to wyraŝenie jednoznacznie stwierdzające, na gruncie reguł danego języka, iŝ tak a Zdanie w sensie logicznym jest to wyraŝenie jednoznacznie stwierdzające, na gruncie reguł danego języka, iŝ tak a tak jest alboŝe tak a tak nie jest. Wartość logiczna zdania jest czymś obiektywnym, to

Bardziej szczegółowo

Podstawy programowania. Wykład PASCAL. Zmienne wskaźnikowe i dynamiczne. dr Artur Bartoszewski - Podstawy prograowania, sem.

Podstawy programowania. Wykład PASCAL. Zmienne wskaźnikowe i dynamiczne. dr Artur Bartoszewski - Podstawy prograowania, sem. Podstawy programowania Wykład PASCAL Zmienne wskaźnikowe i dynamiczne 1 dr Artur Bartoszewski - Podstawy prograowania, sem. 1- WYKŁAD Rodzaje zmiennych Zmienne dzielą się na statyczne i dynamiczne. Zmienna

Bardziej szczegółowo

Podstawy Informatyki. Algorytmy i ich poprawność

Podstawy Informatyki. Algorytmy i ich poprawność Podstawy Informatyki Algorytmy i ich poprawność Błędy Błędy: językowe logiczne Błędy językowe Związane ze składnią języka Wykrywane automatycznie przez kompilator lub interpreter Prosty sposób usuwania

Bardziej szczegółowo

Elementy rachunku lambda. dr hab. inż. Joanna Józefowska, prof. PP 1

Elementy rachunku lambda. dr hab. inż. Joanna Józefowska, prof. PP 1 Elementy rachunku lambda λ 1 Notacja λ x 3x + 7 3x + 7 jest różniczkowalna 3x + 7 jest mniejsze od 2 (2,3) 5 f(2, 3) = 2 + 3 g(2) = 2 + 3 λx(3x + 7) 3x + 7 λx λy(x + y) = λxy(x + y) λx(x + 3) 2 Rachunek

Bardziej szczegółowo

Wstęp do logiki. Semiotyka cd.

Wstęp do logiki. Semiotyka cd. Wstęp do logiki Semiotyka cd. Semiotyka: język Ujęcia języka proponowane przez językoznawców i logików różnią się istotnie w wielu punktach. Z punktu widzenia logiki każdy język można scharakteryzować

Bardziej szczegółowo

Zasada indukcji matematycznej

Zasada indukcji matematycznej Zasada indukcji matematycznej Twierdzenie 1 (Zasada indukcji matematycznej). Niech ϕ(n) będzie formą zdaniową zmiennej n N 0. Załóżmy, że istnieje n 0 N 0 takie, że 1. ϕ(n 0 ) jest zdaniem prawdziwym,.

Bardziej szczegółowo