ʻO ka pilikia o ka hoʻopili ʻana i ka ʻikepili, ma kāna ʻano maʻalahi, hiki ke pili i nā helu a me kā lākou mau ʻike. Hiki ke kuhikuhi ʻia nā helu e nā helu ("ʻumikumākahi" no ka helu 11), huahelu makemakika ("ʻelua i ka iwakālua" no 1048576), nā ʻōlelo string ("ʻelima ʻeiwa" no 99999), nā inoa kūpono ("helu o ka holoholona" no 666, "makahiki o ka make ana o Turing" no 1954), a i ʻole nā hui pū ʻana o ia mau mea. He kūpono kēlā me kēia inoa e hiki ai i ka interlocutor ke hoʻoholo maopopo i ka helu a mākou e kamaʻilio nei. ʻIke loa, e haʻi aku i kāu interlocutor "factorial of eight" ʻoi aku ka maikaʻi ma mua o ka notation like "he kanahā tausani ʻekolu haneri me ka iwakālua". He nīnau kūpono ma ʻaneʻi: he aha ka notation pōkole loa no kahi helu i hāʻawi ʻia?
Ua paʻi ʻia ka philosopher Bertrand Russell i ka makahiki 1908
Pono e loaʻa kēlā helu: mai kanawalu mau leka Lūkini a me nā hakahaka hiki iā ʻoe ke hana i nā inoa 3480 wale nō, ʻo ia hoʻi me ka hoʻohana ʻana i nā leka he kanawalu hiki iā ʻoe ke koho i nā helu 3480. ʻO ia ke ʻano he hiki ʻole ke koho i kekahi helu ma mua o 3480 ma kēia ala.
'O ia ho'i, e pili ana kēia helu me ka ho'onohonoho 'ana "ka helu liʻiliʻi loa i lawa ʻole nā hua he kanawalu", he 78 wale no hua! Ma kekahi ʻaoʻao, pono kēia helu; ma kekahi ʻaoʻao, inā loaʻa kēia helu, a laila ʻaʻole i kūpono kona kapa ʻia me ia. Paradox!
ʻO ke ala maʻalahi loa e hoʻokuʻu i kēia paradox ʻo ia ke kuhikuhi i ka ʻike ʻole o nā ʻōlelo waha. E like me, inā i ʻae ʻia kahi hoʻonohonoho kikoʻī o nā ʻōlelo i ka notation, a laila "ka helu liʻiliʻi loa i lawa ʻole nā hua he kanawalu" ʻaʻole ia he notation kūpono, akā ʻo nā notation pono e like me "factorial of eight" e ʻae ʻia.
Aia nā ala maʻamau e wehewehe i ke kaʻina (algorithm) o nā hana ma nā helu? Aia, a nui loa - ua kapa ʻia lākou nā ʻōlelo papahana. Ma kahi o nā ʻōlelo waha, e hoʻohana mākou i nā papahana (e laʻa, ma Python) e hōʻike ana i nā helu i makemake ʻia. No ka laʻana, kūpono ka papahana no ʻelima nines print("9"*5)
. E hoʻomau mākou i ka hoihoi i ka papahana pōkole loa no kahi helu i hāʻawi ʻia. Ua kapa ʻia ka lōʻihi o ia papahana
Ma kahi o Berry's paradox, hiki iā mākou ke noʻonoʻo i kahi mea like: He aha ka helu liʻiliʻi i lawa ʻole ka polokalamu kilobyte e hoʻopuka?
E noʻonoʻo mākou e like me ka wā ma mua: aia nā kikokikona kilobyte 2561024, ʻo ia hoʻi ʻaʻole hiki ke hoʻopuka ʻia nā helu ma mua o 2561024 e nā polokalamu kilobyte. ʻO ia hoʻi, ʻaʻole hiki ke kiʻi ʻia kekahi helu i ʻoi aku ma mua o 2561024.
Akā, e kākau mākou i kahi papahana ma Python e hoʻopuka i nā kikokikona kilobyte āpau, holo iā lākou no ka hoʻokō ʻana, a inā lākou e hoʻopuka i kahi helu, a laila hoʻohui i kēia helu i ka puke wehewehe o nā mea hiki ke loaʻa. Ma hope o ka nānā 'ana i 2561024 mau mea hiki, no ka lō'ihi o ka lō'ihi, e 'imi ana ka polokalamu i ka helu li'ili'i e nalowale ana mai ka puke wehewehe'ōlelo a pa'i ia helu. Me he mea lā e hoʻokomo ʻia kēlā papahana i kahi kilobyte o ke code - a e hoʻopuka i ka helu ʻaʻole hiki ke hoʻopuka ʻia e kahi polokalamu kilobyte!
He aha ka hopu i kēia manawa? ʻAʻole hiki ke hoʻopili hou ʻia i ka informality o ka notation!
Inā pilikia ʻoe i ka ʻoiaʻiʻo e koi ana kā mākou papahana i ka nui o ka hoʻomanaʻo astronomical e hana - he puke wehewehe ʻōlelo (a i ʻole bit array) o nā mea 2561024 - a laila hiki iā ʻoe ke hana like me ka ʻole o ia: no kēlā me kēia helu 2561024, ma ka huli. , e hele i nā polokalamu 2561024 hiki, a ʻaʻohe mea kūpono. ʻAʻole ia he mea nui ka lōʻihi loa o ka huli ʻana: ma hope o ka nānā ʻana i ka liʻiliʻi ma mua o (2561024) 2 mau paʻa mai ka helu a me ka papahana, e hoʻopau ʻia a ʻike ʻia kēlā helu i aloha nui ʻia.
ʻAʻole paha e pau? ʻOiaʻiʻo, ma waena o nā papahana a pau e ho'āʻoʻia, aia while True: pass
(a me kāna mau analogues hana) - a ʻaʻole e hele ka mea ma mua o ka hoʻāʻo ʻana i kēlā papahana!
ʻAʻole like me Berry's paradox, kahi i loaʻa ai ka hopu i ka informality o ka notation, i ka lua o ka hihia, loaʻa iā mākou kahi reformulation maikaʻi.
Source: www.habr.com