๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
IT/์ธ๊ณต์ง€๋Šฅ(AI)

[์ธ๊ณต์ง€๋Šฅ] Uninformed Search - DFS(๊นŠ์ด์šฐ์„ ํƒ์ƒ‰)

by chef. setori๐Ÿน 2021. 12. 30.
๋ฐ˜์‘ํ˜•

๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค. :)

 

 

์˜ค๋Š˜์€ Uninformed Search์˜ ๋‘ ๋ฒˆ์งธ ๊ธฐ๋ฒ•,

 

DFS(Depth-first Search)์— ๋Œ€ํ•ด์„œ ์‚ดํŽด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 


DFS (Depth-first Search)
: ๊นŠ์ด์šฐ์„ ํƒ์ƒ‰

 

 

DFS๋Š” ๊ฐ€์žฅ ์™ผ์ชฝ ๊นŠ๊ฒŒ ์žˆ๋Š” fringe๋ฅผ ํƒ์ƒ‰ํ•˜๋Š” ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค.

 

 

 


 

Treeํ˜•ํƒœ

 

 

Goal์„ ๋ชจ๋ฅธ๋‹ค๊ณ  ๊ฐ€์ •ํ•  ๋•Œ A~O๊นŒ์ง€ ํƒ์ƒ‰ํ•˜๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค.

 

 

๊ฐ€์žฅ ๋จผ์ € ์œ„์— A๊ฐ€ Goal์ธ์ง€ ํƒ์ƒ‰ํ•˜๊ณ 

 

๋‘ ๋ฒˆ์งธ, ๊ฐ€์žฅ ์™ผ์ชฝ์— ์žˆ๋Š” B๊ฐ€ Goal์ธ์ง€ ํƒ์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.

 

๊ทธ ๋‹ค์Œ B์˜ ๊ฐ€์žฅ ์™ผ์ชฝ์ธ D๊ฐ€ Goal์ธ์ง€ ํƒ์ƒ‰ํ•˜๊ณ ,

 

D์˜ ๊ฐ€์žฅ ์™ผ์ชฝ์ธ H๋ฅผ Goal์ธ์ง€ ํƒ์ƒ‰ํ•˜๊ณ ,

 

๊ฐ€์žฅ ๊นŠ๊ฒŒ ์žˆ๋Š” ์™ผ์ชฝ H๋ฅผ ํƒ์ƒ‰ํ–ˆ์œผ๋‹ˆ, ๊ทธ ๋‹ค์Œ I๊ฐ€ Goal์ธ์ง€ ํƒ์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.

 

๋‹ค์Œ, B์˜ ๊ฐ€์žฅ ์™ผ์ชฝ์ธ D์˜ ํƒ์ƒ‰์ด ๋๋‚ฌ๊ธฐ ๋•Œ๋ฌธ์— E๊ฐ€ Goal์ธ์ง€ ํƒ์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.

 

E์˜ ์™ผ์ชฝ์ธ J์™€

 

K๊ฐ€ Goal์ธ์ง€ ํƒ์ƒ‰ํ•˜๋ฉด B์˜ ์ „์ฒด ํƒ์ƒ‰์ด ๋๋‚ฌ์Šต๋‹ˆ๋‹ค.

 

๊ฐ€์žฅ ์™ผ์ชฝ์— ์žˆ์—ˆ๋˜ B์˜ ํƒ์ƒ‰์ด ๋๋‚ฌ์œผ๋ฉด, ์˜ค๋ฅธ์ชฝ์— ์žˆ๋˜ C๋„ ๋™์ผํ•˜๊ฒŒ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

 

 

๋!

 

 

 

 

DFS๋Š” ์ด๋ ‡๊ฒŒ ํƒ์ƒ‰์„ ํ•˜๋Š”๋ฐ,

 

 

์•ž์„œ BFS์™€ ๊ฐ™์ด

 

์•ž์œผ๋กœ ์‚ดํŽด๋ณผ

Uninformed Search์˜ ์ข…๋ฅ˜์—์„œ

๊ฐ ํƒ์ƒ‰๊ธฐ๋ฒ•์˜ ์„ฑ๋Šฅ์„ ๋น„๊ตํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

 

https://setori-dev.tistory.com/45

 

[์ธ๊ณต์ง€๋Šฅ] Uninformed Search - BFS(๋„ˆ๋น„์šฐ์„ ํƒ์ƒ‰)

๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค. :) ์˜ค๋Š˜์€ Uninformed Search์˜ ์ฒซ ๋ฒˆ์งธ ๊ธฐ๋ฒ•, BFS(Breadth-first Search)์— ๋Œ€ํ•ด์„œ ์‚ดํŽด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.  BFS (Breadth-first Search) : ๋„ˆ๋น„์šฐ์„ ํƒ์ƒ‰ BFS๋Š” fringe์˜ ์™ผ์ชฝ๋ถ€ํ„ฐ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๊ฐ€๋ฉฐ,..

setori-dev.tistory.com

 

 

 

 

์„ฑ๋Šฅ์€ ๋‘ ๊ฐ€์ง€๋กœ

Complete (Goal์„ ๋ณด์žฅํ•˜๋Š”๊ฐ€?)

Optimal (์ œ์ผ ์ข‹์€ Goal์„ ๋ณด์žฅํ•˜๋Š”๊ฐ€?)

์„ ๋น„๊ตํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

 

 

Complete (Goal์„ ๋ณด์žฅํ•˜๋Š”๊ฐ€?)
: ์ •๋‹ต(Goal)์„ ๋ณด์žฅํ•˜๋Š”์ง€?

Optimal (์ œ์ผ ์ข‹์€ Goal์„ ๋ณด์žฅํ•˜๋Š”๊ฐ€?)
: ๋งŒ์•ฝ ์ •๋‹ต(Goal)์ด ์—ฌ๋Ÿฌ๊ฐœ ์žˆ์„ ๋•Œ, ์ œ์ผ ์ข‹์€ ์ •๋‹ต(Goal)์ธ์ง€?

 

 

 

DFS์˜ ๊ฐ ์„ฑ๋Šฅ์€ ์–ด๋–จ๊นŒ์š”?

 

.

.

.

.

.

.

 

hint!

 

์œ„์—์„œ ์‚ดํŽด๋ณธ

DFS๊ฐ€ ํƒ์ƒ‰ํ•˜๋Š” ๊ทธ๋ฆผ์„ ์ƒ๊ฐํ•ด๋ณด์„ธ์š”!.!

 

 

 

 

์ •๋‹ต์€!!

 

Complete (Goal์„ ๋ณด์žฅํ•˜๋Š”๊ฐ€?)  โ–ณ


-> ํ•˜์ง€๋งŒ! ๋์ด ์žˆ๋‹ค๋Š” ์œ ํ•œ(limit, ์ œํ•œ)ํ•œ ๊นŠ์ด์—์„œ,

๊ฐ€์žฅ ๊นŠ์€ ์™ผ์ชฝ์—์„œ๋ถ€ํ„ฐ ์˜ค๋ฅธ์ชฝ๊นŒ์ง€

๋ชจ๋“  fringe๋ฅผ ํƒ์ƒ‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ •๋‹ต์„ ๋ฌด์กฐ๊ฑด ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

 

 

 

Optimal (์ œ์ผ ์ข‹์€ Goal์„ ๋ณด์žฅํ•˜๋Š”๊ฐ€?) : X

-> ๋งŒ์•ฝ ๋‹ค์Œ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์ •๋‹ต์ด ์—ฌ๋Ÿฌ๊ฐœ ์žˆ๋‹ค๋ฉด,

DFS๊ธฐ๋ฒ•์„ ์ ์šฉํ•˜์—ฌ Goal์ธ I๋ฅผ ๋จผ์ € ์ฐพ๊ณ 

 

 

 

 

B์˜ ํƒ์ƒ‰์„ ๋ชจ๋‘ ๋งˆ์นœ ํ›„์—

Goal์ธ C์„ ๋ฐœ๊ฒฌํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด

 

๋จผ์ € ๋ฐœ๊ฒฌํ•œ, ๊ฐ€์žฅ ๋น ๋ฅธ ๊ฒฝ๋กœ์ธ

์ƒ๋‹จ์— ์žˆ๋Š” C๊ฐ€ ๋” ์ข‹์€ Goal์„ ๋ฌด์‹œํ•˜๊ณ 

I๋ฅผ ๋จผ์ € ์ฐพ์•„ Goal๋กœ ๋ฐœ๊ฒฌ์ด ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์—

๊ฐ€์žฅ ์ข‹์€ ๋‹ต์„ ์ฐพ๋Š”๋‹ค๋Š” ๊ฒƒ์„ ๋ณด์žฅํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

 

 

 

 

 

 

๋ง๋ถ™์—ฌ DFS๋Š”

 

BFS์˜ ๊ฐ€์žฅ ํฐ ๋‹จ์ ์ธ

 

Time Complexity์€ ๋น„๊ต์ ์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

Time Complexity (์‹œ๊ฐ„ ๋ณต์žก๋„)
: ๋‹ต(Goal)์„ ์ฐพ๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„

 

 

 

ํ•˜์ง€๋งŒ DFS๋Š” BFS์™€ ๋™์ผํ•˜๊ฒŒ

 

๋ชจ๋“  fringe๋ฅผ ํƒ์ƒ‰ํ•˜๊ธฐ์—

 

์‹œ๊ฐ„์ด ์—„์ฒญ ์˜ค๋ž˜ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค.

 

 

์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๊ณ„์‚ฐํ•ด๋ณด๋ฉด

 

ํฐ ์ฐจ์ด๋Š” ์—†์ง€๋งŒ BFS๋ณด๋‹ค๋Š” ๋นจ๋ฆฌ ์ฐพ์Šต๋‹ˆ๋‹ค.

 

 

 

Time Complexity (์‹œ๊ฐ„ ๋ณต์žก๋„) : โ–ณ

-> ๋ชจ๋“  fringe์„ ํƒ์ƒ‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹œ๊ฐ„์˜ ํšจ์œจ์„ฑ์€ ์ข‹์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

 

 

 


 

 

 

 

์˜ค๋Š˜์€ DFS ๊ธฐ๋ฒ•๊ณผ

 

๊ทธ์˜ ์„ฑ๋Šฅ์— ๋Œ€ํ•ด์„œ ์‚ดํŽด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

 

 

 

<DFS ์„ฑ๋Šฅ>

Complete
(Goal์„ ๋ณด์žฅํ•˜๋Š”๊ฐ€?)

Optimal
(์ œ์ผ ์ข‹์€ Goal์„ ๋ณด์žฅํ•˜๋Š”๊ฐ€?)

Time Complexity
(์‹œ๊ฐ„ ๋ณต์žก๋„)

โ–ณ X โ–ณ

 

 

 

 

 

๋‹ค์Œ์— ๊ฒŒ์‹œ๋  ๊ธฐ๋ฒ•์—์„œ๋„

 

์„ฑ๋Šฅ์„ ๋น„๊ตํ•˜๋ฉด์„œ ์‚ดํŽด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!

 

 

.

.

.

 

 

DFS Listํ˜•ํƒœ ๋ฐ BFS์™€ ๋น„๊ต

https://setori-dev.tistory.com/46

 

[์ธ๊ณต์ง€๋Šฅ] Uninformed Search - BFS์™€ DFS ๋น„๊ต

๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค. :) Uninformed Search์˜ BFS์™€ DFS ํƒ์ƒ‰์„ List๋กœ ๋น„๊ตํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. BFS (๋„ˆ๋น„์šฐ์„  ํƒ์ƒ‰) : ๋ฐ‘์œผ๋กœ ๋‚ด๋ ค๊ฐ€๋ฉด์„œ ํƒ์ƒ‰ https://setori-dev.tistory.com/45 [์ธ๊ณต์ง€๋Šฅ] Uninformed Search - BFS(..

setori-dev.tistory.com

 

 

 

 

 

 

๋งŽ์€ ๋„์›€ ๋˜์…จ๋‹ค๋ฉดโค์™€ ๊ตฌ๋… ๋ถ€ํƒ๋“œ๋ฆด๊ฒŒ์š”!

 

:)

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€