Globals o 'oa-pelu mo le teuina o faʻamaumauga. Fa'asologa fa'apitoa. Vaega 3

Globals o 'oa-pelu mo le teuina o faʻamaumauga. Fa'asologa fa'apitoa. Vaega 3I vaega muamua (1, 2) matou talanoa e uiga i le lalolagi e pei o laʻau, i lenei mea o le a tatou vaʻavaʻai ai i le lalolagi e pei o ni mea faʻapitoa.

Fa'asologa Fa'asologa o se ituaiga o laina lea o le tele o tau e tutusa le tau.

I le fa'ata'ita'iga, o fa'asologa fa'asolosolo e tele lava ina tetele ma e leai se aoga i le fa'aogaina o le manatua ma elemene tutusa. O le mea lea, e talafeagai le faʻatinoina o faʻasologa faʻapitoa i se auala e le faʻaumatia ai le manatua i le teuina o tulaga tutusa.
I nisi gagana fa'apolokalame, o fa'asologa fa'apitoa e aofia i le gagana lava ia, mo se faataitaiga i J, MATLAB. O isi gagana polokalame e iai faletusi faʻapitoa e mafai ai ona e faʻatinoina. Mo C++ - O ia lava ma isi.

Globals o sui lelei mo le faʻatinoina o faʻasologa faʻapitoa ona:

  1. Latou te teuina tau o naʻo nisi nodes ma e le teuina tau o mea e leʻi faʻamalamalamaina;
  2. O le fa'aoga mo le fa'aogaina o le taua o le node e matua tutusa lava ma le tele o gagana fa'apolokalame e fa'aogaina le avanoa i se elemene fa'asologa tele.
    Set ^a(1, 2, 3)=5
    Write ^a(1, 2, 3)

  3. O le lalolagi o se fausaga maualalo maualalo mo le teuina o faʻamaumauga, o lea e iai lona uiga faʻavavevave (mai le fiaselau afe i le fiasefulu miliona o fefaʻatauaiga i le sekone, faʻatatau i meafaigaluega, vaʻai i lalo). 1)

Talu ai ona o le lalolagi o se fausaga faifaipea, e talafeagai le fatuina o ni mea faʻapitoa i luga ia i latou pe a iloa muamua o le aofaʻi o le RAM o le a le lava.

O se tasi o meatotino o le fa'atinoina o fa'asologa o le toe fa'afo'i mai o se tau fa'aletonu pe a fai e maua se avanoa i se sela e le'i fa'amalamalamaina.

E mafai ona faʻatinoina lenei mea e faʻaaoga ai le galuega $GET i le COS. O lenei fa'ata'ita'iga e fa'atatau i se fa'asologa 3-dimensional.

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

O a galuega e manaʻomia ai faʻasologa faʻapitoa ma faʻapefea ona fesoasoani le lalolagi atoa?

Fa'atasi (feso'ota'i) matrix

O ia matrices fa'aaoga e fa'atusa ai kalafi:

Globals o 'oa-pelu mo le teuina o faʻamaumauga. Fa'asologa fa'apitoa. Vaega 3

E manino lava, o le tele o le kalafi, o le tele o zeros o le ai ai i le matrix. Afai, mo se faʻataʻitaʻiga, matou te ave se kalafi fesoʻotaʻiga lautele ma tuʻuina atu i le tulaga o se matrix tutusa, ona toetoe lava a aofia uma ai zeros, i.e. o le a avea ma se vaega itiiti.

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
....

I lenei faʻataʻitaʻiga, matou te sefe i le lalolagi atoa ^m feso'ota'iga matrix, fa'apea fo'i ma le numera o pito i node ta'itasi (o ai e fa'auo ma le numera o uo).

Afai o le numera o elemene i le kalafi e le sili atu i le 29 miliona (o lenei numera o loʻo avea ma oloa o le 8 * maualuga laina tele), o lona uiga, o se auala sili atu ona taugofie e teu ai ia matrices o nai manoa, talu ai o latou faʻatinoga e faʻamalieina ai avanoa tetele i se auala faʻapitoa.

Fa'atonuga fa'atasi ma nai manoa e fa'atino e le galuega $BIT.

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

laulau suiga ole masini a le setete

Talu ai ona o le kalafi o le suiga o le automaton i'u o se kalafi masani, o lona uiga o le suiga o le automaton fa'ai'uga o le matrix fa'atasi tutusa lea na talanoaina i luga.

Cellular automata

Globals o 'oa-pelu mo le teuina o faʻamaumauga. Fa'asologa fa'apitoa. Vaega 3

Ole masini feavea'i sili ona lauiloa ole taaloga "Olaga", lea, ona o ana tulafono (pe a tele tuaoi o se sela, e mate) o se seti seasea.

E talitonu Stephen Wolfram o le cellular automata e fanua fou o le faasaienisi. I le 2002, na ia lomia ai se tusi e 1280-itulau, A New Kind of Science, lea na ia finau ai i le lautele e faapea o le alualu i luma i cellular automata e le o tuueseeseina, ae e tumau ma e tele sona aafiaga mo vaega uma o le faasaienisi.

Ua faʻamaonia o soʻo se algorithm e mafai ona faʻaogaina i luga o se komepiuta e mafai ona faʻaaogaina e faʻaaoga ai se masini feaveaʻi. O le telefoni feaveaʻi e faʻaaogaina e faʻataʻitaʻia ai siosiomaga ma faiga faʻamalosi, e foia ai faʻafitauli algorithmic ma mo isi faʻamoemoega.

Afai ei ai se matou fanua tele ma e manaʻomia ona matou faʻamaumau uma tulaga vavalalata o se masini feaveaʻi, ona talafeagai lea o le faʻaogaina o lalolagi.

Ata fa'ata'oto

O le mea muamua e oo mai i loʻu mafaufau pe a oʻo mai i le faʻaaogaina o faʻasologa faʻasolosolo o le faʻafanua galuega.

I le avea ai ma tulafono, e tele avanoa avanoa i luga o faafanua. Afai o le faʻafanua o loʻo faʻatusalia o ni pika tetele, o lona uiga o le 71% o pika o le lalolagi o le a nofoia e le sami. Fa'asologa fa'apitoa. Ma afai e te faʻaaogaina naʻo galuega a lima o tagata, ona sili atu lea o le avanoa avanoa i le 95%.

O le mea moni, e leai se tasi na te teuina fa'afanua i le tulaga o fa'asologa o fa'asologa e fa'aaogaina ai se fa'atusa vector.
Ae o le a le faafanua o le vector? O se ituaiga fa'avaa ma polylines ma polygons e aofia ai togi.
O le mea moni o se fa'amaumauga o manatu ma feso'ota'iga i le va oi latou.

O se tasi o misiona sili ona mataʻutia o le Gaia Telescope misiona e faʻafanua lo tatou galaxy. I se faaupuga faafaatusa, o lo tatou aniva, e pei o le atulaulau atoa, o se faasologa e le tumau: avanoa tetele o le gaogao lea e seasea maua ai ni vaega laiti - fetu. avanoa avanoa e 99,999999…….%. Ina ia teuina le faafanua o la tatou galaxy, na filifilia ai se faʻamaumauga o le lalolagi - Caché.

Ou te le iloa le fausaga tonu o lalolagi i lenei poloketi, e mafai ona ou manatu o se mea e talitutusa ma:

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
...

O fea b, l, d o iai fa'amaopoopo galactic latitu, longitude ma le mamao i le La.

Ole fausaga fetuutuunai ole lalolagi e mafai ai ona e faʻasaoina soʻo se uiga talafeagai o fetu ma paneta, talu ai o faʻavae i luga ole lalolagi e le faʻaogaina.

Ina ia teuina le faafanua o lo tatou atulaulau, na filifilia Caché e le gata mo lona fetuutuunai, ae faapea foi mo lona gafatia e teuina se vaitafe o faʻamatalaga vave, aʻo faia i le taimi lava e tasi le faʻasologa o le lalolagi mo suʻesuʻega vave.

Afai tatou te toe foʻi i le lalolagi, ona faia lea o galuega faʻataʻitaʻi i luga o le lalolagi OpenStreetMap XAPI ma se lala o OpenStreetMap - FOSM.

Talu ai nei i luga hackathon Caché na fa'atinoina fa'ailoga geospatial Geospatial. O loʻo matou faʻatali mo se tusiga mai tusitala ma faʻamatalaga faʻatinoga.

Fa'atinoina o fa'asinomaga fa'ava-o-malo ile lalolagi i OpenStreetMap XAPI

Ata na pu'eina mai lenei fa'aaliga.

O le kelope atoa ua vaevaeina i sikuea, ona sosoo ai lea ma sikuea laiti, ma lalo sikuea i lalo ifo, ma isi. I se tulaga lautele, matou te maua se faʻatulagaga faʻatulagaina mo le teuina o mea o loʻo faia i le lalolagi atoa.

Globals o 'oa-pelu mo le teuina o faʻamaumauga. Fa'asologa fa'apitoa. Vaega 3

I so'o se taimi, e toetoe lava a mafai ona matou talosagaina le sikuea mana'omia pe fa'amama, ma o le a toe fa'afo'i pe fa'amama uma fo'i fa'ailoga sikuea.

O se polokalame faapena i luga o le lalolagi e mafai ona faʻatinoina i le tele o auala.

Filifiliga 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ВторойТочки
...

Filifiliga 2:

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

I tulaga uma e lua, e le faigata ona faʻaogaina le COS/M e talosaga ai ni togi o loʻo i totonu ole sikuea o soʻo se tulaga. O le a sili atu ona faigofie le faʻamamaina o sikuea sikuea o avanoa i soʻo se tulaga i le filifiliga muamua, ae e seasea manaʻomia.

O se faʻataʻitaʻiga o se tasi o sikuea pito i lalo:

Globals o 'oa-pelu mo le teuina o faʻamaumauga. Fa'asologa fa'apitoa. Vaega 3

Ma o nisi nei o lalolagi mai le poloketi XAPI: faʻataʻitaʻiga o se faasino igoa i luga ole lalolagi:

Globals o 'oa-pelu mo le teuina o faʻamaumauga. Fa'asologa fa'apitoa. Vaega 3

lalolagi ^auala fa'aaoga e teu ai togi polylines (auala, vaitafe laiti, ma isi) ma polygons (nofoaga tapuni: fale, vaomatua, ma isi).

Fa'avasegaga fa'apitoa o le fa'aogaina o fa'asologa fa'apitoa i luga ole lalolagi.

  1. Matou te teuina faʻasalalauga o nisi mea ma latou setete (faʻafanua, cellular automata)
  2. Matou te teuina matrices seasea.

Mo le mataupu 2) pe a talosagaina se faʻamaopoopo faʻapitoa lea e le o tuʻuina atu ai le elemene i se tau, e tatau ona tatou maua le tau o le faʻaogaina o le elemene faʻapitoa.

Ponesi tatou te maua pe a teuina matrices multidimensional i lalolagi

Aveese vave ma/pe filifili vaega o avanoa e tele laina, vaalele, pusa, ma isi. Mo tulaga o lo'o fa'aogaina ai fa'ailoga numera, o le mafai ona vave aveese ma/po'o le aumai o pusi avanoa e tele laina, va'alele, cubes, ma isi e ono aoga.

'au fasioti e mafai ona tatou tapeina se elemene se tasi poʻo se laina, poʻo se vaalele atoa. Fa'afetai i meatotino a le lalolagi, e tupu vave lenei mea - fa'aafe taimi e sili atu le vave nai lo le aveeseina o elemene ma elemene.

O le ata o loʻo faʻaalia ai le tolu-dimensional array i le lalolagi atoa ^a ma ituaiga eseese o tapeina.

Globals o 'oa-pelu mo le teuina o faʻamaumauga. Fa'asologa fa'apitoa. Vaega 3

Ina ia filifili vaega o avanoa e faʻaaoga ai faʻasino igoa, e mafai ona e faʻaogaina le poloaiga Faʻatasi.

Filifilia o se koluma matrix i le fesuiaiga o le Column:

; Зададим трёхмерный разреженный массив 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

Faaiuga:

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

O le mea e manaia e uiga i le fesuiaiga o le Column o loʻo i ai foi a tatou laina faʻapitoa, lea e tatau foi ona maua e ala i $GET, talu ai e le o teuina i totonu tau fa'aletonu.

Filifilia o vaega avanoa e mafai foi ona faia e ala i se polokalama laʻititi e faʻaaoga ai le galuega $Oka. E sili ona faigofie i luga o avanoa e le o fa'atatauina fa'ailoga (cartography).

iʻuga

O le taimi nei o loʻo faʻaalia ai ni galuega mataʻutia fou. O kalafi e mafai ona faia i luga o le faitau piliona o pito, faʻafanua e faia i le piliona o togi, ma o nisi e ono mananaʻo e faʻatautaia a latou lava atulaulau i luga o masini feaveaʻi (1, 2).

Afai o le tele o faʻamatalaga mai faʻasologa faʻapitoa e le mafai ona toe faʻaogaina i le RAM, ae e tatau ona e galulue faʻatasi ma i latou, ona tatau lea ona mafaufau i le avanoa e faʻatino ai galuega tutusa i luga ole lalolagi ma COS.

Faafetai mo lou gauai mai! Matou te faʻatali mo au fesili ma manaʻoga i faʻamatalaga.

Tuuese: O lenei tusiga ma aʻu faʻamatalaga o loʻu manatu ma e leai se fesoʻotaʻiga i le tulaga aloaia a le InterSystems Corporation.

puna: www.habr.com

Faaopoopo i ai se faamatalaga