Przyczynek do problemu Collatza

Slides:



Advertisements
Podobne prezentacje
Witamy na spotkaniu z Betterware!
Advertisements

ALGORYTMY I STRUKTURY DANYCH
PRAM.
METODY ANALIZY PROGRAMÓW
Grażyna Mirkowska PJWSTK 15 listopad 2000
Metody Analizy Programów Wykład 02
Wprowadzenie do optymalizacji wielokryterialnej.
Wykład 06 Metody Analizy Programów System Hoare
Algorytmy – zapis struktur programowania
Programowanie I Rekurencja.
Semafory Autorzy : Michał Winciorek Łukasz Jackowicz.
Trian_mon(P) Input: y-monotoniczny wielokąt zapamiętany jako zbiór boków, Output: triangulacja D jako zbiór krawędzi. Wyodrębnij prawy i lewy łańcuch punktów,
ALGORYTMY I STRUKTURY DANYCH
ALGORYTMY I STRUKTURY DANYCH
Matematyka Dyskretna, G.Mirkowska, PJWSTK
ZŁOŻONOŚĆ OBLICZENIOWA
Turbo pascal – instrukcje warunkowe, iteracyjne,…
Rekurencja Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Imperatywne modele obliczeń Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do.
Rekurencja Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Imperatywne modele obliczeń Copyright, 2003 © Jerzy R. Nawrocki Teoretyczne podstawy.
Programowanie imperatywne i granice obliczalności Copyright, 2004 © Jerzy R. Nawrocki
Rekursja Copyright, 2004 © Jerzy R. Nawrocki Teoretyczne podstawy informatyki.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
ALGORYTMY I STRUKTURY DANYCH
Wpływ warunków na niewiadome na wyniki wyrównania.
Materiały pomocnicze do wykładu
Matematyka Dyskretna, Struktury algebraiczne G.Mirkowska, PJWSTK
Odkrywanie wzorców sekwencji
Rzędy wielkości funkcji
Analiza kosztu zamortyzowanego
Semantyki programów współbieżnych " Determinizm programów sekwencyjnych, " Nie-determinizm programów współbieżnych, " prawdziwa równoległość vs.przeploty.
0 BIBLIOTEKI XXI WIEKU. CZY PRZETRWAMY? Ogólnopolska konferencja bibliotekarzy Łódź, czerwca 2006.
Skrypty w powłoce Ryszard Haraszczuk. Pierwszy skrypt Stworzenie pliku touch skrypt Wpisanie specjalnej linii dla powłoki #!/bin/bash Napisanie skryptu.
Schemat Hornera Mgr inż. Michał Szucki.
Algorytm mini-max.
Równoległy algorytm metody Jacobiego rozwiązywania zagadanienia brzegowego dla eliptycznych równań różniczkowych cząstkowych.
Metodyka nauczania Informatyki
Instrukcje sterujące część 2
© A. Jędryczkowski – 2006 r. © A. Jędryczkowski – 2006 r.
Pierwsze programy.
Wyrażenia w Turbo Pascalu.
Agenda Co to jest Scopus ? Author Identifier SCOPUS i scientometria.
Rodzaje, przechodzenie grafu
Opłacalność przedsięwzięcia - próg rentowności
Edytor tesktu i skrypty
INSTRUKCJE Umożliwiają zapis algorytmu, służą do sterowania przebiegiem programu. warunkowe (podejmowanie decyzji) 1. if-else „jeżeli”, 2. switch-case.
Składnia instrukcji warunkowej if…
Ogólna struktura programu w TP
Visual Basic Scritpts.
Instrukcje iteracyjne
Algorytmika Iteracje autor: Tadeusz Lachawiec.
ALGORYTMY I STRUKTURY DANYCH WYKŁAD 03 cd. Wyszukiwanie Grażyna Mirkowska PJWSTK, 2003/2004.
Instrukcje wyboru.
WYKŁAD 06 Programowanie dynamiczne Grażyna Mirkowska.
ANALIZA SKŁADNIOWA.
Algorytmy równoległe Algorytm równoległy pozwala na wykonywanie w danej chwili więcej niż jednej operacji. EREW - wyłączny odczyt i wyłączny zapis; CREW.
METODY REPREZENTOWANIA IFORMACJI
Wstęp do programowania Wykład 4
Programowanie I Rekurencja.
ALGORYTMY I STRUKTURY DANYCH
Co to jest algorytm? Uporządkowany i uściślony sposób rozwiązania danego problemu, zawierzający szczegółowy opis wykonywanych czynności w skończonej.
Podstawy Python.
Współprogramy IV.
ALGORYTMY I STRUKTURY DANYCH
ALGORYTMY I STRUKTURY DANYCH
ALGORYTMY I STRUKTURY DANYCH
ALGORYTMY I STRUKTURY DANYCH
ALGORYTMY I STRUKTURY DANYCH
ALGORYTMY I STRUKTURY DANYCH
Zapis prezentacji:

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 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 formuła stopu K 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

... 32768 5120 16384 2560 8192 1280 4096 682 680 113 672 640 2048 341 340 336 320 52 1024 170 168 160 26 512 85 84 80 13 40 256 42 20 3 128 21 10 64 32 5 16 8 4 2 1