Globals ke lisabole tsa matlotlo bakeng sa ho boloka data. Lihlopha tse nyenyane. Karolo ea 3

Globals ke lisabole tsa matlotlo bakeng sa ho boloka data. Lihlopha tse nyenyane. Karolo ea 3Likarolong tse fetileng (1, 2) re buile ka globals e le lifate, ho ena re tla sheba globals as sparse arrays.

Sparse Array ke mofuta oa lethathamo leo boholo ba boleng bo nkang boleng bo lekanang.

Ha e le hantle, li-sparse array hangata li kholo hoo ha ho na thuso ea ho boloka mohopolo ka likarolo tse tšoanang. Ka hona, hoa utloahala ho kenya tšebetsong li-sparse arrays ka tsela eo memori e se keng ea senyeha ho boloka boleng bo ts'oanang.
Lipuong tse ling tsa lenaneo, likarolo tse fokolang li kenyelelitsoe puong ka boeona, mohlala ho J, Matlab. Lipuo tse ling tsa lenaneo li na le lilaebrari tse khethehileng tse u lumellang hore u li sebelise. Bakeng sa C++ - Ea hae le ba bang.

Li-Globals ke likhetho tse ntle bakeng sa ho kenya tšebetsong li-sparse array hobane:

  1. Ba boloka boleng ba li-node tse itseng feela mme ha ba boloke boleng ba tse sa hlalosoang;
  2. Sehokelo sa ho fihlella boleng ba node se ts'oana haholo le hore na ke lipuo tse kae tsa mananeo tse kenyang phihlello ho karolo ea multidimensional array.
    Set ^a(1, 2, 3)=5
    Write ^a(1, 2, 3)

  3. Global ke sebopeho se maemong a tlase haholo bakeng sa ho boloka data, ka hona se na le litšobotsi tse hlahelletseng tsa lebelo (ho tloha ho likete tse makholo ho isa ho mashome a limilione tsa litšebelisano ka motsotsoana, ho latela lisebelisoa, bona ka tlase). 1)

Kaha lefats'e ke sebopeho se tsitsitseng, hoa utloahala ho etsa li-arrays tse fokolang holim'a tsona ha ho tsejoa esale pele hore palo ea RAM e ke ke ea lekana.

E 'ngoe ea likarolo tsa ts'ebetso ea sparse array ke ho khutlisa boleng bo itseng ba kamehla haeba phihlello e etsoa ho sele e sa hlalosoang.

Sena se ka etsoa ho sebelisoa sesebelisoa $GET ka COS. Mohlala ona o nka karolo ea 3-dimensional.

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

Ke mesebetsi efe e hlokang li-arrays tse fokolang mme li-globals li ka thusa joang?

Haufi (khokahanyo) matrix

Matrices a joalo e sebelisetsoang ho emela litšoantšo:

Globals ke lisabole tsa matlotlo bakeng sa ho boloka data. Lihlopha tse nyenyane. Karolo ea 3

Ho hlakile hore ha graph e kholoanyane, ho tla ba le li-zero tse ngata ka har'a matrix. Haeba, ka mohlala, re nka setšoantšo sa marang-rang sa marang-rang ebe re se hlahisa ka mokhoa oa matrix a tšoanang, joale e tla ba le li-zero ka ho feletseng, i.e. e tla ba karolo e nyane.

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

Mohlala ona, re boloka lefats'e ka bophara ^m khokahanyo matrix, hammoho le palo ea metshetshe sebakeng se seng le se seng (ke mang eo e leng metsoalle le palo ea metsoalle).

Haeba palo ea likarolo ho graph ha e fete limilione tse 29 (nomoro ena e nkuoa e le sehlahisoa sa 8 * boholo ba mola), ke hore, mokhoa oa moruo le ho feta oa ho boloka matrices a joalo ke likhoele tse nyenyane, kaha ts'ebetsong ea bona e ntlafatsa likheo tse kholo ka tsela e khethehileng.

Lisebelisoa tse nang le likhoele tse nyenyane li etsoa ke mosebetsi $BIT.

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

Tafole ea phetoho ea mochini oa mmuso

Kaha graph ea phetoho ea finite automaton ke graph e tloaelehileng, joale tafole ea phetoho ea finite automaton ke eona matrix e haufi e boletsoeng ka holimo.

Cellular automata

Globals ke lisabole tsa matlotlo bakeng sa ho boloka data. Lihlopha tse nyenyane. Karolo ea 3

Automaton e tsebahalang haholo ea cellular ke papali "Bophelo", e leng, ka lebaka la melao ea eona (ha sele e na le baahelani ba bangata, e shoa) e na le mefuta e fokolang.

Stephen Wolfram o lumela hore li-automata tsa cellular li lefapha le lecha la mahlale. Ka 2002, o ile a hatisa buka ea maqephe a 1280, Mofuta o Mocha oa Saense, moo a phehang khang ka ho pharaletseng hore tsoelo-pele ea automata ea cellular ha e arohane, empa e mamella ebile e na le liphello tse kholo likarolong tsohle tsa saense.

Ho 'nile ha pakoa hore algorithm leha e le efe e ka sebelisoang k'homphieutheng e ka sebelisoa ho sebelisa cellular automaton. Cellular automata e sebelisoa ho etsa mohlala oa tikoloho le litsamaiso tse matla, ho rarolla mathata a algorithmic le merero e meng.

Haeba re na le tšimo e kholo 'me re hloka ho rekota linaha tsohle tse bohareng tsa cellular automaton, joale hoa utloahala ho sebelisa li-globals.

Litšoantšo tsa limmapa

Ntho ea pele e tlang kelellong ea ka ha ho tluoa tabeng ea ho sebelisa li-sparse arrays ke mesebetsi ea 'mapa.

E le molao, ho na le libaka tse ngata tse se nang letho limmapeng. Haeba 'mapa o emetsoe e le lipikselse tse kholo, joale 71% ea lipikselse tsa Lefatše li tla lula ke leoatle. Sparse array. 'Me haeba u sebelisa feela mesebetsi ea matsoho a batho, joale sebaka se se nang letho se tla ba ho feta 95%.

Ehlile, ha ho motho ea bolokang limmapa ka mokhoa oa raster arrays; ho sebelisoa setšoantšo sa vector.
Empa limmapa tsa vector ke eng? Ena ke mofuta oa foreimi le li-polyline le li-polygone tse nang le lintlha.
Ha e le hantle, pokello ea lintlha le likhokahano lipakeng tsa tsona.

E 'ngoe ea mesebetsi e nang le takatso e matla ea ho etsa limmapa ke mosebetsi oa Gaia Telescope ho etsa 'mapa oa sehlopha sa rona sa linaleli. Ka puo ea tšoantšetso, sehlopha sa linaleli sa rōna, joaloka bokahohle bohle, ke letoto le sa khaotseng le lenyenyane: libaka tse khōlō tse se nang letho tseo ho tsona ho nang le lintlha tse nyenyane tse sa tloaelehang - linaleli. Sebaka se se nang letho ke 99,999999…….%. Ho boloka 'mapa oa sehlopha sa rona sa linaleli, ho ile ha khethoa polokelo ea litaba ea lefats'e - Caché.

Ha ke tsebe hantle sebopeho sa lefats'e morerong ona, nka nka hore ke ntho e ts'oanang le:

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

Moo b, l, d ba leng teng Galactic coordinates latitude, longitude le sebaka sa ho ya Letsatsing.

Sebopeho se feto-fetohang sa lefats'e se u lumella ho boloka litšobotsi life kapa life tse hlokahalang tsa linaleli le lipolanete, kaha metheo ea lefats'e ha e na merero.

Ho boloka 'mapa oa bokahohle ba rona, Caché e khethiloe eseng feela bakeng sa ho feto-fetoha ha eona, empa hape le bokhoni ba eona ba ho boloka boitsebiso bo bongata ka potlako, ha ka nako e le' ngoe ho etsoa li-index globals bakeng sa lipatlisiso tse potlakileng.

Haeba re khutlela Lefatšeng, joale merero ea cartographic e bōpiloe lefatšeng ka bophara OpenStreetMap XAPI le fereko ea OpenStreetMap - FOSM.

Haufinyane tjena hackathon Cache li-index tsa geospatial li ile tsa kenngoa ts'ebetsong Geospatial. Re emetse sengoloa se tsoang ho bangoli se nang le lintlha tsa ts'ebetsong.

Ts'ebetsong ea li-index tsa sebaka lefatšeng ka bophara ho OpenStreetMap XAPI

Litšoantšo tse nkiloeng ho tlhahiso ena.

Lefatše lohle le arotsoe ka li-square, joale li-sub-squares, le li-sub-squares ho li-sub-squares, joalo-joalo. Ka kakaretso, re fumana sebopeho sa hierarchical bakeng sa ho boloka seo li-globals li bōpiloeng.

Globals ke lisabole tsa matlotlo bakeng sa ho boloka data. Lihlopha tse nyenyane. Karolo ea 3

Ka nako efe kapa efe, hang hang re ka kopa sekwere seo re se batlang kapa ra se hlakola, 'me li-sub-square kaofela le tsona li tla khutlisoa kapa tsa hlakoloa.

Sekema se tšoanang mabapi le lefatše lohle se ka kengoa tšebetsong ka mekhoa e mengata.

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

Khetho ea 2:

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

Maemong ana ka bobeli, ha ho thata ho sebelisa COS/M ho kopa lintlha tse sebakeng sa lisekoere tsa boemo bofe kapa bofe. Ho tla ba bonolo haholoanyane ho hloekisa likotoana tsa sebaka sebakeng leha e le sefe khethong ea pele, empa sena ha se hlokahale seoelo.

Mohlala oa e 'ngoe ea li-square tsa maemo a tlase:

Globals ke lisabole tsa matlotlo bakeng sa ho boloka data. Lihlopha tse nyenyane. Karolo ea 3

Mona ke li-globals tse 'maloa tse tsoang morerong oa XAPI: kemelo ea index ea li-globals:

Globals ke lisabole tsa matlotlo bakeng sa ho boloka data. Lihlopha tse nyenyane. Karolo ea 3

lefatshe ka bophara ^tsela se sebedisoang ho boloka dintlha polyline (litsela, linōka tse nyenyane, joalo-joalo) le polygons (libaka tse koetsoeng: mehaho, meru, joalo-joalo).

Karolelano e mpe ea ts'ebeliso ea li-sparse arrays ho li-globals.

  1. Re boloka likhokahano tsa lintho tse itseng le linaha tsa tsona ('mapa, cellular automata)
  2. Re boloka matrices a fokolang.

Bakeng sa nyeoe ea 2) ha re kopa khokahanyo e itseng moo ntho e sa abeloang boleng, re tlameha ho fumana boleng ba karolo ea kamehla ea sparse array.

Li-bonase tseo re li fumanang ha re boloka matrices a multidimensional lefatšeng ka bophara

Tlosa kapele le/kapa u khethe likotoana tsa sebaka tseo e leng mela e mengata, lifofane, li-cubes, joalo-joalo. Bakeng sa maemo ao ho sebelisoang li-index, bokhoni ba ho tlosa kapele le/kapa ho lata likaroloana tsa sebaka tse ngata-ngata tsa mela, lifofane, li-cubes, joalo-joalo li ka thusa.

sehlopha bolaea re ka hlakola ntho e le 'ngoe kapa mola, kapa esita le sefofane kaofela. Ka lebaka la thepa ea lefats'e, sena se etsahala kapele haholo - makhetlo a likete ka potlako ho feta ho tlosoa ha element-by-element.

Palo e bonts'a lethathamo la mahlakore a mararo lefatšeng ka bophara ^a le mefuta e fapaneng ea ho hlakola.

Globals ke lisabole tsa matlotlo bakeng sa ho boloka data. Lihlopha tse nyenyane. Karolo ea 3

Ho khetha likotoana tsa sebaka u sebelisa li-index tse tsebahalang, u ka sebelisa taelo Kopanya.

Ho khetha kholomo ea matrix ho phapang ea Kholomo:

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

Qetello:

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

Ho khahlisang ka phapang ea Column ke hore re boetse re na le mefuta e fokolang, e tlamehang ho fihlelleha ka eona. $GET, kaha litekanyetso tsa kamehla ha li bolokehe ho eona.

Ho khetha likotoana tsa sebaka ho ka boela ha etsoa ka lenaneo le lenyenyane ho sebelisa mosebetsi $Odara. Sena se loketse haholo libakeng tseo li-indices li sa lekanngoeng (cartography).

fihlela qeto e

Linako tsa hona joale li hlahisa mesebetsi e mecha ea maemo a holimo. Li-graph li ka etsoa ka libilione tsa li-vertices, limmapa tse entsoeng ka lintlha tse limilione tse likete, 'me ba bang ba ka ba ba batla ho tsamaisa bokahohle ba bona ka cellular automata (1, 2).

Ha palo ea data e tsoang ho li-arrays tse fokolang e ke ke ea hlola e lekana le RAM, empa o hloka ho sebetsa le bona, joale ho bohlokoa ho nahana ka monyetla oa ho kenya ts'ebetsong merero e ts'oanang ho li-globals le COS.

Kea leboha ha u mametse! Re emetse lipotso le litakatso tsa hau ho maikutlo.

ikgololo: Sengoliloeng sena le litlhaloso tsa ka ho sona ke maikutlo a ka mme ha li amane le boemo ba semmuso ba InterSystems Corporation.

Source: www.habr.com

Eketsa ka tlhaloso