New Post

Markov Chains || Step-By-Step || ~xRay Pixy

Image
Learn Markov Chains step-by-step using real-life examples. Video Chapters: Markov Chains 00:00 Introduction 00:19 Topics Covered 01:49 Markov Chains Applications 02:04 Markov Property 03:18 Example 1 03:54 States, State Space, Transition Probabilities 06:17 Transition Matrix 08:17 Example 02 09:17 Example 03 10:26 Example 04 12:25 Example 05 14:16 Example 06 16:49 Example 07 18:11 Example 08 24:56 Conclusion

ALGORITHM DESIGN TECHNIQUES

WHAT IS ALGORITHM DESIGN?

Algorithm Design is a specific method to create mathematical process in solving various classical problems, real world complex problems. Techniques for designing and implementing algorithm design are design patterns.

ALGORITHM DESIGN TECHNIQUES

We have 5 base techniques that can be used to design any algorithm. 

  1. Divide and Conquer
  2. Greedy Method
  3. Dynamic Programming
  4. Back Tracking
  5. Branch and Bound
WHAT IS DIVIDE AND CONQUER TECHNIQUE? 

In branch and bound technique, we break the main problem into several sub-problems. Sub-problems are similar to original problem but smaller in size. To solve given problem algorithm call themselves to deal with subproblems. Once subproblems are solved recursively then combine these solutions to create a final solution for the original problem. Merge Sort Algorithm follow Divide and Conquer method.

Step 01: Divide the main problem into subproblems [n/2].
Step 02: Solve the subproblems recursively. 
Step 03: Combine the solutions to subproblems into the final solution for original problem.



NUMERICAL EXAMPLE: APPLY DIVIDE AND CONQUER TECHNIQUE TO SORT A SEQUENCE AND PRODUCE THE SORTED ANSWER.

Suppose, Array to be Sorted

STEP 01: Divide the Main Problem into Sub-Problems.

Let P, q, r = Indices Numbering sequence of the array.  
P = 1, q = 4, r = 8
(n1) Sub-Problem 01: A[P,...,q].
 n1 = q - p + 1 = 4 - 1 + 1 = 4

(n2) Sub-Problem 02: A[q+1,...,r].
 n2 = r - q = 8 - 4 = 4 

STEP 02: Create Array L[] and R[].

For i = 1: n1          
   Do L[i] = P + i -1
           L [1] = 1+1-1=1 ; 
           L[2] = 1+2-1=2; 
           L[3] = 1+3-1 = 3; 
           L[4] = 1+4-1 = 4
 Array Elements:   L[ 5    6    9    10 ] 

For j = 1 to n2
  Do R[j] = q + j
         R[1] = 4+1=5;
         R[2] = 4+2= 6;
         R[3] = 4+3= 7;
         R[4] = 4+4 = 8;

Array Elements:   R[ 1    2   4   20]

Now, Main problem is break down into 2 sub-problems L[ 5    6    9    10 ]  and R[ 1    2   4   20]. Now we will solve subproblems then in the end combine the solution. 

Let i = 1; and j = 1;
For G = P to r
 Do if L[i] <= R[j] 
then A[G] - L[i]
  i = i+1;
Else
  A[G] - R[j]
  j = j + L;

Final Output After several recursions. 

Comments

Popular Post

PARTICLE SWARM OPTIMIZATION ALGORITHM NUMERICAL EXAMPLE

Cuckoo Search Algorithm for Optimization Problems

Particle Swarm Optimization (PSO)

PSO (Particle Swarm Optimization) Example Step-by-Step

how is the LBP |Local Binary Pattern| values calculated? Step-by-Step with Example

PSO Python Code || Particle Swarm Optimization in Python || ~xRay Pixy

Grey Wolf Optimization Algorithm

Bat algorithm Explanation Step by Step with example

Grey Wolf Optimization Algorithm Numerical Example

Whale Optimization Algorithm Code Implementation || WOA CODE || ~xRay Pixy