මෙය පුදුම සහගත උපක්රමයක් වූ අතර එය ප්රශස්ත යැයි මට ඒත්තු ගොස් නැත ...
<.@!$?
කේතය පෑඩ් කිරීමෙන් හා දිග හැරීමෙන් පසුව, මෙය පහත දැක්වෙන හෙක්ස් ජාලකය නියෝජනය කරයි:
මෙය ප්රති-විකර්ණ දිගේ ගමන් කරමින් මගේ මෑත දෝෂ රහිත බළල් වැඩසටහන වැනි සමාන පාලන ප්රවාහයක් භාවිතා කරයි . එය සාක්ෂාත් කර ගැනීම සඳහා අපි ආරම්භ කරන්නේ උපදෙස් දර්ශකය (අයිපී) වමට හරවා දම් පාට මාර්ගය පහළ වම් කෙළවරට එතීමයි.
?
ආදානය පූර්ණ සංඛ්යාවක් ලෙස කියවයි. !
එය නැවත මුද්රණය කරයි. .
නිකුතුවක් පමණක් නොවේ. දැන් ජාලකයේ කෙළවර ශාඛාවක් ලෙස ක්රියා කරයි:
ආදානය නම් 0
, අයිපී රතු මාවත ඔස්සේ ඉදිරියට යනු ඇත, එමඟින් වැඩසටහන අවසන් වේ @
.
ආදානය නම් 1
, අයිපී හරිත මාවතේ ඉදිරියට යනු ඇත. නැවතත්, නිකුතුවක් .
පමණක් නොව $
එය බෙෆුන්ජ්ගේ ට්රම්ප් වලට සමාන වේ: එය ඊළඟ උපදෙස් මඟ හැරේ. එතීමෙන් පසු, ඊළඟ උපදෙස් වනුයේ ?
, නමුත් $
ක්රියාත්මක කිරීම හේතුවෙන් ඇත්ත වශයෙන්ම නිල් මාවතේ ඉදිරියට යන අතර, එහි !
තවත් පිටපතක් මුද්රණය කිරීම ආරම්භ 1
වේ. පමණක් අඩංගු මෙම ලූපය !..$
දැන් දින නියමයක් නොමැතිව පුනරාවර්තනය වේ.
ෂඩාස්රාකාරයේ පාලන ප්රවාහය පිළිබඳ අධ්යයනයක් ...
ඉහත විසඳුම ප්රශස්ත යැයි මම විශ්වාස කරමි. මා විසින් තිරිසන් බලකොටුවක් ලියා ඇති අතර, එය බයිට් 6 ෂඩාස්රාකාර වැඩසටහන් සියල්ලම පරික්ෂා කරයි, එහි අවම වශයෙන් එක් එකක්වත් අඩංගු වේ ?!@
(ඒවා අත්යවශ්යය; මම ද පරීක්ෂා :
කර ඇති %
අතර @
ශුන්ය බෙදීමකින් අවසන් වීම වෙනුවට, නමුත් ඒකත් උදව් කළේ නැහැ). චෙක්පත මුද්රණය කරන්නේ අ) 0
ආදානය මත නිපදවන 0
සහ අවසන් කරන සහ ආ) අවම වශයෙන් 1
තත්පර දෙකක් (සහ වෙනත් කිසිවක් ) නිපදවන අතර වැඩසටහනේ පළමු කිනිතුල්ලන් 60 තුළ අවසන් නොකරන්න (බයිට් 5 විසඳුම් සඳහා කිනිතුල්ලන් 200) . එවැනි කුඩා ජාලයක පළමු 0
හෝ දෙවැන්න නිවැරදිව මුද්රණය කිරීම සඳහා ඕනෑම වලංගු විසඳුමක් කිනිතුල්ලන් 200 කට වඩා ගතවනු ඇතැයි මම සැක කරමි 1
, එබැවින් විභව විසඳුම් කිසිවක් මග හැරී ඇතැයි මම නොසිතමි.
සෙවුමෙන් බයිට් 5 ක් @
සඳහා කිසිදු ප්රති results ලයක් නොලැබුණි , නමුත් බයිට් 6 ක් සඳහා ප්රති results ල 57 ක් (භාවිතා කරමින් ; අපට එකම බයිට් ප්රමාණයකින් මෙය පිරිසිදු ලෙස විසඳා ගත හැකි නම් දෝෂයක් සමඟ අවසන් කිරීමට අවශ්ය නැත). එම 57 න් 6 ක් පමණක් ව්යාජ ධනාත්මක වූ අතර ඒවා ඇත්ත වශයෙන්ම 1
තත්පර දෙකක් පමණක් මුද්රණය කර පසුව මුද්රණය නොකර අනන්ත පුඩුවක් තුළට ඇතුළු විය. එක් විසඳුමක් !
විධාන දෙකක් අඩංගු බැවින් දෙවරක් ලැයිස්තුගත කරන ලදී . එමඟින් වලංගු විසඳුම් 50 ක් ඉතිරි වේ.
අක්ෂර එකක් හෝ දෙකක් සැළකිය යුතු නොවන විසඳුම් අතර යම් පරිහානියක් ඇත, උදා: ඒවා කෙසේ හෝ effectively ලදායී ලෙස නොපවතින බැවිනි. විසඳුම් අව්යාජව වෙනස් වැඩසටහන් 23 කට බෙදිය හැකිය (සමහර අවස්ථාවලදී, කට්ටල දෙකක් අතර ඇත්තේ එක් අක්ෂර වෙනසක් පමණි, නමුත් එය පාලන ප්රවාහය සැලකිය යුතු ලෙස වෙනස් කරයි, එබැවින් මම ඒවා වෙන වෙනම ගණන් කර ඇත්තෙමි). කණ්ඩායම් දෙකක් ඉතා අනපේක්ෂිත ආකාරයකින් බහු උපදෙස් පොයින්ටර් පවා භාවිතා කරයි. ශාඛා සහ දර්පණ භාවිතා කිරීමට මා කිසි විටෙකත් නොපැමිණෙන හෙයින්, ඔවුන් ෂඩාස්රාකාරයේ කුමන ආකාරයේ පාලන ප්රවාහයක් කළ හැකිද යන්න පිළිබඳව ඉතා රසවත් අධ්යයනයක් කරන අතර අනාගත ගොල්ෆ් සඳහා නව උපක්රම කිහිපයක් මම අනිවාර්යයෙන්ම ඉගෙන ගෙන ඇත්තෙමි.
මෙම සමස්ත පාලනය ගලා සෑම විටම පාහේ සමාන වේ: එය මුද්රණය කිරීම, ගණනාවක් කියවන්න. එය සඳහා 0
මාර්ගයක් සොයා ගන්නේ @
නම්, !
කෙළවරේ අගයක් පවත්වා ගෙන යන අතරම දිගටම නොනවත්වා ගමන් කරන්න 1
. සැලකිය යුතු ව්යතිරේක හතරක් ඇත:
- එක් විසඳුමක් (දෙකක් ඇති විසඳුම
!
) 1
ජාලකය හරහා එක් පුනරාවර්තනයකට තත්පර දෙකක් මුද්රණය කරයි, එබැවින් බහුතර වැඩසටහන් වලට වඩා දෙගුණයක් වේගයෙන් මුද්රණය කරයි. මම මෙය x2
පහතින් සලකුණු කර ඇත්තෙමි .
- කිහිපයක් විසඳුම් (ක අඩංගු වන අය
o
) වෙනුවට මෙම 1
සමඟ 111
(ස්වභාවය කේතය o
ඒ නිසා ඔවුන් මුද්රණය,) තුනක් 1
ඔවුන් වැඩසටහන් බහුතරයක් වේගයෙන් තුන් ගුණයක් විතර මුද්රණය කරමින්, ප්රතිඵලයක්ම අනුව s. මම මේවා x3
පහතින් සලකුණු කර ඇත්තෙමි .
- විසඳුම් දෙකක් එක් එක් පුනරාවර්තනයේ අද්දර අගයට එකතු කරයි
1
(එබැවින් 1
-> 11
-> 111
-> ...). ඒවා ඉතා වේගයෙන් මුද්රණය වන නමුත් අවසානයේදී ඒවා මතකය නැති වී යයි. මම මේවා OoM
පහතින් සලකුණු කර ඇත්තෙමි .
- විසඳුම් දෙකක් ඉතා තද පුඩුවක් තුළට ඇතුළු වන අතර එය හුදෙක් පිටුපසට හා පසුපසට පනින අතර
!
අනෙක් සෑම ටික් එකකම (සෑම 5 වන හෝ ඊට වඩා) මුද්රණය කරයි, එමඟින් ඒවා තරමක් වේගවත් (හා පිළිවෙලට) කරයි. මම මේවා ><
පහතින් සලකුණු කර ඇත්තෙමි .
ඉතින් මුළු සත්වෝද්යානයම මෙන්න:
#1 #5 #12 #19
?!/$.@ ?$!>$@ .?!/$@ |!|?$@ # ><
?!/$1@ # OoM ?$!|$@ =?!/$@
?!/$=@ #20
?!/$\@ #6 #13 $@.?<!
?!/$o@ # x3 ?/!<|@ .?/!$@ $@1?<! # OoM
?!/$!@ # x2 =?/!$@ $@=?<!
#7 $@o?<! # x3
#2 ?\!<|@ #14
?!>$)@ \!?__@ #21
?!>$1@ #8 _>_!?@
?!>$o@ # x3 ?<!>$@ # >< #15
?!|$)@ \_?!$@ #22
?!|$1@ #9 <!@.$?
?!|$o@ # x3 ?\$!@$ #16 <!@/$?
\_?!_@ <!@=$?
#3 #10 <$@!$?
?!|)$@ ?~#!@) #17 <.@!$?
?!|1$@ ?~#!@1 $$?\@! </@!$?
?!|o$@ # x3 <=@!$?
#11 #18
#4 ?$)\@! \$?\@! #23
?_!<@> ?$1\@! <<@]!?
?$o\@! # x3
පහත දැක්වෙන්නේ වඩාත් නියෝජිත කණ්ඩායම් අතළොස්සක් සඳහා කෙටි ගමනකි. විශේෂයෙන් 10 සහ 23 කණ්ඩායම් පරීක්ෂා කිරීම වටී. අනෙක් කණ්ඩායම් තුළ තවත් බොහෝ සිත්ගන්නාසුළු හා සමහර විට කැටි ගැසුණු මාර්ග තිබේ, නමුත් මම හිතන්නේ මේ අවසානයේ මම ඔබට ප්රමාණවත් තරම් කම්මැලි වී සිටිමි. ෂඩාස්රාකාරය ඉගෙන ගැනීමට සැබවින්ම කැමති ඕනෑම කෙනෙකුට, මේවා අනිවාර්යයෙන්ම විමර්ශනය කිරීම වටී, මන්ද ඒවා දර්පණවල ඊටත් වඩා භාවිතයන් ප්රදර්ශනය කරන $
බැවිනි.
1 වන කණ්ඩායම
මෙය මගේ මුල් විසඳුමට වඩා විස්තීර්ණ නොවේ, නමුත් මාර්ග විවිධ දිශාවලට ගමන් කරයි. තනි සෛලයක විශාලතම වෙනස්කම් සංඛ්යාවක් සඳහා ද එය ඉඩ සලසයි, මන්දයත් දකුණේ වඩාත්ම විවරය විවිධ විධාන 5 කින් ප්රතිස්ථාපනය කළ හැකි අතර එමඟින් ව්යුහය වෙනස් නොකර මෙය වලංගු වේ:
2 වන කණ්ඩායම
මෙය තිරස් අතට පමණක් ගමන් කරන නිසා මෙය තරමක් සිත්ගන්නා සුළුය. වෙත එතීමෙන් පසු >
, අයිපී වහාම ආපසු හරවා, ශාඛාව කෙළවරට ගෙන යයි. එය මුළුමනින්ම දෘශ්යමාන ලෙස රූප සටහනක් නොවේ, නමුත් 1
අපි පළමු පේළිය නැවත ගමන් කළත්, මේ වතාවේ පසුපසට. මෙයින් අදහස් කරන්නේ අප ?
නැවත දුවන බවයි , එය දැන් නැවත පැමිණේ 0
(EOF). )
මුද්රණ යන්ත්ර තබා ගැනීම සඳහා මෙය (වර්ධක) සමඟ සවි කර 1
ඇත. ලෙස මෙය, 5 වෙනස්කම් ඇති )
කිරීමට ද නියමිත විය 1
හෝ o
, සහ >
ද විය හැකි |
:
3 වන කණ්ඩායම
මෙය පෙරට වඩා බොහෝ දුරට සමාන නමුත් එය අපායක් සේ අවුල් සහගතය. පහර දීම |
දක්වා පහළ හෝ ඉහළ පේළිය හරහා ගමන් කිරීම සමාන වේ. නමුත් ලූපයකදී, $
දැන් කැඩපත )
මතට හැරේ. අපි හරි කිරීමට පච්ච මාර්ගය අනුගමනය ඒ නිසා, දැන් කට මඟ, වැටුප් වර්ධක පහර @
අපි අවට කිරීමට ආවරණය කරනවා පෙර |
නැවත හා පසුව ඉහළ ඇති හරිත මාර්ගය නැවත යන්න.
4 වන කණ්ඩායම
මම හිතුවේ මේක විශේෂයෙන් නිෆ්ටි කියලා:
_
ඉහළ දකුණු කෙළවරේ ඇති දර්පණය මුලදී විවෘත නොවන නිසා අපි මුද්රණය කර !
පහර දෙමු <
. මෙම 0
මාර්ගය දැන් තිරස් කැඩපත සහ අවසන් කිරීමක් වැදෙනවා. මෙම 1
වුවත් මාර්ගය ඇත්තටම රසවත් ගමන් පථය ගනී: එය වසා ද්වීද්රවීය, වෙත ආධාරක !
, නැවත කිරීමට හකුළා තිරස් හා පසුව දෙසට හරවා ලක්වෙයි !
නැවත . ඉන්පසු එය මෙම රොම්බස් හැඩයෙන් ඉදිරියට යමින්, නැවත නැවත දෙවරක් මුද්රණය කරයි (සෑම තෙවන ටික් එකකටම).
8 වන කණ්ඩායම
මෙය තදින් මුද්රණ පුඩුවක් සහිත විසඳුම් දෙකෙන් එකකි:
මෙම <
ශාඛා ලෙස ක්රියා කරයි. දෙවරක් ඔතා, 0
පහර @
. 1
අනෙක් අතට, පළමුව එය මඟ හැර, නැවත එය වෙත යවයි ?
, එවිට >
එය $
මඟ හැරේ @
. එවිට, IP එය අතර සහ පසුපසට රැකීමේ එහිදී පච්ච මාර්ගය බවට ඔහුම >
හා <
(අතර අද්දර පමණ ඔතන).
10 වන කණ්ඩායම
වෙනත් උපදෙස් පොයින්ටර් භාවිතා කරන කණ්ඩායම් දෙකෙන් එකක් වන අතර එය ඇත්තෙන්ම ලස්සනයි. ෂඩාස්රාකාරයට 6 ක් ඇත - සෑම එකක්ම වෙනස් කොනක සිට ඔරලෝසුව දිගේ ආරම්භ වේ, නමුත් වරකට ක්රියාත්මක වන්නේ ඒවායින් එකක් පමණි.
සුපුරුදු පරිදි, අපි කියවන්නේ ?
. දැන් ~
ඒකීය ප්රතික්ෂේප 1
කිරීමකි : එය a බවට හැරේ -1
. ඊළඟට, අපි පහර #
. අයිපී අතර මාරුවීමට මෙය එක් ක්රමයකි: එය වත්මන් දාරයේ අගය මොඩියුලෝ 6 ගෙන අනුරූප අයිපී වෙත මාරු වේ (අයිපී 0
දක්ෂිණාවර්ත දිශාවෙන් අංකනය කර ඇත). එබැවින් ආදානය 0
එසේ නම්, අයිපී එක එලෙසම පවතින අතර, නීරස ලෙස කෙළින්ම ඉදිරියට ගමන් කරයි !@
. නමුත් ආදානය නම් 1
, වත්මන් අගය -1
එයයි 5 (mod 6)
. එබැවින් අපි එකම සෛලයකින් (හරිත මාර්ගය) ආරම්භ වන IP වෙත මාරු වෙමු. දැන් #
එය විවෘත නොවන ?
අතර මතක දාරය සකසයි 0
. )
වර්ධක එසේ !
මුද්රණය කරයි a 1
. ~
එය සහතික කිරීම සඳහා දැන් අපි නැවතත් පහර දෙමු#
(තවමත් වැඩසටහන 1 අවසන් කරන IP 1 වෙත අපව මාරු කිරීමට වඩා වෙනස්ව). මෙම කුඩා වැඩසටහන තුළ සෑම දෙයක්ම එකට ගැලපෙන්නේ කෙසේද යන්න සිහියට නංවයි.
22 වන කණ්ඩායම
මතක තබා ගත යුතු කරුණක් නම්, මගේ මුල් විසඳුම ඇති කණ්ඩායම මෙයයි. එය විශාලතම කණ්ඩායමක් බවට පත්වේ, මන්දයත් විවෘත කිරීම වෙනස් ස්ථාන දෙකක තිබිය හැකි අතර සත්ය (no ලදායී නොවන) විධානය සඳහා තේරීම් කිහිපයක් තිබේ.
23 වන කණ්ඩායම
බහු අයිපී භාවිතා කරන අනෙක් කණ්ඩායම මෙයයි. ඇත්ත වශයෙන්ම මෙය විවිධ IP 3 ක් භාවිතා කරයි . ඉහළ දකුණු කෙළවරේ ටිකක් අවුල් සහගතයි, නමුත් මම ඔබව මේ හරහා ගෙන යාමට උත්සාහ කරමි:
ඉතින්, ඔබ මීට පෙර දුටු ආරම්භය: <
ඊසානදිග දිශානුගත කරයි, ?
ආදානය කියවයි. ]
අයිපී අතර වෙනස් වීමට දැන් තවත් ක්රමයක් තිබේ: එය ඊළඟ අයිපී වෙත ඔරලෝසු අනුපිළිවෙලින් පාලනය කරයි. ඒ නිසා අපි ගිනිකොන දෙසට යන ඊසානදිග කෙළවරේ ආරම්භ වන (මම දකින්න අමාරුයි) තුර්කිය මාර්ගයට පාලනය මාරු කරමු. එය ක්ෂණිකව පරාවර්තනය වන අතර <
එමඟින් එය ගිනිකොන දෙසින් ඔතා වයඹ දෙසට ගමන් කරයි. එය ඊළඟ අයිපී වෙත මාරු වන නිසා ද එය පහර දෙයි . මෙය නැගෙනහිර කෙළවරේ සිට නිරිත දෙසින් ගමන් කරන අළු මාර්ගයයි. එය ආදානය මුද්රණය කර ඊසානදිග කෙළවරට ඔතා. මාර්ගය තිරස් අතට හරවන අතර එය අනෙකා විසින් පරාවර්තනය කරයි . දැන් දකුණු අත]
<
<
<
ශාඛාවක් ලෙස ක්රියා කරයි: ආදානය නම් 0
, අයිපී ඊසාන දෙසින් ගමන් කරයි @
. ආදානය නම් 1
, අයිපී වෙතට ගමන් කරයි !
, <
එය පරාවර්තනය වන ලෙෆ්-තෑන්ඩ් වෙත ඔතා ... දැන් කෙළවරේ, එය නැවත වෙතට ඔතා !
, දකුණෙන් <
පරාවර්තනය වී, වමෙන් පරාවර්තනය වී <
මාර්ග ආරම්භ වේ ඉවරයි ...
තරමක් අවුල්, නමුත් ලස්සන අවුල්. :)
ටිම්විගේ විස්මිත ෂඩාස්රාකාර වර්ණකය සමඟ ජනනය කරන ලද රූප සටහන් .