Uninformed Search-Breadth First Search

## 🧠 **Uninformed Search**

### 📌

– āĻāχ āĻ…āύ⧁āϏāĻ¨ā§āϧāĻžāύ⧇ AI āϕ⧋āύ⧋ āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ āϤāĻĨā§āϝ (**heuristic**) āϜāĻžāύ⧇ āύāĻžāĨ¤

– āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ **āϏāĻŽā§āĻ­āĻžāĻŦā§āϝ āĻĒāĻĨāϗ⧁āϞ⧋(Possible Path) āϘāĻžāρāϟāĻžāϘāĻžāρāϟāĻŋ** āĻ•āϰ⧇ āϞāĻ•ā§āĻˇā§āϝ⧇ āĻĒ⧌āρāĻ›āĻžāύ⧋āϰ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰ⧇āĨ¤

– “āĻ…āĻœā§āĻžāĻžāύ” āĻŽāĻžāύ⧇ āĻšāϞ⧋ — āϏ⧇ āϜāĻžāύ⧇ āύāĻž āϕ⧋āύ āĻĒāĻĨ āϏāĻ‚āĻ•ā§āώāĻŋāĻĒā§āϤ āĻŦāĻž āĻ­āĻžāϞ⧋āĨ¤

> 🔍 āωāĻĻāĻžāĻšāϰāĻŖ: āφāĻĒāύāĻŋ āĻāĻ•āϟāĻŋ āĻ…āĻšā§‡āύāĻž āϗ⧁āĻšāĻžāϰ āĻŽāĻ§ā§āϝ⧇, āφāϞ⧋ āĻ›āĻžāĻĄāĻŧāĻžāĨ¤ āφāĻĒāύāĻŋ āϏāĻŦ āĻĒāĻĨ āϘāĻžāρāϟāϛ⧇āύ — āĻāϟāĻžāχ āĻšāϞ⧋ āĻ…āĻœā§āĻžāĻžāύ āĻ…āύ⧁āϏāĻ¨ā§āϧāĻžāύāĨ¤

(a) āĻŦā§āϰ⧇āĻĄāĻĨ āĻĢāĻžāĻ°ā§āĻ¸ā§āϟ āϏāĻžāĻ°ā§āϚ (BFS) 

📌 āϧāĻžāϰāĻŖāĻž:

– BFS **āĻāĻ• āĻ¸ā§āϤāϰ⧇āϰ āϏāĻŦ āύ⧋āĻĄ āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰ⧇**, āϤāĻžāϰāĻĒāϰ āĻĒāϰ⧇āϰ āĻ¸ā§āϤāϰ⧇ āϝāĻžāϝāĻŧāĨ¤

– āĻāϟāĻŋ **āĻ¸ā§āϤāϰ āĻ…āύ⧁āϝāĻžāϝāĻŧā§€ (level by level)** āĻ–ā§‹āρāĻœā§‡āĨ¤

– āĻĄā§‡āϟāĻž āĻ¸ā§āĻŸā§āϰāĻžāĻ•āϚāĻžāϰ: **āĻ•āĻŋāω (Queue)** — FIFO (First In First Out)

đŸŽ¯ āωāĻĻāĻžāĻšāϰāĻŖ: āĻāĻ•āϟāĻŋ āĻ—ā§āϰāĻžāĻĢ⧇ BFS

āϧāϰāĻž āϝāĻžāĻ•, āύ⧋āĻĄāϗ⧁āϞ⧋:

“`

        A

       / \

      B   C

     / \   \

    D   E   F

“`

**āϞāĻ•ā§āĻˇā§āϝ:** ‘F’ āύ⧋āĻĄ āϖ⧁āρāϜāϤ⧇ āĻšāĻŦ⧇āĨ¤ 

**āĻļ⧁āϰ⧁:** ‘A’ āĻĨ⧇āϕ⧇

### ✅ āϧāĻžāĻĒāϗ⧁āϞ⧋:

1. āĻĒā§āϰāĻĨāĻŽā§‡ `A` āĻĻ⧇āĻ–āĻž āĻšāϞ⧋ → āϏāĻ¨ā§āϧāĻžāύ āĻ•āϰāĻž āĻšāϞ⧋ 

2. āϤāĻžāϰāĻĒāϰ `B` āĻ“ `C` (A-āĻāϰ āϏāĻ¨ā§āϤāĻžāύ) 

3. āϤāĻžāϰāĻĒāϰ `D`, `E`, `F` (B āĻ“ C-āĻāϰ āϏāĻ¨ā§āϤāĻžāύ)

### 🔍 āĻ…āύ⧁āϏāĻ¨ā§āϧāĻžāύ āĻ•ā§āϰāĻŽ: 

A → B → C → D → E → F

✅ āĻĢāϞāĻžāĻĢāϞ: 

F āĻĒāĻžāĻ“āϝāĻŧāĻž āϗ⧇āϞāĨ¤

✅ BFS-āĻāϰ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ:

| āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ | āĻŦāĻŋāĻŦāϰāĻŖ |

|—————–|———————|

| āĻĒāĻĻā§āϧāϤāĻŋ | āĻ¸ā§āϤāϰāĻ­āĻŋāĻ¤ā§āϤāĻŋāĻ• āĻ…āύ⧁āϏāĻ¨ā§āϧāĻžāύ |

| āĻĄā§‡āϟāĻž āĻ¸ā§āĻŸā§āϰāĻžāĻ•āϚāĻžāϰ | āĻ•āĻŋāω (Queue) |

| āϏāĻ āĻŋāĻ• āĻ•āĻŋāύāĻž? | āĻšā§āϝāĻžāρ (āϝāĻĻāĻŋ āϞāĻ•ā§āĻˇā§āϝ āĻĨāĻžāϕ⧇) |

| āĻĻāĻ•ā§āώāϤāĻž | āĻŽā§‡āĻŽāϰāĻŋ āĻŦ⧇āĻļāĻŋ āĻ–āϰāϚ āĻšāϝāĻŧ |

| āĻŦā§āϝāĻŦāĻšāĻžāϰ | āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āϛ⧋āϟ āĻĒāĻĨ āĻ–ā§‹āρāϜāĻž (Shortest Path) |

(b) āĻĄā§‡āĻĒāĻĨ āĻĢāĻžāĻ°ā§āĻ¸ā§āϟ āϏāĻžāĻ°ā§āϚ (DFS) 

📌 āϧāĻžāϰāĻŖāĻž:

– DFS **āĻāĻ•āϟāĻŋ āĻĒāĻĨ⧇ āϝāϤāĻĻā§‚āϰ āϏāĻŽā§āĻ­āĻŦ āϝāĻžāϝāĻŧ**, āϤāĻžāϰāĻĒāϰ āĻĢāĻŋāϰ⧇ āφāϏ⧇āĨ¤

– āĻāϟāĻŋ **āĻ—āĻ­ā§€āϰ⧇ āϝāĻžāϝāĻŧ**, āϤāĻžāϰāĻĒāϰ āĻĒāĻŋāĻ›āύ⧇ āĻĢāĻŋāϰ⧇ āĻ…āĻ¨ā§āϝ āĻĒāĻĨ āĻ–ā§‹āρāĻœā§‡āĨ¤

– āĻĄā§‡āϟāĻž āĻ¸ā§āĻŸā§āϰāĻžāĻ•āϚāĻžāϰ: **āĻ¸ā§āĻŸā§āϝāĻžāĻ• (Stack)** — LIFO (Last In First Out)

đŸŽ¯ āωāĻĻāĻžāĻšāϰāĻŖ: āĻāĻ•āχ āĻ—ā§āϰāĻžāĻĢ⧇ DFS

“`

        A

       / \

      B   C

     / \   \

    D   E   F

“`

**āϞāĻ•ā§āĻˇā§āϝ:** ‘F’ āϖ⧁āρāϜāϤ⧇ āĻšāĻŦ⧇ 

**āĻļ⧁āϰ⧁:** ‘A’ āĻĨ⧇āϕ⧇

### ✅ āϧāĻžāĻĒāϗ⧁āϞ⧋:

1. A → B (B-āĻ āϝāĻžāĻ“āϝāĻŧāĻž āĻšāϞ⧋) 

2. B → D (D-āĻ āϝāĻžāĻ“āϝāĻŧāĻž āĻšāϞ⧋) 

3. D āĻĨ⧇āϕ⧇ āφāϰ āϝāĻžāĻ“āϝāĻŧāĻž āϝāĻžāϝāĻŧ āύāĻž → āĻĢāĻŋāϰ⧇ āĻāϞ B 

4. B → E (E-āĻ āϗ⧇āϞ) 

5. E āĻĨ⧇āϕ⧇ āφāϰ āϝāĻžāĻ“āϝāĻŧāĻž āϝāĻžāϝāĻŧ āύāĻž → āĻĢāĻŋāϰ⧇ āĻāϞ A 

6. A → C → F (F āĻĒāĻžāĻ“āϝāĻŧāĻž āϗ⧇āϞ!)

### 🔍 āĻ…āύ⧁āϏāĻ¨ā§āϧāĻžāύ āĻ•ā§āϰāĻŽ: 

**A → B → D → E → C → F**

### ✅ DFS-āĻāϰ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ:

| āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ |                    āĻŦāĻŋāĻŦāϰāĻŖÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â  |

|————————|——————————–|

| āĻĒāĻĻā§āϧāϤāĻŋ                   | āĻāĻ• āĻĒāĻĨ⧇ āĻ—āĻ­ā§€āϰ⧇ āϝāĻžāĻ“āϝāĻŧāĻž |

| āĻĄā§‡āϟāĻž āĻ¸ā§āĻŸā§āϰāĻžāĻ•āϚāĻžāĻ°Â Â Â Â  | āĻ¸ā§āĻŸā§āϝāĻžāĻ• (Stack)                   |

| āϏāĻ āĻŋāĻ• āĻ•āĻŋāύāĻž?         | āĻšā§āϝāĻžāρ (āϝāĻĻāĻŋ āϞāĻ•ā§āĻˇā§āϝ āĻĨāĻžāϕ⧇)       |

| āĻĻāĻ•ā§āώāϤāĻžÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | āĻŽā§‡āĻŽāϰāĻŋ āĻ•āĻŽ āĻ–āϰāϚ āĻšāϝāĻŧ       |

| āĻŦā§āϝāĻŦāĻšāĻžāĻ°Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  | āĻŽā§‡āϜ āϏāϞāĻ­āĻŋāĻ‚, āϏāĻžāχāϕ⧇āϞ āĻĄāĻŋāĻŸā§‡āĻ•āĻļāύ |

## ✅ BFS vs DFS – āϤ⧁āϞāύāĻž

| āĻŦāĻŋāώāϝāĻŧ | BFS | DFS |

|———————|——————————-|————————————————-|

| āĻĒāĻĻā§āϧāϤāĻŋ               | āĻĒā§āϰāĻ¸ā§āĻĨ āĻĒā§āϰāĻĨāĻŽ (Level-wise)  | āĻ—āĻ­ā§€āϰāϤāĻž āĻĒā§āϰāĻĨāĻŽ (Depth-wise)                |

| āĻĄā§‡āϟāĻž āĻ¸ā§āĻŸā§āϰāĻžāĻ•āϚāĻžāϰ | āĻ•āĻŋāω                                 | āĻ¸ā§āĻŸā§āϝāĻžāĻ•                                                       |

| āĻŽā§‡āĻŽāϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ | āĻŦ⧇āĻļāĻŋ                                 | āĻ•āĻŽ                                                          |

| āϏāĻ°ā§āĻŦā§‹āĻ¤ā§āϤāĻŽ āĻĒāĻĨ    | āĻšā§āϝāĻžāρ (āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āϛ⧋āϟ āĻĒāĻĨ) | āύāĻž (āĻĻā§€āĻ°ā§āϘāϤāϰ āĻĒāĻĨ āĻšāϤ⧇ āĻĒāĻžāϰ⧇)                 |

| āĻŦā§āϝāĻŦāĻšāĻžāϰ              | āĻļāĻ°ā§āĻŸā§‡āĻ¸ā§āϟ āĻĒāĻžāĻĨ, GPS            | āĻŽā§‡āϜ, āϗ⧇āĻŽ āĻŸā§āϰāĻŋ, āĻŦā§āϝāĻžāĻ•āĻŸā§āĻ°ā§āϝāĻžāĻ•āĻŋāĻ‚              |

## 💡 āĻŦāĻžāĻ¸ā§āϤāĻŦ āωāĻĻāĻžāĻšāϰāĻŖ:

### 🔹 BFS āωāĻĻāĻžāĻšāϰāĻŖ:

– Google Maps-āĻ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āĻ•āĻŽ āĻ¸ā§āĻŸā§‡āĻĒ⧇ āϰ⧁āϟ āĻ–ā§‹āρāϜāĻž 

– āϏ⧋āĻļā§āϝāĻžāϞ āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āϕ⧇ 2nd-degree connection āĻ–ā§‹āρāϜāĻž

### 🔹 DFS āωāĻĻāĻžāĻšāϰāĻŖ:

– āĻŽā§‡āϜ āϏāϞāĻ­ āĻ•āϰāĻž (āĻ˛ā§āϝāĻžāĻŦāĻŋāϰāĻŋāĻ¨ā§āĻĨ) 

– āĻĢāĻžāχāϞ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻĢā§‹āĻ˛ā§āĻĄāĻžāϰ āϘāĻžāρāϟāĻž 

– āĻšā§‡āϏ āϗ⧇āĻŽ āĻŸā§āϰāĻŋ āĻ…āύ⧁āϏāĻ¨ā§āϧāĻžāύ