Globals su ne takuba-takuba don adana bayanai. Tsare-tsare. Kashi na 3

Globals su ne takuba-takuba don adana bayanai. Tsare-tsare. Kashi na 3A sassan da suka gabata (1, 2) Mun yi magana game da duniya a matsayin bishiyoyi, a cikin wannan za mu kalli duniya a matsayin tsararru.

Tsare-tsare wani nau'in tsararru ne wanda mafi yawan dabi'u ke ɗaukar ƙima ɗaya.

A aikace, tsararrun tsararru sau da yawa suna da girma sosai ta yadda babu ma'ana a mamaye ƙwaƙwalwar ajiya tare da abubuwa iri ɗaya. Saboda haka, yana da ma'ana don aiwatar da tsararrun tsararru ta hanyar da ba za a yi asarar ƙwaƙwalwar ajiya akan adana ƙima iri ɗaya ba.
A cikin wasu yarukan shirye-shirye, an haɗa ɗimbin tsararru a cikin harshen da kansa, misali a J, MATLAB. Sauran harsunan shirye-shirye suna da ɗakunan karatu na musamman waɗanda ke ba ku damar aiwatar da su. don C++ - Mallaka da sauransu.

Globals sune ƙwararrun ƴan takara don aiwatar da tsararrun tsararru saboda:

  1. Suna adana ƙimar kawai wasu nodes kuma ba sa adana ƙimar waɗanda ba a bayyana ba;
  2. Haɗin kai don samun damar ƙimar kumburi yana kama da yawancin harsunan shirye-shiryen da ke aiwatar da damar yin amfani da nau'ikan tsararru iri-iri.
    Set ^a(1, 2, 3)=5
    Write ^a(1, 2, 3)

  3. Duniya tsari ne mai ƙarancin ƙarancin tsari don adana bayanai, don haka yana da fitattun halayen saurin gudu (daga ɗaruruwan dubunnan zuwa dubun dubatar ma'amaloli a sakan daya, dangane da kayan masarufi, duba ƙasa). 1)

Tun da tsarin duniya yana da tsayin daka, yana da ma'ana don ƙirƙirar tsararrun tsararru akan su lokacin da aka sani a gaba cewa adadin RAM ba zai isa ba.

Ɗaya daga cikin kaddarorin aiwatar da tsararrun tsararru shine maido da wasu ƙima idan aka sami damar zuwa tantanin halitta da ba a bayyana ba.

Ana iya aiwatar da wannan ta amfani da aikin $SAMU a cikin COS. Wannan misali yana la'akari da tsararru mai girma 3.

SET a = $GET(^a(x,y,z), defValue)

Wadanne ayyuka ne ke buƙatar tsararrun tsararru kuma ta yaya duniya za ta iya taimakawa?

Adjacency (haɗin kai) matrix

Irin wannan matrices ana amfani da shi don wakiltar jadawali:

Globals su ne takuba-takuba don adana bayanai. Tsare-tsare. Kashi na 3

Babu shakka, girman jadawali, yawan sifili da za a samu a cikin matrix. Idan, alal misali, mun ɗauki jadawali na hanyar sadarwar zamantakewa kuma mu gabatar da shi a cikin nau'i mai kama da matrix, to kusan gaba ɗaya zai ƙunshi sifili, watau. zai zama tsararren tsararru.

Set ^m(id1, id2) = 1 
Set ^m(id1, id3) = 1 
Set ^m(id1, id4) = 1 
Set ^m(id1) = 3 
Set ^m(id2, id4) = 1 
Set ^m(id2, id5) = 1 
Set ^m(id2) = 2
....

A cikin wannan misali, muna ajiyewa a duniya ^m connectivity matrix, kazalika da adadin gefuna a kowane kumburi (wanda yake abokai tare da wanda da adadin abokai).

Idan adadin abubuwan da ke cikin jadawali bai wuce miliyan 29 ba (ana ɗaukar wannan lambar azaman samfurin 8 * matsakaicin girman layin), wato, hanyar da ta fi dacewa da tattalin arziki don adana irin waɗannan matrices shine ƙananan igiyoyi, tun da aiwatar da su yana inganta babban gibi ta hanya ta musamman.

Manipulations tare da bit kirtani ana yin su ta aikin $BIT.

; установка бита
SET $BIT(rowID, positionID) = 1
; получение бита
Write $BIT(rowID, positionID)

Teburin mika mulki na injin jiha

Tunda jadawali na atomatik mai ƙarewa jadawali ne na yau da kullun, to, teburin miƙa mulki na ƙayyadaddun automaton shine matrix na kusanci da aka tattauna a sama.

Salon salula ta atomatik

Globals su ne takuba-takuba don adana bayanai. Tsare-tsare. Kashi na 3

Shahararriyar tauraruwar salula ita ce game "Life", wanda saboda dokokinsa (lokacin da tantanin halitta yana da maƙwabta da yawa, ya mutu) ya zama tarkace.

Stephen Wolfram ya yi imanin cewa automata na salula sune sabon fannin kimiyya. A cikin 2002, ya buga littafi mai shafuka 1280, Sabon nau'in Kimiyya, wanda a cikinsa ya yi jayayya da yawa cewa ci gaba a cikin automata ta salula ba a keɓe ba, amma yana dawwama kuma yana da babban tasiri ga dukkan fannonin kimiyya.

An tabbatar da cewa duk wani algorithm da za a iya aiwatar da shi akan kwamfuta ana iya aiwatar da shi ta hanyar amfani da na'ura mai sarrafa kansa. Ana amfani da atomatik na salula don ƙirar yanayi mai ƙarfi da tsarin, don magance matsalolin algorithmic da wasu dalilai.

Idan muna da babban filin kuma muna buƙatar yin rikodin duk tsaka-tsakin jihohi na atomatik na salula, to yana da ma'ana don amfani da duniya.

Zane-zane

Abu na farko da ke zuwa a zuciyata yayin da ake yin amfani da tsararrun tsararru shine ayyukan taswira.

A matsayinka na mai mulki, akwai sarari da yawa a kan taswira. Idan taswirar tana wakiltar manyan pixels, to 71% na pixels na Duniya za su mamaye teku. Tsare-tsare. Kuma idan kun yi amfani da ayyukan hannu kawai, to, sararin samaniya zai zama fiye da 95%.

Tabbas, babu wanda ke adana taswirori a cikin nau'in raster arrays; ana amfani da wakilcin vector.
Amma menene taswirar vector? Wannan nau'i ne na firam da polylines da polygons wanda ya ƙunshi maki.
Mahimman bayanai na bayanai da alaƙa tsakanin su.

Ɗaya daga cikin mafi girman burin taswira shine aikin Gaia Telescope don taswirar tauraron mu. A magana ta alama, galaxy ɗinmu, kamar dukan sararin samaniya, ci gaba ne mai tsauri: ɗumbin wurare na fanko wanda akwai ƙananan maki - taurari. Wurin da babu kowa a ciki shine 99,999999…….%. Don adana taswirar taurarinmu, an zaɓi bayanan bayanan duniya - Caché.

Ban san ainihin tsarin duniya a cikin wannan aikin ba, zan iya ɗauka cewa wani abu ne mai kama da:

Set ^galaxy(b, l, d) = 1; Номер звезды по каталогу, если есть
Set ^galaxy(b, l, d, "name") = "Sun"
Set ^galaxy(b, l, d, "type") = "normal" ; варианты blackhole, quazar, red_dwarf и т.д.
Set ^galaxy(b, l, d, "weight") = 14E50
Set ^galaxy(b, l, d, "planetes") = 7
Set ^galaxy(b, l, d, "planetes", 1) = "Mercury"
Set ^galaxy(b, l, d, "planetes", 1, weight) = 1E20
...

ku b, l, d galactic daidaita latitude, longitude da nisa zuwa Rana.

Tsarin sassauƙa na duniya yana ba ku damar adana duk wani halayen da suka dace na taurari da taurari, tunda tushen tushen tsarin duniya ba su da ƙima.

Don adana taswirar duniyarmu, an zaɓi Caché ba don sassauƙarsa kaɗai ba, har ma don ikonsa na adana rafin bayanai cikin sauri, yayin da yake ƙirƙirar ƙididdiga ta duniya don saurin bincike.

Idan muka koma Duniya, to, an ƙirƙiri ayyukan zane-zane akan abubuwan duniya OpenStreetMap XAPI da cokali mai yatsu na OpenStreetMap - FOSM.

Kwanan nan akan Hackathon Cache An aiwatar da ma'anar geospatial Geospatial. Muna jiran labarin daga marubuta tare da cikakkun bayanai na aiwatarwa.

Aiwatar da fihirisar sararin samaniya akan duniya a cikin OpenStreetMap XAPI

Hotunan da aka dauka daga wannan gabatarwa.

An raba duniya gaba ɗaya zuwa murabba'ai, sannan ƙananan murabba'ai, da ƙananan murabba'ai zuwa ƙananan murabba'ai, da sauransu. Gabaɗaya, muna samun tsarin tsari don adanawa waɗanda aka ƙirƙira abubuwan duniya.

Globals su ne takuba-takuba don adana bayanai. Tsare-tsare. Kashi na 3

A kowane lokaci, kusan nan take za mu iya buƙatar murabba'in da ake so ko share shi, kuma za a dawo ko share duk ƙananan murabba'ai.

Ana iya aiwatar da irin wannan makirci a kan duniya ta hanyoyi da yawa.

Zabin 1:

Set ^m(a, b, a, c, d, a, b,c, d, a, b, a, c, d, a, b,c, d, a, 1) = idПервойТочки
Set ^m(a, b, a, c, d, a, b,c, d, a, b, a, c, d, a, b,c, d, a, 2) = idВторойТочки
...

Zabin 2:

Set ^m('abacdabcdabacdabcda', 1) = idПервойТочки
Set ^m('abacdabcdabacdabcda', 2) = idВторойТочки
...

A cikin lokuta biyu, ba shi da wahala a yi amfani da COS/M don neman wuraren da ke cikin murabba'in kowane matakin. Zai zama ɗan sauƙi don tsaftace yanki na murabba'i a kowane mataki a zaɓi na farko, amma wannan ba lallai ba ne.

Misali na ɗaya daga cikin ƙananan murabba'ai:

Globals su ne takuba-takuba don adana bayanai. Tsare-tsare. Kashi na 3

Kuma a nan akwai da yawa na duniya daga aikin XAPI: wakilcin fihirisa akan abubuwan duniya:

Globals su ne takuba-takuba don adana bayanai. Tsare-tsare. Kashi na 3

duniya ^way amfani da shi don adana maki polylines (hanyoyi, ƙananan koguna, da dai sauransu) da polygons ( wuraren da aka rufe: gine-gine, gandun daji, da dai sauransu).

Tsare-tsare na yin amfani da tsararrun tsararru akan abubuwan duniya.

  1. Muna adana abubuwan haɗin kai na wasu abubuwa da jihohinsu (taswira, cellular automata)
  2. Muna adana matrices marasa ƙarfi.

Misali na 2) lokacin da ake buƙatar takamaiman daidaitawa inda ba a sanya kashi a ƙima ba, dole ne mu sami ƙimar ƙaƙƙarfan ɓangaren tsararru.

Bonuses ɗin da muke karɓa lokacin adana matrix multidimensional a cikin duniya

Cire sauri da/ko zaɓi ɓangarorin sarari waɗanda ke da yawa na layuka, jirage, cubes, da sauransu. Don lokuta inda aka yi amfani da maƙasudin lamba, ikon cirewa da/ko ɗauko guntun sararin samaniya waɗanda ke da yawa na layuka, jirage, cubes, da sauransu na iya zama da amfani.

tawagar Ku kashe za mu iya goge ko dai guda ɗaya ko jere, ko ma jirgin gaba ɗaya. Godiya ga kaddarorin duniya, wannan yana faruwa da sauri - sau dubbai cikin sauri fiye da cire abubuwa-by-lement.

Adadin ya nuna tsararru mai girma uku a cikin duniya ^a da nau'ikan gogewa daban-daban.

Globals su ne takuba-takuba don adana bayanai. Tsare-tsare. Kashi na 3

Don zaɓar yanki na sarari ta amfani da sanannun fihirisa, zaku iya amfani da umarnin ci.

Zaɓin ginshiƙin matrix cikin madaidaicin Rukunin:

; Зададим трёхмерный разреженный массив 3x3x3
Set ^a(0,0,0)=1,^a(2,2,0)=1,^a(2,0,1)=1,^a(0,2,1)=1,^a(2,2,2)=1,^a(2,1,2)=1
Merge Column = ^a(2,2)
; Выведем переменную Column
Zwrite Column

Kammalawa:

Column(0)=1
Column(2)=1

Abin da ke da ban sha'awa game da madaidaicin Rukunin shine cewa mu ma muna da tsararru mara kyau, wanda kuma dole ne a samu ta hanyar. $SAMU, tun da ba a adana ƙima a ciki.

Hakanan ana iya yin zaɓin yanki na sarari ta hanyar ƙaramin shiri ta amfani da aikin Oda $. Wannan ya dace musamman akan wuraren da ba a ƙididdige fihirisar su ba (cartography).

ƙarshe

Lokutan yanzu suna haifar da sabbin ayyuka masu kishi. Za a iya yin zane-zane da biliyoyin tsaye, taswirorin da aka yi da biliyoyin maki, wasu ma na iya son gudanar da nasu sararin samaniya akan automata ta salula (1, 2).

Lokacin da adadin bayanai daga ƙananan tsararru ba zai iya shiga cikin RAM ba, amma kuna buƙatar yin aiki tare da su, to yana da daraja la'akari da yiwuwar aiwatar da irin wannan ayyukan akan duniya da COS.

Na gode da kulawar ku! Muna jiran tambayoyinku da buri a cikin sharhi.

Disclaimer: Wannan labarin da sharhi na game da shi ra'ayina ne kuma ba su da alaƙa da matsayin hukuma na InterSystems Corporation.

source: www.habr.com

Add a comment