Mwachiwonekere, kukula kwa graph, ndipamenenso mazero adzakhalapo mu matrix. Ngati, mwachitsanzo, titenga chithunzi cha malo ochezera a pa Intaneti ndikuchiwonetsa mu mawonekedwe a matrix ofanana, ndiye kuti pafupifupi onse adzakhala ndi zero, i.e. adzakhala ochepa.
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
....
Mu chitsanzo ichi, tikupulumutsa padziko lonse lapansi ^m matrix olumikizirana, komanso kuchuluka kwa m'mphepete pa mfundo iliyonse (omwe ali ndi mabwenzi omwe ali nawo komanso kuchuluka kwa mabwenzi).
Ngati kuchuluka kwa zinthu mu graph sikuposa 29 miliyoni (chiwerengerochi chimatengedwa ngati 8 * kukula kwa mzere), ndiko kuti, njira yotsika mtengo kwambiri yosungira matrices oterowo ndi zingwe zazing'ono, popeza kukhazikitsidwa kwawo kumakulitsa mipata yayikulu mwanjira yapadera.
Kuwongolera ndi zingwe zazing'ono kumachitika ndi ntchitoyi $BIT.
; установка бита
SET $BIT(rowID, positionID) = 1
; получение бита
Write $BIT(rowID, positionID)
Boma makina kusintha tebulo
Popeza graph yosinthira ya finite automaton ndi graph wamba, ndiye kuti tebulo losinthira la finite automaton ndilofanana ndi matrix oyandikana nawo omwe takambirana pamwambapa.
Ma cell automata
Makina odziwika kwambiri a cell ndi masewera "Moyo", yomwe, chifukwa cha malamulo ake (pamene selo lili ndi oyandikana nawo ambiri, limafa) ndilochepa.
Stephen Wolfram amakhulupirira kuti ma cell automata ndi gawo latsopano la sayansi. Mu 2002, adasindikiza buku lamasamba 1280, A New Kind of Science, momwe amatsutsa mozama kuti kupita patsogolo kwa ma cell automata sikunapake, koma kumapirira ndipo kumakhala ndi tanthauzo lalikulu kumadera onse a sayansi.
Zatsimikiziridwa kuti ma aligorivimu aliwonse omwe angagwiritsidwe ntchito pakompyuta amatha kukhazikitsidwa pogwiritsa ntchito ma cell automaton. Ma cell automata amagwiritsidwa ntchito kutengera madera ndi machitidwe osinthika, kuthetsa mavuto a algorithmic ndi zolinga zina.
Ngati tili ndi gawo lalikulu ndipo tiyenera kulemba maiko onse apakatikati a automaton yama cell, ndiye kuti ndizomveka kugwiritsa ntchito ma globals.
Monga lamulo, pali malo ambiri opanda kanthu pamapu. Ngati mapu akuimiridwa ngati ma pixel akulu, ndiye kuti 71% ya ma pixel a Dziko lapansi adzakhala ndi nyanja. Zosanjikizana. Ndipo ngati mutagwiritsa ntchito ntchito za manja a anthu okha, ndiye kuti malo opanda kanthu adzakhala oposa 95%.
Inde, palibe amene amasunga mapu mu mawonekedwe a raster arrays;
Koma vekitala ndi chiyani? Uwu ndi mtundu wa chimango ndi ma polylines ndi ma polygon okhala ndi mfundo.
Kwenikweni database ya mfundo ndi kulumikizana pakati pawo.
Imodzi mwamapu omwe amafunitsitsa kupanga mapu ndi ntchito ya Gaia Telescope yopanga mapu a mlalang'amba wathu. Mophiphiritsa, mlalang'amba wathu, monga chilengedwe chonse, ndi malo ochepa omwe amapitilirabe: malo aakulu opanda kanthu momwe mulibe tinthu tating'ono - nyenyezi. Malo opanda kanthu ndi 99,999999…….%. Kuti musunge mapu a mlalang'amba wathu, nkhokwe yapadziko lonse lapansi idasankhidwa - Caché.
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
...
Kusunga mapu a chilengedwe chathu, Caché sanasankhidwe chifukwa cha kusinthasintha kwake, komanso chifukwa cha kuthekera kwake kusunga mtsinje wa deta mofulumira kwambiri, panthawi imodzimodziyo kupanga index globals kuti afufuze mofulumira.
Ngati tibwerera ku Dziko Lapansi, ndiye kuti ntchito zama cartographic zidapangidwa padziko lonse lapansi OpenStreetMap XAPI ndi mphanda wa OpenStreetMap - Mtengo wa FOSM.
Posachedwapa hackathon Cache ma index a geospatial adakhazikitsidwa Geospatial. Tikudikirira nkhani yochokera kwa olemba yomwe ili ndi tsatanetsatane wokhazikitsa.
Kukhazikitsa ma index a malo padziko lonse lapansi mu OpenStreetMap XAPI
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ВторойТочки
...
Zosankha 2:
Set ^m('abacdabcdabacdabcda', 1) = idПервойТочки
Set ^m('abacdabcdabacdabcda', 2) = idВторойТочки
...
Muzochitika zonsezi, sikovuta kugwiritsa ntchito COS/M kufunsa mfundo zomwe zili mu sikweya ya mulingo uliwonse. Zidzakhala zosavuta kuyeretsa magawo apakati pamlingo uliwonse munjira yoyamba, koma izi sizofunikira.
Chitsanzo cha chimodzi mwamabwalo otsikirapo:
Ndipo nazi zingapo zapadziko lonse lapansi kuchokera ku projekiti ya XAPI: kuyimira index pa mayiko:
padziko lonse ^njira amagwiritsidwa ntchito posungira mfundo polylines (misewu, mitsinje yaing'ono, ndi zina zotero) ndi ma polygons (malo otsekedwa: nyumba, nkhalango, etc.).
Kusiyanasiyana kwapang'onopang'ono kwa kugwiritsa ntchito mitundu ingapo yapadziko lonse lapansi.
Timasunga zolumikizira za zinthu zina ndi mayiko awo (mapu, ma cell automata)
Timasunga matrices ochepa.
Mlandu 2) popempha kugwirizanitsa komwe chinthucho sichinapatsidwe mtengo, tiyenera kupeza mtengo wa chinthu chosasinthika cha sparse array.
Chotsani mwachangu ndi/kapena sankhani malo omwe ali mizere ingapo, ndege, ma cubes, ndi zina zambiri. Nthawi zomwe ma index ambiri amagwiritsidwa ntchito, kuthekera kochotsa mwachangu ndi/kapena kutenga magawo amizeremizere, ndege, ma cubes, ndi zina zambiri zitha kukhala zothandiza.
timu kupha tikhoza kuchotsa chinthu chimodzi kapena mzere, kapena ngakhale ndege yonse. Chifukwa cha zinthu zapadziko lonse lapansi, izi zimachitika mwachangu kwambiri - nthawi masauzande mwachangu kuposa kuchotsa chinthu ndi chinthu.
Chithunzichi chikuwonetsa mawonekedwe amitundu itatu padziko lonse lapansi ^a ndi mitundu yosiyanasiyana ya kufufutidwa.
Kuti musankhe zidutswa za danga pogwiritsa ntchito ma index odziwika, mutha kugwiritsa ntchito lamulo Gwirizanitsani.
Chosangalatsa pakusintha kwa Column ndikuti tilinso ndi gulu locheperako, lomwe liyeneranso kupezeka. $GET, popeza zokhazikika sizimasungidwa mmenemo.
Kusankha zidutswa za malo kungathenso kuchitidwa kudzera mu pulogalamu yaying'ono pogwiritsa ntchito ntchitoyi $Oda. Izi ndizosavuta makamaka pamipata yomwe ma indices sawerengedwera (makatoni).
Pomaliza
Masiku ano akupanga ntchito zatsopano zokhumba. Zithunzi zimatha kupangidwa ndi mabiliyoni a vertices, mamapu opangidwa ndi mabiliyoni a mfundo, ndipo ena angafune kuyendetsa chilengedwe chawo pa ma cell automata (1, 2).
Pamene kuchuluka kwa deta kuchokera ku sparse arrays sikungathenso kulowa mu RAM, koma muyenera kugwira nawo ntchito, ndiye kuti ndi bwino kulingalira za kuthekera kokwaniritsa ntchito zofanana pa globals ndi COS.
Zikomo chifukwa chakumvetsera! Tikuyembekezera mafunso ndi zofuna zanu mu ndemanga.
chandalama: Nkhaniyi ndi ndemanga zanga kwa izo ndi lingaliro langa ndipo sizikukhudzana ndi udindo wa InterSystems Corporation.