Practical Discrete Mathematics: Discover math principles that fuel algorithms for computer science and machine learning with Python
內容描述
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
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
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
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.
目錄大綱
Table of Contents
Key Concepts, Notation, Set Theory, Relations, and Functions
Formal Logic and Constructing Mathematical Proofs
Computing with Base-n Numbers
Combinatorics Using SciPy
Elements of Discrete Probability
Computational Algorithms in Linear Algebra
Computational Requirements for Algorithms
Storage and Feature Extraction of Graphs, Trees, and Networks
Searching Data Structures and Finding Shortest Paths
Regression Analysis with NumPy and Scikit-Learn
Web Searches with PageRank
Principal Component Analysis with Scikit-Learn
作者介紹
Ryan T. White, Ph.D. is a mathematician, researcher, and consultant with expertise in machine learning and probability theory along with private-sector experience in algorithm development and data science. Dr. White is an assistant professor of mathematics at Florida Institute of Technology, where he leads an active academic research program centered on stochastic analysis and related algorithms, heads private-sector projects in machine learning, participates in numerous scientific and engineering research projects, and teaches courses in machine learning, neural networks, probability, and statistics at the undergraduate and graduate levels.
Archana Tikayat Ray is a Ph.D. student at Georgia Institute of Technology, Atlanta, where her research work is focused on machine learning and Natural Language Processing (NLP) applications. She has a master's degree from Georgia Tech as well, and a bachelor's degree in aerospace engineering from Florida Institute of Technology.