এই চ্যালেঞ্জটি হ'ল দ্রুত কোড লিখুন যা একটি গণনামূলকভাবে কঠিন অসীম যোগফল সম্পাদন করতে পারে।
ইনপুট
একটি n
দ্বারা n
ম্যাট্রিক্স P
পূর্ণসংখ্যা এন্ট্রি চেয়ে ছোট সঙ্গে 100
পরম মান। পরীক্ষার সময় আমি আপনার কোডটি যে কোনও সংবেদনশীল বিন্যাসে আপনার কোডটিকে ইনপুট সরবরাহ করতে পেরে খুশি। ডিফল্ট হ'ল ম্যাট্রিক্সের প্রতি সারি এক লাইন, স্থান পৃথক এবং স্ট্যান্ডার্ড ইনপুটটিতে সরবরাহ করা হবে।
P
হতে হবে ইতিবাচক নির্দিষ্ট বোঝা যার ফলে এটি সবসময় প্রতিসম হবে। চ্যালেঞ্জের উত্তর দেওয়ার জন্য ইতিবাচক সুনির্দিষ্ট অর্থ কী তা ছাড়া আপনার সত্যিকারের জানা দরকার নেই। তবে এর অর্থ এই নয় যে নীচে সংজ্ঞায়িত সমষ্টিটির আসলে একটি উত্তর থাকবে।
তবে ম্যাট্রিক্স-ভেক্টর পণ্যটি কী তা আপনার জানা দরকার ।
আউটপুট
আপনার কোডটি অসীম যোগফল গণনা করা উচিত:
সঠিক উত্তরের যোগ বা বিয়োগ 0.0001 এর মধ্যে। এখানে Z
পূর্ণসংখ্যার সেট এবং তাই Z^n
দিয়ে সব সম্ভব ভেক্টর হয় n
পূর্ণসংখ্যা উপাদান এবং e
হয় বিখ্যাত গাণিতিক ধ্রুবক প্রায় 2,71828 সমান। দ্রষ্টব্য যে খাঁটির মানটি কেবল একটি সংখ্যা। একটি স্পষ্ট উদাহরণ জন্য নীচে দেখুন।
এটি কীভাবে রিমন থেটা ফাংশনের সাথে সম্পর্কিত?
রিমন থেটা ফাংশনটি অনুমান করার বিষয়ে এই কাগজের স্বীকৃতিতে আমরা গণনা করার চেষ্টা করছি । আমাদের সমস্যাটি একটি বিশেষ ক্ষেত্রে কমপক্ষে দুটি কারণে।
- আমরা
z
লিঙ্কযুক্ত কাগজে ডাকা প্রাথমিক প্যারামিটারটি 0 তে সেট করেছিলাম । - আমরা ম্যাট্রিক্সটি
P
এমনভাবে তৈরি করি যে কোনও ইগন্যালুজের সর্বনিম্ন আকার1
। (কীভাবে ম্যাট্রিক্স তৈরি হয় তার জন্য নীচে দেখুন))
উদাহরণ
P = [[ 5., 2., 0., 0.],
[ 2., 5., 2., -2.],
[ 0., 2., 5., 0.],
[ 0., -2., 0., 5.]]
Output: 1.07551411208
আরও বিশদে, আসুন আমরা এই পি এর যোগফলের মধ্যে কেবল একটি পদ দেখতে পাই example উদাহরণস্বরূপ যোগফলের মধ্যে কেবলমাত্র একটি শব্দটি ধরুন:
এবং x^T P x = 30
। লক্ষ করুন যে, e^(-30)
আমার হয় 10^(-14)
এবং তাই দেওয়া সহনশীলতা সঠিক উত্তর আপ পাওয়ার জন্য গুরুত্বপূর্ণ হতে করার সম্ভাবনা কম। মনে রাখবেন যে অসীম যোগফল 4 দৈর্ঘ্যের প্রতিটি সম্ভাব্য ভেক্টর ব্যবহার করবে যেখানে উপাদানগুলি পূর্ণসংখ্যার হয়। আমি একটি স্পষ্ট উদাহরণ দেওয়ার জন্য একটি বেছে নিয়েছি।
P = [[ 5., 2., 2., 2.],
[ 2., 5., 4., 4.],
[ 2., 4., 5., 4.],
[ 2., 4., 4., 5.]]
Output = 1.91841190706
P = [[ 6., -3., 3., -3., 3.],
[-3., 6., -5., 5., -5.],
[ 3., -5., 6., -5., 5.],
[-3., 5., -5., 6., -5.],
[ 3., -5., 5., -5., 6.]]
Output = 2.87091065342
P = [[6., -1., -3., 1., 3., -1., -3., 1., 3.],
[-1., 6., -1., -5., 1., 5., -1., -5., 1.],
[-3., -1., 6., 1., -5., -1., 5., 1., -5.],
[1., -5., 1., 6., -1., -5., 1., 5., -1.],
[3., 1., -5., -1., 6., 1., -5., -1., 5.],
[-1., 5., -1., -5., 1., 6., -1., -5., 1.],
[-3., -1., 5., 1., -5., -1., 6., 1., -5.],
[1., -5., 1., 5., -1., -5., 1., 6., -1.],
[3., 1., -5., -1., 5., 1., -5., -1., 6.]]
Output: 8.1443647932
P = [[ 7., 2., 0., 0., 6., 2., 0., 0., 6.],
[ 2., 7., 0., 0., 2., 6., 0., 0., 2.],
[ 0., 0., 7., -2., 0., 0., 6., -2., 0.],
[ 0., 0., -2., 7., 0., 0., -2., 6., 0.],
[ 6., 2., 0., 0., 7., 2., 0., 0., 6.],
[ 2., 6., 0., 0., 2., 7., 0., 0., 2.],
[ 0., 0., 6., -2., 0., 0., 7., -2., 0.],
[ 0., 0., -2., 6., 0., 0., -2., 7., 0.],
[ 6., 2., 0., 0., 6., 2., 0., 0., 7.]]
Output = 3.80639191181
স্কোর
আমি আপনার কোডটি বর্ধমান আকারের এলোমেলোভাবে নির্বাচিত ম্যাট্রিকেস পি তে পরীক্ষা করব।
আপনার স্কোরটি সর্বাধিক বৃহত্তম n
যার জন্য আমি 30 সেকেন্ডেরও কম সময়ে সঠিক উত্তর পেয়ে যাই যখন P
সেই আকারের এলোমেলোভাবে নির্বাচিত ম্যাট্রিকগুলি সহ 5 রান বেশি হয় ।
টাই সম্পর্কে কি?
যদি টাই থাকে তবে বিজয়ী হবেন যার কোডটি দ্রুততম রান গড়ে 5 টিরও বেশি। ইভেন্টটি যখন সেই সময়গুলিও সমান, বিজয়ীর প্রথম উত্তর।
কিভাবে এলোমেলো ইনপুট তৈরি করা হবে?
- এম সঙ্গে এন ম্যাট্রিক্স দ্বারা একটি র্যান্ডম মি হতে দিন মি <= n এবং এন্ট্রি যা হয় -1 বা 1. পাইথন / numpy সালে
M = np.random.choice([0,1], size = (m,n))*2-1
। অনুশীলনে আমিm
প্রায় হতে হবেn/2
। - পাইথন / অদ্ভুতভাবে পি পরিচয় ম্যাট্রিক্স + এম ^ টি এম হতে দিন
P =np.identity(n)+np.dot(M.T,M)
। আমরা এখন গ্যারান্টিযুক্ত যাP
ইতিবাচক সুনির্দিষ্ট এবং এন্ট্রিগুলি একটি উপযুক্ত পরিসরে রয়েছে।
মনে রাখবেন যে এর অর্থ পি এর সমস্ত ইগেনালুগুলি কমপক্ষে 1 হয়, সমস্যাটি রিমন থেটা ফাংশনটি প্রায় অনুমান করার সাধারণ সমস্যার তুলনায় সম্ভাব্যভাবে সহজ করে তোলে।
ভাষা ও গ্রন্থাগার
আপনি যে কোনও ভাষা বা লাইব্রেরি পছন্দ করতে পারেন। তবে স্কোর করার উদ্দেশ্যে আমি আপনার কোডটি আমার মেশিনে চালাচ্ছি তাই দয়া করে উবুন্টুতে এটি কীভাবে চালানো যায় তার জন্য সুস্পষ্ট নির্দেশনা সরবরাহ করুন।
আমার মেশিনের সময়গুলি আমার মেশিনে চালিত হবে। এটি একটি 8 গিগাবাইট এএমডি এফএক্স-8350 এইট-কোর প্রসেসরে স্ট্যান্ডার্ড উবুন্টু ইনস্টল। এর অর্থ হল আপনার কোডটি চালাতে আমার সক্ষম হওয়া দরকার।
শীর্ষস্থানীয় উত্তর
n = 47
মধ্যে সি ++ টন Hospel দ্বারাn = 8
মধ্যে পাইথন Maltysen দ্বারা
x
এর [-1,0,2,1]
। আপনি এই সম্পর্কে বিস্তারিত বলতে পারেন? (ইঙ্গিত: আমি কোনও গণিত গুরু নই)