E D R , A S I H C RSS

Eight Queen Problem2 Discussion

EightQueenProblem2๋ฅผ ํ’€๋ฉด์„œ ํ˜น์€ ํ‘ธ๋Š”๋ฐ ์‹คํŒจํ•˜๋ฉด์„œ ์–ป์€ ThreeFs ๊ณต์œ , ํ† ๋ก 

๋‹น์‹ ์€ ์–ด๋–ค ์‹์œผ๋กœ ์ด ๋ฌธ์ œ์— ์ ‘๊ทผ์„ ํ–ˆ๊ณ , ์–ด๋–ค ์‚ฌ๊ณ ์˜ ๊ณผ์ •์„ ๊ฑฐ์ณค์œผ๋ฉฐ, ์–ด๋–ค ๊ณผ์ •์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ–ˆ์œผ๋ฉฐ, ์–ด๋–ค ๋””์ž์ธ ๊ฒฐ์ •์„ ํ–ˆ์Šต๋‹ˆ๊นŒ? ๋งŒ์•ฝ ์‹คํŒจํ–ˆ๋‹ค๋ฉด ๋‹น์‹ ์ด ํ–ˆ๋˜ ๊ฒƒ ํ˜น์€ ํ•˜์ง€ ์•Š์•˜๋˜ ๊ฒƒ ์ค‘ ๋ฌด์—‡์ด ์‹คํŒจ์˜ ์ฃผ์š”์ธ์ด์—ˆ๋‹ค๊ณ  ๋ถ„์„์„ ํ•˜์‹ญ๋‹ˆ๊นŒ?

์ด๋ฒˆ ๊ฒฝํ—˜์„ ํ†ตํ•ด ๋ฐฐ์šด ๊ฒƒ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๋ณ„๋กœ ์—†์Šต๋‹ˆ๊นŒ? ๊ทธ๋Ÿฌ๋ฉด ๋‹ค์‹œ ํ•œ๋ฒˆ ์ƒ๊ฐํ•ด ๋ณด์‹ญ์‹œ์˜ค. ๋‚จ์˜ ๊ฒฝํ—˜์„ ๋“ฃ๊ณ , ๋‚จ๊ณผ ํ† ๋ก ํ•ด ๋ณด์‹ญ์‹œ์˜ค. ๋ฐฐ์šด ๊ฒƒ๋„ ์—†๋Š” ์ผ์— ๋ช‡ ์‹œ๊ฐ„์„ ํˆฌ์žํ•˜๋Š” ๊ฒƒ์€ ์•„๊นŒ์šด ์ผ์ž…๋‹ˆ๋‹ค.

์ฒ˜์Œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ๋•Œ, ์•„๋ฌด ์–ด๋ ค์›€์ด๋‚˜ ์žฅ์• ๋„ ์—†์—ˆ๋‚˜์š”? ์ง€๊ธˆ ๋’ค๋Œ์•„๋ณผ ๋•Œ์— ์ž์‹ ์ด ๊ฑฐ์นœ ๊ณผ์ • ์ค‘์— "๊ฐœ์„ ๋˜์—ˆ์œผ๋ฉด ํ•˜๋Š” ๋ถ€๋ถ„"์ด ์žˆ๋‚˜์š”? ๋งŒ์•ฝ ์ด ๋ฌธ์ œ๋ฅผ ๋‹ค์‹œ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ƒˆ๋กœ ํ’€๊ธฐ ์‹œ์ž‘ํ•œ๋‹ค๋ฉด ์—ญ์‹œ ๋˜‘๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๊นŒ(see also EightQueenProblemSecondTry)? ์กฐ๊ธˆ ๋” ๊น”๋”ํ•˜๊ณ  ์Œˆ๋ฐ•ํ•˜๊ฒŒ ํ‘ธ๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ์„๊นŒ์š”? ์–ด๋–ป๊ฒŒ ์ฒ˜์Œ์— ์ ‘๊ทผํ–ˆ๋”๋ผ๋ฉด ๋” "๊นจ๋—ํ•œ" ์ฝ”๋“œ๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์—ˆ์„๊นŒ์š”? ๋น„์Šทํ•œ ๋ฌธ์ œ์— ์ง๋ฉดํ–ˆ์„ ๋•Œ ์ผ๋ฐ˜์ ์œผ๋กœ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์–ด๋–ค "์ถ”์ƒ์  ํŒจ๋Ÿฌ๋‹ค์ž„" ๊ฐ™์€ ๊ฒƒ์„ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”? ๊ทธ ์ฝ”๋“œ๋ฅผ ๋‚œ์ƒ ์ฒ˜์Œ ๋ณด๋Š” ์‚ฌ๋žŒ์ด ์žˆ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ ๋ช‡ ๋ถ„๋งŒ์— ๊ทธ ์ฝ”๋“œ๋ฅผ ์ดํ•ด์‹œํ‚ฌ ์ˆ˜ ์žˆ๊ฒ ์Šต๋‹ˆ๊นŒ? ๋งŒ์•ฝ ๊ทธ ์‚ฌ๋žŒ ํ˜ผ์ž ๊ทธ ์ฝ”๋“œ๋ฅผ ๋ณธ๋‹ค๋ฉด ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”? ์ฃผ์„์ด ์—†์ด๋„์š”? ํ˜น์‹œ ์ฝ”๋“œ ๋‚ด์— ์ค‘๋ณต๋˜๋Š” ์ •๋ณด๋Š” ์—†์Šต๋‹ˆ๊นŒ? ๋ณธ์ธ์˜ ์˜๋„๊ฐ€ ๋ชจ๋‘ ๋ถ„๋ช…ํžˆ ๋“œ๋Ÿฌ๋‚˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? --๊น€์ฐฝ์ค€

๋ฌธ์ œ๋ฅผ ๋‚˜๋ฆ„๋Œ€๋กœ ํ•ด๊ฒฐํ•œ ์‚ฌ๋žŒ๋“ค์€ StepwiseRefinement๋ฅผ ๊ผญ ๊ณต๋ถ€ํ•ด ๋ณด์„ธ์š”.

์ด๋ฏธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ˆ˜์—… ์‹œ๊ฐ„์„ ํ†ตํ•ด ์ƒ๊ฐํ•ด๋ณธ ๋ฌธ์ œ์ด๊ธฐ์— ์ฃผ์ €์—†์ด ๋ฐฑํŠธ๋ž˜ํ‚น(BackTracking) ๊ธฐ๋ฒ•์„ ์„ ํƒํ•ด์„œ ์Šˆ๋„์ฝ”๋“œ๋ฅผ ์ข…์ด์— ์ž‘์„ฑํ•ด๋ณด์•˜๊ณ  ๊ทธ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๊ตฌํ˜„์— ๋“ค์–ด๊ฐ”์Šต๋‹ˆ๋‹ค.(๊ทธ๋ƒฅ ํ˜ธ๊ธฐ์‹ฌ์—์„œ ์งˆ๋ฌธ ํ•˜๋‚˜. ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ˆ˜์—…์—์„œ ๋ฐฑํŠธ๋ž˜ํ‚น์„ ๋ฐฐ์› ๋‚˜์š”? ์ตœ๊ทผ์—๋Š” ๋Œ€๋ถ€๋ถ„ AI์ชฝ์œผ๋กœ ๋„์ง‘์–ด ๋‚ด์„œ ๊ฐ€๋ฅด์น˜๋Š” ๊ฒƒ์ด ์ถ”์„ธ์ž…๋‹ˆ๋‹ค๋งŒ... ๊ต์žฌ๊ฐ€ ๋ฌด์—‡์ด์—ˆ๋‚˜์š”? --๊น€์ฐฝ์ค€ Foundations of Algorithms Using C++ Pseudocode, Second Edition ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ISBN:0763706205 --์ด๋•์ค€) ๋ฐฑํŠธ๋ž˜ํ‚น์€ BruteForce์‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ํ™•์žฅํ•˜๊ธฐ์— ์šฉ์ดํ•ด์„œ ์ˆ˜์ •์—” ๊ทธ๋ฆฌ ๋งŽ์€ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋งŒ์ผ EightQueenProblem์— ๋Œ€ํ•œ ์‚ฌ์ „ ์ง€์‹์ด ์—†์—ˆ๋‹ค๋ฉด ๋‘๋ฒˆ์งธ ๊ณผ์ œ์—์„œ ๋ฌด์ฒ™ ๋‹นํ™ฉํ–ˆ์„๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธฐํšŒ์— ์ฝ”๋“œ์˜ ์ ์‘๋„๋„ ์ค‘์š”ํ•จ์„ ์ƒˆ์‚ผ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. --์ด๋•์ค€

์ด๋ฌธ์ œ๋Š” ์ฒ˜์Œ ์ ‘ํ•ด๋ณธ ๋ฌธ์ œ๋ผ ๋จผ์ € ์ข…์ด์— ์ฒด์ŠคํŒ์„ ๊ทธ๋ฆฌ๊ณ  ์ง์ ‘ ๋ฌธ์ œ๋ฅผ ํ’€๋ ค๊ณ  ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ƒ๊ฐํ•ด๋‚ธ๊ฒƒ์„ ์ข…์ด์— ์ ๊ณ (1์—ฌ์™•์€ ๊ฐ€๋กœ,์„ธ๋กœ,๋Œ€๊ฐ์„  ๊ฐ™์€์ค„์— ์žˆ์Œ ์•ˆ๋œ๋‹ค. 2,๋จผ์ € ์ฒซ๋ฒˆ์งธ ์—ฌ์™•์„ ๋†“๊ณ  ๋‘๋ฒˆ์งธ ์—ฌ์™•์ด ๋†“์ผ ์œ„์น˜๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค. 3 ๊ฒ€์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๊ฐ€๋กœ->์„ธ๋กœ->๋Œ€๊ฐ์„  ์ˆœ์œผ๋กœ ํ•œ๋‹ค. 4 ์—ฌ์™•8๊ฐœ๊ฐ€ ๋‹ค๋†“์ด๋ฉด
๋†“์ธ ์ž๋ฆฌ๋ฅผ ์•Œ๋ ค์ฃผ๊ณ  ๋๋‚œ๋‹ค.) ์ด ์ ์€ ๊ฒƒ์„ ํ† ๋Œ€๋กœ ์ฝ”๋”ฉ์„ ํ•˜์˜€๊ณ  ์ฒ˜์Œ ์—ฌ์™•์€ 0,0์— ๋†“์•˜์Šต๋‹ˆ๋‹ค. ์ƒ๊ฐํ•œ๋Œ€๋กœ ์ฝ”๋”ฉ์„ ํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ณ  ์‹คํ–‰์„ ํ•˜์ž ๋ฌดํ•œ๋ฃจํ”„๋ฅผ ๋Œ์•˜์Šต๋‹ˆ๋‹ค. ์ „ ์ฒ˜์Œ ์—ฌ์™•์ด ์–ด๋А ์œ„์น˜์— ๋†“์ด๋˜๊ฐ„๋ฐ ๊ฑฐ๊ธฐ์— ๋งž๋Š” ๋‹ต์ด ์žˆ๋Š”๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ๊ทธ๊ฒƒ์ด ์ž˜๋ชป๋˜์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ฒ˜์Œ๋ถ€ํ„ฐ ์ด ๋ฌธ์ œ์˜ ๋‹ต์„ ์•Œ๊ณ ์žˆ์—ˆ๋‹ค๋ฉด ํ”„๋กœ๊ทธ๋žจ์„ ์งœ๋Š”๋ฐ ์ข€๋” ๊ฐ„๊ฒฐํ•œ ์ฝ”๋“œ๋ฅผ ์งค์ˆ˜์žˆ์—ˆ์„ํ…๋ฐ ๋ž€์ƒ๊ฐ์ด ๋“ค์–ด์„œ ์ฝ”๋”ฉ์„ ๋ฉˆ์ถ”๊ณ  ์ข…์ด๋ฅผ ๊บผ๋‚ด ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‹ต์€ ๋‚˜์˜ค์ง€์•Š์•˜๊ณ  ์ œ๊ฐ€ํ‘ธ๋Š”๋ฐฉ์‹(์—ฌ์™•์„ ๋จผ์ € ์•„๋ฌด์œ„์น˜์—๋‚˜ ๋†“๊ณ  ๊ทธ์œ„์น˜์— ๋งž๊ฒŒ ๊ฐ€๋กœ์„ธ๋กœ๋Œ€๊ฐ์„ ์— ์—†๋Š” ๊ณณ์— ๋†“๋Š”๋‹ค)์„ ๊ทธ๋ƒฅ ์ฝ”๋”ฉ์„ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ ์—ฌ์™•์˜ ์œ„์น˜๋ฅผ 8*8์— ๋Œ์•„๊ฐ€๋ฉด์„œ ๋†“๊ณ  ๊ฒ€์‚ฌ๋ฅผ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋ฌด์‹ํ•˜๊ธดํ•˜์ง€๋งŒ ๋‹ต์€ ๋‚˜์™”์Šต๋‹ˆ๋‹ค. ๋‘๋ฒˆ์งธ ๊ณผ์ œ๋Š” ์ฒ˜์Œ ์ฝ”๋”ฉํ• ๋•Œ๋ถ€ํ„ฐ ํŒ์˜ ํฌ๊ธฐ์™€ ์—ฌ์™•์˜ ์ˆซ์ž๋ฅผ defineํ•ด์„œ 썻๊ธฐ 떄๋ฌธ์— ์ˆซ์ž๋งŒ ๋ฐ”๊พธ์–ด ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‹ต์ด ๋งž๋Š”์ง€ ํ™•์‹ ์ด ์„œ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ์ด์œ ๋Š” ์ด๋ฌธ์ œ์˜ ๋Œ€ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ชจ๋ฅด๊ธฐ ๋•Œ๋ฌธ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  c++์„ 썻๋Š”๋ฐ ๋ฐฉํ•™๋™์•ˆ ์ญ‰ ์ž๋ฐ”๋กœ ํ”Œ๋ฐํ•˜๋‹ค๊ฐ€ c++์„ ์“ด์ด์œ ๊ฐ€ ๋น„์ฃผ์–ผํˆด์˜ ๋””๋ฒ„๊น…์„ ์ด์šฉํ•˜๋ ค๋Š” ์ƒ๊ฐ์ด์—ˆ๋Š”๋ฐ ๋ฌด์Šจ๋ฌธ์  ์ง€ ๋””๋ฒ„๊น…์„ ํ• ์ˆ˜์—†์–ด์„œ ์ฐธ ๋‚œ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๋””๋ฒ„๊น…ํ•˜๋ฉด ๊ธˆ๋ฐฉ์•Œ์ˆ˜์žˆ๋Š” ๋ฌธ์ œ๋ฅผ ๋ˆˆ์œผ๋กœ ์ฐจ๊ทผ์ฐจ๊ทผ 훓์œผ๋ฉด์„œ ๋ด์•ผํ–ˆ์Šต๋‹ˆ๋‹ค. --์ตœ๊ด‘์‹

๋‘๋ฒˆ์งธ ๋ฌธ์ œ์— ๋‹ต์ด ์žˆ์—ˆ๊ตฐ์š”.. ์—ญ์‹œ ์ œ๋‹ต์ด ํ‹€๋ฆฌ๊ตฐ์š” ์‹คํŒจ์˜ ์›์ธ์€ ์ œ๋Œ€๋œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์—†๋‹ค๋Š” ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค BackTracking ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ณด๊ณ  ์™”์ง€๋งŒ ์ด๋ฌธ์ œ์— ๋Œ€ํ•œ ์„ค๋ช…๋„ ๋ณด์™”์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋ฌด์ง€ํ•ด์„œ ๊ทธ๋Ÿฐ์ง€ ์ž˜ ๋ˆˆ์— ๋“ค์–ด์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜๋„ ๋ฐค์ƒˆ ํ’€๋ฉด์„œ(์—‰๋šฑํ•œ ๋‹ต์ด๋‹ค๋„) ์˜ค๋ž˜๋งŒ์— ์žฌ๋ฐŒ์—ˆ์Šต๋‹ˆ๋‹ค. ^^-์ตœ๊ด‘์‹
๊ธฐ๋ณธ์ ์œผ๋กœ ์ด ๋ฌธ์ œ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์Šค์Šค๋กœ ๊ณ ์•ˆ(invent)ํ•ด ๋‚ด๋Š” ๊ฒฝํ—˜์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. BackTracking ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ „ํ˜€ ๋ชจ๋ฅด๋Š” ์‚ฌ๋žŒ๋„ ์ด ๋ฌธ์ œ๋ฅผ ํ’€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋‹ˆ, ์–ด๋–ป๊ฒŒ ์ ‘๊ทผ์„ ํ•ด์•ผ BackTracking์„ ์ „ํ˜€ ๋ชจ๋ฅด๋Š” ์‚ฌ๋žŒ๋„ ์ด ๋ฌธ์ œ๋ฅผ ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ์„๊นŒ ์šฐ๋ฆฌ๋Š” ์ƒ๊ฐํ•ด ๋ณด์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.


์ €๋Š” ๋ญ ์•„๋ฌด๊ฒƒ๋„ ์—†์ด ๋ฌธ์ œ๋งŒ ๋ณด๊ณ  ๋›ฐ์–ด๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ผ๋‹จ ๋‘๋ฒˆ์˜ ์‹คํŒจ (์ž์„ธํ•œ ๋‚ด์šฉ์€ EightQueenProblemDiscussion)์ดํ›„ ์„ธ๋ฒˆ์งธ๋กœ ์žก์€ ์ƒ๊ฐ์€ ์ผ๋‹จ ํ•œ์ค„์— ํ•œ๊ฐœ๋งŒ ๋ง์ด ๋“ค์–ด๊ฐ„๋‹ค๋Š” ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ์ ์— ์ฐฉ์•ˆํ•˜์—ฌ. 8*8์˜ ๋ชจ๋“  ์ ์„ ๋Œ๊ฒŒ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ข€ ๋น„ํšจ์œจ์ ์ธ๋ฐ๋‹ค๊ฐ€ ์•„์ฃผ ์—‰๋ง์ธ ์†Œ์Šค ๋•๋ถ„์—.. ๋ฌธ์ œ๋Š” ํ’€์—ˆ์ง€๋งŒ.. ์ˆ˜์ •/๋ณด์™„์— ์—„์ฒญ๋‚œ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋”๊ตฐ์š”(์ข…๋ฃŒ์กฐ๊ฑด์„ ์ฐพ์„์ˆ˜๊ฐ€ ์—†์—ˆ๋‹ค๋Š”.. ๊ทธ๋ž˜์„œ ์ˆ˜์ •์— 30๋ถ„ ์ด์ƒ ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค.) ํ›„...... ์ด๋ž˜์ €๋ž˜ ๋งŽ์€ ์ƒ๊ฐ์„ ํ•˜๊ฒŒ ํ•œ ์†Œ์Šค์˜€์Šต๋‹ˆ๋‹ค. ใ…ก.ใ…ก;; ์™ ์ง€ ๋” ํ—ˆ์ ‘ํ•ด ์ง„ ๋А๋‚Œ์€.. --์„ ํ˜ธ

์›๋ž˜ ๋งŒ๋“ค์–ด๋†“์€๊ฒƒ์ด ์ „์ฒด๊ฐ€ ํ‘œ์‹œ๋˜๋Š” ๊ฒƒ์ด์—ฌ์„œ ํŠน๋ณ„ํžˆ ๊ณ ์นœ๊ฒƒ์€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. (๋‹จ, ๋””๋ฒ„๊น…๋ฌธ์ œ๋กœ ์†Œ์Šค์ˆ˜์ •๋ฌธ์ œ ๋นผ๊ณ ๋Š”..)
BackTracking ์ด์•ผ๊ธฐ๊ฐ€ ๋‚˜์˜ค๋Š”๋ฐ, ๋Œ€๊ฐ• ์ˆ˜์—…์‹œ๊ฐ„์— ๋“ค์€๊ฒƒ์ด ์žˆ์—ˆ์ง€๋งŒ ๊ทธ๋ƒฅ ์—ฐ์Šต์žฅ์— ํŒ์„ ๊ทธ๋ฆฌ๊ณ  ์ง์ ‘ ๊ถ๋ฆฌํ–ˆ๊ณ ์š”. ๊ฒฐ๊ตญ์€ ์ „์ฒด ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๋น„๊ต๋ฐฉ๋ฒ•์ด ๋˜์–ด์„œ (8๋‹จ๊ณ„์— ๋Œ€ํ•œ Tree) ์ตœ์ข… ๊ตฌํ˜„๋ถ€๋ถ„์€ BackTracking์˜ ๋ฐฉ๋ฒ•์ด ๋˜์–ด๋ฒ„๋ฆฌ๊ธด ํ–ˆ๋„ค์š”. (์‚ฌ์ „์ง€์‹์— ๋Œ€ํ•ด ์˜ํ–ฅ๋ฐ›์Œ์€ ์–ด์ฉ”์ˆ˜ ์—†๊ฒ ์ฃ . ์•„์— ์ ‘ํ•ด๋ณด์ง€ ์•Š์€์ด์ƒ์€. --;) --์„์ฒœ

ํ•˜..ํ•˜ํ•˜.. BackTracking์ด.. ๋ญ์ฃ ? ๊ฑฐ๊พธ๋กœ.. ์ถ”์ ํ•œ๋‹ค๋Š” ์ด์•ผ๊ธฐ๊ฐ™์€๋ฐ.. ใ…กใ…กa --์„ ํ˜ธ



์ €๋Š” ์ผ๋‹จ 10*10๋ฐฐ์—ด์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.(๊ฒฝ๊ณ„์„  ์ƒ๊ฐํ•˜๋ฉด ๊ท€์ฐฎ์•„์ง€๋ฏ€๋กœ..) ๊ทธ๋‹ค์Œ์— 1~8๊นŒ์ง€ ๋žœ๋คํ•œ ์ˆ˜๋ฅผ ๋‘๋ฒˆ ์ฐพ์•„์„œ ๋ณด๋“œ์˜ ์•„๋ฌด ์œ„์น˜์—๋‹ค Queen์ƒ์ˆ˜๋ฅผ ์ฐ์–ด์ค๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์ฃผ๋ณ€์˜ 8๋ฐฉํ–ฅ์„ ๋˜ ๋‹ค๋ฅธ ์ƒ์ˆ˜ Other๋กœ ์„ค์ •ํ•ด์ค๋‹ˆ๋‹ค. ์ด์ œ ๋ฃจํ”„ ๋Œ๋ฉด์„œ ๊ฒน์น˜์ง€ ์•Š๊ฒŒ ๊ณจ๋ผ์ฃผ๋ฉด์„œ Queen์œผ๋กœ ์„ค์ •ํ•ด์ฃผ๋‹ค๊ฐ€ 8๊ฐœ๊ฐ€ ๋˜๋ฉด ์ข…๋ฃŒํ•˜๊ฒŒ.. --์ธ์ˆ˜

์ €๋Š” ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ  ๊ฐ ์ค„๋ณ„๋กœ ์ž‘์—…์„ ํ•ด๋„ ๋˜๊ฒ ์ง€๋งŒ, ๋งต์— ํ€ธ์ด ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” ์ž๋ฆฌ๋ฅผ ์ •ํ•˜๋Š” ๊ฒƒ์„ ์œ„์ฃผ๋กœ ํ–‡์Šต๋‹ˆ๋‹ค.
์ฒ˜์Œ์—๋Š” ์ž๋ฆฌ๋ฅผ ์ž˜๋ชป์ •ํ•ด ์‹คํŒจ ํ–ˆ์„๋•Œ ๋‹ค์Œ ์ž๋ฆฌ๋กœ ์˜ฎ๊ฒจ๊ฐ€๋Š” ๋ฐฉ๋ฒ•์„ ์ž˜๋ชป ์ƒ๊ฐํ•ด 1์‹œ๊ฐ„ ์ด์ƒ ์†Œ๋ชจํ–ˆ์Šต๋‹ˆ๋‹ค.
๋‘๋ฒˆ์งธ ๋ฌธ์ œ์—์„œ๋Š” ์ตœ์†Œํ•œ์˜ ์ฒ˜์Œ์— ์ฐพ์€ ์ž๋ฆฌ์— ๋Œ€ํ•ด ๊ฐ€์žฅ ๋ณ€ํ™”๊ฐ€ ์ ์€ ์ž๋ฆฌ๋ถ€ํ„ฐ(๊ฐ€๋Šฅํ•œ) ์ƒ๊ฐํ•˜๊ฒŒ ์„ค๊ณ„๋ฅผ ์กฐ๊ธˆ ๋ฐ”๊ฟจ์Šต๋‹ˆ๋‹ค.


์–ด์ œ ์„œ์ ์—์„œ Foundations of Algorithms Using C++ Pseudocode๋ฅผ ๋ดค์Šต๋‹ˆ๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ˆ˜์—… ์‹œ๊ฐ„์— ๋ฐฑํŠธ๋ž˜ํ‚น๊ณผ EightQueenProblem ๋ฌธ์ œ๋ฅผ ๊ต์žฌ๋ฅผ ํ†ตํ•ด ๊ณต๋ถ€ํ•œ ์‚ฌ๋žŒ์—๊ฒŒ ์ด ํ™œ๋™์€ ์†Œ๊ธฐ์˜ ํšจ๊ณผ๊ฐ€ ๊ฑฐ์˜ ์—†๊ฒ ๋”๊ตฐ์š”. ๊ทธ๋Ÿด ์ •๋„์ผ์ค„์€ ์ •๋ง ๋ชฐ๋ž์Šต๋‹ˆ๋‹ค. ๋Œ€์ถฉ "์ด๋Ÿฐ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค" ์ •๋„๋กœ๋งŒ ์–ธ๊ธ‰๋˜์–ด ์žˆ์„ ์ฃผ ์•Œ์•˜๋Š”๋ฐ... ์–ด๋А ๊ต์žฌ์—๋„ ๊ตฌ์ฒด์  "ํ•ด๋‹ต"์ด ๋‚˜์™€์žˆ์ง€ ์•Š์„, ICPC(ACM์˜ ์„ธ๊ณ„ ๋Œ€ํ•™์ƒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฒฝ์ง„๋Œ€ํšŒ) ๋ฌธ์ œ ๊ฐ™์€ ๊ฒƒ์œผ๋กœ ํ•  ๊ฑธ ๊ทธ๋žฌ๋‚˜ ๋ด…๋‹ˆ๋‹ค. --๊น€์ฐฝ์ค€


์Œ.. ์ „ ์ฒ˜์Œ ๋ณธ ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค.
(์œ„ํ‚ค ์—ญ์‹œ ๋จธ๋ฆฌํ„ธ๋‚˜๊ณ  ์ฒ˜์Œ์ธ๋ฐ... ์ด๊ฑฐ ์ƒ๋‹นํžˆ ๋งค๋ ฅ์ ์ด๋„ค์š”..^^;;
๋งค๋ฒˆ ์œ„ํ‚ค๋‚˜ ๋ธ”๋กœ๊ทธ๋‚˜.. ์ด์•ผ๊ธฐ๋งŒ ๋“ค์–ด๋ดค์ง€ ์‹ค์ œ ์‚ฌ์šฉ์€ ์•ˆํ•ด๋ดค๋Š”๋ฐ..
๊ทธ๋Ÿฐ๋ฐ ๋™์‹œ์— ์ˆ˜์ •์— ๋“ค์–ด๊ฐ€๋ฉด ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌ๋˜๋Š”๊ฑฐ์ง€์š”? cvs์ฒ˜๋Ÿผ ๋˜๋‚˜?)

ํ•™๊ต์—์„œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‹œ๊ฐ„์— ๋„ˆ๋ฌด ๋งŽ์ด ๋†€์•˜๊ธฐ ๋•Œ๋ฌธ์ธ์ง€.. -_-;; ์šฐ๋ฆฌ ํ•™๊ต์—์„œ๋Š” BackTracking์ด AI์‹œ๊ฐ„์— ๋ฐฐ์šฐ๋Š” ๋ถ€๋ถ„์ด๋ผ์„œ ๊ทธ๋Ÿฐ์ง€..
BackTracking์— ๋Œ€ํ•ด ์ฐพ์•„๋ณด๋‹ˆ ๊ฒฐ๊ตญ ์ œ๊ฐ€ ํ•œ ๋ฐฉ๋ฒ•์ด ๊ทธ ๋ฐฉ๋ฒ•์ด๊ตฐ์š”. ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž์ฒด๋Š” ์ข€ ํ‹€๋ฆฌ์ง€๋งŒ (์ „ ๋ฆฌ์ปค์‹œ๋ธŒ๋ฅผ ์ด์šฉ...)
๊ฐœ๋…์€ ๋™์ผํ•œ ๋“ฏํ•ฉ๋‹ˆ๋‹ค.

์–ด์จŒ๋“  ์ฐธ ์ข‹์•˜์Šต๋‹ˆ๋‹ค. ^^;; ์ด๋Ÿฐ ์ž๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด์ฃผ์‹  ์ฃผ์ธ๋‹˜๊ป˜ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ^^

์š”์ฆ˜๋“ค์–ด '๋ณตํ•™ํ•˜๋ฉด ์ •๋ง ์—ด์‹ฌํžˆ ๊ณต๋ถ€ํ•ด์•ผ๊ฒ ๋‹ค'๋Š” ์ƒ๊ฐ์ด ์ž์ฃผ ๋“ญ๋‹ˆ๋‹ค.
ํŠนํžˆ ์ž๋ฃŒ๊ตฌ์กฐ๋‚˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ฐ™์€ ๊ธฐ๋ณธ ๊ณผ๋ชฉ์„ ์†Œํ™€ํžˆ ํ–ˆ๋˜๊ฒŒ ๋„ˆ๋ฌด ํ›„ํšŒ๊ฐ€ ๋˜๋Š”...T_T

๋‚ด๊ฐ€ ์กฐ๊ธˆ ์„ฑ์žฅํ•˜๋Š” ๋งŒํผ ์„ธ์ƒ์ด ์ ์  ๋„“์–ด์ง€๋Š”๊ฒŒ ๋А๊ปด์ง‘๋‹ˆ๋‹ค. ์„ธ์ƒ์€ ๋„“๊ณ  ๊ณ ์ˆ˜๋Š” ๋งŽ๋‹ค~~~

by Da_Answer
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:11
Processing time 0.0087 sec