Discrete Mathematics in Computer Science

What is Discrete Mathematics in Computer Science?

As a programmer and Computer Science student my job involves solving problems and implement the solutions of those problems using programming languages. More often than not, I find myself brainstorming over the most efficient way to solve a problem or simply to reduce time and/or space complexity. Sometimes this leads to a lot of unproductive hours staring at computer screen confused.
What is Discrete Mathematics in Computer Science?
Image Source - Google | Image by - sn333g

But as I moved forward in my relatively short career, I discovered that software development is not the only parameter to keep in my mind while designing your program. In My sophomore year I was introduced to a whole new branch of mathematics dealing specifically to concepts such as 'Fundamentals of Logic', 'Algorithm Design', 'Recursion', 'Binary Search Trees', 'Graphs', 'Number Theory' and plenty more as such. Some of the concepts were quite easy to grasp and some required a bit of homework from my side.
These theories are widely used almost all major Computer Systems.

This article is for anyone with clear fundamentals of any programming language be it procedural or modular, but who wants to know more about the significance of mathematics in Computer Science to solve higher level problems. I am going to walk you through the most commonly encountered scenarios as well as technologies that you can apply your math skills.

Applications of Discrete Mathematics

Cryptography

This is related to password protection. Using Combinatorics we can know exactly what is the probability of the frequency of x number of letters in password. Hence we can know whether any given password entered by the user is secure or not. Since Computers transmit information in discrete number of bits i.e. 0 and 1, Number Theory is also very important domain that cryptographer needs to be specialize in.

Database Theory:

To run a fully functional application or a service, Databases are an absolute necessity. Databases help us to store and retrieve information wherever and whenever we need it. In order to to understand how it works beneath the hood, we need to take a look at Relations, Sets & Functions. Let's take an example of  Sets are use to classify various classes such as employees, Relations are used to show what kind of relationships exist between different classes such as employer - employee relation. Functions are used to show the activity of a relation we can take an example of an employee Jim - Accountant. This shows that Jim functions as an accountant. These type of database is called Relational Database.

Logistics:

Most of us who live in cities have booked an cab online for commuting. Tech companies such as Uber & Lyft who offer the shortest path in the least amount of time to reach a destination have their foundation laid upon Dijkstra's algorithm. It was conceived by Computer Scientist Edsger W. Dijkstra in 1956 and was it was originally named the Shortest Path First (SPF) Algorithm. It is based on the concept of Graph Theory which dictates the methods to find the shortest path between nodes in a graph. Apart from that many logistic companies and government agencies such as Industrial Development authorities apply similar concepts such as road networks to determine the most cost effective way to transport goods.

Machine Learning:

Knowledge of Intermediary to Advance level Mathematics is required to get an idea about Machine Learning. In order to master ML you need to have an understanding of Linear Regression, Statistics and Matrices. Statistics is very useful in the ML related field of Data Science. Linear Regression is very useful for Data Visualization. On top of these concepts, You should also be moderate expertise in Classical Mathematics topics such as Linear Algebra and Multivariable Calculus.

Control Theory:

Discrete Mathematics is used in Control Systems and associated discipline such as Embedded Systems. It is used to control parameters right from Nuclear Reactors to Defense Systems to household switches and thermostats. Having said that Control Theory is also dependent on continuous math. It is a complex system in which we use calculus and derivations to show how to the system works and we make use of discrete math to show when and for what time interval should the system work. This is commonly referred to as 'Digital Control System'. Let me explain this in brief using an example, In a Thermostat discrete math is used to determine if the temperature is hot, cold or normal. While continuous is used to regulate physical parameters such as fan speed, electric current in the circuit and temperature coefficient.

So these are recommendations to anyone who wants to study Discrete Mathematics or someone who has already studied and wants to apply these concepts in real world applications. 

No comments:

Axiom Information. Powered by Blogger.