Is barbar dhig ku saabsan isku-buufinta xogta

Is barbar dhig ku saabsan isku-buufinta xogta Dhibaatada isku dhafka xogta, qaabka ugu fudud, waxay la xiriiri kartaa tirooyinka iyo qoraaladooda. Nambarada waxaa lagu tilmaami karaa tirooyin ("kow iyo toban" lambarka 11), tibaaxaha xisaabta ("laba labaatankii" loogu talagalay 1048576), tibaaxaha xargaha ("shan sagaal" ee 99999), magacyo sax ah ("lambarka bahalka" 666, "sanadkii dhimashada Turing" 1954), ama isku darka sabab la'aanta ah. Magacaabid kastaa waa ku haboon tahay kaas oo dhexgaliyuhu uu si cad u go'aamin karo lambarka aan ka hadlayno. Sida cad, u sheeg interlocutor "factor of sideed" ka waxtar badan tilmaanta u dhiganta "Afartan kun iyo saddex boqol iyo labaatan". Su'aal macquul ah ayaa halkan ka soo baxda: waa maxay qoraalka ugu gaaban ee lambar la bixiyay?

Faylasuufkii Bertrand Russell ayaa daabacay 1908dii "Berry's paradox", taas oo taabanaysa arrinta tilmaanta tirada ee dhinaca ka soo horjeeda: Waa imisa tirada ugu yar ee aan u baahnayn siddeetan xaraf?
Tiradaas oo kale waa inay jirtaa: laga bilaabo siddeetan xaraf oo Ruush ah iyo meelo bannaan, waxaad samayn kartaa 3480 calaamadood oo keliya, taas oo macnaheedu yahay adigoo isticmaalaya siddeetan xaraf waxaad ku qori kartaa wax aan ka badnayn 3480 lambar. Taas macneheedu waxa weeye in aanay suurtogal ahayn in sidaas lagu qeexo tiro gaar ah oo aan ka badnayn 3480.

Tani waxay ka dhigan tahay in lambarkani uu u dhigmi doono magacaabista "lambarka ugu yar oo aan ku filnayn siddeetan xaraf", oo leh 78 xaraf oo keliya! Dhinac, tiradani waa inay jirtaa; Dhanka kale, haddii lambarkani uu jiro, markaa magacaabistiisu uma dhigna. Paradox!

Sida ugu fudud ee meesha looga saari karo is-bar-bar yaacani waa in la tixraaco xog-warran la'aanta tibaaxaha afka ah. Sida, haddii kaliya tibaaxo si gaar ah loo qeexay ayaa loo oggolaaday qoraalka, markaa "lambarka ugu yar oo aan ku filnayn siddeetan xaraf" ma noqon doonto qoraal sax ah, halka tilmaamo waxtar leh ay ka mid yihiin "factor of sideed" ahaan lahaa mid la aqbali karo.

Ma jiraan habab rasmi ah oo lagu qeexo isku xigxiga (algorithm) ee ficilada tirooyinka? Waxaa jira, oo aad u badan - waxaa loo yaqaan luqadaha barnaamijka. Halkii qoraalo afka ah laga isticmaali lahaa, waxaan isticmaali doonaa barnaamijyo (tusaale ahaan, Python) kuwaas oo muujinaya lambarada loo baahan yahay. Tusaale ahaan, shan sagaal barnaamijku waa ku habboon yahay print("9"*5). Waxaan sii wadi doonaa xiisaha barnaamijka ugu gaaban ee lambar la bixiyay. Dhererka barnaamijkan oo kale ayaa loo yaqaan Kakanaanta Kolmogorov tirooyinka; waa xadka aragtiyeed ee nambarka la siiyay lagu cadaadin karo.

Halkii Berry's paradox, waxaan hadda tixgelin karnaa mid la mid ah: Waa maxay tirada ugu yar ee barnaamijka kilobyte uusan ku filneyn soo saarista?

Waxaan u sababeyn doonaa si la mid ah sidii hore: waxaa jira 2561024 kilobyte qoraal ah, taas oo macnaheedu yahay in wax ka badan 2561024 tirooyinka aan lagu soo saari karin barnaamijyada kilobyte. Taas macneheedu waxa weeye in tiro cayiman oo aan ka badnayn 2561024 aan sidaas lagu heli karin.

Laakiin aan ku qorno barnaamij Python ah oo soo saara dhammaan qoraallada kilobyte ee suurtogalka ah, u socodsiiya fulinta, iyo haddii ay soo saaraan lambar, ka dibna lambarkan ku daraya qaamuuska kuwa la gaari karo. Ka dib markii la hubiyo dhammaan 2561024 suurtagal, iyada oo aan loo eegin muddada ay qaadanayso, barnaamijku wuxuu eegayaa lambarka ugu yar ee ka maqan qaamuuska wuxuuna daabacaa lambarkaas. Waxay u muuqataa mid iska cad in barnaamijkan oo kale uu ku habboonaan doono kiiloobyte ee koodka - oo soo saari doona tirada aan lagu soo saari karin barnaamijka kilobyte!

Maxaa la qabtay hadda? Mar dambe looma nisbayn karo xog-warran la'aanta qoraallada!

Haddii aad ku wareersan tahay xaqiiqda ah in barnaamijkeenu uu u baahan doono qadarka astronomical ee xusuusta si uu u shaqeeyo - qaamuus (ama array) oo ah 2561024 curiye - markaa waxaad samayn kartaa wax la mid ah la'aanteed: mid kasta oo ka mid ah lambarada 2561024, markeeda , dhex mara dhammaan 2561024 barnaamijyada suurtagalka ah, ilaa la waayo mid ku habboon. Dhib malahan in raadintan oo kale ay qaadan doonto waqti aad u dheer: ka dib marka la hubiyo in ka yar (2561024) 2 lammaane laga bilaabo lambarka iyo barnaamijka, way dhammaan doontaa oo waxay heli doontaa lambarkaas aadka loo jecel yahay.

Mise dhammayn mayso? Runtii, dhammaan barnaamijyada la isku dayi doono, waxaa jiri doona while True: pass (iyo analoogyada shaqada) - oo arrintu ma dhaafi doonto tijaabinta barnaamijkan oo kale!

Si ka duwan sida Berry's paradox, halkaasoo qabashadu ay ku jirtay si aan rasmi ahayn ee qoraalka, kiiska labaad waxaan leenahay dib u habeyn si fiican loo qariyey. "dhibaatooyinka joojinta". Xaqiiqdu waxay tahay in aysan suurtagal ahayn in la go'aamiyo wax-soo-saarkiisa barnaamijka waqti xaddidan. Gaar ahaan, kakanaanta Kolmogorov xisaab la'aan: ma jiro wax algorithm ah oo u oggolaanaya, lambar la siiyay, in la helo dhererka barnaamijka ugu gaaban ee daabaca lambarkan; taas oo macnaheedu yahay in aan xal loo helin dhibaatada Berry - si loo helo dhererka magacaabista afka ugu gaaban ee lambar la bixiyay.

Source: www.habr.com

Add a comment