নিম্নরূপ আমার আগের প্রশ্নটি থেকে , আমি সঙ্গে বাজানো করে থাকেন রিম্যান হাইপোথিসিস বিনোদনমূলক গণিত একটি বিষয় হিসাবে। প্রক্রিয়াটিতে, আমি বরং একটি আকর্ষণীয় পুনরাবৃত্তি এসেছি, এবং আমি এর নাম, এর হ্রাস, এবং মৌলিক সংখ্যার মধ্যে ব্যবধানের দ্রাব্যতার দিকে ট্র্যাক্টিবিলিটি সম্পর্কে আগ্রহী।
নিখুঁতভাবে বলতে গেলে, আমরা প্রতিটি প্রধান সংখ্যার মধ্যে ব্যবধানটি পূর্ববর্তী প্রার্থী প্রাইমগুলির পুনরাবৃত্তি হিসাবে সংজ্ঞায়িত করতে পারি । উদাহরণস্বরূপ, আমাদের বেসের জন্য , পরবর্তী প্রধানটি হবে:
বা, যেমন আমরা পরিকল্পনা করে দেখি : ।
আমরা প্রতিটি পরীক্ষার্থীর প্রাইম পুনরাবৃত্তির মূল্যায়ন করে প্রাইমগুলির জন্য প্রক্রিয়াটি পুনরাবৃত্তি করতে পারি । ধরুন আমরা পরবর্তী প্রাইম পেতে চাই, । আমাদের প্রার্থীর কাজ হয়ে যায়:পি 2
কোথায়:
, উপরে হিসাবে।
এটি সহজেই দেখতে পাওয়া যায় যে প্রতিটি উপাদান ফাংশনটি কেবল পূর্ণসংখ্যার মানগুলিতে শূন্য হয়ে যায় এবং এটি ত্রিগনমিতির ব্যবস্থার প্রেক্ষাপটে সংযোজন এবং গুণনের বৈশিষ্ট্যগুলিকে কীভাবে চালিত করে আমাদের ও- এবং এক্সওআর-আকৃতির সম্পর্ককে আকর্ষণ করে তা দেখানো সমান সহজ show সমীকরণ নেই।
পুনরাবৃত্তি হয়ে যায়:
... যেখানে পুরো সমস্যাটি নির্ভর করে যে আমরা বহু কার্যকালীন সময়ে এই ক্রিয়াকলাপের জন্য অপারেটরের মূল্যায়ন করতে পারি কিনা on এটি বাস্তবে একটি সাধারণীকরণ বাস্তবে, ইরোটোথিনিসের সিভির ।
পুনরাবৃত্তিটি প্রদর্শনের জন্য পাইথন কোডে কাজ করা:
from math import cos,pi
def cosProduct(x,p):
""" Handles the cosine product in a handy single function """
ret = 1.0
for k in xrange(2,p+1):
ret *= -cos(2*pi*(x+k-1)/p)+1.0
return ret
def nthPrime(n):
""" Generates the nth prime, where n is a zero-based integer """
# Preconditions: n must be an integer greater than -1
if not isinstance(n,int) or n < 0:
raise ValueError("n must be an integer greater than -1")
# Base case: the 0th prime is 2, 0th function vacuous
if n == 0:
return 2,lambda x: 0
# Get the preceding evaluation
p_nMinusOne,fn_nMinusOne = nthPrime(n-1)
# Define the function for the Nth prime
fn_n = lambda x: fn_nMinusOne(x) + cosProduct(x,p_nMinusOne)
# Evaluate it (I need a solver here if it's tractable!)
for k in xrange(p_nMinusOne+1,int(p_nMinusOne**2.718281828)):
if fn_n(k) == 0:
p_n = k
break
# Return the Nth prime and its function
return p_n,fn_n
একটি দ্রুত উদাহরণ:
>>> [nthPrime(i)[0] for i in range(20)]
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71]
সমস্যাটি হচ্ছে, আমি এখন গণিত এবং কম্পিউটার বিজ্ঞানী হিসাবে আমার মাথার উপর দিয়ে এসেছি। বিশেষত, ইউনিফর্মের কভারগুলি সংজ্ঞায়িত করে বা সাধারণভাবে জটিল বিমানের সাথে আমি ফুরিয়ার বিশ্লেষণে সক্ষম নই , এবং আমি উদ্বেগিত যে এই পদ্ধতির ফলস্বরূপ হয় না ফলস্বরূপ ভুল আছে বা একটি 3 এসএটি সমস্যাটির একটি লুক্কায়িত হররাকে আড়াল করে যা এটিকে উন্নত করে দ্বারা NP-সম্পূর্ণতার।
সুতরাং, আমার এখানে তিনটি প্রশ্ন রয়েছে:
- উপরে আমার সংক্ষিপ্ত পুনরাবৃত্তিটি দেওয়া, বহিরাগত সময় এবং স্থানের শূন্যগুলির অবস্থান নির্ণয়মূলকভাবে গণনা করা বা অনুমান করা সম্ভব?
- যদি তাই হয় বা না হয় তবে কি এটি লুকিয়ে রয়েছে কোনও অন্যান্য সাবপ্রব্লেমগুলি রাখছে যা একটি পলটাইম বা পলিস্পেস সমাধানকে অচল করে তুলবে?
- এবং যদি কিছু অলৌকিক ঘটনা (1) এবং (2) ধরে থাকে তবে আপনি উচ্চ পর্যায় থেকে এই পুনরাবৃত্তিটি সন্তুষ্ট করতে কোন গতিশীল প্রোগ্রামিং উন্নতি করতে পারবেন? স্পষ্টতই, একাধিক ফাংশনগুলির মাধ্যমে একই পূর্ণসংখ্যার উপর পুনরাবৃত্তি হ'ল অনুচিত এবং বেশ অপব্যয়ী।