21
O LICZBACH NIEOBLICZALNYCH I ICH ZWIĄZKACH I ICH ZWIĄZKACH Z INFORMATYKĄ

O LICZBACH NIEOBLICZALNYCH I ICH ZWI ĄZKACH Z …stac.calculemus.org/pdf/EFiMI-2016/Wyklady/T6-O_liczbach... · Turinga) algorytm obliczania. Żadna maszyna Turinga nie potrafi obliczy

Embed Size (px)

Citation preview

O LICZBACH

NIEOBLICZALNYCH

I ICH ZWIĄZKACHI ICH ZWIĄZKACH

Z INFORMATYKĄ

Jakie obiekty matematyczne

nazywa się nieobliczalnymi?

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?

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 ?

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ą.

Jakiego typu liczbami są

liczby nieobliczalne?

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?

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

Co liczby nieobliczalne mają

wspólnego z maszynami Turinga?

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)