Python Collatz Problemi'ni test ediyoruz

K.Makise

Kilopat
Katılım
28 Kasım 2020
Mesajlar
4.799
Makaleler
4
Çözümler
81
Daha fazla  
Cinsiyet
Erkek
Collatz Problemi, matematikte çözülemeyen problemlerden biridir. Kısaca bahsetmek gerekirse: Belirli kurallar çerçevesinde işlemler yapıyoruz ve sonuç her zaman 1 oluyor, kurallar şöyle:
  • Bir sayı seçiyoruz.
  • Sayı 1'e eşitse işlem yapmıyoruz.
  • Eğer sayı çift ise ikiye bölüyoruz.
  • Eğer sayı tek ise 3 ile çarpıp 1 ekliyoruz.
Ve sonuç en sonunda hep 1 oluyor.

Örnek:
Sayımız 17 olsun bu sayı tek, 3 X 17 + 1 = 52 (çift),
52 / 2 = 26 (çift),
26 / 2 = 13 (tek),
13 X 3 + 1 = 40 (çift),
40 / 2 = 20 (çift),
20 / 2 = 10 (çift),
10 / 2 = 5 (tek),
5 X 3 + 1 = 16 (çift),
16 / 2 = 8 (çift),
8 / 2 = 4 (çift),
4 / 2 = 2 (çift),
2 / 2 = 1

Böyle enteresan bir problem ben de deneme amaçlı bu işlemi belirlenen sayıya kadar yapan bir Python kodu yazdım, öyle eğlence amaçlı isteyen deneyebilir ben 100.000.000'a kadar denedim ve sonuç hep 1 çıktı.

Python:
number = None
tested_number = None


def even(num):
    global number
    number = num / 2


def odd(num):
    global number
    number = num * 3 + 1


def even_or_odd(num):
    global number
    number = num
    while True:
        if number == 1:
            with open("Collatz_problem.txt", "a")as file:
                file.write(f"Tested number: {tested_number}, result: 1\n\n")
            break
        if number % 2 == 0:
            even(number)

        else:
            odd(number)


for i in range(2, 1000001):
    tested_number = i
    print(i)
    even_or_odd(i)
 
Son düzenleme:
kendi görüşlerimi bir mantık sistemi içinde ifade etmeye çalışacağım. Bir ispat niteliği taşımamaktadır.

Aksiyon 1: x sayısı tek olmak üzere (2^x).k biçiminde yazılan her sayı k’ye denktir.
24=2^3 .3≡3

128=2⁷.1≡1
Önerme 1: Tek doğal sayıların 2 ile çarpımından pozitif çift doğal sayılar oluşur.
2(2N+1)=2N
Çıkarım 1: Collatz Sanısı tek sayılar için doğruysa her pozitif doğal sayı için doğrudur.

x =2N+1 , (2^x).k≡k,

k≡1⟹2k≡1

Önerme 2: Her 3n+1 sayısı (2^x).k şeklinde yazılır. Bu şekilde yazılan her sayı x’e denktir.

3n+1≡(2^x).k≡k

Çıkarım 2: 3n+1 sayısı, k tek sayısına denk olacağı için 3n+1 sayısı tek sayı olarak alınabilir.
3n+1=2N+1 ⟹ n=0, 2, 4, 6, 8...
T.T+1=Ç ⟹ 3(3n+1)+1=9n+7=2k

(9n+7)/2=4,5n+3,5; 4,5n+3,5>3n+1

Tanım 1: x doğal sayı olmak üzere ((2^x)-1)/3 şeklinde yazılabilen doğal sayılara sayılara kritik sayı denir. 2'nin kuvvetleri sonsuz olduğu için kritik sayılar sonsuzdur. Bazı kritik sayılar:

1-5–21–85–341–1365…
Sonuç: 3n+1 sayısı sürekli olarak kendinden daha büyük tek sayılar üretmektedir. Bu tek sayılar kritik sayılara ulaştıklarında 1'e indirgenmektedir. p 1'e indirgenmeyen bir sayı olsun. p sayısı sonsuz işlemde hiçbir zaman bir kritik sayıya eşit olmaması gerekir. Ancak kritik sayılar sonsuzdur ve işlem hakkımız da sonsuz oluğu için p sayısı elbet 1'e indirgenecektir.
 

Technopat Haberler

Yeni konular

Geri
Yukarı