# Introduction of Probabilistic Computing

Probabilistic computing is a field of computer science and artificial intelligence that focuses on the study and implementation of probabilistic algorithms, models, and methods for computation. It aims to build systems that can reason about and handle uncertainty, making probabilistic predictions about the world and making decisions based on those predictions.

1. Probabilistic computing is motivated by the fact that real-world problems often involve uncertain and incomplete information. In these cases, it is often more appropriate to represent knowledge as probabilities rather than definite truths. By using probabilistic models, computers can learn from data, make predictions, and solve problems in uncertain environments.
2. Some of the key concepts in probabilistic computing include Bayesian networks, Markov models, Monte Carlo methods, and probabilistic programming languages. These tools and techniques allow computers to perform tasks such as uncertainty quantification, probabilistic inference, and decision-making under uncertainty.
3. Probabilistic computing has a wide range of applications, including machine learning, robotics, computer vision, natural language processing, and cognitive computing. In recent years, the field has seen significant advances, driven by the increasing availability of large amounts of data and the development of powerful computational tools.

In recent years, volume of  information collected in businesses, in science or in Internet is exploded and computers are increasingly called upon to help people to interpret and act on all of that data.

For example,  what do local temperature data tells us about global climate system, what do web surfing and purchases tell us about consumers and how can genetic data be used to personalize medical treatment.

Well, these all recognizable problems seems different from one and another but they are actually similar. They all require inductive inference, generalizing from observations of world back to their underline causes. Computers we used are not designed for it and are not good at it. WHY ?

Computers was originally designed to solve scientific and technical problems but we soon started using it for business needs. Since its arrival, Computers became communication and entertainment devices as well. But what happens when computers are asked to make sense of data ?

A computer can be thought of as machine that executes set of instructions that tells it how to transform inputs into outputs. There are two ways in which computers are used to interpret or understand data- Simulation and Inference.

In Simulation, machine starts with some background assumptions it takes as input configuration of world and produces as output an observed trajectory. It is easy as machine is executing instructions in same direction as process it is modelling from causes to affects.

Inference is reverse problem. Machine starts with same background assumptions but takes as input observed trajectory and produces as output, configuration of world that explains it. Here, machine has to go from facts back to their probable causes. One common challenge in making inferences about data is there are usually many possible explanations for particular output. In other words, there is fundamental uncertainty about which explanation is correct. This uncertainty is an essential issue when explaining and interpreting data. It is so prevalent that we cannot expect absolute certain answers about data but we can make good guesses that incorporate much knowledge as possible.

Good guesses balance consistency with background knowledge and fit to data, without introducing unnecessary complexities. In traditional computing, instructions for inferences are harder to write than those for simulation because we typically gather code in scientific behaviour and technical knowledge in terms of how one thing causes another. It is therefore much easier to make use of knowledge in that direction than inreverse. But, these reverse or inference applications are often more valuable, both to business and society.

Probabilistic computers automatically transforms simulation instructions into inference programs and manages uncertainty about casual explanations. These are machines designed to interpreter.

1. Handling Uncertainty: Probabilistic computing provides a natural framework for modeling and handling uncertainty, which is a key feature of many real-world problems.
2. Data-Driven Approaches: Probabilistic models can learn from data, making them well-suited for data-driven applications such as machine learning and data analytics.
3. Decision Making under Uncertainty: Probabilistic methods can be used to make decisions under uncertainty, such as choosing the best course of action based on uncertain inputs or outcomes.
4. Improved Modeling: Probabilistic models can capture complex relationships between variables and handle partial or missing information, leading to more accurate and robust predictions.

1. Computational Complexity: Probabilistic models can be computationally expensive, especially when dealing with large amounts of data or complex relationships between variables.
2. Model Selection: Selecting the right probabilistic model can be challenging, and requires a good understanding of the problem and data.
3. Lack of Interpretability: Probabilistic models can sometimes be difficult to interpret, especially when dealing with complex models or large amounts of data.

### References:

“Probabilistic Graphical Models: Principles and Techniques” by Daphne Koller and Nir Friedman
“Bayesian Reasoning and Machine Learning” by David Barber
“Artificial Intelligence: A Modern Approach” by Stuart Russell and Peter Norvig
“Probabilistic Programming & Bayesian Methods for Hackers” by Cameron Davidson-Pilon.

Previous
Next