حدس کولاتز کیست؟ توضیح بده.
حدس کولاتز (Collatz Conjecture)، حدسی در ریاضیات است که مربوط به دنباله‌ها بوده و به این صورت مطرح می‌گردد: از هر عدد طبیعی دلخواهی چون "n" شروع کنید، سپس هر جمله از جمله بعدی دنباله به این صورت بدست می‌آید: اگر جمله قبلی زوج بود، جمله بعدی نصف قبلی خواهد بود. اگر جمله قبلی فرد بود، جمله بعدی سه برابر جمله قبلی به علاوه ۱ خواهد شد. این حدس می‌گوید: مهم نیست که مقدار "n" چه باشد، در نهایت این دنباله همیشه به ۱ ختم خواهد شد.این حدس را به نام لوتار کولاتز نامگذاری کرده‌اند که اولین بار ایده آن را در ۱۹۳۷ میلادی، دو سال پس از دریافت مدرک دکترایش معرفی نمود. همچنین این مسئله را به نام‌های زیر نیز می‌شناسند: مسئله formula_1، حدس formula_1، حدس اولام (به یاد استنی‌سواف اولام)، مسئله کاکوتانی (به یاد شیزو کاکوتانی)، حدس توایتس (به یاد برایان توایتس)، الگوریتم هاسه (به یاد هلموت هاسه) یا مسئله سیراکوس. دنباله اعداد ظاهر شده در این حدس را برخی مواقع دنباله تگرگی یا اعداد تگرگی (به این دلیل که مقادیرش اغلب همچون تگرگ درون یک ابر، چندین نزول و صعود دارند) یا اعداد شگرف می‌نامند.پاول اردوش در مورد حدس کولاتز گفت: «ممکن است ریاضیات برای چنین مسائلی هنوز آمادگی نداشته باشد.» همچنین او جایزه ۵۰۰ دلاری را برای جواب آن اعلام نمود. جفری لاگاریاس در ۲۰۱۰ بیان نمود که حدس کولاتز «مسئله‌ای است که دشواری عجیباً زیادی داشته و کاملاً از دسترس ریاضیات کنونی خارج است.»بیان مشکل.برای مثال، اگر عملیات روی ۳ انجام شود، نتیجه ۱۰ است و اگر روی ۲۴ اجرا شود نتیجه ۱۲ است.اگر بخواهیم این عملیات را به صورت تابعی ریاضی نشان دهیم به صورت زیر خواهد بود: formula_3هم‌اکنون با اجرا کردن این عملیات بر روی یک دنباله از اعداد به‌طور متوالی با هر عدد صحیح مثبت، و گرفتن نتیجه به عنوان ورودی مرحله بعد:در حالی که:حدس کولاتز به صورت زیر است:این روند به صورت اتفاقی به عدد ۱ می‌رسد، صرف نظر از این که چه عددی به عنوان عدد اولیه انتخاب شده.کوچک‌ترین i که به ازای آن روند فوق ادامه می‌یابد زمان کلی ایست n نام دارد. این حدس ادعا دارد که هر عدد n یک زمان کلی ایست خوش تعریف دارد. اگر به ازای یک N خاص، عدد i به صورت بیان شده وجود نداشته باشد می‌گوییم N یک زمان کلی ایست نامحدود دارد و حدس غلط است.اگر حدس غلط باشد می‌تواند فقط به این دلیل باشد که یک عدد شروعی وجود دارد که به دنباله خاتمه‌ای می‌دهد که ۱ شامل آن دنباله نیست. یک چنین دنباله‌ای ممکن است وارد چرخه‌ای شود که از ۱ مستثنی باشد یا این که بدون محدودیت ادامه یابد. تا به حال چنین دنباله‌ای پیدا نشده است.مثال‌ها.۶، ۳، ۱۰، ۵، ۱۶، ۸، ۴، ۲، ۱شروع از n=۱۱، دنباله بیشتر طول می‌کشد تا به ۱ برسد:۱۱، ۳۴، ۱۷، ۵۲، ۲۶، ۱۳، ۴۰، ۲۰، ۱۰، ۵، ۱۶، ۸، ۴، ۲، ۱اگر مقدار عدد شروع n=۲۷ باشد، یک دنباله ۱۱۱ قدمی به وجود می‌آید که قبل از رسیدن به ۱ از ۹۰۰۰ تجاوز می‌کند:برنامه‌ای برای محاسبه دنباله کولاتز. while n &gt; 1 show n if n is odd set n to 3n + 1 else set n to n / 2 show nاین برنامه وقتی دنباله به ۱ می‌رسد، برای جلوگیری از چاپ چرخه بی پایان ۴و۲و۱، متوقف می‌شود.اگر حدس کولاتز درست باشد، این برنامه صرف نظر از عدد ورودی همیشه متوقف می‌شود.اثبات استدلال.در این قسمت دو دلیل برای این انتظار درستی بیان می‌کنیم:با تعجب باید گفته شود که این گونه مقید کردن‌ها توسط رایانه ارزش مدرکی بسیار محدودی دارند. چندین حدس وجود دارند که مثال نقضشان به‌طور استثنایی مقداری بسیار بزرگ است. (مانند حدس پولیا، حدس مرتن یا عدد اسکیوویز)همچنین این موضوع که، {۴٬۲٬۱} تنها چرخه با دورهٔ کمتر از ۳۵۴۰۰ است، روشن شده است.دیدگاه‌های دیگر دربارهٔ موضوع.در حالت معکوس.گراف کولاتز گرافی است که با رابطهٔ معکوس زیر تعریف می‌شود:formula_5بنابراین به جای این که ثابت کنیم همهٔ اعداد طبیعی به‌طور اتفاقی به ۱ می‌رسند، می‌توانیم ثابت کنیم که ۱ به تمام اعداد طبیعی سوق داده می‌شود. برای تمام اعداد صحیحهمچنین، رابطهٔ معکوس، به جز حلقهٔ ۱و۲و۴، یک درخت است(وارون حلقه ۱و۴و۲ یک تابع بدون تغییر است که در عبارت مشکل بالا مطرح شده است). وقتی رابطهٔ ۳n+۱ در تابع (f(n، با جانشینی رایج «میان بر» با رابطهٔ ۳n + ۱)/۲) جابه‌جا شود(بهینه‌سازی زیر را ببینید)، گراف کولاتز با رابطهٔ وارون زیر تعریف می‌شود:formula_6این رابطهٔ معکوس، به جز حلقهٔ ۱–۲، به شکل یک درخت در می‌آید (معکوس حلقهٔ ۱–۲در تابع (f(n، همان‌طور که نشان داده شد، در بالا بازبینی شده است)به عنوان اعداد گویا.اعداد طبیعی می‌توانند با به‌کارگیری روشی مشخص، به اعداد گویا تبدیل شوند. براای به دست آوردن مدل گویا، بزرگ‌ترین عدد توان ۲ که کمتر مساوی عدد اصلی است پیدا کنیدو آن را به عنوان مخرج در نظر بگیرید. سپس آن را از عدد اصلی کم کنید و به عنوان صورت در نظر بگیرید (۱۵/۵۱۲→۵۲۷). برای به دست آوردن مدل طبیعی عدد صورت و مخرج کسر را با هم جمع کنید (۵۱۱→ ۲۵۵/۲۵۶).حدس کولاتز می‌گوید که صورت سرانجام برابر صفر می‌شود. تابع کولاتز به صورت زیر تغییر می‌کند:این روش کار می‌کند زیرا ۳x" + ۱ = ۳("d" + "n") + ۱ = (۲"d") + (۳"n" + "d" + ۱) = (۴"d") + 3"n" - "d"+۱. کاهش یک عدد گویا قبل از هرگونه عملیات باید صورت گیرد تا بتوانx را فرد دریافت کرد.به عنوان یک ماشین انتزاعی.ماشین دو قدم زیر را تا زمانی که فقط ۱ باقی بماند روی هر عدد فردی انجام می‌دهد:۱. عدد اصلی را با عدد اصلی که یک "۱" به انتهای آن اضافه شده جمع کن. (رشته را به عنوان یک عدد دودویی در نظر می‌گیریم) می‌دانیم: ۳n + ۱ = (۲n + ۱) + n۲. تمام ۰های انتهایی را پاک کن.که برابر مبنای دو در محاسبات است.مثال:ما از عدد ۷ استفاده می‌کنیم پس در مبنای دو به صورت ۱۱۱ است:راه استفاده شده برای بازگو کردن هر عدد در مبنای دو به صورتی است که ابتدا عدد اولیه را می‌نویسیم سپس زیر آن همان عدد را با یک "۱" اضافه شده به انتهای سمت راست آن می‌نویسیم و دو عدد را جمع می‌کنیم. هر صفری که در انتهای راست حاصل جمع ظاهر شد حذف می‌کنیم و این روند را تا جایی ادامه می‌دهیم که به عدد ۱ برسیم.مقایسهٔ ماشین انتزاعی به برابری حسابی در مبنای ۲: # Python import re # regular expressions import gmpy # base 2 math library def abstract_machine(s): # define Truth Tables for the Full Adder print s while s != '۱': if s[-۱]=='۱': # it's odd s = '۰۰' + s # operands must be same length, so prepend with MS 0 ss = '۰' + s + '۰' # shift left (append LS 0) and prepend (MS 0) to allow carry t = ".join(reversed(s)) # iterating is L-&gt;R, so temporarily reverse tt = ".join(reversed(ss)) carry = '۱' # preset carry (the '1' of '3n+۱') answer = " # initialize answer for i,j in enumerate(t): # walk through operands one char at a time the_input = carry + j + tt[i] # assemble input from previous carry &amp; two operands the_sum = sum_tt[the_input] # look up sum out in sum Truth Table carry = carry_tt[the_input] # look up carry out in carry Truth Table answer = answer + the_sum # append sum to answer (carry used on next iteration) final_answer = ".join(reversed(answer)) # un-reverse answer if final_answer[۰]=='۰': # if the last pad caharacter didn't receive a carry, final_answer = final_answer[۱:] # ...get rid of it print final_answer # show result before stripping LS 0's else: # it's even final_answer = s m = re.search('(. *۱)(۰*$)',final_answer) # remove all LS 0's in one fell swoop s = "".join(m.groups()[۰]) # reassemble answer to do next iteration print s def base_2(n): while n&gt;۱: f = gmpy.scan1(n,۰) # find position of LS 1-bit if f&gt;۰: # it's even print gmpy.digits(n,۲) # print n in base 2 n = n» f # remove all LS 0's in one fell swoop else: # it's odd print gmpy.digits(n,۲) # print n in base 2 n = (n «۱) + n + ۱ # multiply by 3 and add 1 print gmpy.digits(n,۲) # print n in base ۲ # main print 'test of abstract machine:' print abstract_machine('111') print print print 'test of base 2:' print base_۲(۷) ## test of abstract machine: ## ۱۱۱ ## ۱۰۱۱۰ ## ۱۰۱۱ ## ۱۰۰۰۱۰ ## ۱۰۰۰۱ ## ۱۱۰۱۰۰ ## ۱۱۰۱ ## ۱۰۱۰۰۰ ## ۱۰۱ ## ۱۰۰۰۰ ## ۱ ## ## test of base ۲: ## ۱۱۱ ## ۱۰۱۱۰ ## ۱۰۱۱ ## ۱۰۰۰۱۰ ## ۱۰۰۰۱ ## ۱۱۰۱۰۰ ## ۱۱۰۱ ## ۱۰۱۰۰۰ ## ۱۰۱ ## ۱۰۰۰۰ ## ۱به عنوان یک تابع زوج.ما مجوز ایجاد این تغییر را داریم زیرا وقتی n فرد است ۳n+۱ همیشه زوج است. اگر (...)Pزوجیت یک عدد باشد، به صورتی که P(2n) = ۰ و P(2n + ۱) = ۱. پس ما می‌توانیم دنبالهٔ زوجیت کولاتز را برای یک عدد n به صورت ('pi" = P("ai"که "a"۰ = "n" و("a""i"+1 = "f"("a""i" تعریف می‌کنیم.استفاده از این شکل (f(n می‌تواند نشان دهد که دنبالهٔ زوجیت برای دو عدد m,n در k دورهٔ اول مساوی است اگر و تنها اگر m,n به پیمانهٔ "k"۲برابر باشند. این موضوع به این اشاره دارد که هر عدد به‌طور خاص با دنبالهٔ زوجیت خود شناخته می‌شود و علاوه بر این اگر حلقه‌های کولاتز متعددی وجود داشت، حلقهٔ زوجیت متناظر با آن‌ها نیز باید متفاوت باشد.اثبات این موضوع بسیار ساده است، می‌توان به صورت شهودی و بسیار ساده مشاهده کرد که اعمال f تابع ،k بار بر عدد"a" 2"k"+"b عدد "a" 3"c"+"d" را نتیجه خواهد داد، که d نتیجهٔ اعمال f تابع ،k بار بر عدد b است و c عددی است که نشان می‌دهد چه تعداد عدد فرد در طی این دنباله به دست آمده است بنابراین زوجیت k عدد اول به کلی با b معین می‌شود و زوجیت عدد k+۱ام، اگر آخرین عدد پرمعنیa تغییر کند، تغییر خواهد کرد.حدس کولاتز را می‌توان به این صورت بیان کرد که، زوجیت دنبالهٔ کولاتز برای هر عدد نهایتاً وارد حلقهٔ ۰ → ۱ → ۰ می‌شود.مانند یک سیستم برچسب.دنباله‌های کولاتز توسط سیستم بسیار ساده ۲-برچسبی که قانون حاصل جمع آن به صورت زیر است محاسبه می‌شوند:و به صورتی که عدد صحیح مثبت n یک رشتهٔ nتایی از aها بیان شده است، با بیان این موضوع که عملیات برچسب روی هر کلمه‌ای که طولش از ۲ کمتر است می‌ایستد.حدس کولاتز را می‌توان به این صورت بیان کرد که، این سیستم برچسب گذاری، با یک رشتهٔ دلخواه کراندار از aها به عنوان عدد اولیه، در پایان می‌ایستد.بسط در دامنه‌های بزرگتر.برای هر عدد صحیح، نه فقط اعداد صحیح مثبت، ما آن را روی (f(n می‌نگاریم که: *اگر n زوج f(n) = ۳n + ۱; *اگر n فرد f(n) = n/۲.به‌طور جالب توجه مشاهده می‌شود که در این حالت تنها پنج حلقه داریم، که به نظر می‌رسد که تمام اعداد نهایتاً مشمول این تکرار می‌شوند. این ۵ حلقه در پایین نشان داده شده است.برای ذخیره گامها، ما فقط اعداد فرد را در حلقه یادداشت می‌کنیم (به جز حلقه کوچک {۰}). هر عدد فرد n، وقتی تابع f مکرراً اعمال می‌شود به عدد فرد بعدی خواهد رسید در:(بزرگ‌ترین عدد توان دو که۳n+۱ را عاد می‌کند)/۳n+۱هر حلقه با اولین عضو کمترین مقدار مطلقش فهرست شده.ما هر حلقه را با اندازهٔ حلقهٔ کامل دنبال می‌کنیم (داخل پرانتز):شمارهٔ اعضا، زوج یا فرد، به حلقه متعلق است که بدون تکرار محاسبه شده است. a) ۱ → ۱ (size 3) b) ۰ → ۰ (size 1) c) -۱ → -۱ (size 2) d) -۵ → -۷ → -۵ (size 5) e) -۱۷ → -۲۵ → -۳۷ → -۵۵ → -۴۱ → -۶۱ → -۹۱ → -۱۷ (size ۱۸)در اینجا حدس کولاتز تعمیم یافته را بیان کردیم به این نظر که هر عدد صحیح، در تکرار توسط f، در پایان وارد یکی از حلقه‌های a,b،c,d،e می‌شود.تکرار روی اعداد گویا با مخرج زوج:نگاشت استاندارد کولاتز را می‌توان به اعداد گویا بسط داد (چه منفی چه مثبت) که مخرج فرد دارند، زمانی که در ساده‌ترین حالت نوشته می‌شوند. زوج یا فرد بودن عدد با توجه به این تعیین می‌شود که صورت زوج است یا فرد.دنباله‌های زوجیت همان‌طور که در بالا تعریف شد دیگر برای کسرها منحصربه‌فرد نیستند، هر چند می‌توان نشان داد هر حلقهٔ زوجیت ممکن یک دنبالهٔ زوجیت برای دقیقاً یک کسر است:اگر یک حلقه دارای طول n و شامل اعداد فرد دقیقاً m تا به صورت"k"۰, …, "k""m"-1، آنگاه کسر منحصربه‌فرد که حلقهٔ زوجیت را به وجود می‌آورد برابر:برای مثال، حلقهٔ زوجیت (۱ ۰ ۱ ۱ ۰ ۰ ۱) دارای طول ۷ و ۴ عدد فرد به صورت ۰٬۲٬۳ است و کسر منحصربه‌فرد که حلقهٔ زوجیت را تولید می‌کند برابر:حلقهٔ کامل موجود به صورت:۱۵۱/۴۷ → ۸۵/۴۷ → ۱۷۰/۴۷ → ۳۴۰/۴۷ → ۲۱۱/۴۷ → ۱۲۵/۴۷ → ۲۵۰/۴۷ →۱۵۱/۴۷هرچند جایگشت‌های تناوبی دنباله‌های زوجیت اصلی کسرهایی منحصربه‌فرد هستند ولی حلقه منحصربه‌فرد نیست. هر کسر جایگشت برابر عدد بعدی در دور حلقه است:همچنین برای منحصربه‌فردی، دنباله‌های زوجیت باید «اول» باشد. نباید قابل تقسیم به زبر دنباله‌های یکسان باشد. برای مثال، دنباله‌های زوجیت (۱ ۱ ۰ ۰ ۱ ۱ ۰ ۰) می‌تواند به دو زیر دنبالهٔ یکسان(۱ ۱ ۰ ۰)(۱ ۱ ۰ ۰) تقسیم شود. محاسبهٔ کسر ۸-عاملی این دنباله نشان می‌دهد:ولی وقتی کسر را ساده کنیم {۵/۷} مانند همان زیر دنبالهٔ ۴-عاملی است:و این به این دلیل است که دنبالهٔ زوجیت ۸-عاملی در واقع دو حلقه از دور حلقه‌ای تعریف شده توسط زیر دنبالهٔ ۴-عاملی است.در این زمینه، حدس کولاتز برابر با این است که بگوییم(۰٬۱) تنها حلقه‌ای است که تمام اعداد مثبت ایجاد می‌شود.تکرار روی اعداد حقیقی یا اعداد مختلط.نگاشت کولاتز را می‌توان به عنوان یک محدودیت برای اعداد حقیقی یا اعداد مختلط نشان داد:پس از ساده‌سازی:formula_22.اگر نگاشت استاندارد کولاتزی که در بالا تعریف شده توسط جایگزینی “۳n+۱”با “۳n+۱)/۲)”بهینه شده باشد، این موضوع می‌تواند نشان داده شود که یک محدودیت برای اعداد حقیقی یا اعداد مختلط است:پس از ساده‌سازی:formula_24تکرار نگاشت بهینه‌سازی شدهٔ فوق در صفحهٔ اعداد مختلط فراکتال کولاتز را ایجاد می‌کند.بهینه سازیها.مقادیر c,d برای تمام اعداد K-بیتی ممکن از قبل محاسبه شده است که d[a] نتیجه اعمال k بار تابع f روی b است، و c[a]تعداد اعداد فرد در طول مسیر است.برای مثال اگر ،k=۵ باشد، می‌توان ۵ قدم در هر تکرار توسط جدا کردن ۵ تا از کم ارزشترین رقم‌ها به جلو پرید و استفاده از:تابع سیراکوس.برخی از خواص تابع سیراکوس:حدس سیراکوس این است که برای تمام kها در I، وجود دارد عدد صحیح n ≥ ۱ به صورتی که"f" "n"("k") = ۱. به‌طور هم ارز، فرض می‌کنیم E مجموعه اعداد فرد k باشد که عدد صحیح n ≥ ۱ وجود دارد به صورتی که"f" "n"("k") = ۱باشد. مشکل این است که نشان دهیم E=I است. در ادامه تلاشی را برای اثبات از طریق استقرا آغاز می‌کنیم:می‌دانیم ۱و۳و۵و۷و۹ در E وجود دارند. فرض می‌کنیم k عددی فرد بزرگتر از ۹ باشد. فرض می‌کنیم که k-۲ و تمام اعداد فرد قبل از آن در E هستند و اثبات می‌کنیم که kدر E است. وقتی k یک عدد فرد است پس می‌توان نتیجه گرفت "k" + ۱ = ۲"p""h" برای p ≥ ۱ و hهای فرد و "k" = ۲"p""h"-۱پس حالا داریم:قسمت مشکل ساز آنجاست که p ≥ ۲و hمضرب ۳ نباشد و h ≡ (-۱)p+1 mod ۴. در اینجا اگر سعی کنیم که نشان دهیم که برای هر عدد صحیح فرد′k،۱ ≤k′≤ k-۲ ; ۳k′ ∈ Eکار تمام است.منابع.76 (15), 2006، 1625-1630.