Paradoksên di derbarê berhevkirina daneyan de

Paradoksên di derbarê berhevkirina daneyan de Pirsgirêka berhevkirina daneyan, di forma xweya herî hêsan de, dikare bi jimareyan û nîşaneyên wan re têkildar be. Hejmar dikare bi jimareyan ("yanzdeh" ji bo hejmara 11), bêjeyên matematîkî ("du di bîstemîn de" ji bo 1048576), îfadeyên rêzikan ("pênc neh" ji bo 99999), navên xwerû ("hejmara cenawir" ji bo 666, "Sala mirina Turing" ji bo 1954), an tevliheviyên kêfî yên wan. Her binavkirin guncan e ku bi vî rengî hevpeyivîn bi zelalî diyar bike ka em behsa kîjan hejmarê dikin. Diyar e, ji muxatabê xwe re bêje "faktoriya heştan" ji nîşana hevwate bikêrtir e "çil hezar û sêsed û bîst". Li vir pirsek mentiqî derdikeve holê: nîşaneya herî kurt ji bo hejmareke diyarkirî çi ye?

Fîlozof Bertrand Russell di sala 1908 de çap kir "Paradoksa Berry", ku li ser mijara nîşankirina hejmarê ji aliyê dijber ve disekine: Hejmara herî piçûk a ku heştê tîpan hewce nake çend e?
Pêdivî ye ku jimareyek wusa hebe: ji heştê tîp û cîhên rûsî hûn dikarin tenê 3480 navnîşan çêbikin, ku tê vê wateyê ku hûn bi karanîna heştê tîpan hûn dikarin ji 3480 hejmaran bêtir destnîşan bikin. Ev tê wê wateyê ku ne gengaz e ku meriv bi vî rengî hejmarek diyarkirî ji 3480-an zêdetir destnîşan bike.

Ev tê wê wateyê ku ev hejmar dê bi navnîşê re têkildar be "hejmara herî piçûk a ku heştê tîp têrê nakin", ku tenê 78 tîp hene! Ji aliyekî ve divê ev hejmar hebe; ji aliyê din ve, eger ev hejmar hebe, wê demê binavkirina wê bi wê re nayê. Paradoks!

Rêya herî hêsan ku meriv vê paradoksê ji holê rabike ev e ku meriv behsa nefermîbûna nîşeyên devkî bike. Mînakî, heke tenê komek diyardeyek diyarkirî di nîşankirinê de destûr were dayîn, wê hingê "hejmara herî piçûk a ku heştê tîp têrê nakin" dê ne nîşanek derbasdar be, di heman demê de nîşanên bikêrhatî yên mîna "faktoriya heştan" dê meqbûl bimîne.

Ma awayên fermî hene ku meriv rêzika (algorîtmaya) çalakiyan li ser jimareyan diyar bike? Hene, û bi pirranî - ji wan re zimanên bernamekirinê tê gotin. Li şûna nîşaneyên devkî, em ê bernameyan bikar bînin (mînak, di Python de) ku hejmarên pêwîst nîşan didin. Mînakî, ji bo pênc nehan bername guncan e print("9"*5). Em ê ji bo hejmareke diyarkirî bi bernameya herî kurt re eleqedar bibin. Dirêjahiya bernameyek wiha tê gotin Tevliheviya Kolmogorov jimare; ew sînorê teorîk e ku hejmareke diyarkirî dikare pê ve were pêçandin.

Li şûna paradoksa Berry, em niha dikarin yekî weha bifikirin: Hejmara herî piçûk a ku bernameyek kilobyte têra dernekirinê nake çend e?

Em ê bi heman awayê berê bifikirin: 2561024 metnên kilobyte hene, ev tê vê wateyê ku ji hêla bernameyên kilobyte ve ji 2561024 zêdetir hejmar nayên derxistin. Ev tê wê wateyê ku hejmareke diyarkirî ya ku ji 2561024 ne mezintir nabe bi vî rengî were derxistin.

Lê em di Pythonê de bernameyekê binivîsin ku hemû nivîsên kilobyte yên mimkun diafirîne, wan ji bo darvekirinê dimeşîne, û heke ew jimarek derxînin, wê hingê vê hejmarê li ferhenga yên gihîştî zêde bike. Piştî kontrolkirina hemû 2561024 îmkanan, çiqas dem bidome jî, bername li hejmara herî piçûk a ku ji ferhengê winda ye digere û wê hejmarê çap dike. Eşkere dixuye ku bernameyek weha dê di nav kilobyte kodek de cîh bigire - û dê wê hejmarê ku ji hêla bernameyek kilobyte ve nayê derxistin derxîne!

Niha çi girtin? Êdî nikare bi nefermîbûna nîşeyê ve were girêdan!

Ger hûn ji ber vê rastiyê tevlihev bibin ku bernameya me ji bo xebitandina bîranînek astronomîkî hewce dike - ferhengek (an rêzek bit) ji 2561024 hêmanan - wê hingê hûn dikarin heman tiştî bêyî wê bikin: ji bo her yek ji 2561024 jimaran, bi dorê. , ji hemî 2561024 bernameyên mimkun re derbas bibin, heya ku yek minasib tune. Ne girîng e ku lêgerînek weha dê demek pir dirêj bidome: piştî ku ji hejmar û bernameyê kêmtir ji (2561024) 2 cotan kontrol bike, ew ê biqede û wê hejmara pir hêja bibîne.

An jî dê neqede? Bi rastî, di nav hemî bernameyên ku dê werin ceribandin de, dê hebin while True: pass (û analogên wê yên fonksiyonel) - û mesele dê ji ceribandina bernameyek weha wêdetir neçe!

Berevajî paradoksa Berry, ku girtina wê di nefermîbûna nîşeyê de bû, di rewşa duyemîn de me reformulasyonek baş veşartî heye. "Pirsgirêkên rawestandin". Rastî ev e ku ne mimkûn e ku meriv di demek bêdawî de hilberîna wê ji bernameyekê diyar bike. Bi taybetî, tevliheviya Kolmogorov bêhejmar: algorîtmayek tune ku rê bide, ji bo hejmareke diyarkirî, dirêjahiya bernameya herî kurt a ku vê hejmarê çap dike bibîne; ku tê vê wateyê ku ji pirsgirêka Berry re çareseriyek tune - dîtina dirêjahiya navdêra devkî ya herî kurt ji bo hejmarek diyarkirî.

Source: www.habr.com

Add a comment