Content uploaded by Mohammed Saleh

Author content

All content in this area was uploaded by Mohammed Saleh on Jan 11, 2021

Content may be subject to copyright.

1

AN INTRODUCTION TO RANDOMIZED ALGORITHMS

Mohammed Saleh1 Dr. Muhammad Shettima Daluma2

1Department of Accounting, College of Business and Management Studies, Konduga, Borno State,

Nigeria.

2Department of Economic, University of Maiduguri, Nigeria.

Received: 07 January 2021 / Revised: 08 January 2021 / Accepted: 09 September 2020 © Sahara

Journal Science+ Business Media, LLC, part of Sahara Nature 2021

ISSN 222-195 (Paper) ISSN 222-239 (Online) Vol.4, No.11, 2021

ABSTRACT:

A randomized algorithm is an algorithm that employees a degree of randomness as a part of

its logic. An efficient randomized algorithms plays a significant role in various fields and help

us to solve a complex problems. In this paper we attempt to discuss the various concepts and

related works. Also we discuss the various research applications of these randomized

Algorithm.

INTRODUCTION:

As we know that regular algorithm follow

simple steps or we have a predefined set of

inputs and a required output. So any such

algorithm which has a predefined inputs,

required output and follow a suggested steps

i:e those are the prescribed steps which are

followed then those algorithms are called as

deterministic algorithms. So what are

deterministic algorithms, in this we define it

graphically. If we have an input and that

input is applied to any definite set of rules

called as algorithm then we get a definite or

required output .Below is the graphical

representation of deterministic algorithm.

I/p o/p

This is a regular graph of deterministic

algorithm. In this the output or the running

time are the functions of the input. When

these deterministic algorithms are changed

then what happens ,this brings the concept of

randomized algorithms .so randomized

algorithms uses a randomness as a

computing tool for the design of algorithm

i:e the program logic is also going consider

randomness as one of the component and we

have to use it for finding the solution to the

given problems. Randomized algorithms are

Algorithm

2

also called as probabilistic algorithms. We

define it graphically we have the input but in

the algorithm part we introduce something

called as random bits. Random bit is a bit

which is generated by itself or by an

algorithm which is designed to produce

random numbers or random inputs. So these

random bits are added to your input and

changes the nature or required output.

I/P O/P

It may also be defined as, “the output are the

running time are functions of the input and

random bits chosen”.

These algorithms make use of randomizer like

random number generator, and the output of

this randomizer decisions are made by the

algorithm. The output differs either in a

unpredictable way or it could differ from run

to run from the same input. Also it is noted

that its execution time may also differs from

run to run from the same inputs.

These algorithms are broadly divided into two

types:

• Randomized Las Vegas

Algorithms,

• Randomized Monte Carlo

Algorithm. Randomized Las Vegas

Algorithms:

Randomized Las Vegas Algorithm are the

randomized algorithms which always

produces the correct outputs for a given

inputs. The execution of this algorithm

depends upon the set of outputs of the

randomizer. The running time in this

algorithm is a random variable. The time and

space complexities of this algorithm is

denoted with the help of notations such as Ŏ

(), Ɵ~ (), Ω~ (). Example of this algorithm is

randomized quick sort.

Randomized Quick Sort:

In the randomized version of quick sort we

impose a distribution on the inputs. This does

not improve the worst case running time but

improves the probability of average case

running time.

In this version we choose a random key for the

pivot. Assume that the procedure Random (a,

b) returns a random integer in the range [a, b);

there are b-a+1 integers in the range, and the

procedure is equally likely to return one of

them. The new partition procedure simply

implements the swap before actually

portioning.

Pseudocode for randomized QuickSort:

Randomized _partition (A, P, r)

1. I ← random (P, r)

2. Exchange A[P] ← A[i]

3. Return partition (A, P, r)

The pseudocode for randomized quicksort

algorithm has the same structure as quick sort,

except that it calls the randomized version of

the partition procedure.

Randomized _ quicksort (A, P, r)

1. If P<r then

2. Q ← Randomized _ Partition (A, P, r)

3. Randomized _ quicksort (A, P, q)

4. Randomized _ quicksort (A, q+1, r)

Time Complexity:

The best and average case running time of

randomized quicksort is O(n log n).

Random

bits

3

The worst case running time of randomized

quicksort is O(n^2).

Note: the worst case of randomized quick sort

occurs when all the given elements are equal.

Probability [running time of quick sort is

exceeds twice its expected time] <

n^(loglogn).

Randomized Monte Carlo Algorithm:

Randomized Monte Carlo algorithm is less

efficient than the randomized Las Vegas

Algorithm becoz the output may be incorrect

with some probability and the running time is

deterministic. Example is the randomized

algorithm for the appropriate median.

Let us take the example for sorting. The

deterministic algorithms for the sorting are;

Heap sort

Merge sort

What happens in the heap sort ,I have a list of

numbers and I just create a normal heap of

sorting i:e a cluster of sorting and in merge

sort I use divide and conquer .now when I

applied a randomized algorithm which is a

randomized Las Vegas algorithm, the sort

which is implemented used it is a quick sort.

What happens in the randomized quick sort

almost always outperforms heap sort and

merge sort.

What is minimum cut which is used in the

implementing randomized algorithms?

Problem Definition: Given a connected

graph G(V, E) on n vertices and m edges

.compute the smallest set of edges that will

make G disconnected. The best deterministic

algorithm is Stoer and Wagner in 1977 and the

time complexity is O(mn) and the randomized

Monte Carlo Algorithm by Karger in 1993 has

a time complexity of O(m log n). It shows that

the Monte Carlo Algorithm performs better

than the deterministic algorithm but the error

probability of Monte Carlo Algorithm is n^-c

for any c that we deserve. Where –c is a cut

that we require in a minimum cut algorithm.

What is primality testing which is used in

the implementing the randomized

algorithms?

Problem Definition: Given an n bit integer

determine whether it is prime or not. There are

various application by using this testing and

these are as follows;

1. RSA cryptosystem 2.

Algebraic algorithms.

The best algorithms in this is Agarwal, Kayal,

and saxena in 2002 gives us the time

complexity of O(n^6). And the randomized

Monto Carlo algorithm by Rabin in 1980gives

us a time complexity of O(kn^2).and the error

probability is 2^-k for any k that we deserve.

We see that all the deterministic algorithms

have the higher time complexity than the

randomized algorithm. So it proves that

randomized bit when added to any input

sequence gives or outperforms in the output

and the time complexity for determining the

best result.

Characteristics of randomized algorithms:

• Output is based on the random

decisions.

• Output is based on probability

• Negligible error in long run

Generation of random numbers in

randomized algorithms:

A random number generator is used to

generate a random number. Two types of

random numbers;

• True random numbers Pseudo

random numbers.

4

True random numbers: A true random

numbers is generated based on radio active, flip

of coins, radiations etc. Once the number is

generated then this generated numbers should

not appear again i:e recreated is not allowed.

Pseudo _ random numbers: A pseudo random is

generated using software application. It can be

recreated if the formula is known.it is sufficient

for most of the purpose. The main properties of

pseudo random numbers are as follows;

• Efficiency

• Deterministic in all the cases

• Uniformly

• Independent

Design principles of randomized algorithm:

Some of the design principles of randomized

algorithm are as under;

• Random Trials

• Primality Testing to check whether the

no is prime or not.

• Checking whether a given input X has the

property Y.

Advantages of Randomized algorithm:

• Simplicity: the randomized algorithm

are simple in nature .it make use of the

pseudo random numbers.

• Very efficient: because the output are

the function of the input and the random

bit chosen.

• Computational complexity:

computational complexity is better than

the deterministic algorithm becoz in

deterministic algorithm there is a fixed

path from input to output and can take

long time to produce an output while as

in randomized algorithm takes less time

to produce an output and there is no

fixed path from input to output.

Disadvantages of randomized algorithm:

One of the main disadvantage which lies in the

randomized algorithm is its reliability. The

algorithm may lack certain guaranteed solutions.

The second issue is its quality. It depends on

quality of random number generator used as part

of the algorithm.

The third disadvantage of randomized algorithm

is hardware failure.

Proposed work and conclusion:

An efficient randomized algorithm is used for

detecting circles in a digital image processing.

With the help of this we can easily find the circles

in an image and then apply an evidence process

to further determine whether the possible circle

is true or false.

It can also be helpful in finding the closest point

queries quickly and besides this it can also be

used for the matrix approximation.

One of the important use of this algorithm is that

it is used in PCA .

References:

Zhdanov, Aleksandr Ivanovich, and Yury

Vyacheslavovich Sidorov. "Parallel

implementation of a randomized regularized

Kaczmarz's algorithm." Computer

Optics 39.4 (2015): 536-541.

Katoch, Swati, and Jawahar Thakur. "Load

Balancing Algoritms in Cloud Computing

Environment: A Review." International

Journal on Recent and Innovation Trends in

Computing and Communication 2.8 (2014):

2151-2156.

Talbot, David, and Thorsten Brants.

"Randomized language models via perfect

hash functions." Proceedings of ACL-08:

HLT. 2008.

5

Cecchi, Laura. "A randomized algorithm for

solving the satisfiability problem." III

Congreso Argentino de Ciencias de la

Computación. 1997.

Pacino, Dario, and Pascal Van Hentenryck.

"Large neighborhood search and adaptive

randomized decompositions for flexible

jobshop scheduling." Twenty-second

International Joint Conference on Artificial

Intelligence. 2011.

Garrido, Oscar, et al. "A simple randomized

parallel algorithm for maximal fmatchings."

Latin American Symposium on Theoretical

Informatics. Springer, Berlin, Heidelberg,

1992.