Ko nga ao he hoari-taonga mo te rokiroki raraunga. Nga rarangi iti. Wāhanga 3

Ko nga ao he hoari-taonga mo te rokiroki raraunga. Nga rarangi iti. Wāhanga 3I nga waahanga o mua (1, 2) i korero matou mo te ao hei rakau, i tenei ka titiro matou ki nga ao hei raupapa iti.

Huanga Raiti he momo hurangi e rite ana te uara o te nuinga o nga uara.

I roto i te mahi, he maha nga waahanga iti ka nui rawa atu kaore he take ki te pupuri i te mahara ki nga waahanga rite. Na reira, he mea tika ki te whakatinana i nga raupapa iti kia kore ai e moumou te mahara ki te penapena uara rite.
I etahi reo hootaka, he iti noa nga rarangi kei roto i te reo ake, hei tauira i J, MATLAB. Ko etahi atu reo whakamaori he whare pukapuka motuhake ka taea e koe te whakatinana. Mo C++ - No ake me etahi atu.

Ko nga ao he kaitono pai mo te whakatinana i nga raupapa iti na te mea:

  1. Ka tiakina e ratou nga uara o etahi node anake, kaore hoki e penapena nga uara o nga mea kaore i tautuhia;
  2. Ko te atanga mo te uru ki te uara o te node he tino rite ki te maha o nga reo whakamaoritanga e whakauru ana i te uru ki tetahi huānga huinga maha.
    Set ^a(1, 2, 3)=5
    Write ^a(1, 2, 3)

  3. He tino iti te hanganga o te ao mo te penapena raraunga, na reira he tino pai nga ahuatanga tere (mai i nga rau mano ki te tekau miriona o nga whakawhitinga mo ia hekona, i runga i te taputapu, tirohia i raro nei). 1)

I te mea ko te ao he hanganga mau tonu, he mea tika ki te hanga i nga waahanga iti ki runga i a raatau ka mohiohia i mua ko te nui o te RAM kaore e ranea.

Ko tetahi o nga ahuatanga o te whakatakotoranga huānga iti ko te whakahoki i etahi uara taunoa mena ka uru atu ki tetahi pūtau kore tautuhi.

Ka taea tenei ma te whakamahi i te mahi $GET i roto i te COS. Ka whakaarohia e tenei tauira he huinga ahu-3.

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

He aha nga mahi e hiahia ana kia iti noa nga waahanga me pehea te awhina a te ao?

Matrix piri (honohono).

Ko nga matrices whakamahia hei tohu kauwhata:

Ko nga ao he hoari-taonga mo te rokiroki raraunga. Nga rarangi iti. Wāhanga 3

Ko te tikanga, ka nui ake te kauwhata, ka nui ake nga koo kei roto i te matrix. Mena, hei tauira, ka tangohia e matou he kauwhata whatunga hapori me te whakaatu i te ahua o te ahua o te matrix rite, ka tata katoa he kore, i.e. ka waiho hei huinga iti.

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 tenei tauira, ka penapena taatau i te ao ^m matrix hononga, tae atu ki te maha o nga tapa i ia pona (ko wai te hoa ki a wai me te maha o nga hoa).

Ki te kore e neke ake i te 29 miriona te maha o nga huānga o te kauwhata (ka tangohia tenei nama hei hua o te 8 * rahinga raina teitei), ara, ko te huarahi pai ake ki te penapena i nga matrices he aho moka, na te mea ko ta raatau whakatinanatanga ka arotau i nga waahi nui i roto i tetahi huarahi motuhake.

Ka mahia e te mahi nga whawhe me nga aho moka $BIT.

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

Tepu whakawhiti miihini a te kawanatanga

I te mea he kauwhata noa te kauwhata whakawhiti o te miihini mutunga, na ko te ripanga whakawhiti o te miihini mutunga he rite tonu te matrix tatai kua korerohia i runga ake nei.

Automata pūkoro

Ko nga ao he hoari-taonga mo te rokiroki raraunga. Nga rarangi iti. Wāhanga 3

Ko te miihini pūkoro tino rongonui kēmu "Life", na runga i ona ture (i te mea he maha nga hoa tata o te pūtau, ka mate) he huinga iti.

E whakapono ana a Stephen Wolfram ko te automata pūkoro mara hou o te pūtaiao. I te tau 2002, i whakaputahia e ia he pukapuka 1280-wharangi, A New Kind of Science, e tohe ana ia ko te ahu whakamua i roto i te automata pūkoro kaore i te mokemoke, engari e mau tonu ana, e whai paanga nui ana ki nga wahanga katoa o te aoiao.

Kua whakamatauhia ka taea te whakatinana i tetahi algorithm ka taea ki te rorohiko ma te whakamahi i te miihini pūkoro. Ka whakamahia te automata pūkoro ki te whakatauira i nga taiao hihiri me nga punaha, ki te whakaoti rapanga algorithmic me etahi atu kaupapa.

Mena he waahi nui ta tatou me tuhi i nga ahuatanga takawaenga katoa o te miihini pūkoro, ka tika te whakamahi i te ao.

Karetao

Ko te mea tuatahi e puta mai ana ki taku hinengaro ina tae mai ki te whakamahi i nga raupapa iti ko te mapi mahi.

Hei tikanga, he nui te waahi kore i runga mapi. Mena ka tohuhia te mapi hei pika nui, ka 71% o nga pika o te whenua ka nohoia e te moana. He huinga iti. A, ki te tono koe i nga mahi a nga ringa tangata anake, ka nui ake i te 95%.

Ae ra, kaore tetahi e penapena mapi i te ahua o nga raupapa raster; ka whakamahia he tohu vector.
Engari he aha nga mapi vector? He momo anga me nga polyline me nga polygons he tohu.
Ko te tikanga he papaa raraunga o nga tohu me nga hononga i waenga i a raatau.

Ko tetahi o nga mahi mapi tino hiahia ko te Gaia Telescope ki te mapi i to tatou tupuni. E ai ki te korero, ko to tatou tupuni, pera i te ao katoa, he huinga mokowhiti tonu: nga waahi nui o te korekore he waahi iti onge - whetu. Ko te mokowā kau he 99,999999…….%. Hei rokiroki i te mapi o to tatou tupuni, i whiriwhiria he putunga raraunga o te ao - Caché.

Kare au i te mohio ki te tino hanganga o te ao i roto i tenei kaupapa, ka taea e au te whakaaro he ahua rite ki:

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

Kei hea a b, l, d taurangi galactic latitude, longitude me te tawhiti ki te Ra.

Ko te hanganga ngawari o te ao ka taea e koe te tiaki i nga ahuatanga e tika ana mo nga whetu me nga aorangi, na te mea he iti noa nga kaupapa o te ao.

Hei rokiroki i te mapi o to tatou ao, i whiriwhiria a Caché ehara i te mea he ngawari noa iho, engari mo tona kaha ki te penapena i te rerenga raraunga tere rawa, i te wa ano ka hanga i nga ao taurangi mo te rapu tere.

Mena ka hoki mai tatou ki te Ao, katahi ka hangaia nga kaupapa kaataata ki nga ao OpenStreetMap XAPI me tetahi marau o OpenStreetMap - FOSM.

No tata nei hackathon Caché I whakatinanahia nga tohu tohu whenua Geospatial. Kei te tatari matou mo tetahi tuhinga mai i nga kaituhi me nga taipitopito whakatinanatanga.

Te whakatinanatanga o nga tohu mokowā ki te ao i OpenStreetMap XAPI

Ko nga pikitia i tangohia mai tenei whakaaturanga.

Ka wehea te ao katoa ki nga tapawha, katahi ka tapawha-roto, me nga tapawha-roto ki nga tapawha-iti, me etahi atu. I te nuinga o te waa, ka whiwhi tatou i te hanganga arowhai mo te penapena i nga ao ka hangaia.

Ko nga ao he hoari-taonga mo te rokiroki raraunga. Nga rarangi iti. Wāhanga 3

I nga wa katoa, tata tonu ka taea e taatau te tono i te tapawha e hiahiatia ana, te whakawātea ranei, a ka whakahokia mai, ka whakawāteahia rānei ngā tapawhā-iti katoa.

He maha nga huarahi ka taea te whakatinana i tetahi kaupapa mo te ao.

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

Kōwhiringa 2:

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

I roto i nga take e rua, ehara i te mea uaua ki te whakamahi COS/M ki te tono tohu kei roto i te tapawha o tetahi taumata. Ka ngawari ake te horoi i nga waahanga tapawha o te waahi i nga taumata katoa i te waahanga tuatahi, engari he uaua tenei.

He tauira o tetahi o nga tapawha taumata iti:

Ko nga ao he hoari-taonga mo te rokiroki raraunga. Nga rarangi iti. Wāhanga 3

Anei etahi o nga ao mai i te kaupapa XAPI: he tohu mo te taurangi mo te ao:

Ko nga ao he hoari-taonga mo te rokiroki raraunga. Nga rarangi iti. Wāhanga 3

ao ^ ara whakamahia ki te rokiroki tohu polylines (nga huarahi, nga awa iti, me etahi atu) me nga polygons (nga waahi kati: nga whare, nga ngahere, me etahi atu).

Te whakarōpūtanga taratara o te whakamahi i nga raupapa iti i runga i te ao.

  1. Ka penapenahia e matou nga taunga o etahi mea me o raatau ahuatanga (mahere, automata pūkoro)
  2. Ka penapena matou i nga matrices iti.

Mo te keehi 2) i te wa e tono ana i tetahi ruruku motuhake kaore te huānga i tautapahia he uara, me whiwhi tatou i te uara o te huānga huānga mokowhiti taunoa.

Ko nga putea ka whakawhiwhia ki a maatau i te wa e rongoa ana i nga matrices maha i roto i te ao

Kia tere te tango me/ranei te kowhiri i nga waahanga mokowhiti he maha nga rarangi, rererangi, poraka, aha atu. Mo nga keehi e whakamahia ana nga taurangi tauoti, ka whai hua pea te kaha ki te tango tere me te tiki i nga mokowhiti he maha nga rarangi, rererangi, poraka, aha atu.

kapa patua ka taea e tatou te whakakore i tetahi huānga kotahi, rarangi rarangi ranei, he rererangi katoa ranei. He mihi ki nga ahuatanga o te ao, he tere rawa tenei - he mano nga wa tere ake i te tango huānga-a-huatanga.

Ko te ahua e whakaatu ana i tetahi huinga ahu-toru i roto i te ao ^a me nga momo whakakorenga rereke.

Ko nga ao he hoari-taonga mo te rokiroki raraunga. Nga rarangi iti. Wāhanga 3

Hei whiriwhiri i nga waahanga mokowhiti ma te whakamahi i nga tohu tohu, ka taea e koe te whakamahi i te whakahau Hanumi.

Kei te whiriwhiri i tetahi pou matrix ki te taurangi Tiwae:

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

Whakamutunga:

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

He aha te mea whakamere mo te taurangi Tiwae ko te mea he iti noa o taatau huinga, me uru ano ma te $GET, na te mea kaore nga uara taunoa e penapena ki roto.

Ka taea hoki te whiriwhiri i nga waahanga mokowhiti ma te kaupapa iti ma te whakamahi i te mahi $Ota. He tino watea tenei mo nga waahi kaore i te ine nga tohu (kareti).

mutunga

Ko nga wa o naianei he mahi whakahirahira hou. Ka taea e nga kauwhata te hanga i te piriona o nga poupou, ko nga mapi he piriona nga tohu, ka hiahia pea etahi ki te whakahaere i o raatau ao ki runga i te automata pūkoro (1, 2).

I te wa e kore e taea e te rahi o nga raraunga mai i nga waahanga iti te uru ki roto i te RAM, engari me mahi koe ki a raatau, he pai ki te whakaaro ki te kaha ki te whakatinana i nga kaupapa rite ki te ao me te COS.

Mauruuru koe mo to aro! Kei te tatari matou mo o patai me o hiahia i roto i nga korero.

Whakakape: Ko tenei tuhinga me aku korero ki a ia ko aku whakaaro, kaore he hononga ki te tuunga mana o InterSystems Corporation.

Source: will.com

Tāpiri i te kōrero