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

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

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

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

 

 

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

 

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

 

 


 BFS (Breadth-first Search)
: ๋„ˆ๋น„์šฐ์„ ํƒ์ƒ‰

 

 

BFS๋Š” fringe์˜ ์™ผ์ชฝ๋ถ€ํ„ฐ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๊ฐ€๋ฉฐ,

๋ฐ‘์œผ๋กœ ๋‚ด๋ ค๊ฐ€๋ฉฐ ํƒ์ƒ‰ํ•˜๋Š” ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค.

 

 

 


 

Treeํ˜•ํƒœ

 

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



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

 

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

 

๋‹ค์Œ ์˜ค๋ฅธ์ชฝ์— ์žˆ๋Š” C๊ฐ€ Goal์ธ์ง€ ํƒ์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.

 

๊ทธ ๋‹ค์Œ B์˜ ์™ผ์ชฝ์ธ D๊ฐ€ Goal์ธ์ง€ ํƒ์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.

 

D๋ฅผ ํƒ์ƒ‰ ํ›„ ์˜ค๋ฅธ์ชฝ์˜ E๊ฐ€ Goal์ธ์ง€ ํƒ์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.

 

์ด์™€ ๋™์ผํ•˜๊ฒŒ F์™€

 

G๋ฅผ ์ฐจ๋ก€๋Œ€๋กœ Goal์ธ์ง€ ํƒ์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.

 

๋งˆ์ง€๋ง‰ ๋‹จ๊ณ„์— ์žˆ๋Š” ์•ŒํŒŒ๋ฒณ๋„ ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ฐจ๋ก€๋Œ€๋กœ Goal์ธ์ง€ ํƒ์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

 

 

 

 

 

๋!

 



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

 

 

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

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

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



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

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

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

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


 

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

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

 

 

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

 

.

.

.

.

.

.

 

hint!

 

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

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

 

 

 

 

์ •๋‹ต์€!!

 

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


-> ์œ„์—์„œ๋ถ€ํ„ฐ ์•„๋ž˜๋กœ,

์™ผ์ชฝ์—์„œ๋ถ€ํ„ฐ ์˜ค๋ฅธ์ชฝ์œผ๋กœ,

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

 

 

 

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

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

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

 

๊ทธ ๋‹ค์Œ D๋ฅผ ํƒ์ƒ‰ ์ค‘ Goal์„ ๋ฐœ๊ฒฌํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด

 

C์™€ D ์ค‘ ๋‘˜ ์ค‘

 

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

์ƒ๋‹จ์— ์žˆ๋Š” C๊ฐ€ ๋” ์ข‹์€ Goal์ด๊ธฐ์—

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

 

 

 

 

 

ํ•˜์ง€๋งŒ,

 

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

 

Time Complexity์ž…๋‹ˆ๋‹ค.

 

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

 

 

 

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

 

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

 

 

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

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

 

 


 

 

 

 

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

 

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

 

 

 

<BFS ์„ฑ๋Šฅ>

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

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

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

O O X

 

 

 

 

 

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

 

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

 

.

.

.

 

 

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

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

 

 

 

 

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

 

:)

 

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€