Przyczynek do problemu Collatza

25
Przyczynek do problemu Collatza Andrzej Salwicki 24 lutego 2004

description

Przyczynek do problemu Collatza. Andrzej Salwicki 24 lutego 2004. Historia problemu. Problem jest starszy ode mnie Wielu ludzi uważa się za autora problemu: Collatz, Kakutani, Erdos, Thwaite, ... Ustanowiono nagrody pieniężne za rozwiązanie problemu: 50$, 500$,1400$ i ... nic - PowerPoint PPT Presentation

Transcript of Przyczynek do problemu Collatza

Page 1: Przyczynek do problemu  Collatza

Przyczynek do problemu Collatza

Andrzej Salwicki

24 lutego 2004

Page 2: Przyczynek do problemu  Collatza

Historia problemu

• Problem jest starszy ode mnie

• Wielu ludzi uważa się za autora problemu: Collatz, Kakutani, Erdos, Thwaite, ...

• Ustanowiono nagrody pieniężne za rozwiązanie problemu: 50$, 500$,1400$ i ... nic

• strona J. Lagariasa www.cecm.sfu.ca/organics/papers/lagarias

Page 3: Przyczynek do problemu  Collatza

Problem

Niech f będzie funkcją określoną w następujący sposób

Czy prawdą jest, że dla każdego n istnieje taka iteracja i funkcji f, że f i(n)=1 ?

ąnieparzystliczbąjestngdy13

parzystąliczbąjestngdy2div)(

n

nnf

Page 4: Przyczynek do problemu  Collatza

Problem (ujęcie współczesne)

Czy prawdą jest, że następujący program P zatrzymuje sięP: while n1 do if even(n) then n:= n div 2 else n:=3*n+1 fi

done

dla każdej liczby naturalnej n>0?

Page 5: Przyczynek do problemu  Collatza

Strona wyników

• łatwo uruchomimy ten program, stąd większa obecnie popularność drugiego sformułowania,

• strona Rosendaala zawiera wiele rekordów obliczeń dla problemu Collatza:personal.computrain.nl/eric/wondrous/np. program P zatrzymuje się dla wszystkich n<258 (luty 2004)

Page 6: Przyczynek do problemu  Collatza

Mój przyczynek

• Arytmetyka Peano nie zawiera twierdzenia:„program P zatrzymuje się dla każdej liczby naturalnej n”– ponieważ własność stopu tego programu nie jest

wyrażalna w języku arytmetyki Peano

– ale... wiele programów ma formuły stopu będące formułami aytmetyki.

Page 7: Przyczynek do problemu  Collatza

Spostrzeżenie

• program P nie musi wykonywać mnożeń ani dzieleń, 3*n = n+n+n n jest parzyste (y) y+y=n n div 2 =y y+y=n

• obliczenia można przeprowadzać w niestandardowym modelu arytmetyki liczb naturalnych z dodawaniem

Page 8: Przyczynek do problemu  Collatza
Page 9: Przyczynek do problemu  Collatza

Model niestandardowy M1

• Rozważamy system <U, o, i, +> w którym uniwersum U jest zbiorem par <k, w> ZQ+ , takich, że w=0 k0 ,

• dodawanie jest określone „po współrzędnych”<k,w>+ <k’,w’> =df <k+k’, w+w’>

• o =df <0, 0>

• i =df <1, 0>

Przyjmując naturalną definicję mniejszości x<y ( z) x+z+i=y

dostrzegamy, że liczby naturalne czyli pary <k, 0> są

mniejsze od elementów niestandardowych tego modelu.

<k,0> < <l,w> bo <k,0>+<l-k-1,w>+<1,0> = <l,w>

Page 10: Przyczynek do problemu  Collatza

Obliczenie programu P w M1

Niech w będzie liczbą wymierną 0. Para <0,w> jest liczbą parzystą, <0,w>=<0,w/2>+<0, w/2>.

Obliczenie programu P dla n=<0, w> jest więc nieskończone.

Można zauważyć, że dla każdej pary <k,w>, w 0, obliczenie programu P jest nieskończone bo nie można osiągnąć elementu i=<1,0>.

A więc dla każdego elementu niestandardowego program P ma obliczenie nieskończone !

Page 11: Przyczynek do problemu  Collatza

Wniosek

Elementarna teoria liczb naturalnych z dodawaniem nie zawiera twierdzenia o zatrzymywaniu się programu P.

Nie oznacza to, że hipoteza Collatza jest fałszywa. Jeśli program P zatrzymuje się dla każdej liczby naturalnej n, to w języku arytmetyki z dodawaniem nie ma formuły stopu dla programu P. Gdyby taka formuła istniała i była twierdzeniem to program musiałby zatrzymywać się także w modelach niestandardowych dla każdego elementu modelu.

Page 12: Przyczynek do problemu  Collatza

Czy mnożenie pomoże? Nie.Można wykazać, że istnieje taki niestandardowy model arytmetyki Peano w którym program P ma obliczenie nieskończone.

Page 13: Przyczynek do problemu  Collatza

Arytmetyka Peano Teoria liczb naturalnych z dodawaniem i mnożeniem.

Ax1) (x) x+1 0

Ax2) x+1=y+1 x=y

Ax3) x+0=x

Ax4) x+(y+1)= (x+y)+1

Ax5) x*0 = 0

Ax6) x*(y+1) = x*y + x

Axind) ((x/0) (x)((x)(x/x+1)) (x)(x))

w tym schemacie indukcji wyrażenie jest dowolną formułą w której jako symbole pozalogiczne występują tylko 0, 1, +, * i =.

Page 14: Przyczynek do problemu  Collatza

Niestandardowy model M2

Zbudujemy nieskończony ciąg teorii {Ti}. Teoria T0 to arytmetyka Peano. Język teorii T1 to rozszerzenie języka teorii T0 o nową stałą 1. Aksjomaty teorii T1 zawierają wszystkie aksjomaty teorii T0, formułę (Ey) y+y= 1 oraz nieskończony zbiór formuł postaci

0< 1 , 1< 1 , 2< 1 , ...

Teoria T1 jest niesprzeczna i posiada model.[AG str.264]

Załóżmy, że dla j<i teoria Tj jest niesprzeczna. Określamy teorię Ti w następujący sposób:

- język teorii Ti jest wzbogacony o stałą i ,

Page 15: Przyczynek do problemu  Collatza

Niestandardowy model M2 II

Aksjomatami teorii Ti są wszystkie aksjomaty teorii Ti, a ponadto formuła (Ey)y+y= i oraz nieskończony zbiór formuł postaci

0< i , 1< i , 2< i , ...

Lemat Teoria Ti jest niesprzeczna i posiada model.

W dowodzie wykorzystujemy własność zwartości: wystarczy wykazać, że każdy skończony podzbiór zbioru aksjomatów teorii Ti jest niesprzeczny by uzyskać niesprzeczność całego zbioru.

Page 16: Przyczynek do problemu  Collatza

Niestandardowy model M2 III

Jako model zbioru Z weźmiemy standardowy model liczb naturalnych z dodawaniem i mnożeniem, trzeba tylko określić znaczenie występujących w nim stałych i.

Niech n0 będzie największym liczebnikiem występującym w formułach zbioru Z. Niech k będzie najwyższym wskażnikiem stałej k występujacej w zbiorze Z. Jako

znaczenie tej stałej wystarczy przyjąć liczbę p parzystą większą niż n0. Kładziemy dalej k-1 = 2*p, k-2 =4*p, ...

0 =2k*p. W ten sposób stworzyliśmy model dla dowolnie wybranego podzbioru Z zbioru aksjomatów teorii Ti. A więc teoria ta jest niesprzeczna.

Page 17: Przyczynek do problemu  Collatza

Niestandardowy model M2 IV

LematTeoria T = i N Ti jest niesprzeczna i posiada model, oznaczmy go przez M2.

Fakt

Obliczenie programu P wykonywanego w modelu M2 dla n= 1 jest nieskończone.

(meta)Twierdzenie

Zbiór twierdzeń Arytmetyki Peano nie zawiera formuły wyrażającej własność stopu programu P.

Page 18: Przyczynek do problemu  Collatza

Pytanie

• Czy tu nie ma sprzeczności z faktem, że w Arytmetyce Peano można zapisać własność liczba w jest kodem skończonego ciągu liczb s1, ... ,sn, który to ciąg reprezentuje obliczenie programu?

Page 19: Przyczynek do problemu  Collatza

Dwie odpowiedzi• Nie, semantyka programów z instrukcją while jest

dana a priori tak jak pojęcie spełniania(prawdy). Tam jednak stosujemy liczby naturalne standardowe. Chcę o tym powiedzieć parę słow póżniej.

• Można pójść tropem tej formuły i zbudować semantykę programów while w oparciu o nią. Będzie to niestandardowa logika dynamiczna (zob. I. Nemeti, H. Andreka, I. Sain). A nasz program P zawsze się zatrzyma, tyle, że po pewnej niestandardowej liczbie kroków. No i ?

Page 20: Przyczynek do problemu  Collatza

Języki teorii algorytmicznych

Trzy (a nie dwa) zbiory wyrażeń poprawnie zbudowanych:

• termy • formuły• programy

zbiór formuł zawiera formuły pierwszego rzędu, a ponadto formuły algorytmiczne w trzech smakach:

K „po wykonaniu programu K zachodzi ”

K „istnieje iteracja K taka, że ”

K „dla każdej iteracji K zachodzi ” gdzie K jest programem a jest formułą algorytmiczną

Page 21: Przyczynek do problemu  Collatza

Pojęcie spełnialności

• Jak zwykle, ponadto pojęcie znaczenia programu jako funkcji ze zbioru W wartościowań w zbiór W (można nieco inaczej podając pojęcie obliczenia)

• Niech v, v’ będą wartościowaniami zmiennych. Znaczeniem programu [x :=t] jest funkcja [x:=t]A przyporządkowująca wartościowaniu v wartościowanie v’ takie, że v’(z)= v(z) dla z <>x i v’(x) = tA(v)

Page 22: Przyczynek do problemu  Collatza

Programy

• Def. pojęcia programu

Page 23: Przyczynek do problemu  Collatza

Formuła stopu

• Program formuła stopu K halt(K)

• DefinicjaFormuła wyraża własność stopu programu K: obliczenie programu K w systemie M i dla stanu początkowego v jest skończone M(v)=true

Page 24: Przyczynek do problemu  Collatza

Tabela

Program Zatrzymuje się? Formuła stopuw jęz. 1 rzędu

N tak nie istn.

P ? ? (nie)

PF4 nie istnieje

G ? istnieje

Page 25: Przyczynek do problemu  Collatza

1

2

4

8

16

32

64

128

256

512

1024

2048

4096

8192

16384

32768

5

21

85

341

...

682

170

340

680 113

42

84

168

336

672

10

20

4080

160

320

6401280

2560

5120

3

13

26

52