এই সাইটে আমরা থার্মোডিনামিক্সের আইন মানি!


23

এবং বিশেষত দ্বিতীয় আইন : সময়ের সাথে সাথে একটি বিচ্ছিন্ন সিস্টেমের এনট্রপি বৃদ্ধি পায়

এই চ্যালেঞ্জের জন্য,

  • একটি " বিচ্ছিন্ন সিস্টেম " একটি প্রোগ্রাম বা ফাংশন হিসাবে নেওয়া হবে (এখন থেকে "প্রোগ্রাম" হিসাবে সংক্ষিপ্ত);
  • " সময় " অতিক্রম করা একটি নতুন প্রোগ্রাম হিসাবে বিবেচিত প্রোগ্রামের আউটপুটটির পুনরাবৃত্ত মৃত্যুদন্ডের সাথে মিলে যাবে ;
  • " এন্ট্রপি " শ্যাননের প্রথম অর্ডার এনট্রপি হিসাবে নেওয়া হবে (নীচে সংজ্ঞায়িত করা), যা স্ট্রিংয়ের অক্ষরগুলি কতটা বিচিত্র তার একটি পরিমাপ।

চ্যালেঞ্জ

আপনার প্রোগ্রামটি এমন একটি খালি খালি স্ট্রিং তৈরি করতে হবে যা একই ভাষাতে প্রোগ্রাম হিসাবে চালিত হলে পূর্বেরটির চেয়ে আরও এনট্রপি সহ একটি স্ট্রিং উত্পাদন করে। এই এক্সিকিউটিউট-আউটপুট প্রক্রিয়াটিকে অসীমভাবে পুনরাবৃত্তি করতে অবশ্যই এনট্রপি মানগুলির ক্রমবর্ধমান ক্রম উত্পাদন করতে হবে ।

স্ট্রিংগুলিতে কোনও ইউনিকোড 9.0 টি অক্ষর থাকতে পারে । স্ট্রিংগুলির ক্রমটি অবশ্যই ডিটারমিনিস্টিক (এলোমেলো বিপরীতে) হতে হবে।

এনট্রপি একটি প্রদত্ত স্ট্রিং এর জন্য অনুসরণ হিসাবে সংজ্ঞায়িত করা হবে না। এর অনন্য অক্ষর এবং স্ট্রিংয়ে উপস্থিতির সংখ্যা সনাক্ত করুন enti ফ্রিকোয়েন্সি পি আমি এর আমি -th অনন্য চরিত্র চরিত্র স্ট্রিং এর দৈর্ঘ্য দ্বারা বিভক্ত এর ঘটনার সংখ্যা। এনট্রপিটি তখন

এখানে চিত্র বর্ণনা লিখুন

যেখানে যোগফলটি স্ট্রিংয়ের সমস্ত অনন্য অক্ষরের চেয়ে বেশি। প্রযুক্তিগতভাবে, এটি স্ট্রিংয়ে পর্যবেক্ষণিত ফ্রিকোয়েন্সিগুলি দ্বারা প্রদত্ত বিতরণের সাথে একটি পৃথক র্যান্ডম ভেরিয়েবলের এনট্রপির সাথে মিলে যায়।

যাক এইচ বোঝাতে স্ট্রিং দ্বারা উত্পাদিত এর এনট্রপি -th প্রোগ্রাম, দিন এইচ 0 বোঝাতে প্রাথমিক প্রোগ্রামের কোডের এনট্রপি। এছাড়াও, L 0 টি অক্ষরের মধ্যে প্রাথমিক প্রোগ্রামটির দৈর্ঘ্য বোঝাতে দিন । অনুক্রম { এইচ কে } চ্যালেঞ্জের প্রয়োজনীয়তা অনুসারে একঘেয়ে, এবং আবদ্ধ (কারণ বিদ্যমান অক্ষরের সংখ্যা সীমাবদ্ধ)। অতএব এটা একটা সীমা আছে, এইচ

স্কোর একটি জমা হবে ( এইচ - এইচ 0 ) / এল 0 :

  • অঙ্ক, এইচ - এইচ 0 , আপনার কোড একটি সীমাহীন সময়ের মধ্যে এনট্রপি বাড়ানোর আইনকে "কতটা" মেনে চলে তার প্রতিফলন করে।
  • ডোননিমেটার, এল 0 , অক্ষরের প্রাথমিক কোডের দৈর্ঘ্য (বাইটে নয়) in

সর্বোচ্চ স্কোর সহ কোডটি জয়ী । সম্পর্কের সমাধান করা হবে তাড়াতাড়ি জমা দেওয়া / সম্পাদনার পক্ষে।

কোনও স্ট্রিংয়ের এনট্রপি গণনা করতে, আপনি এই পোস্টের শেষে জাভাস্ক্রিপ্ট স্নিপেট ( @ ফ্লোয়ার সৌজন্যে এবং @ ডেনিস এবং @ ইটিআর প্রোডাকশনস দ্বারা সংশোধন সহ ) ব্যবহার করতে পারেন ।

তাহলে সীমা প্রাপ্তির এইচ আপনার নির্দিষ্ট ক্ষেত্রে কঠিন, যদি আপনি কোন নিম্ন মুখী ব্যবহার করতে পারেন বলে, এইচ 20 , স্কোর গনা (তাই আপনি ব্যবহার হবে ( এইচ 20 - এইচ 0 ) / এল 0 )। তবে যে কোনও ক্ষেত্রে, এন্ট্রপিজির অসীম ক্রম অবশ্যই কঠোরভাবে বাড়ানো উচিত।

দয়া করে একটি ব্যাখ্যা বা সংক্ষিপ্ত প্রমাণ অন্তর্ভুক্ত করুন যে এন্ট্রপিজের ক্রমটি ক্রমবর্ধমান হয়, যদি তা স্পষ্ট না হয়।

উদাহরণ

কাল্পনিক ভাষায়, কোডটি বিবেচনা করুন aabcab, যা রান যখন স্ট্রিং cdefghতৈরি করে cdefghi, যা রান যখন উত্পাদন করে , যা ...

মূল কোডের অনন্য অক্ষর a, bএবং c, নিজ নিজ ফ্রিকোয়েন্সি 3/6, 2/6 এবং 1/6 সঙ্গে। এর এনট্রপিটি 1.4591। এই এইচ 0

স্ট্রিং cdefghএর চেয়ে বেশি এনট্রপি রয়েছে aabcab। আমরা এটির গণনা ছাড়াই এটি জানতে পারি কারণ প্রদত্ত সংখ্যক অক্ষরের জন্য যখন সমস্ত ফ্রিকোয়েন্সি সমান হয় তখন এনট্রপিটি সর্বাধিক হয়। প্রকৃতপক্ষে, এনট্রপি এইচ 1 2.5850।

স্ট্রিংটিতে cdefghiআবার আগেরটির চেয়ে আরও বেশি এনট্রপি রয়েছে। আমরা এখন কম্পিউটিং ছাড়াই পারি কারণ অ-বিদ্যমান অক্ষর যুক্ত করা সর্বদা এনট্রপি বাড়ে। আসলে, এইচ 2 হ'ল 2.8074।

যদি পরবর্তী স্ট্রিংটি হয় 42তবে চেইনটি অবৈধ হবে, কারণ এইচ 3 হবে 1, 2.8074 এর চেয়ে ছোট।

অন্যদিকে, ক্রমটি এইচ = 3 সীমা সহ ক্রমবর্ধমান এনট্রপির স্ট্রিং উত্পাদন করতে গেলে স্কোরটি (3−1.4597) / 6 = 0.2567 হবে।

প্রাপ্তি স্বীকার

ধন্যবাদ

  • চ্যালেঞ্জটি উন্নত করার জন্য তাঁর সহায়তার জন্য @ এক্সনর এবং বিশেষত আমাকে নিশ্চিত করার জন্য যে পুনরাবৃত্তি কার্যকর হওয়া থেকে প্রাপ্ত ক্রমবর্ধমান এনট্রপিের অসীম শৃঙ্খলা সত্যই সম্ভব;

  • @ ফ্লোয়ার স্কোর ফাংশন সংশোধন সহ বেশ কয়েকটি পরামর্শ, এবং খুব দরকারী স্নিপেট লেখার জন্য;

  • @ স্কোর ফাংশনের পূর্বের সংজ্ঞায় একটি অপরিহার্য অপূর্ণতা নির্দেশ করার জন্য অংগগুলি ;

  • জাভাস্ক্রিপ্ট স্নিপেটে সংশোধনের জন্য @ ডেনিস ;

  • স্নিপেটে আরও একটি সংশোধন করার জন্য @ETH প্রোডাকশনস ;

  • এন্ট্রপির সংজ্ঞা সংশোধন করার জন্য @ পিটারটেলর

এনট্রপি গণনার জন্য স্নিপেট


4
“এই সাইটে আমরা থার্মোডিনামিকসের আইন মেনে চলি!” [উদ্ধৃতি-আবশ্যক]
T:৪৮ এ টুকসক্র্যাফ্ট


1
আমি আশা করছিলাম যে প্রশ্নটি "হট" নেটওয়ার্ক প্রশ্নগুলির বিষয়ে হবে।
mbomb007

1
আমি ভাবছিলাম ... এন্ট্রপিকে কঠোরভাবে বাড়ানো কি আসলে সম্ভব? যদি আমি আউটপুটটিকে তার স্বাক্ষরবিহীন বাইনারি আকারে নিয়ে যাই তবে এটি মূলত পরিসীমা [0,255] এর মধ্যে একটি পূর্ণসংখ্যার ক্রম। যদি সমস্ত অক্ষর আলাদা (কেবলমাত্র একটি অনুমান) আলাদা হয়ে থাকে তবে এনট্রপিটি যদি সর্বোত্তম হয় তবে এটি কি বোঝায় না যে বৃহত্তম এন্ট্রপি সহ স্ট্রিংটি 256 বাইট দীর্ঘ? এটি অসীম হওয়া অনেক দূরে। বা আমার ধারণা ভুল।

2
@Osable সেই স্ট্রিংয়ের একটি অনুলিপি নিজেই সংযুক্ত করুন এবং এনট্রপি একই হবে। তারপরে একটি চর সরান এবং এটি কিছুটা ছোট হবে। প্রক্রিয়াটি উল্টে দিন এবং আপনি এনট্রপি বাড়িয়েছেন। আপনি যদি কখনও সর্বাধিক এনট্রপিতে পৌঁছানোর ব্যবস্থা না করেন তবে আপনি চিরকালের জন্য বাড়িয়ে রাখতে পারেন
লুইস মেন্ডো

উত্তর:


4

জেলি, 0.68220949

“ȷ6ȷ5rỌ,®Ṿ€ṁṾY⁾©v⁸⁵”©v⁵

এইচ 90 = 19.779597644909596802, এইচ 0 = 4.088779347361360882, এল 0 = 23

আমি এইচ 90 গণনা করতে লম্বা ডাবল ব্যবহার করেছি । ডাবল নির্ভুলতা ভাসমান ভুলভাবে জানিয়েছে যে এইচ 47 <এইচ 46

প্রথম প্রোগ্রাম প্রিন্ট

“…”
“ȷ6ȷ5rỌ,®Ṿ€ṁṾY⁾©v⁸⁵”©v1010

যেখানে মধ্যে কোড পয়েন্ট সঙ্গে সব ইউনিকোড অক্ষর জন্য একটি স্থানধারক হিসেবে কাজ করে 100,000 এবং 1,000,000 । আসল দৈর্ঘ্য 900,031 টি অক্ষর।

সেকেন্ডের প্রোগ্রাম প্রিন্ট

“…”
“ȷ6ȷ5rỌ,®Ṿ€ṁṾY⁾©v⁸⁵”
“…”
“ȷ6ȷ5rỌ,®Ṿ€ṁṾY⁾©v⁸⁵”©v101010

যা, ঘুরে, মুদ্রণ

“…”
“ȷ6ȷ5rỌ,®Ṿ€ṁṾY⁾©v⁸⁵”
“…”
“ȷ6ȷ5rỌ,®Ṿ€ṁṾY⁾©v⁸⁵”
“…”
“ȷ6ȷ5rỌ,®Ṿ€ṁṾY⁾©v⁸⁵”©v10101010

প্রভৃতি

এই প্রোগ্রামগুলির কোনওটিই অনলাইন ইন্টারপ্রেটারে কাজ করে না, যার 100 কেবি আউটপুট সীমা রয়েছে। তবে, আমরা যদি 0123456789পূর্বোক্ত 900,000 ইউনিকোড অক্ষরের পরিবর্তে প্রোগ্রামটি মুদ্রণের জন্য পরিবর্তন করি তবে আপনি এটি অনলাইনে চেষ্টা করতে পারেন !


5

ম্যাটল্যাব, 9.6923e-005 0.005950967872272

H0 =  2.7243140535197345, Hinf = 4.670280547752703, L0 = 327

এই নতুন সংস্করণটি প্রথম "ধারণার প্রমাণ" এর একটি উন্নত সংস্করণ। এই সংস্করণে আমি প্রথম পুনরাবৃত্তি থেকে দুর্দান্ত স্কোর বৃদ্ধি পেয়েছি। এটি প্রথম প্রোগ্রামের আউটপুট "ফুটিয়ে" দ্বারা অর্জন করা হয়েছিল, যা পরবর্তী সমস্তগুলি দ্বারা প্রতিলিপি করা হয়। তারপরে আমি H0কোডটির সর্বাধিক সাধারণ প্রতীক যতবার সম্ভব সংযোজন করে সর্বনিম্ন সন্ধান করার চেষ্টা করেছি । (এটি স্পষ্টতই একটি সীমা ছিল, যেহেতু এটি কেবল হ্রাস পায় না H0তবে L0একই সাথে বৃদ্ধিও পায় the প্রোগ্রামের আকারের বিরুদ্ধে চক্রান্ত করা স্কোরের বিকাশ আপনি দেখতে পারবেন যেখানে আকারটি কেবল যোগ বা অপসারণের মাধ্যমে বৈচিত্র্যযুক্ত 1)) পরবর্তী পুনরাবৃত্তিগুলি এখনও নীচের আগের সংস্করণের সমতুল্য।

a=['ns}z2e1e1116k5;6111gE16:61kGe1116k6111gE16:6ek7;:61gg3E1g6:6ek7;:61gg3E1'];11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111;;disp(['[''',a+1,'''];',0,'a=[''',a,'''];',0,[a-10,']]);'],0,[a-10,']]);']]);

স্কোর বনাম প্রোগ্রামের দৈর্ঘ্য

পূর্ববর্তী সংস্করণ:

H0 = 4.22764479010266, Hinf = 4.243346286312808, L0 = 162

নিম্নলিখিত কোডটি মাতলাব কুইন দ্বারা অনুপ্রাণিত । এটি মূলত দু'বার আবার আউটপুট করে । ক্লুটি হ'ল যে কোনও পুনরাবৃত্তির জন্য আমাদের কাছে nকোডের লাইন এবং n-1নিউলাইন চিহ্ন রয়েছে \n। সুতরাং nঅনন্তের দিকে এগিয়ে যাওয়ার সাথে সাথে নতুন লাইনের কোডের রেখার অনুপাত 1 এ পৌঁছে যায় এবং একই সাথে এটি গ্যারান্টি দেয় যে আমাদের এন্ট্রপিতে কঠোরভাবে একঘেয়ে বিকাশ রয়েছে। এর অর্থ হ'ল আমরা সহজেই Hinfশূন্য-তম প্রজন্মের কোডটিকে লাইন হিসাবে সমানভাবে অনেক নতুন লাইনের সাথে বিবেচনা করে গণনা করতে পারি । (কোনটি পরীক্ষামূলকভাবে নিশ্চিত করতে পারে, কারণ এটি বেশ দ্রুত রূপান্তরিত হয়))

a=['ns}z2e1kGe1116k6111gE16;:61kGe1116k6111gE16;:6ek7;:61gg3E1g6;:6ek7;:61gg3E1'];
disp(['a=[''',a,'''];',10,'a=[''',a,'''];',10,[a-10,']]);'],10,[a-10,']]);']]);

খুব সুন্দর! আপনি কি (এবং এর জন্য বাকী কোডটি সামঞ্জস্য করে) প্রতিস্থাপন 10করে কিছু অর্জন করতে পারেন 0? চরটি 0মাতলাব দ্বারা স্থান হিসাবে প্রদর্শিত হবে
লুইস মেন্ডো

পরামর্শের জন্য ধন্যবাদ! আমাকে এটি চেষ্টা করতে দিন, তবে আমি মনে করি এমন আরও কিছু উন্নতি রয়েছে যা স্কোরকে আরও অনেক বাড়িয়ে তুলবে। এটি সবার আগে ধারণার প্রমাণ হওয়া উচিত :)
flawr

আমি এখন অন্যান্য পরামর্শগুলির একগুচ্ছ পাশাপাশি আপনার পরামর্শ অন্তর্ভুক্ত করেছি।
flawr

আমি সেই অপ্টিমাইজেশান গ্রাফটি পছন্দ করি :-)
লুইস মেন্ডো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.