A practical guide simplifying discrete math for curious minds and demonstrating its application in solving problems related to software development, computer algorithms, and data science
▶Book Description
Discrete mathematics deals with studying countable, distinct elements, and its principles are widely used in building algorithms for computer science and data science. The knowledge of discrete math concepts will help you understand the algorithms, binary, and general mathematics that sit at the core of data-driven tasks.
Practical Discrete Mathematics is a comprehensive introduction for those who are new to the mathematics of countable objects. This book will help you get up to speed with using discrete math principles to take your computer science skills to a more advanced level.
As you learn the language of discrete mathematics, you'll also cover methods crucial to studying and describing computer science and machine learning objects and algorithms. The chapters that follow will guide you through how memory and CPUs work. In addition to this, you'll understand how to analyze data for useful patterns, before finally exploring how to apply math concepts in network routing, web searching, and data science.
By the end of this book, you'll have a deeper understanding of discrete math and its applications in computer science, and be ready to work on real-world algorithm development and machine learning.
▶What You Will Learn
-Understand the terminology and methods in discrete math and their usage in algorithms and data problems
-Use Boolean algebra in formal logic and elementary control structures
-Implement combinatorics to measure computational complexity and manage memory allocation
-Use random variables, calculate descriptive statistics, and find average-case computational complexity
-Solve graph problems involved in routing, pathfinding, and graph searches, such as depth-first search
-Perform ML tasks such as data visualization, regression, and dimensionality reduction
▶Key Features
-Apply the math of countable objects to practical problems in computer science
-Explore modern Python libraries such as scikit-learn, NumPy, and SciPy for performing mathematics
-Learn complex statistical and mathematical concepts with the help of hands-on examples and expert guidance
▶Who This Book Is For
This book is for computer scientists looking to expand their knowledge of discrete math, the core topic of their field. University students looking to get hands-on with computer science, mathematics, statistics, engineering, or related disciplines will also find this book useful. Basic Python programming skills and knowledge of elementary real-number algebra are required to get started with this book.
▶What this book covers
▷Part I – Basic Concepts of Discrete Math
- Chapter 1, Key Concepts, Notation, Set Theory, Relations, and Functions, is an introduction to the basic vocabulary, concepts, and notation of discrete mathematics.
- Chapter 2, Formal Logic and Constructing Mathematical Proofs, covers formal logic and binary and explains how to prove mathematical results.
- Chapter 3, Computing with Base-n Numbers, discusses arithmetic in different numbering systems, including hexadecimal and binary.
- Chapter 4, Combinatorics Using SciPy, explains how to count the elements in certain types of discrete structures.
- Chapter 5, Elements of Discrete Probability, covers measuring chance and the basics of Google's PageRank algorithm.
▷Part II – Implementing Discrete Mathematics in Data and Computer Science
- Chapter 6, Computational Algorithms in Linear Algebra, explains how to solve algebra problems with Python using NumPy.
- Chapter 7, Computational Requirements for Algorithms, gives you the tools to determine how long algorithms take to run and how much space they require.
- Chapter 8, Storage and Feature Extraction of Graphs, Trees, and Networks, covers storing graph structures and finding information about them with code.
- Chapter 9, Searching Data Structures and Finding Shortest Paths, explains how to traverse graphs and figure out efficient paths between vertices.
▷Part III – Real-World Applications of Discrete Mathematics
- Chapter 10, Regression Analysis with NumPy, is a discussion on the prediction of variables in datasets containing multiple variables.
- Chapter 11, Web Searches with PageRank, shows you how to rank the results of web searches to find the most relevant web pages.
- Chapter 12, Principal Component Analysis with Scikit-Learn, explains how to reduce the dimensionality of high-dimensional datasets to save space and speed up machine learning.