O problemie Collatza

advertisement
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
• strona J. Lagariasa
www.cecm.sfu.ca/organics/papers/lagarias
Problem
Niech f będzie funkcją określoną w
następujący sposób
n div 2 gdy n jest liczb ą parzyst ą
f ( n)  
3  n  1 gdy n jest liczb ą nieparzyst ą
Czy prawdą jest, że dla każdego n istnieje
taka iteracja i funkcji f, że f i(n)=1 ?
Problem (ujęcie współczesne)
Czy prawdą jest, że następujący program P
zatrzymuje się
P: while n1 do
if even(n) then n:= n div 2 else n:=3*n+1 fi
done
dla każdej liczby naturalnej n>0?
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)
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.
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
Model niestandardowy M1
• Rozważamy system <U, o, i, +> w którym uniwersum U
jest zbiorem par <k, w>  ZQ+ , takich, że w=0 k0 ,
• 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>
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 !
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.
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.
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 =.
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 ,
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.
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.
Niestandardowy model M2
IV
Lemat
Teoria 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.
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?
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 ?
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ą
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)
Programy
• Def. pojęcia programu
Formuła stopu
• Program
K
formuła stopu
halt(K)
• Definicja
Formuł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
Tabela
Program
Zatrzymuje się? Formuła stopu
w jęz. 1 rzędu
N
tak
nie istn.
P
?
? (nie)
PF4
nie
istnieje
G
?
istnieje
...
32768
5120
16384
2560
8192
672
1280
640
4096
682
680
113
2048 341
340
336
320
52
1024
170
168
160
26
512
85
84
13
256
42
80
40
128
21
20
64
10
32
5
16
8
4
2
1
3
Download