25
Przyczynek do problemu Collatza Andrzej Salwicki 24 lutego 2004

Przyczynek do problemu Collatza

  • Upload
    nasnan

  • View
    59

  • Download
    0

Embed Size (px)

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

Citation preview

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