O LICZBACH NIEOBLICZALNYCH I ICH ZWI ĄZKACH Z...
-
Upload
phamnguyet -
Category
Documents
-
view
223 -
download
0
Transcript of O LICZBACH NIEOBLICZALNYCH I ICH ZWI ĄZKACH Z...
Najczęściej:
a) liczby
b) funkcje
c) problemy
Jakie obiekty matematyczne
nazywa się nieobliczalnymi?
► nieobliczalne = algorytmicznie niedostępne
c) problemy
(nierozwiązywalne za pomocą algorytmów:
zasadniczo lub praktycznie)
Problemy nieobliczalne
Typowe przykłady?
Problem spełnialności(nieobliczalny praktycznie)
� Czy istnieje takie wartościowanie
zmiennych zdaniowych, przy
którym formuła zawierająca n
zmiennych jest prawdziwa ?
))())(( abab ¬→→∧¬
001 1
zmiennych jest prawdziwa ?
Problem równań diofantycznych(nieobliczalny zasadniczo)
� Czy dane równanie diofantyczne,
z dowolną liczbą niewiadomych
i całkowitymi współczynnikami,
ma choć jedno rozwiązanie
w zbiorze liczb całkowitych ?
0424232
=+−+ zyyx
Turingowski problem stopu
Problem stopu (maszyny Turinga)
� Dla dowolnej maszyny MTi i jej
dowolnych danych wejściowych Dj
odpowiedz jednoznacznie,
czy MTi zatrzyma się dla danych Dj
tj. zakończy przetwarzanie danych Dj?
Mniej technicznie:
Czy istnieje taki uniwersalny algorytm, który analizując zapis każdego innego
algorytmu oraz dowolnych jego danych,
rozstrzygnie jednoznacznie
czy analizowany algorytm zakończy przetwarzanie swoich danych, czy też
będzie je przetwarzał w nieskończoność?
tj. zakończy przetwarzanie danych Dj?
Co problemy (nieobliczalne) mogą mieć
wspólnego z liczbami ?
Dwa spostrzeżenia
1) Jeśli pewien problem ma algorytmiczne rozwiązanie, to istnieje
rozwiązujący go program komputerowy, a ponieważ komputerowa
realizacja programu jest ciągiem obliczeń, to sam problem ma pewne realizacja programu jest ciągiem obliczeń, to sam problem ma pewne
rozwiązanie liczbowe (które człowiek tak lub inaczej interpretuje).
Krótko: rozwiązanie problemu jest liczbą.
2) Rozwiązujący dany problem program komputerowy, można
przedstawić jako pewną liczbę (przyjmując określoną metodę kodowania).
Krótko: metoda rozwiązania (program) jest liczbą. (!)
Co problemy (nieobliczalne) mogą mieć
wspólnego z liczbami ?
Wstępna konkluzja
► Jeśli pewien problem nie ma żadnych algorytmicznych rozwiązań
(w dziedzinie algorytmów dla maszyn cyfrowych), a chcemy utrzymać (w dziedzinie algorytmów dla maszyn cyfrowych), a chcemy utrzymać
pojęcie „liczby kodującej rozwiązanie”, to musimy przyjąć, że:
Hipotetyczne rozwiązanie problemu cyfrowo nieobliczalnego
jest pewną specjalną liczbą: liczbą nieobliczalną.
Czy liczby nieobliczalne są po prostu
liczbami niewymiernymi ?
Jakiego typu liczbami są
liczby nieobliczalne?
Czy liczby nieobliczalne są po prostu
liczbami niewymiernymi?
NIE.
Liczba nieobliczalna jest to taka specyficzna liczba niewymierna,
której nie można obliczyć (algorytmicznie wyznaczyć) z dowolnąktórej nie można obliczyć (algorytmicznie wyznaczyć) z dowolnązadaną dokładnością.Można ją obliczyć tylko z pewną skończoną dokładnością.
Należy odróżnić zatem niewymierne liczby obliczalne i niewymierne liczby nieobliczalne.
Czy liczba π jest nieobliczalna?
NIE.
Liczbę π można przedstawić w postaci szeregu liczbowego,
który to szereg można zinterpretować jako algorytm jej obliczania z dowolną zadaną dokładnością. obliczania z dowolną zadaną dokładnością.
∑∞
=
=++++=
0!
1...
!3
1
!2
1
!1
11
nn
e
∑∞
=+
−⋅=+−+−=
0 12
)1(4...
7
4
5
4
3
44
n
n
nπ
Co liczby nieobliczalne mają
wspólnego z maszynami Turinga?
Za pomocą maszyn Turinga definiuje się pojęcie obliczania.
Obliczać -- to znaczy wykonywać program dla maszyny Turinga.
A ZATEM…A ZATEM…
Co liczby nieobliczalne mają
wspólnego z maszynami Turinga?
Za pomocą maszyn Turinga definiuje się pojęcie obliczania.
Obliczać to znaczy wykonywać program dla maszyny Turinga.
A ZATEM…
Liczba obliczalna jest to taka liczba rzeczywista,
dla której istnieje maszyna Turinga (inaczej: program dla maszyny cyfrowej) pozwalająca obliczyć ją z dowolną zadaną dokładnością.
Liczba nieobliczalna nie ma powyższej własności: jest niewyznaczalna za pomocą maszyn Turinga.
A ZATEM…
Liczby (nie)obliczalne – kilka określeń
� Nie istnieje dla nich
Liczby obliczalne… (wg. Turinga)
� Istnieje dla nich
Liczby nieobliczalne… (wg. Turinga)
� Nie istnieje dla nich
algorytm obliczania.
� Żadna maszyna Turinga
nie potrafi obliczyć ich
z dowolną zadaną
dokładnością.
� Nie istnieje algorytm
obliczania ich kolejnych cyfr.
� Istnieje dla nich
algorytm obliczania.
� Istnieje maszyna Turinga
obliczająca je z dowolnązadaną dokładnością.
� Istnieje algorytm
obliczania ich
kolejnych cyfr.
liczby
naturalne
liczby
wymierne
liczby
niewymierne
zero liczby
ujemne
liczby
rzeczywiste
liczby
zespolone
Na osi CZASU liczby obliczalne
i nieobliczalne
Różne klasy liczb
Re
Im
0 2
4
3 1-1
i
Na osiach LICZBOWYCH
liczby
nieobliczalne
…?
Definiowanie liczb nieobliczalnych
Niektóre liczby nieobliczalne można zdefiniować,
nie podając jednak efektywnego schematu
wyznaczania ich kolejnych cyfr.
Poglądowy przykład:
a) Tworzymy uporządkowaną listę wszelkich możliwych a) Tworzymy uporządkowaną listę wszelkich możliwych
maszyn Turinga MTi
(z danymi wejściowymi na taśmach).
b) Definiujemy liczbę zapisaną binarnie
L = 0,b1b2b3b4… przy czym
bi = 1, gdy MTi kończy pracę
bi = 0, gdy MTi działa w nieskończoność
Od niewymierności do nieobliczalności
1. Istnieją liczby niewymierne.
(Pitagorejczycy, VI w p.n.e)
2. Liczby naturalne i wymierne
są równoliczne.
5. Istnieją różne podklasy liczb
niewymiernych.
(XIX i XX wiek)
6. Istnieją niewymierne liczby są równoliczne.
(G. Cantor, koniec wieku XIX)
3. Liczby naturalne i rzeczywiste
nie są równoliczne.
(G. Cantor, koniec wieku XIX)
4. Zbiór liczb niewymiernych ma
moc continuum.
(G. Cantor, koniec wieku XIX)
nieobliczalne.
(Turing 1936)
7. Zbiór liczb nieobliczalnych ma
moc continuum.
8. Liczby nieobliczalne są czysto
losowe.
(G. Chaitin 1987)