https://www.reddit.com/r/ArtificialInteligence/comments/17csn7x/kadanes_sliding_window_unlimited_memory_for_any/

Reddit - Dive into anythingReddit - Dive into anythingwww.reddit.com

Kadane์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ๊ฒฐํ•ฉ

'Kadane์˜ ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ' ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์–‘์ˆ˜์™€ ์Œ์ˆ˜๋ฅผ ๋ชจ๋‘ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฐ์—ด ๋‚ด ํ•˜์œ„ ๋ฐฐ์—ด์˜ ์ตœ๋Œ€ ํ•ฉ์„ ์ฐพ๋Š” ์ƒˆ๋กœ์šด ์ ‘๊ทผ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ฐฐ์—ด ๊ธฐ๋ฐ˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ปดํ“จํ„ฐ ๊ณผํ•™์—์„œ ์ž˜ ํ™•๋ฆฝ๋œ ๋ฐฉ๋ฒ•์ธ ๊ณ ์ „์ ์ธ Kadane ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ๊ธฐ์ˆ ์„ ์œตํ•ฉํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์„ธ ๊ฐ€์ง€ ๋ณ€์ˆ˜, ์ฆ‰ max_sum(์ง€๊ธˆ๊นŒ์ง€ ๋ฐœ๊ฒฌ๋œ ์ตœ๋Œ€ ํ•˜์œ„ ๋ฐฐ์—ด ํ•ฉ๊ณ„๋ฅผ ๋ณด์œ ํ•จ), curr_sum(ํ˜„์žฌ ์ตœ๋Œ€ ํ•˜์œ„ ์ฐฝ ํ•ฉ๊ณ„๋ฅผ ๋ณด์œ ํ•จ) ๋ฐ start_idx(ํ˜„์žฌ ํ•˜์œ„ ์ฐฝ์˜ ์‹œ์ž‘์„ ํ‘œ์‹œํ•จ)๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜์—ฌ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋‘ ๋ฒˆ์งธ ์š”์†Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๋ฐฐ์—ด์„ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์š”์†Œ์— ๋Œ€ํ•ด ์ด ์š”์†Œ๋ฅผ ํ˜„์žฌ ํ•˜์œ„ ์ฐฝ์— ์ถ”๊ฐ€ํ•˜๋ฉด curr_sum์ด ์ฆ๊ฐ€ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ํ˜„์žฌ ์š”์†Œ๋ฅผ curr_sum์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด curr_sum์„ ํ˜„์žฌ ์š”์†Œ์™€ ๋™์ผํ•˜๊ฒŒ ์žฌ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋…ํŠนํ•œ ์ธก๋ฉด์€ ํ•˜์œ„ ์ฐฝ์˜ ์‹œ์ž‘ ์ธ๋ฑ์Šค๋ฅผ ๋™์ ์œผ๋กœ ์กฐ์ •ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ ์ธ๋ฑ์Šค๋ฅผ ๊ณ ์ •ํ•œ ์ƒํƒœ์—์„œ start_idx๊ฐ€ 0๋ณด๋‹ค ์ž‘์•„์ง€๊ฑฐ๋‚˜ start_idx์—์„œ ์‹œ์ž‘ํ•˜์—ฌ end_index์—์„œ ๋๋‚˜๋Š” ํ•˜์œ„ ๋ฐฐ์—ด์„ ์ถ”๊ฐ€ํ•˜๋ฉด max_sum์— ๋น„ํ•ด ๋” ์ž‘์€ ํ•ฉ๊ณ„๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ๊นŒ์ง€ ์‹œ์ž‘ ์ธ๋ฑ์Šค๋ฅผ ์™ผ์ชฝ์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฐฉ๋ฒ•์€ ๋ฌด์ฐจ๋ณ„ ๋ฐฉ์‹์ฒ˜๋Ÿผ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์š”์†Œ ์Œ์„ ๋น„๊ตํ•˜๋Š” ๋Œ€์‹  ๋ฐฐ์—ด์„ ๋‘ ๋ฒˆ๋งŒ ๋ฐ˜๋ณตํ•˜๋ฉด ๋˜๋ฏ€๋กœ ๋” ํฐ ๋ฐฐ์—ด์„ ์ฒ˜๋ฆฌํ•˜๋Š” ํšจ์œจ์ ์ธ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ ํšจ์œจ์„ฑ์€ ์—ฌ์ „ํžˆ ๋ฐฐ์—ด์˜ ํฌ๊ธฐ, ๋ฐฐ์—ด ๋‚ด ์š”์†Œ์˜ ๋ถ„ํฌ์™€ ๊ฐ™์€ ์š”์ธ์— ์˜ํ•ด ์˜ํ–ฅ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

'Kadane์˜ ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ' ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ตœ๋Œ€ ํ•˜์œ„ ๋ฐฐ์—ด ํ•ฉ๊ณ„๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•œ ๊ธฐ์กด ์ ‘๊ทผ ๋ฐฉ์‹์— ๋Œ€ํ•œ ์œ ๋งํ•œ ๋Œ€์•ˆ์ด๋ฉฐ ๋ฐ์ดํ„ฐ๊ฐ€ ์ŠคํŠธ๋ฆฌ๋ฐ๋˜๊ฑฐ๋‚˜ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ œํ•œ๋˜๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ํŠนํžˆ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค


์š”์•ฝ

1. ๊ณ ์ „์ ์ธ Kadane ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ๊ธฐ์ˆ ์„ ์œตํ•ฉํ•œ ๊ฒƒ

2. ์žฅ๊ธฐ๊ธฐ์–ต ๊ฐœ์„ ๊ณผ ๋ชจ๋ธ ์Šค์Šค๋กœ ๋ฌด์—‡์„ ํ•ด์•ผํ•  ์ง€ ์ตœ์ ํ™” ๊ฐ€๋Šฅ

3. GPT4๋ฅผ ๊ตณ์ด ์•ˆ์จ๋„ ๋˜๊ณ  ๊ฐ„๋‹จํ•œ ํŒŒ์ด์ฌ ์ฝ”๋“œ๋กœ LLM์— ์ ์šฉ ๊ฐ€๋Šฅํ•œ ์ ‘๊ทผ์„ฑ ์žฅ์ 


๊ทธ๋ฆฌ๊ณ  ๋งค์šฐ ์ค‘์š”ํ•œ ์˜คํ”ˆ ์†Œ์Šค๋‹ค

์š”์ƒˆ ์˜คํ”ˆ ์†Œ์Šค์ชฝ์—์„œ ์ƒ๋‹นํ•œ ์›€์ง์ž„์ด ๋ณด์ด๋Š”๋ฐ

๋ฉ”ํƒ€์—์„œ ์˜คํ”ˆ ์†Œ์Šค ์นœํ™”๋ผ ๋ฐœ์ „ ํ•  ์ˆ˜๋ก ์šฐ๋ฆฌ๊ฐ€ ๋”

์ข‹์€ ai๋ฅผ ๋ฌด๋ฃŒ๋กœ ์ด์šฉ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๊ฐ€ ์ƒ๊ธฐ๋‹ˆ๊นŒ ๊ทธ๋ƒฅ์ €๋ƒฅ ์ข‹์€ ์†Œ์‹์ด๋ผ ์ƒ๊ฐํ•˜๋ฉด ํŽธํ•จ