Logika i teoria mnogości Wykład 14

Podobne dokumenty
Rekurencyjna przeliczalność

Jak należy się spodziewać, mamy. Zauważmy jednak, że nie zachodzi równość

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Indukcja matematyczna, zasada minimum i maksimum. 17 lutego 2017

Schemat rekursji. 1 Schemat rekursji dla funkcji jednej zmiennej

Rekurencja, schemat rekursji i funkcje pierwotnie rekurencyjne

ZALICZENIE WYKŁADU: 30.I.2019

1 Funkcje uniwersalne

1 Działania na zbiorach

Równoliczność zbiorów

III. Funkcje rzeczywiste

Modele Obliczeń. Wykład 3 - Maszyny RAM i funkcje rekurencyjne. Marcin Szczuka. Instytut Matematyki, Uniwersytet Warszawski

Indukcja matematyczna. Zasada minimum. Zastosowania.

Uwaga 1. Zbiory skończone są równoliczne wtedy i tylko wtedy, gdy mają tyle samo elementów.

domykanie relacji, relacja równoważności, rozkłady zbiorów

Konstrukcja von Neumanna liczb naturalnych. Definicja 1 0 := - liczba naturalna zero. Jeżeli n jest liczbą naturalną, to następną po niej jest liczba

n := {n} n. Istnienie liczb naturalnych gwarantują: Aksjomat zbioru pustego, Aksjomat pary nieuporządkowanej oraz Aksjomat sumy.

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

Układy równań i nierówności liniowych

Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017

Wstęp do Matematyki (4)

LOGIKA I TEORIA ZBIORÓW

Odmiany maszyny Turinga. dr hab. inż. Joanna Józefowska, prof. PP 1

Wykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych

Rekurencja (rekursja)

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

Systemy algebraiczne. Materiały pomocnicze do wykładu. przedmiot: Matematyka Dyskretna 1 wykładowca: dr Magdalena Kacprzak

Kongruencje pierwsze kroki

Indukcja matematyczna. Matematyka dyskretna

Początki informatyki teoretycznej. Paweł Cieśla

020 Liczby rzeczywiste

I. Podstawowe pojęcia i oznaczenia logiczne i mnogościowe. Elementy teorii liczb rzeczywistych.

O LICZBACH NIEOBLICZALNYCH I ICH ZWIĄZKACH Z INFORMATYKĄ

Algorytm. a programowanie -

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

0 + 0 = 0, = 1, = 1, = 0.

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

Poprawność semantyczna

Matematyka dyskretna. Andrzej Łachwa, UJ, 2019 Zadania 1-100

Ciała i wielomiany 1. przez 1, i nazywamy jedynką, zaś element odwrotny do a 0 względem działania oznaczamy przez a 1, i nazywamy odwrotnością a);

Funkcje wymierne. Jerzy Rutkowski. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k.

Dlaczego nie wystarczają liczby wymierne

O pewnych związkach teorii modeli z teorią reprezentacji

DB Algebra liniowa semestr zimowy 2018

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

B jest liniowo niezależny V = lin (B) 1. Układ pusty jest bazą przestrzeni trywialnej {θ}. a i v i = i I. b i v i, (a i b i ) v i = θ.

Matematyka dyskretna

1 Określenie pierścienia

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

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

n=0 (n + r)a n x n+r 1 (n + r)(n + r 1)a n x n+r 2. Wykorzystując te obliczenia otrzymujemy, że lewa strona równania (1) jest równa

Wykład z równań różnicowych

Matematyka dyskretna

Algorytmy w teorii liczb

Przykładami ciągów, które Czytelnik dobrze zna (a jeśli nie, to niniejszym poznaje), jest ciąg arytmetyczny:

Zbiory, relacje i funkcje

ALGEBRA LINIOWA Z ELEMENTAMI GEOMETRII ANALITYCZNEJ. 1. Ciała

. : a 1,..., a n F. . a n Wówczas (F n, F, +, ) jest przestrzenią liniową, gdzie + oraz są działaniami zdefiniowanymi wzorami:

Podstawowe Pojęcia. Semantyczne KRZ

3. Wykład Układy równań liniowych.

Temperatura w atmosferze (czy innym ośrodku) jako funkcja dł. i szer. geogr. oraz wysokości.

Matematyka dyskretna. Andrzej Łachwa, UJ, a/15

0.1. Logika podstawowe pojęcia: zdania i funktory, reguły wnioskowania, zmienne zdaniowe, rachunek zdań.

OBLICZALNOŚĆ I NIEOBLICZALNOŚĆ

BOGDAN ZARĘBSKI ZASTOSOWANIE ZASADY ABSTRAKCJI DO KONSTRUKCJI LICZB CAŁKOWITYCH

Funkcje wymierne. Jerzy Rutkowski. Teoria. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k.

Programowanie funkcyjne Wykład 13. Siła wyrazu rachunku lambda

Logika Stosowana. Wykład 2 - Logika modalna Część 3. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2017/2018

Zadanie 1. Potęgi (14 pkt)

Zadanie 1. Test (6 pkt) Zaznacz znakiem X w odpowiedniej kolumnie P lub F, która odpowiedź jest prawdziwa, a która fałszywa.

Jest to zasadniczo powtórka ze szkoły średniej, być może z niektórymi rzeczami nowymi.

1. Liczby wymierne. x dla x 0 (wartością bezwzględną liczby nieujemnej jest ta sama liczba)

1. Wykład NWD, NWW i algorytm Euklidesa.

KONKURS MATEMATYCZNY KOMA 2018

, A T = A + B = [a ij + b ij ].

Algebra WYKŁAD 3 ALGEBRA 1

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

a 1, a 2, a 3,..., a n,...

Elementy logiki matematycznej

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

(4) x (y z) = (x y) (x z), x (y z) = (x y) (x z), (3) x (x y) = x, x (x y) = x, (2) x 0 = x, x 1 = x

Teoria miary. Matematyka, rok II. Wykład 1

Rozwiazywanie układów równań liniowych. Ax = b

Na A (n) rozważamy rozkład P (n) , który na zbiorach postaci A 1... A n określa się jako P (n) (X n, A (n), P (n)

Wykład 4. Określimy teraz pewną ważną klasę pierścieni.

Treść wykładu. Pierścienie wielomianów. Dzielenie wielomianów i algorytm Euklidesa Pierścienie ilorazowe wielomianów

TEORETYCZNE PODSTAWY INFORMATYKI

Modelowanie wybranych pojęć matematycznych. semestr letni, 2016/2017 Wykład 10 Własności funkcji cd.

7. CIĄGI. WYKŁAD 5. Przykłady :

Alan M. TURING. Matematyk u progu współczesnej informatyki

Teoretyczne podstawy informatyki

Maszyny Turinga. Jerzy Pogonowski. Funkcje rekurencyjne. Zakład Logiki Stosowanej UAM

Baza w jądrze i baza obrazu ( )

1. Określenie pierścienia

Teoretyczne podstawy informatyki

Rozdział 6. Ciągłość. 6.1 Granica funkcji

Dr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska

1.1 Definicja. 1.2 Przykład. 1.3 Definicja. Niech G oznacza dowolny, niepusty zbiór.

Wykłady ostatnie. Rodzinę P podzbiorów przestrzeni X nazywamy σ - algebrą, jeżeli dla A, B P (2) A B P, (3) A \ B P,

Funkcja wykładnicza kilka dopowiedzeń

Transkrypt:

Teoria rekursji Teoria rekursji to dział logiki matematycznej zapoczątkowany w latach trzydziestych XX w. Inicjatorzy tej dziedziny to: Alan Turing i Stephen Kleene. Teoria rekursji bada obiekty (np. funkcje, relacje i zbiory), które nazywa się rekurencyjnymi. Uwaga: Od tego momentu w dalszych rozważaniach do zbioru liczb naturalnych dołączamy liczbę zero. Funkcje rekurencyjne, to takie funkcje o argumentach i wartościach naturalnych, które są albo szczególnie prostej postaci (np. funkcje stałe lub identyczność), albo powstają z tych pierwszych w wyniku zastosowania skończonej liczby dopuszczalnych operacji (takich jak składanie funkcji czy definiowanie indukcyjne). Natomiast zbiór jest rekurencyjny, gdy jego funkcja charakterystyczna jest rekurencyjna. Funkcje rekurencyjne są modelem funkcji czy relacji obliczalnych, to znaczy takich, których wartość dla dowolnych argumentów można podać w skończonej liczbie kroków w sposób mechaniczny. Pojęcie obliczalności jest nieścisłe i może być rozumiane jedynie w sposób intuicyjny, nieformalny, rekurencyjność zaś jest pojęciem ściśle matematycznym. Obiekty rekurencyjne można zdefiniować w inny, równoważny sposób mianowicie podzbiór A zbioru liczb naturalnych nazywamy rekurencyjnym, jeśli istnieje algorytm rozstrzygający dla każdej liczby naturalnej, czy należy ona do zbioru A czy nie. Algorytm to procedura mechaniczna: składa się ze skończonej liczby operacji i może być realizowany np. przez maszynę Turinga. Maszyna Turinga to abstrakcyjny, matematyczny model komputera służący do wykonywania algorytmów. 1

Problem jest rozwiązalny na komputerze (obliczalny), jeśli da się zdefiniować rozwiązującą go maszynę Turinga (algoryt. Okazuje się, że można ponumerować wszystkie maszyny Turinga, co za tym idzie wszystkie algorytmy (procedury) czyli wszystkie problemy rozwiązalne. Funkcje rekurencyjne Funkcje rekurencyjne to pojęcie matematyczne obejmujące kilka znaczeń. Będziemy rozróżniać funkcje rekurencyjne (obliczalne), funkcje pierwotnie rekurencyjne, częściowo rekurencyjne i elementarnie rekurencyjne. Najszersza klasa to funkcje częściowo rekurencyjne. Rozważamy funkcje częściowe nad N o dowolnej liczbie argumentów o wartościach naturalnych (określenie funkcje częściowe - oznacza, że nie dla każdego argumentu musi istnieć wartość takich funkcji). Funkcje częściowo rekurencyjne, to funkcje otrzymane z funkcji bazowych (zero, następnik i rzutowania) za pomocą trzech operacji: składania, rekursji prostej i operacji minimum. Oto ścisłe definicje tych pojęć: v Niech f : A A L A N. 1 2 k Jeśli Ai N i k, to mówimy, że f jest określona na liczbach naturalnych i stosujemy zapis: f: N k o N, który czytamy: f jest k-argumentową funkcją częściową o argumentach i wartościach w N. v Funkcje bazowe: Funkcje zerowe stałe 0k(n1,,nk) = 0, w szczególności funkcja jednoargumentowa 0: 0( = 0, gdy k = 1 Następnik S: = n+1 (inne oznaczenia: n +, succ() Rzutowania: i k (n1,,nk) = ni, gdzie k 1, i k. Mówimy, że zbiór funkcji F jest zamknięty ze względu na n-argumentową operację Θ, jeśli z faktu, że fi F dla i n wynika, że Θ(f1,,f F. 2

v Operacje: Składanie funkcji: funkcja f: N k o N powstaje przez składanie funkcji h: N l o N z funkcjami g1,,gl: N k o N, jeżeli zachodzą równości: (*) D( f ) = { n : n D( g ) i ( g1(,..., g ( ) D( h) } (**) f ( = h( g1(,..., gl ( ) n D( f ). i Rekursja prosta (definiowanie przez indukcję): funkcja f: N k+1 o N powstaje przez rekursję prostą z funkcji h: N k+2 o N i funkcji g: N k o N, jeżeli dla dowolnego n N i dowolnego m r N k spełnione są równania: (*) f ( 0, = g( r (**) f (, = h( f (,. Szczególnym przypadkiem tej operacji jest tzw. schemat czystej iteracji, który prowadzi od funkcji h( do funkcji f( określonej przez równania: f (0) = 0, f ( n + 1) = h( f ( ). Operacja minimum: funkcja f: N k o N powstaje z funkcji h: N k+1 o N przez zastosowanie operacji minimum, co zapisujemy: f ( = ( µ y)[ h( y) = 0] gdy dla dowolnego n r N k mamy: a) jeśli istnieje takie m, że h( n r, = 0 oraz dla i<m h( n r, i) > 0, to f ( n r ) = m (czyli f ( = najmniejsze m takie, że h( = 0 ). r b) jeśli takiego m nie ma, to f ( jest nieokreślone. Minimum efektywne: Jeżeli funkcja h: N k+1 o N jest taka, że n m h( = 0, to o operacji minimum zastosowanej do funkcji h mówimy, że jest efektywna. Operację minimum ograniczoną jedynie do funkcji mających powyższą własność nazywamy minimum efektywne. Minimum ograniczone: Pewną modyfikacją operacji minimum jest minimum ograniczone, które funkcji h( n r, przyporządkowuje funkcję r f = ( µ y x)[ h( y) = 0] określoną następująco: r r ( µ y)[ h( y) = 0 y x] gdy taki y istnieje f ( x) = 0 gdy taki y nie istnieje 3 l

Def. 1. Klasa funkcji częściowo rekurencyjnych to najmniejsza klasa funkcji częściowych nad N zawierająca funkcje bazowe i zamknięta ze względu na składanie, rekursję prostą i operację minimum. Def. 2. Funkcje rekurencyjne (obliczalne) to te funkcje częściowo rekurencyjne, które są całkowite (określone dla wszystkich argumentów naturalnych). Uwaga 1: Zbiór funkcji rekurencyjnych określamy jako najmniejszy zbiór funkcji zawierający funkcje bazowe oraz zamknięty ze względu na operacje składania, rekursji prostej i minimum efektywnego. Uwaga 2: Operacja minimum nie jest obliczalna, to znaczy nie istnieje maszyna Turinga, o której wiemy, że dla dowolnej funkcji rekurencyjnej f operacja brania jej minimum zakończy się w skończonym czasie. Aby można było oczekiwać istnienia takiej maszyny funkcja rekurencyjna f musi spełniać warunek efektywności. Jednak dla takiej klasy funkcji (rekurencyjne o własności efektywności) operacja minimum równoważna jest operacji minimum ograniczonego. Uwaga 3: Funkcje rekurencyjne można równoważnie zdefiniować jako te funkcje, dla których istnieje maszyna Turinga obliczająca ich wartości. Def. 3. Zbiór funkcji pierwotnie rekurencyjnych jest to najmniejszy zbiór funkcji nad N zawierający funkcje bazowe i zamknięty ze względu na składanie i rekursję prostą. Uwaga 4: Zachodzą następujące inkluzje: PRek Rek CzRek, PRek - zbiór funkcji pierwotnie rekurencyjnych, Rek zbiór funkcji rekurencyjnych, CzRek zbiór funkcji częściowo rekurencyjnych. gdzie Uwaga 5: Zbiory PRek oraz CzRek są równoliczne ze zbiorem liczb naturalnych. 4

Wniosek: Zbiór funkcji obliczalnych jest przeliczalnym podzbiorem zbioru mocy continuum wszystkich funkcji f: N N. Okazuje się, że znane funkcje są najczęściej pierwotnie rekurencyjne, czyli nie znamy większości funkcji N N. Przykłady: a) definiowanie stałych przez złożenie operacji następnika: 1 = 0) = 0 + 2 = 0)) = (0 + ) +,n = S n (0) b) dodawanie przez rekursję prostą: 0 + m = m + m = n + c) mnożenie: 0 m = 0 m = n m + m d) silnia( = n! (0)! = 1 ( )! = (! e) potęga(m, = power(m, = m n : power( m,0) = 1 power( m, ) = m power( m, f) poprzednik - P( = n - : P(0) = 0 P( ) = n g) odejmowanie ograniczone - m n gdy m n m & 0 = m m & n = 0 gdy m < n m & = P( m & h) wartość bezwzględna różnicy: m n = ( m & + ( n & i) Równość sprawdzenie, czy dwie liczby są równe: 1 gdy m = n ( = )( m, = (=)(m,= 1 & m n 0 gdy m n j) Reszta z dzielenia n przez m (n mod : 0 mod m = 0 mod m = ( n mod m + 1) & m ( = )( n mod m, P( ) Uwaga 6: Nie wszystkie funkcje rekurencyjne są pierwotnie rekurencyjne. 5

Przykład: Funkcja Ackermanna odkryta w 1928 r. jest funkcją rekurencyjną, ale nie jest pierwotnie rekurencyjna. Ψ(0, = n + 1 Definicja indukcyjna tej funkcji: Ψ( m + 1,0) = Ψ( m,1) Ψ( m + 1, n + 1) = Ψ( m, Ψ( m + 1, ) Funkcja powyższa charakteryzuje się bardzo szybkim wzrostem, rośnie szybciej niż jakakolwiek funkcja pierwotnie rekurencyjna. Relacje pierwotnie rekurencyjne Def. 4. Relację R o polu N nazywamy pierwotnie rekurencyjną (rekurencyjną równoważnie obliczalną), jeśli istnieje funkcja f PRek (f Rek) taka, że ( 1 k 1 k = m,..., m ) R f ( m,..., m ) 0. Przykład: Następujące relacje są pierwotnie rekurencyjne: Nierówność nieostra: x y x & y = 0 Nierówność ostra: x < y ( x + 1) & y = 0 Równość: x = y x y = 0. Przykład: Wykazać, że jeśli f1 i f2 PRek, a R jest relacją pierwotnie rekurencyjną, f1( n1,..., nk ) gdy ( n1,..., nk ) R to funkcja F( n1,..., nk ) = jest funkcją pierwotnie f 2( n1,..., nk ) gdy ( n1,..., nk ) R rekurencyjną. Zbiory pierwotnie rekurencyjne Def. 5. Zbiór A N nazywamy zbiorem pierwotnie rekurencyjnym (rekurencyjnym = obliczalny, jeżeli istnieje taka funkcja f PRek ( f PRek), że m A f ( = 0. Def. 6. Zbiór A N nazywamy zbiorem rekurencyjnie przeliczalnym, jeżeli istnieje taka funkcja obliczalna f (czyli f Rek), że f(n) = A. 6