Collatz problem

Från Wikipedia
Hoppa till: navigering, sök

Collatz problem är ett olöst problem inom talteorin. Problemet kallas även för bland annat Collatz förmodan, Ulam-förmodan och 3n+1-förmodan.[1] Lothar Collatz formulerade problemet under sin tid som student.[2] Problemet utgår från en räknelek som börjar med ett positivt heltal n. Nästa steg är att dela n med två om det är jämnt, eller multiplicera det med tre och addera ett om det är udda. Sedan upprepas detta steg med talet som erhölls genom uträkningen till dess att resultatet blir ett. Detta kan skrivas som en talföljd. Collatz problem är att avgöra om man, oavsett vilket tal man börjar med, kan nå talet ett. Problemet kan till viss del omvandlas till att försöka finna en cykel av tal som inte innehåller ett. Dessutom går det att omformulera problemet ytterligare. Datorberäkningar används för att undersöka och försöka hitta en lösning till Collatz problem. Än så länge har ingen kunnat avgöra huruvida alla talföljder slutar med ett, så problemet är olöst.

Problemformulering[redigera | redigera wikitext]

Collatz problem utgår från följande räknelek:

  1. Utgå från ett positivt heltal n.
  2. Om n är jämnt, dividera det med två. Om det är udda, multiplicera det med tre och addera därefter ett.
  3. Upprepa steg 2 tills du når talet ett.

Collatz problem består av att avgöra om det för alla n är möjligt att nå talet ett. Detta kan även uttryckas som en förmodan, som är att det för alla n faktiskt är möjligt att nå talet ett. För att underlätta förståelsen av problemet så används en funktion definierad som steg 2 i räkneleken. Den blir så här:[3]

 T(n) = \left\{\begin{matrix} n/2, & \mbox{om }n\equiv0\mbox{ (mod 2)} \\ 3n+1, & \mbox{om }n\equiv1\mbox{ (mod 2)} \end{matrix}\right.

Denna funktion används återigen på resultatet från tidigare beräkningar. Detta ger upphov till en talföljd. Alla termer i talföljden, bortsett från den första, är definierade rekursivt som en funktion av sin föregående term. Ett skrivsätt för detta är:

 a_i = \begin{cases}n, & \mbox{då } i = 0 \\ T(a_{i-1}), & \mbox{då } i\ne 0 \end{cases}

Exempelvis så ger talet 11 upphov till följande talföljd:[4]

 a_0 = 11,\ a_1 = 34,\ a_2 = 17,\ a_3 = 52,\ a_4 = 26,\ a_5 = 13,\ a_6 = 40,\ a_7 = 20,\ a_8 = 10,\ a_9 = 5,\ a_{10} = 16,\ a_{11} = 8,\ a_{12} = 4,\ a_{13} = 2,\ a_{14} = 1

För en sådan talföljd a_0, a_1, \ldots, a_k så kan vi definiera följande två funktioner:[5]

\operatorname{Mx} (n) = \lim_{k \to \infty}\operatorname{Max} (a_0, a_1, \ldots, a_k)
\operatorname{Mn} (n) = \lim_{k \to \infty}\operatorname{Min} (a_0, a_1, \ldots, a_k)

Dessa funktioner möjliggör tre definitioner för ett positivt heltal n. Talet n är:[5]

  • Konvergent om Mn(n)=1.
  • Divergent om Mx(n) ej existerar.
  • Cykliskt i alla andra fall.

Med hjälp av definitionera så är det möjligt att omformulera problemet. Alternativa formuleringar är:

  • Inget n är divergent.
  • Alla n är konvergenta.

Dessa två formuleringar antyder att det inte skulle finnas någon annan cykel än 1, 2, 4, 1, ... bland talföljderna för alla olika n. (På grund av räknelekens regler skulle denna cykel aldrig skrivas med i någon talföljd.) Inget av detta har ännu bevisats, och Collatz problem är olöst.

Resultat från datorberäkningar[redigera | redigera wikitext]

Med hjälp av datorberäkningar har man kunnat undersöka många olika n. Samtliga n som undersökts har visat sig vara konvergenta. Följande kod är skriven till Lisp-dialekten DrScheme. Där kan en talföljd till ett tal n beräknas genom:

(define collatz
  (lambda (n)
    (cons n
          (cond ((= n 1) '())
                ((= (modulo n 2) 0) (collatz (/ n 2)))
                ((= (modulo n 2) 1) (collatz (+ (* n 3) 1)))))))

I och med att datorer blir bättre och bättre har det varit möjligt att visa att Collatz problem stämmer för mycket stora tal. Det tar lång tid att utföra beräkningarna. Än så länge har det bevisats att Collatz förmodan stämmer för tal upp till 845*2^{50}.[6] Detta har lett till att många matematiker tror att det gäller för alla tal.

Alternativa problemformuleringar[redigera | redigera wikitext]

Det finns fler sätt att formulera Collatz problem. Bland annat kan funktionen T(n) inverteras till en flervärd funktion som här kallas R(n), och så börjat talföljden med ett istället.[7] Då består problemet istället av att bevisa att talet ett kan leda till samtliga positiva heltal via funktionen:

 R(n) = \begin{cases} 2n & \mbox{om } n\equiv0,1,2,3,5 \mbox{ (mod 6)} \\ 2n, (n-1)/3 & \mbox{om } n\equiv4 \mbox{ (mod 6)} \end{cases}

Detta kan förklaras med en graf, vars centrum är talet ett. Andra tal är placerade runt ettan. Ett tals talföljd, som erhålls genom att funktionen T(n) används till dess att resultatet blir ett, fås genom att man följer pilarna. Den nästkommande termen i talföljden är den som pilen från talets ruta pekar mot.

Noter[redigera | redigera wikitext]

  1. ^ http://www2.math.su.se/~per/files/Rekursion%5B2009%5D%5BSwe%5D-PAXINUM.pdf, läst 2010-05-11.
  2. ^ Guy, Richard K: "Unsolved Problems in Number Theory", sidan 120. Springer-Verlag, 1981.
  3. ^ http://www.cecm.sfu.ca/organics/papers/lagarias/paper/html/node2-an.shtml, läst 2010-05-08.
  4. ^ http://www.nitrxgen.net/collatz.php, använd 2010-05-09.
  5. ^ [a b] http://www.ericr.nl/wondrous/index.html, läst 2010-05-09.
  6. ^ http://www.ericr.nl/wondrous/index.html, läst 2010-05-11.
  7. ^ http://en.wikipedia.org/wiki/Collatz_conjecture#Other_formulations_of_the_conjecture, läst 2010-05-11.

Referenser[redigera | redigera wikitext]

  • Alexandersson, Per. "Talserier och rekursion". [1]
  • Guy, Richard K: "Unsolved Problems in Number Theory". Springer-Verlag, New York. 1981.
  • "The 3x+1 problem". [2]
  • "Collatz Conjecture - Nitrxgen". [3]
  • "On The 3x+1 Problem". [4]
  • Engelska wikipedia för information om alternativa formuleringar av Collatz problem. [5]