ম্যাথামেটিকাল
আবার শুরু করার সিদ্ধান্ত নিয়েছে, এখন আমি খেলার নিয়মগুলি বুঝতে পারি (আমার মনে হয়)।
দৈর্ঘ্যের অনন্য এলোমেলোভাবে রচিত "শব্দ" (কেবলমাত্র নিম্ন কেস) এর একটি 10000 শব্দের অভিধান similar
ClearAll[dictionary]
dictionary[chars_,nWords_]:=DeleteDuplicates[Table[FromCharacterCode@RandomInteger[{97,122},
chars],{nWords}]];
n=16000;
d3=Take[dictionary[3,n],10^4];
d4=Take[dictionary[4,n],10^4];
d5=Take[dictionary[5,n],10^4];
d6=Take[dictionary[6,n],10^4];
d7=Take[dictionary[7,n],10^4];
d8=Take[dictionary[8,n],10^4];
g
অভিধানের বর্তমান সংস্করণটি পরীক্ষা করে নেয়। শীর্ষ শব্দটি চক্রীয় রূপগুলির সাথে যুক্ত হয়েছে (যদি কোনও উপস্থিত থাকে)। শব্দটি এবং এর মিলগুলি out
প্রক্রিয়াজাত শব্দের আউটপুট তালিকায় যুক্ত হয় । শব্দটি অভিধান থেকে সরানো হয়েছে are
g[{wds_,out_}] :=
If[wds=={},{wds,out},
Module[{s=wds[[1]],t,c},
t=Table[StringRotateLeft[s, k], {k, StringLength[s]}];
c=Intersection[wds,t];
{Complement[wds,t],Append[out,c]}]]
f
সমস্ত শব্দ অভিধানে চলমান।
f[dict_]:=FixedPoint[g,{dict,{}}][[2]]
উদাহরণ 1 : প্রকৃত শব্দ
r = f[{"teaks", "words", "spot", "pots", "sword", "steak", "hand"}]
Length[r]
ste ste "স্টেক", "টিগস"}, hand "হাত"}, {"হাঁড়ি", "স্পট"}, sword "তরোয়াল", "শব্দ"}}
4
উদাহরণ 2 : কৃত্রিম শব্দ। দৈর্ঘ্যের স্ট্রিং এর অভিধান 3. প্রথম, সময়। তারপরে চক্র শব্দের সংখ্যা।
f[d3]//AbsoluteTiming
Length[%[[2]]]
5402
শব্দ দৈর্ঘ্যের একটি ফাংশন হিসাবে সময় । প্রতিটি অভিধানে 10000 শব্দ
ও এর পরিপ্রেক্ষিতে কীভাবে ফলাফলগুলি ব্যাখ্যা করতে হয় তা আমি বিশেষত জানি না simple সরল ভাষায়, সময়টি তিনটি অক্ষর অভিধান থেকে চারটি অক্ষরের অভিধানে প্রায় দ্বিগুণ হয়। সময়টি প্রায় অবহেলিতভাবে 4 থেকে 8 টি অক্ষর পর্যন্ত বৃদ্ধি পায়।