์ „์—ญ ๋ณ€์ˆ˜๋Š” ๋ฐ์ดํ„ฐ ์ €์žฅ์„ ์œ„ํ•œ ๋ณด๋ฌผ ๊ฐ™์€ ๊ฒ€์ž…๋‹ˆ๋‹ค. ํฌ์†Œ ๋ฐฐ์—ด. 3๋ถ€

์ „์—ญ ๋ณ€์ˆ˜๋Š” ๋ฐ์ดํ„ฐ ์ €์žฅ์„ ์œ„ํ•œ ๋ณด๋ฌผ ๊ฐ™์€ ๊ฒ€์ž…๋‹ˆ๋‹ค. ํฌ์†Œ ๋ฐฐ์—ด. 3๋ถ€์ด์ „ ๋ถ€๋ถ„์—์„œ (1, 2) ์šฐ๋ฆฌ๋Š” ์ „์—ญ์„ ํŠธ๋ฆฌ๋กœ ์ด์•ผ๊ธฐํ–ˆ๋Š”๋ฐ, ์—ฌ๊ธฐ์„œ๋Š” ์ „์—ญ์„ ํฌ์†Œ ๋ฐฐ์—ด๋กœ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

ํฌ์†Œ ๋ฐฐ์—ด ๋Œ€๋ถ€๋ถ„์˜ ๊ฐ’์ด ๋™์ผํ•œ ๊ฐ’์„ ๊ฐ–๋Š” ๋ฐฐ์—ด ์œ ํ˜•์ž…๋‹ˆ๋‹ค.

์‹ค์ œ๋กœ ํฌ์†Œ ๋ฐฐ์—ด์€ ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์ปค์„œ ๋™์ผํ•œ ์š”์†Œ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ ์œ ํ•  ํ•„์š”๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋™์ผํ•œ ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ๋ฐ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋‚ญ๋น„๋˜์ง€ ์•Š๋Š” ๋ฐฉ์‹์œผ๋กœ ํฌ์†Œ ๋ฐฐ์—ด์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ํ•ฉ๋ฆฌ์ ์ž…๋‹ˆ๋‹ค.
์ผ๋ถ€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ๋Š” ์–ธ์–ด ์ž์ฒด์— ํฌ์†Œ ๋ฐฐ์—ด์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด J์—์„œ, Matlab. ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—๋Š” ์ด๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ํŠน์ˆ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. C++์˜ ๊ฒฝ์šฐ - ์•„์ด๊ฒ ๊ธฐํƒ€

์ „์—ญ ๋ณ€์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์œ ๋กœ ํฌ์†Œ ๋ฐฐ์—ด์„ ๊ตฌํ˜„ํ•˜๊ธฐ์— ์ข‹์€ ํ›„๋ณด์ž…๋‹ˆ๋‹ค.

  1. ํŠน์ • ๋…ธ๋“œ์˜ ๊ฐ’๋งŒ ์ €์žฅํ•˜๊ณ  ์ •์˜๋˜์ง€ ์•Š์€ ๋…ธ๋“œ์˜ ๊ฐ’์€ ์ €์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  2. ๋…ธ๋“œ์˜ ๊ฐ’์— ์•ก์„ธ์Šคํ•˜๊ธฐ ์œ„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋‹ค์ฐจ์› ๋ฐฐ์—ด ์š”์†Œ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ˆ˜์™€ ๋งค์šฐ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
    Set ^a(1, 2, 3)=5
    Write ^a(1, 2, 3)

  3. ๊ธ€๋กœ๋ฒŒ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ์ƒ๋‹นํžˆ ๋‚ฎ์€ ์ˆ˜์ค€์˜ ๊ตฌ์กฐ์ด๋ฏ€๋กœ ๋›ฐ์–ด๋‚œ ์†๋„ ํŠน์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค(ํ•˜๋“œ์›จ์–ด์— ๋”ฐ๋ผ ์ดˆ๋‹น ์ˆ˜์‹ญ๋งŒ์—์„œ ์ˆ˜์ฒœ๋งŒ ๊ฑด์˜ ํŠธ๋žœ์žญ์…˜, ์•„๋ž˜ ์ฐธ์กฐ). 1)

์ „์—ญ์€ ์ง€์†์ ์ธ ๊ตฌ์กฐ์ด๊ธฐ ๋•Œ๋ฌธ์— RAM์˜ ์–‘์ด ์ถฉ๋ถ„ํ•˜์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์„ ๋ฏธ๋ฆฌ ์•Œ๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ ์ „์—ญ ๋ฐฐ์—ด์— ํฌ์†Œ ๋ฐฐ์—ด์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ํ•ฉ๋ฆฌ์ ์ž…๋‹ˆ๋‹ค.

ํฌ์†Œ ๋ฐฐ์—ด ๊ตฌํ˜„์˜ ์†์„ฑ ์ค‘ ํ•˜๋‚˜๋Š” ์ •์˜๋˜์ง€ ์•Š์€ ์…€์— ์•ก์„ธ์Šคํ•˜๋Š” ๊ฒฝ์šฐ ์ผ๋ถ€ ๊ธฐ๋ณธ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด๋Š” ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. $GET COS์—์„œ ์ด ์˜ˆ์—์„œ๋Š” 3์ฐจ์› ๋ฐฐ์—ด์„ ๊ณ ๋ คํ•ฉ๋‹ˆ๋‹ค.

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

ํฌ์†Œ ๋ฐฐ์—ด์ด ํ•„์š”ํ•œ ์ž‘์—…์€ ๋ฌด์—‡์ด๋ฉฐ ์ „์—ญ์ด ์–ด๋–ป๊ฒŒ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์ธ์ ‘(์—ฐ๊ฒฐ) ๋งคํŠธ๋ฆญ์Šค

์ด๋Ÿฌํ•œ ํ–‰๋ ฌ ๊ทธ๋ž˜ํ”„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ „์—ญ ๋ณ€์ˆ˜๋Š” ๋ฐ์ดํ„ฐ ์ €์žฅ์„ ์œ„ํ•œ ๋ณด๋ฌผ ๊ฐ™์€ ๊ฒ€์ž…๋‹ˆ๋‹ค. ํฌ์†Œ ๋ฐฐ์—ด. 3๋ถ€

๋ถ„๋ช…ํžˆ ๊ทธ๋ž˜ํ”„๊ฐ€ ํด์ˆ˜๋ก ํ–‰๋ ฌ์— XNUMX์ด ๋” ๋งŽ์•„์ง‘๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์†Œ์…œ ๋„คํŠธ์›Œํฌ ๊ทธ๋ž˜ํ”„๋ฅผ ๋น„์Šทํ•œ ํ–‰๋ ฌ์˜ ํ˜•ํƒœ๋กœ ํ‘œํ˜„ํ•œ๋‹ค๋ฉด ๊ฑฐ์˜ ์ „์ ์œผ๋กœ XNUMX์œผ๋กœ ๊ตฌ์„ฑ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํฌ์†Œ ๋ฐฐ์—ด์ด ๋ฉ๋‹ˆ๋‹ค.

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)

์ƒํƒœ ๋จธ์‹  ์ „ํ™˜ ํ…Œ์ด๋ธ”

์œ ํ•œ ์˜คํ† ๋งˆํƒ€์˜ ์ „์ด ๊ทธ๋ž˜ํ”„๋Š” ์ผ๋ฐ˜ ๊ทธ๋ž˜ํ”„์ด๋ฏ€๋กœ ์œ ํ•œ ์˜คํ† ๋งˆํƒ€์˜ ์ „์ด ํ…Œ์ด๋ธ”์€ ์œ„์—์„œ ์„ค๋ช…ํ•œ ์ธ์ ‘ ํ–‰๋ ฌ๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

์…€๋ฃฐ๋Ÿฌ ์˜คํ† ๋งˆํƒ€

์ „์—ญ ๋ณ€์ˆ˜๋Š” ๋ฐ์ดํ„ฐ ์ €์žฅ์„ ์œ„ํ•œ ๋ณด๋ฌผ ๊ฐ™์€ ๊ฒ€์ž…๋‹ˆ๋‹ค. ํฌ์†Œ ๋ฐฐ์—ด. 3๋ถ€

๊ฐ€์žฅ ์œ ๋ช…ํ•œ ์„ธํฌ์ž๋™์ธํ˜•์€ ๊ฒŒ์ž„ "๋ผ์ดํ”„", ์ด๋Š” ๊ทœ์น™(์…€์— ์ด์›ƒ์ด ๋งŽ์œผ๋ฉด ์ฃฝ๋Š”๋‹ค)์œผ๋กœ ์ธํ•ด ํฌ์†Œ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค.

์Šคํ‹ฐ๋ธ ์šธํ”„๋žจ(Stephen Wolfram)์€ ์„ธํฌ ์ž๋™์ธํ˜•์ด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค๊ณ  ๋ฏฟ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๊ณผํ•™ ๋ถ„์•ผ. 2002๋…„์— ๊ทธ๋Š” 1280ํŽ˜์ด์ง€ ๋ถ„๋Ÿ‰์˜ ์ฑ… A New Kind of Science๋ฅผ ์ถœํŒํ–ˆ๋Š”๋ฐ, ์ด ์ฑ…์—์„œ ๊ทธ๋Š” ์„ธํฌ ์ž๋™ ์žฅ์น˜์˜ ๋ฐœ์ „์ด ๊ณ ๋ฆฝ๋œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ง€์†์ ์ด๊ณ  ๊ณผํ•™์˜ ๋ชจ๋“  ์˜์—ญ์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค๊ณ  ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ์ฃผ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค.

์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์…€๋ฃฐ๋Ÿฌ ์ž๋™ ์žฅ์น˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด ์ž…์ฆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์…€๋ฃฐ๋Ÿฌ ์˜คํ† ๋งˆํƒ€๋Š” ๋™์  ํ™˜๊ฒฝ๊ณผ ์‹œ์Šคํ…œ์„ ๋ชจ๋ธ๋งํ•˜๊ณ , ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ , ๊ธฐํƒ€ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๊ฑฐ๋Œ€ํ•œ ํ•„๋“œ๊ฐ€ ์žˆ๊ณ  ์…€๋ฃฐ๋Ÿฌ ์ž๋™ ์žฅ์น˜์˜ ๋ชจ๋“  ์ค‘๊ฐ„ ์ƒํƒœ๋ฅผ ๊ธฐ๋กํ•ด์•ผ ํ•œ๋‹ค๋ฉด ์ „์—ญ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํ•ฉ๋ฆฌ์ ์ž…๋‹ˆ๋‹ค.

์ง€๋„ ์ž‘์„ฑ

ํฌ์†Œ ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•  ๋•Œ ๊ฐ€์žฅ ๋จผ์ € ๋– ์˜ค๋ฅด๋Š” ๊ฒƒ์€ ๋งคํ•‘ ์ž‘์—…์ž…๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ ์ง€๋„์—๋Š” ๋นˆ ๊ณต๊ฐ„์ด ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ง€๋„๊ฐ€ ํฐ ํ”ฝ์…€๋กœ ํ‘œํ˜„๋œ๋‹ค๋ฉด ์ง€๊ตฌ ํ”ฝ์…€์˜ 71%๊ฐ€ ๋ฐ”๋‹ค๊ฐ€ ์ฐจ์ง€ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ํฌ์†Œ ๋ฐฐ์—ด. ๊ทธ๋ฆฌ๊ณ  ์‚ฌ๋žŒ์˜ ์†์œผ๋กœ ๋งŒ๋“  ์ž‘ํ’ˆ๋งŒ ์ ์šฉํ•˜๋ฉด ๋นˆ ๊ณต๊ฐ„์ด 95% ์ด์ƒ์ด ๋ฉ๋‹ˆ๋‹ค.

๋ฌผ๋ก  ๋ž˜์Šคํ„ฐ ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ์ง€๋„๋ฅผ ์ €์žฅํ•˜๋Š” ์‚ฌ๋žŒ์€ ์—†์œผ๋ฉฐ ๋ฒกํ„ฐ ํ‘œํ˜„์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
๊ทธ๋Ÿฐ๋ฐ ๋ฒกํ„ฐ ์ง€๋„๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์ด๊ฒƒ์€ ์ผ์ข…์˜ ํ”„๋ ˆ์ž„๊ณผ ์ ์œผ๋กœ ๊ตฌ์„ฑ๋œ ํด๋ฆฌ๋ผ์ธ๊ณผ ํด๋ฆฌ๊ณค์ž…๋‹ˆ๋‹ค.
๋ณธ์งˆ์ ์œผ๋กœ ํฌ์ธํŠธ์™€ ํฌ์ธํŠธ ๊ฐ„์˜ ์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ž…๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์•ผ์‹ฌ ์ฐฌ ๋งคํ•‘ ์ž„๋ฌด ์ค‘ ํ•˜๋‚˜๋Š” ์šฐ๋ฆฌ ์€ํ•˜๊ณ„๋ฅผ ๋งคํ•‘ํ•˜๋Š” ๊ฐ€์ด์•„ ๋ง์›๊ฒฝ ์ž„๋ฌด์ž…๋‹ˆ๋‹ค. ๋น„ ์œ ์ ์œผ๋กœ ๋งํ•˜๋ฉด, ์šฐ๋ฆฌ ์€ํ•˜๊ณ„๋Š” ์ „์ฒด ์šฐ์ฃผ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์—ฐ์†์ ์ธ ํฌ์†Œ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค. ํฌ๊ท€ํ•œ ์ž‘์€ ์ ์ธ ๋ณ„์ด ์žˆ๋Š” ๊ฑฐ๋Œ€ํ•œ ๊ณตํ—ˆ ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค. ๋นˆ ๊ณต๊ฐ„์€ 99,999999โ€ฆโ€ฆ.%์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ ์€ํ•˜๊ณ„์˜ ์ง€๋„๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ๊ธ€๋กœ๋ฒŒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ธ 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
...

์—ฌ๊ธฐ์„œ b, l, d๋Š” ์€ํ•˜ ์ขŒํ‘œ ์œ„๋„, ๊ฒฝ๋„ ๊ทธ๋ฆฌ๊ณ  ํƒœ์–‘๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ.

์ „์—ญ์˜ ์œ ์—ฐํ•œ ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ „์—ญ์˜ ๊ธฐ๋ฐ˜์ด ๊ตฌ์„ฑํ‘œ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ณ„๊ณผ ํ–‰์„ฑ์˜ ํ•„์š”ํ•œ ํŠน์„ฑ์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ ์šฐ์ฃผ์˜ ์ง€๋„๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด Cachรฉ๋Š” ์œ ์—ฐ์„ฑ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆผ์„ ๋งค์šฐ ๋น ๋ฅด๊ฒŒ ์ €์žฅํ•˜๋Š” ๋™์‹œ์— ๋น ๋ฅธ ๊ฒ€์ƒ‰์„ ์œ„ํ•ด ์ธ๋ฑ์Šค ์ „์—ญ์„ ์ƒ์„ฑํ•˜๋Š” ๋Šฅ๋ ฅ ๋•Œ๋ฌธ์— ์„ ํƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ์ง€๊ตฌ๋กœ ๋Œ์•„์˜ค๋ฉด ์ „ ์„ธ๊ณ„์— ์ง€๋„ ์ œ์ž‘ ํ”„๋กœ์ ํŠธ๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์˜คํ”ˆ์ŠคํŠธ๋ฆฌํŠธ๋งต XAPI ๊ทธ๋ฆฌ๊ณ  OpenStreetMap์˜ ํฌํฌ - ํฌ์Šค์— .

์ตœ๊ทผ์— ํ•ด์ปคํ†ค ์บ์‹œ ์ง€๋ฆฌ๊ณต๊ฐ„ ์ƒ‰์ธ์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ง€๋ฆฌ ๊ณต๊ฐ„. ์šฐ๋ฆฌ๋Š” ๊ตฌํ˜„ ์„ธ๋ถ€ ์‚ฌํ•ญ์ด ํฌํ•จ๋œ ์ž‘์„ฑ์ž์˜ ๊ธฐ์‚ฌ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

OpenStreetMap XAPI์—์„œ ๊ธ€๋กœ๋ฒŒ ๊ณต๊ฐ„ ์ธ๋ฑ์Šค ๊ตฌํ˜„

์—์„œ ์ฐ์€ ์‚ฌ์ง„ ์ด ํ”„๋ ˆ์  ํ…Œ์ด์…˜.

์ „์ฒด ์ง€๊ตฌ๋ณธ์€ ์ •์‚ฌ๊ฐํ˜•, ํ•˜์œ„ ์ •์‚ฌ๊ฐํ˜•์œผ๋กœ ๋‚˜๋‰˜๊ณ  ํ•˜์œ„ ์ •์‚ฌ๊ฐํ˜•์€ ํ•˜์œ„ ํ•˜์œ„ ์ •์‚ฌ๊ฐํ˜• ๋“ฑ์œผ๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์šฐ๋ฆฌ๋Š” ์ƒ์„ฑ๋œ ์ „์—ญ ๋ณ€์ˆ˜๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๊ณ„์ธต์  ๊ตฌ์กฐ๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค.

์ „์—ญ ๋ณ€์ˆ˜๋Š” ๋ฐ์ดํ„ฐ ์ €์žฅ์„ ์œ„ํ•œ ๋ณด๋ฌผ ๊ฐ™์€ ๊ฒ€์ž…๋‹ˆ๋‹ค. ํฌ์†Œ ๋ฐฐ์—ด. 3๋ถ€

์–ธ์ œ๋“ ์ง€ ์›ํ•˜๋Š” ์Šคํ€˜์–ด๋ฅผ ๊ฑฐ์˜ ์ฆ‰๊ฐ์ ์œผ๋กœ ์š”์ฒญํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ชจ๋“  ํ•˜์œ„ ์Šคํ€˜์–ด๋„ ๋ฐ˜ํ™˜๋˜๊ฑฐ๋‚˜ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.

์ „์—ญ์— ๋Œ€ํ•œ ์œ ์‚ฌํ•œ ์ฒด๊ณ„๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ตฌํ˜„๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ต์…˜ 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์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ๋ ˆ๋ฒจ์˜ ์‚ฌ๊ฐํ˜•์— ์œ„์น˜ํ•œ ํฌ์ธํŠธ๋ฅผ ์š”์ฒญํ•˜๋Š” ๊ฒƒ์€ ์–ด๋ ต์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์˜ต์…˜์—์„œ๋Š” ๋ชจ๋“  ์ˆ˜์ค€์—์„œ ์ •์‚ฌ๊ฐํ˜• ๊ณต๊ฐ„์„ ์ฒญ์†Œํ•˜๋Š” ๊ฒƒ์ด ๋‹ค์†Œ ์‰ฌ์šธ ์ˆ˜ ์žˆ์ง€๋งŒ ์ด๋Š” ๊ฑฐ์˜ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‚ฎ์€ ์ˆ˜์ค€์˜ ์‚ฌ๊ฐํ˜• ์ค‘ ํ•˜๋‚˜์˜ ์˜ˆ:

์ „์—ญ ๋ณ€์ˆ˜๋Š” ๋ฐ์ดํ„ฐ ์ €์žฅ์„ ์œ„ํ•œ ๋ณด๋ฌผ ๊ฐ™์€ ๊ฒ€์ž…๋‹ˆ๋‹ค. ํฌ์†Œ ๋ฐฐ์—ด. 3๋ถ€

๋‹ค์Œ์€ XAPI ํ”„๋กœ์ ํŠธ์˜ ์—ฌ๋Ÿฌ ์ „์—ญ ํ•ญ๋ชฉ์ž…๋‹ˆ๋‹ค. ์ „์—ญ ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ์ธ๋ฑ์Šค ํ‘œํ˜„์ž…๋‹ˆ๋‹ค.

์ „์—ญ ๋ณ€์ˆ˜๋Š” ๋ฐ์ดํ„ฐ ์ €์žฅ์„ ์œ„ํ•œ ๋ณด๋ฌผ ๊ฐ™์€ ๊ฒ€์ž…๋‹ˆ๋‹ค. ํฌ์†Œ ๋ฐฐ์—ด. 3๋ถ€

๊ธ€๋กœ๋ฒŒ ^๋ฐฉ์‹ ํฌ์ธํŠธ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํด๋ฆฌ๋ผ์ธ (๋„๋กœ, ์ž‘์€ ๊ฐ• ๋“ฑ) ๋ฐ ๋‹ค๊ฐํ˜•(ํ์‡„ ๊ตฌ์—ญ: ๊ฑด๋ฌผ, ์ˆฒ ๋“ฑ).

์ „์—ญ์—์„œ ํฌ์†Œ ๋ฐฐ์—ด ์‚ฌ์šฉ์„ ๋Œ€๋žต์ ์œผ๋กœ ๋ถ„๋ฅ˜ํ•ฉ๋‹ˆ๋‹ค.

  1. ํŠน์ • ๊ฐ์ฒด์˜ ์ขŒํ‘œ์™€ ์ƒํƒœ(๋งคํ•‘, ์…€๋ฃฐ๋Ÿฌ ์˜คํ† ๋งˆํƒ€)๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  2. ํฌ์†Œ ํ–‰๋ ฌ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

2)์˜ ๊ฒฝ์šฐ ์š”์†Œ์— ๊ฐ’์ด ํ• ๋‹น๋˜์ง€ ์•Š์€ ํŠน์ • ์ขŒํ‘œ๋ฅผ ์š”์ฒญํ•  ๋•Œ ๊ธฐ๋ณธ ํฌ์†Œ ๋ฐฐ์—ด ์š”์†Œ์˜ ๊ฐ’์„ ๊ฐ€์ ธ์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์ฐจ์› ํ–‰๋ ฌ์„ ์ „์—ญ์— ์ €์žฅํ•  ๋•Œ ๋ฐ›๋Š” ๋ณด๋„ˆ์Šค

ํ–‰, ํ‰๋ฉด, ํ๋ธŒ ๋“ฑ์˜ ๋ฐฐ์ˆ˜์ธ ๊ณต๊ฐ„ ์กฐ๊ฐ์„ ๋น ๋ฅด๊ฒŒ ์ œ๊ฑฐ ๋ฐ/๋˜๋Š” ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ •์ˆ˜ ์ธ๋ฑ์Šค๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ ํ–‰, ํ‰๋ฉด, ํ๋ธŒ ๋“ฑ์˜ ๋ฐฐ์ˆ˜์ธ ๊ณต๊ฐ„ ๋ฉ์–ด๋ฆฌ๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ์ œ๊ฑฐ ๋ฐ/๋˜๋Š” ๊ฐ€์ ธ์˜ค๋Š” ๊ธฐ๋Šฅ์ด ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŒ€ ์ฃฝ์ด๋‹ค ๋‹จ์ผ ์š”์†Œ๋‚˜ ํ–‰, ์‹ฌ์ง€์–ด ์ „์ฒด ํ‰๋ฉด์„ ์‚ญ์ œํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ „์—ญ ์†์„ฑ ๋•๋ถ„์— ์ด๋Š” ๋งค์šฐ ๋น ๋ฅด๊ฒŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์š”์†Œ๋ณ„ ์ œ๊ฑฐ๋ณด๋‹ค ์ˆ˜์ฒœ ๋ฐฐ ๋” ๋น ๋ฆ…๋‹ˆ๋‹ค.

๊ทธ๋ฆผ์€ ์ „์—ญ ๋ฐฐ์—ด์˜ XNUMX์ฐจ์› ๋ฐฐ์—ด์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ^a ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ์‚ญ์ œ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์ „์—ญ ๋ณ€์ˆ˜๋Š” ๋ฐ์ดํ„ฐ ์ €์žฅ์„ ์œ„ํ•œ ๋ณด๋ฌผ ๊ฐ™์€ ๊ฒ€์ž…๋‹ˆ๋‹ค. ํฌ์†Œ ๋ฐฐ์—ด. 3๋ถ€

์•Œ๋ ค์ง„ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๊ฐ„ ์กฐ๊ฐ์„ ์„ ํƒํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ‘ํ•ฉ.

์—ด ๋ณ€์ˆ˜์— ํ–‰๋ ฌ ์—ด ์„ ํƒ:

; ะ—ะฐะดะฐะดะธะผ ั‚ั€ั‘ั…ะผะตั€ะฝั‹ะน ั€ะฐะทั€ะตะถะตะฝะฝั‹ะน ะผะฐััะธะฒ 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

Column ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ํฅ๋ฏธ๋กœ์šด ์ ์€ ํฌ์†Œ ๋ฐฐ์—ด๋„ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๋ฐฐ์—ด์€ ๋‹ค์Œ์„ ํ†ตํ•ด ์•ก์„ธ์Šคํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. $GET, ๊ธฐ๋ณธ๊ฐ’์ด ์ €์žฅ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๊ณต๊ฐ„ ์„ ํƒ์€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์€ ํ”„๋กœ๊ทธ๋žจ์„ ํ†ตํ•ด ์ˆ˜ํ–‰ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. $์ฃผ๋ฌธ. ์ด๋Š” ์ธ๋ฑ์Šค๊ฐ€ ์–‘์žํ™”๋˜์ง€ ์•Š์€ ๊ณต๊ฐ„(์ง€๋„ ์ œ์ž‘)์—์„œ ํŠนํžˆ ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

ํ˜„์žฌ ์‹œ๋Œ€๋Š” ์ƒˆ๋กœ์šด ์•ผ์‹ฌ์ฐฌ ๊ณผ์ œ๋ฅผ ์ œ์‹œํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜ํ”„๋Š” ์ˆ˜์‹ญ์–ต ๊ฐœ์˜ ์ •์ ์œผ๋กœ ๊ตฌ์„ฑ๋  ์ˆ˜ ์žˆ๊ณ , ์ง€๋„๋Š” ์ˆ˜์‹ญ์–ต ๊ฐœ์˜ ์ ์œผ๋กœ ๊ตฌ์„ฑ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ผ๋ถ€๋Š” ์…€๋ฃฐ๋Ÿฌ ์˜คํ† ๋งˆํƒ€์—์„œ ์ž์ฒด ์šฐ์ฃผ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ๋ฅผ ์›ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค(1, 2).

ํฌ์†Œ ๋ฐฐ์—ด์˜ ๋ฐ์ดํ„ฐ ๋ณผ๋ฅจ์ด ๋” ์ด์ƒ RAM์— ๋งž์ง€ ์•Š์ง€๋งŒ ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์ „์—ญ ๋ฐ COS์—์„œ ์œ ์‚ฌํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌํ˜„ํ•  ๊ฐ€๋Šฅ์„ฑ์„ ๊ณ ๋ คํ•ด ๋ณผ ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ด€์‹ฌ์„ ๊ฐ€์ ธ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๋Œ“๊ธ€๋กœ ์—ฌ๋Ÿฌ๋ถ„์˜ ์งˆ๋ฌธ๊ณผ ํฌ๋ง์‚ฌํ•ญ์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ฑ…์ž„ ๋ถ€์ธ: ์ด ๊ธฐ์‚ฌ์™€ ์ด์— ๋Œ€ํ•œ ๋‚ด ์˜๊ฒฌ์€ ๋‚ด ์˜๊ฒฌ์ด๋ฉฐ InterSystems Corporation์˜ ๊ณต์‹ ์ž…์žฅ๊ณผ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€