Welcome to the AlgorithmicInsights repository! This contains a diverse collection of algorithms and analyses, ranging from gradient descent and simulated annealing to delay-and-sum beamforming and prediction analysis. This repository is designed to provide insights and practical implementations for various computational techniques used in scientific computing, machine learning, and signal processing.
- Introduction
- Gradient Descent
- Simulated Annealing
- Delay-and-Sum Beamforming
- Prediction Analysis
- Performance Comparison of Matrix Multiplication
- Usage
- Contributing
This repository contains a collection of various algorithms and computational techniques implemented in Python. The goal is to provide clear, well-documented examples that can be used for educational purposes, research, or as a starting point for more complex projects.
Gradient Descent is an optimization algorithm used to minimize a function by iteratively moving towards the steepest descent direction. This section includes implementations of both one-dimensional and two-dimensional gradient descent, along with visualizations to illustrate the optimization process.
Simulated Annealing is a probabilistic technique for approximating the global optimum of a given function. In this repository, it is applied to solve the Traveling Salesman Problem (TSP), which is a classic optimization problem that aims to find the shortest possible route that visits a set of cities and returns to the origin city. The implementation demonstrates how simulated annealing can effectively find a near-optimal solution for TSP.
Delay-and-Sum Beamforming is a signal processing technique used in array signal processing. It combines signals received at various sensors to enhance the signal from a particular direction. This section includes an implementation of the delay-and-sum algorithm to reconstruct signals received at multiple microphones, along with visualizations of the reconstructed image.
This section contains a script for performing linear regression on admission prediction data. It includes steps to read data from a CSV file, perform linear regression to obtain coefficients, calculate predicted values, and evaluate the model using metrics like Mean Squared Error (MSE), Root Mean Squared Error (RMSE), and R-squared (R²).
This section includes a comparison of different methods for performing matrix multiplication: a custom implementation, the @
operator, and np.matmul
. The performance of each method is measured in terms of execution time and FLOPS (Floating Point Operations Per Second). The results are visualized using log-log plots.
Each section of the repository is contained within its own script or notebook. You can run these scripts individually to see the implementations and visualizations.
Contributions are welcome! If you have improvements or additional algorithms to add, feel free to fork the repository, make your changes, and submit a pull request.