በቀደሙት ክፍሎች
በተግባራዊ ሁኔታ ፣ ብዙውን ጊዜ እንደዚህ ያሉ ግዙፍ ትናንሽ ድርድሮች አሉ ፣ እናም ትውስታን ከተመሳሳዩ አካላት ጋር መያዙ ምንም ትርጉም የለውም። ስለዚህ የማስታወስ ችሎታ ተመሳሳይ እሴቶችን ለማከማቸት በማይውልበት መንገድ አነስተኛ ድርድሮችን መተግበር ምክንያታዊ ነው።
በአንዳንድ የፕሮግራም አወጣጥ ቋንቋዎች፣ ጥቅጥቅ ያሉ ድርድሮች የቋንቋው አካል ናቸው፣
ግሎባልስ አነስተኛ ድርድሮችን ለመተግበር ጥሩ እጩዎች ናቸው ምክንያቱም፡-
- እነሱ የተገለጹ አንጓዎችን ብቻ ያከማቻሉ እና ያልተገለጹትን እሴቶች አያከማቹም ፣
- የመስቀለኛ መንገድን ዋጋ ለማግኘት በይነገጽ ስንት የፕሮግራሚንግ ቋንቋዎች የባለብዙ ልኬት አደራደር አባል መዳረሻን እንደሚተገበሩ በጣም ተመሳሳይ ነው።
Set ^a(1, 2, 3)=5 Write ^a(1, 2, 3)
- ግሎባል መረጃን ለማከማቸት በጣም ዝቅተኛ ደረጃ መዋቅር ነው, ስለዚህ, አስደናቂ የፍጥነት ባህሪያት አሏቸው (ከመቶ ሺዎች እስከ አስር ሚሊዮኖች የሚቆጠር ግብይቶች በሰከንድ, እንደ ሃርድዌር, ከታች ይመልከቱ).
1 )
ዓለም አቀፋዊው ቀጣይነት ያለው መዋቅር ስለሆነ, የ RAM መጠን በቂ እንደማይሆን አስቀድሞ ሲታወቅ በእነሱ ላይ ትንሽ ድርድር ማድረግ ምክንያታዊ ነው.
ከጠባብ ድርድር አተገባበር ባህሪያት አንዱ መዳረሻው ወደ ላልተገለጸ ሕዋስ ከሆነ የተወሰነ ነባሪ እሴት መመለስ ነው።
ይህንን ተግባር በመጠቀም ሊከናወን ይችላል
SET a = $GET(^a(x,y,z), defValue)
የትኛዎቹ ተግባራት ጥቃቅን ድርድሮችን ይፈልጋሉ እና ግሎባልስ እንዴት ሊረዳ ይችላል?
ተያያዥነት (ግንኙነት) ማትሪክስ
በግልጽ ለማየት እንደሚቻለው, ግራፉ ትልቅ, ብዙ ዜሮዎች በማትሪክስ ውስጥ ይሆናሉ. ለምሳሌ የማህበራዊ አውታረ መረብን ግራፍ ወስደን በተመሳሳዩ ማትሪክስ መልክ እንወክላለን, ከዚያ ሁሉም ማለት ይቻላል ዜሮዎችን ያካትታል, ማለትም. ትንሽ ድርድር ይሆናል።
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
....
በዚህ ምሳሌ, በአለምአቀፍ ውስጥ እናቆጥባለን ^m የግንኙነት ማትሪክስ, እንዲሁም በእያንዳንዱ መስቀለኛ መንገድ ላይ ያሉት የጠርዝ ብዛት (ከማን ጋር ጓደኛ እና የጓደኞች ብዛት ማን ነው).
በግራፉ ውስጥ ያሉት ንጥረ ነገሮች ብዛት ከ 29 ሚሊዮን ያልበለጠ ከሆነ (ይህ ቁጥር እንደ 8 * ምርት ይወሰዳል)
ከቢት ሕብረቁምፊዎች ጋር መጠቀሚያዎች በተግባሩ ይከናወናሉ
; установка бита
SET $BIT(rowID, positionID) = 1
; получение бита
Write $BIT(rowID, positionID)
የስቴት ማሽን ዝላይ ጠረጴዛ
የአንድ የተወሰነ አውቶሜትድ ሽግግር ግራፍ ተራ ግራፍ ስለሆነ፣ ከዚያ በላይ የተወያየው የአንድ የተወሰነ አውቶሜት ሽግግር ሰንጠረዥ ተመሳሳይ የአጃቢ ማትሪክስ ነው።
ሴሉላር አውቶማቲክ
በጣም ታዋቂው ሴሉላር አውቶሜትድ
እስጢፋኖስ Wolfram, ሴሉላር አውቶማቲክ እንደሆኑ ያምናል
በኮምፒዩተር ላይ የሚተገበር ማንኛውም አልጎሪዝም ሴሉላር አውቶሜትን በመጠቀም ሊተገበር እንደሚችል ተረጋግጧል። ሴሉላር አውቶሜትቶች ተለዋዋጭ አካባቢዎችን እና ስርዓቶችን ለመቅረጽ, አልጎሪዝም ችግሮችን ለመፍታት እና ለሌሎች ዓላማዎች ያገለግላሉ.
ትልቅ መስክ ካለን እና ሁሉንም የሴሉላር አውቶሜትድ መካከለኛ ግዛቶችን መመዝገብ ያስፈልገናል, ከዚያም ግሎባልስን መጠቀም በጣም ምክንያታዊ ነው.
ካርቶግራፊ
አነስተኛ ድርድሮችን ስጠቀም ወደ አእምሮዬ የሚመጣው የመጀመሪያው ነገር የካርታ ስራዎችን ነው።
እንደ አንድ ደንብ, በካርዶቹ ላይ ብዙ ባዶ ቦታ አለ. ካርታው እንደ ትልቅ ፒክሰሎች ከተወከለ 71% የምድር ፒክስሎች በውቅያኖስ ይያዛሉ። ትንሽ ድርድር። እና የሰው እጅ ስራዎችን ብቻ ተግባራዊ ካደረጉ, ከዚያ ከ 95% በላይ ባዶ ቦታ ይኖራል.
እርግጥ ነው, ማንም ካርታዎችን እንደ ራስተር ድርድር አያከማችም, የቬክተር ውክልና ጥቅም ላይ ይውላል.
ግን የቬክተር ካርታዎች ምንድን ናቸው? ይህ የፍሬም አይነት እና ፖሊላይን እና ፖሊጎኖች ነጥቦችን ያቀፈ ነው።
በእውነቱ በመካከላቸው የነጥቦች እና ግንኙነቶች የውሂብ ጎታ።
በጣም ትልቅ ከሚባሉት የካርታ ስራዎች አንዱ የጋይያ ቴሌስኮፕ የካርታ ስራ ወደ ጋላክሲያችን ነው። በምሳሌያዊ አነጋገር፣ የእኛ ጋላክሲ፣ ልክ እንደ አጽናፈ ዓለማት ሁሉ፣ ቀጣይነት ያለው ትንሽ ድርድር ነው፡ ሰፊ ባዶነት፣ በውስጡም ብርቅዬ ትናንሽ ነጠብጣቦች - ኮከቦች። ባዶ ቦታ 99,999999…….%. የኛን ጋላክሲ ካርታ ለማከማቸት በአለምአቀፍ ደረጃ ላይ ያለ የውሂብ ጎታ - ካሼ ተመርጧል።
በዚህ ፕሮጀክት ውስጥ የዓለማቀፉን ትክክለኛ መዋቅር አላውቅም፣ እሱ ከሚከተለው ጋር ተመሳሳይ እንደሆነ መገመት እችላለሁ፡-
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
...
b, l, d ያሉበት
የዓለማቀፉ ተለዋዋጭ መዋቅር ማንኛውንም የተፈለገውን የከዋክብትን እና የፕላኔቶችን ባህሪያት እንዲያድኑ ይፈቅድልዎታል, ምክንያቱም በአለምአቀፍ ደረጃ ላይ ያሉት መሠረቶች ንድፍ የሌላቸው ናቸው.
የአጽናፈ ዓለማችንን ካርታ ለማከማቸት፣ ካቼ የተመረጠው በተለዋዋጭነቱ ብቻ ሳይሆን የውሂብ ዥረት በፍጥነት ለማከማቸት በመቻሉ፣ በመንገዱ ላይ ፈጣን ፍለጋዎችን ለማግኘት ኢንዴክስ ግሎባልን በመፍጠር ነው።
ወደ ምድር ከተመለስን, ከዚያም የካርታግራፊ ፕሮጀክቶች በአለም አቀፍ ደረጃ ተፈጥረዋል
በቅርቡ
በOpenStreetMap XAPI ላይ የቦታ ኢንዴክሶችን በአለምአቀፍ ደረጃ መተግበር
የተነሱ ምስሎች
መላው ሉል በካሬዎች, ከዚያም በንዑስ-ካሬዎች እና በንዑስ-ካሬዎች, ወዘተ. በአጠቃላይ, የትኞቹ ግሎባልስ እንደተፈጠሩ ለማከማቸት የተዋረድ መዋቅር እናገኛለን.
በማንኛውም ጊዜ፣ ወዲያውኑ ማለት ይቻላል የምንፈልገውን ካሬ ልንጠይቀው ወይም ልናጸዳው እንችላለን፣ ሁሉም ንዑስ ካሬዎች እንዲሁ ይመለሳሉ ወይም ይጸዳሉ።
በአለምአቀፍ ደረጃ ላይ ያለው እንዲህ ዓይነቱ እቅድ በበርካታ መንገዶች ሊተገበር ይችላል.
አማራጭ 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ВторойТочки
...
አማራጭ 2:
Set ^m('abacdabcdabacdabcda', 1) = idПервойТочки
Set ^m('abacdabcdabacdabcda', 2) = idВторойТочки
...
በሁለቱም ሁኔታዎች በ COS/M ላይ በየትኛውም ደረጃ ካሬ ውስጥ የሚገኙ ነጥቦችን ለመጠየቅ አስቸጋሪ አይደለም. በመጀመሪያው አማራጭ ውስጥ የካሬ ክፍሎችን ከማንኛውም ደረጃ ለማጽዳት ትንሽ ቀላል ይሆናል, ነገር ግን ይህ በጣም አልፎ አልፎ አስፈላጊ ነው.
የታችኛው ደረጃ ካሬዎች የአንዱ ምሳሌ፡-
እና ከXAPI ፕሮጀክት የተወሰኑ አለምአቀፋዊ ነገሮች እዚህ አሉ፡ የአለም አቀፍ መረጃ ጠቋሚ፡
ዓለም አቀፍ ^ መንገድ ነጥቦችን ለማከማቸት ጥቅም ላይ ይውላል
በአለምአቀፍ ደረጃ ላይ ያሉ ጥቃቅን ድርድሮች አጠቃቀም ግምታዊ ምደባ።
- የአንዳንድ ነገሮችን እና የግዛቶቻቸውን መጋጠሚያዎች እናከማቻለን (ካርታ ፣ ሴሉላር አውቶማቲክ)
- ጥቃቅን ማትሪክስ እናከማቻለን.
ለጉዳይ 2) ኤለመንቱ እሴት ያልተመደበበት የተወሰነ መጋጠሚያ ስንጠይቅ፣ የጠባቡ ድርድር ንጥረ ነገር በነባሪነት ዋጋ ማግኘት አለብን።
ሁለገብ ማትሪክስ በአለምአቀፍ ደረጃ ስናከማች የምናገኛቸው ጉርሻዎች
ፈጣን ስረዛ እና/ወይም የቦታ ቁራጮች ምርጫ፣ ባለብዙ ሕብረቁምፊዎች፣ አውሮፕላኖች፣ ኪዩቦች፣ ወዘተ. የኢንቲጀር ኢንዴክሶች ጥቅም ላይ ለዋሉባቸው ጉዳዮች፣ ባለብዙ ሕብረቁምፊዎች፣ አውሮፕላኖች፣ ኪዩቦች፣ ወዘተ የሆኑ የቦታ ክፍሎችን በፍጥነት ለማስወገድ እና/ወይም ለመምረጥ መቻል ጠቃሚ ነው።
ቡድን
ስዕሉ በአለምአቀፍ ውስጥ ባለ ሶስት አቅጣጫዊ አቀማመጥ ያሳያል ^a እና የተለያዩ አይነት ስረዛዎች.
የቦታ ክፍሎችን በሚታወቁ ኢንዴክሶች ለመምረጥ ትዕዛዙን መጠቀም ይችላሉ።
በአምድ ተለዋዋጭ ውስጥ የማትሪክስ አምድ መምረጥ፡-
; Зададим трёхмерный разреженный массив 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
ማጠቃለያ:
Column(0)=1
Column(2)=1
በአምድ ተለዋዋጭ ውስጥ የሚያስደስተው ነገር፣ እኛ ደግሞ ትንሽ ድርድር አግኝተናል፣ እሱም እንዲሁ መድረስ ያለበት
የቦታ ክፍሎችን ናሙና ማድረግም ተግባሩን በመጠቀም በትንሽ ፕሮግራም ሊከናወን ይችላል
መደምደሚያ
አሁን ያለንበት ዘመን አዲስ ድንቅ ስራዎችን አዘጋጅቷል። ግራፎች በቢሊዮኖች የሚቆጠሩ ጫፎች፣ ካርታዎች በቢሊዮኖች የሚቆጠሩ ነጥቦች ሊኖሩት ይችላል፣ እና አንድ ሰው የራሱን ዩኒቨርስ በሴሉላር አውቶማታ ማሄድ ሊፈልግ ይችላል።
የተራቀቁ ድርድሮች የውሂብ መጠን ከአሁን በኋላ ወደ ራም ሊገባ በማይችልበት ጊዜ እና ከእነሱ ጋር አብሮ መስራት ሲኖርብዎ እንደዚህ ያሉ ፕሮጀክቶችን በአለምአቀፍ እና በ COS ላይ የመተግበር እድልን ግምት ውስጥ ማስገባት ጠቃሚ ነው.
ለሰጠህው አትኩሮት እናመሰግናለን! በአስተያየቶች ውስጥ የእርስዎን ጥያቄዎች እና ምኞቶች እየጠበቅን ነው.
ማስተባበያ: ይህ ጽሑፍ እና በእሱ ላይ የእኔ አስተያየቶች የእኔ አስተያየት ናቸው እና የ InterSystems ኮርፖሬሽን ኦፊሴላዊ ቦታን አይወክሉም.
ምንጭ: hab.com