Paradoxes momba ny famatrarana data

Paradoxes momba ny famatrarana data Ny olan'ny famatrarana data, amin'ny endriny tsotra indrindra, dia mety mifandray amin'ny isa sy ny fanamarihana azy. Ny isa dia azo lazaina amin'ny isa ("iraika ambin'ny folo" ho an'ny isa 11), fanehoana matematika ("roa amin'ny faharoapolo" ho an'ny 1048576), fehezanteny fehezanteny ("dimy sivy" ho an'ny 99999), anarana manokana ("Isan'ny bibidia" ny 666, "taona nahafatesan'i Turing" ho an'ny 1954), na ny fitambaran'izy ireo. Na inona na inona fanendrena dia mety amin'ny alalan'ny interlocutor afaka mamaritra mazava tsara ny isa horesahina. Mazava ho azy, lazao amin'ny mpiara-miasa aminao "factorial of eight" mahomby kokoa noho ny fanondro mitovy "roapolo telonjato sy efatra alina". Mipetraka eto ny fanontaniana lojika: inona ny fanamarihana fohy indrindra amin'ny isa nomena?

Navoaka tamin’ny 1908 ilay filozofa Bertrand Russell "Paradox ny Berry", izay mikasika ny olana momba ny fanondro isa amin'ny lafiny mifanohitra: Inona no isa kely indrindra tsy mila litera valopolo?
Ny isa toy izany dia tsy maintsy misy: avy amin'ny litera rosiana valopolo sy habaka dia afaka mahaforona anarana 3480 ihany ianao, izay midika fa amin'ny fampiasana litera valopolo dia azonao atao ny manondro isa tsy mihoatra ny 3480. Midika izany fa tsy azo atao ny manondro isa iray tsy mihoatra ny 3480 amin'izany fomba izany.

Midika izany fa hifanaraka amin'ny fanendrena io isa io "ny isa kely indrindra izay tsy ampy ny litera valopolo", izay tsy misy afa-tsy 78 litera! Amin'ny lafiny iray, tsy maintsy misy io isa io; fa raha misy io isa io dia tsy mifanandrify aminy ny fanondroana azy. Paradox!

Ny fomba tsotra indrindra hanesorana an'io paradox io dia ny fanondroana ny tsy ara-dalàna amin'ny fanamarihana am-bava. Toy ny hoe, raha misy andian-teny voafaritra voafaritra ihany no navela tao amin'ny notation, dia "ny isa kely indrindra izay tsy ampy ny litera valopolo" dia tsy notation manan-kery, fa notation tena ilaina "factorial of eight" dia hijanona ho azo ekena.

Misy fomba ofisialy hamaritana ny filaharana (algoritma) amin'ny hetsika amin'ny isa? Misy, ary be dia be - dia antsoina hoe fiteny fandaharana. Raha tokony ho fanamarihana am-bava isika dia hampiasa programa (ohatra, amin'ny Python) izay mampiseho ny isa ilaina. Ohatra, ho an'ny dimy sivy ny fandaharana dia mety print("9"*5). Mbola ho liana amin'ny fandaharana fohy indrindra ho an'ny isa nomena izahay. Ny halavan'ny fandaharana toy izany dia antsoina hoe Kolmogorov complexity isa; io no fetra ara-teorika ahafahana manindry ny isa nomena.

Raha tokony ho ny paradox an'i Berry, dia afaka mandinika iray mitovy isika izao: Inona no isa kely indrindra tsy ampy hamoahana ny programa kilobyte?

Toy ny teo aloha ihany no handraisantsika hevitra: misy lahatsoratra 2561024 kilobyte, izay midika fa tsy mihoatra ny 2561024 isa no azo avoaka amin'ny programa kilobyte. Midika izany fa ny isa iray tsy mihoatra ny 2561024 dia tsy azo raisina amin'izany fomba izany.

Fa andeha isika hanoratra programa amin'ny Python izay mamokatra lahatsoratra kilobyte rehetra azo atao, mitantana azy ireo hovonoina, ary raha mamoaka isa izy ireo, dia ampio io isa io amin'ny rakibolana azo tratrarina. Rehefa avy nanamarina ny fahafaha-manao 2561024 rehetra, na firy na firy ny fotoana, ny programa dia mitady ny isa kely indrindra tsy hita ao amin'ny rakibolana ary manonta io isa io. Toa miharihary fa ny programa toy izany dia hifanaraka amin'ny kaody kilobyte - ary hamoaka ny isa tena tsy azo avoaka amin'ny programa kilobyte!

Inona izao no azo? Tsy azo lazaina intsony ny tsy fahatomombanan'ny notation!

Raha very hevitra ianao amin'ny hoe mitaky fitadidiana astronomika ny programantsika - rakibolana (na bit array) misy singa 2561024 - dia azonao atao ny manao zavatra tsy misy azy: ho an'ny isa 2561024 tsirairay avy. , mandehana amin'ny programa 2561024 rehetra, mandra-pahatongan'ny tsy mety. Tsy maninona fa haharitra ela be ny fikarohana toy izany: rehefa avy nanamarina latsaka ny (2561024) 2 tsiroaroa avy amin'ny isa sy ny programa, dia hifarana ary hahita izany isa tena ankamamiana izany.

Sa tsy ho tapitra? Eny tokoa, amin’ireo fandaharan’asa hozahana dia hisy while True: pass (sy ny analogues miasa) - ary ny raharaha dia tsy handeha lavitra noho ny fitsapana fandaharana toy izany!

Tsy toy ny paradox an'i Berry, izay nahitana ny fisamborana tao amin'ny tsy ara-dalàna ny fanamarihana, amin'ny tranga faharoa dia misy fanavaozana voalamina tsara. "mijanona ny olana". Ny zava-misy dia tsy azo atao ny mamaritra ny vokatra azo avy amin'ny programa ao anatin'ny fotoana voafetra. Indrindra indrindra, Kolmogorov sarotra incomputable: tsy misy algorithm izay mamela, ho an'ny isa nomena, hahitana ny halavan'ny programa fohy indrindra manonta io isa io; izay midika fa tsy misy vahaolana amin'ny olan'i Berry - mba hahitana ny halavan'ny anarana fohy indrindra amin'ny isa nomena.

Source: www.habr.com

Add a comment