Skip to content
Shriharsh edited this page Nov 10, 2024 · 2 revisions

#DAA-ML-BT-Algo

Design and Analysis of Algorithms:

1.Fibonacci Series

Title: Calculate Fibonacci numbers (non-recursive and recursive) and analyze time and space complexity.
Objective: Understand Fibonacci series calculation and efficiency of recursive vs non-recursive implementations.

Theory

  • Key Details: Non-recursive approach is iterative and efficient; recursive approach has exponential complexity due to repeated calculations.
  • Fibonacci Series: A sequence where each term is the sum of the two preceding ones, typically starting with 0 and 1.
  • Formula: ( F_n = F_{n-1} + F_{n-2} ) with seed values ( F_0 = 0 ) and ( F_1 = 1 ).
  • Complexity: Recursive method is ( O(2^n) ); iterative is ( O(n) ).

2.Huffman Encoding

Title: Implement Huffman Encoding using a greedy strategy.
Objective: Learn about Huffman encoding and analyze its complexity.

Theory

  • Key Details: Uses a greedy algorithm to compress data without loss.
  • Huffman Encoding: Assigns shorter codes to frequent characters, longer codes to less frequent ones.
  • Algorithm Steps: Create frequency table, build a binary tree, and assign binary codes.
  • Complexity: Efficiently encodes with ( O(n \log n) ) complexity due to heap operations.

3.Fractional Knapsack

Title: Solve the fractional knapsack problem using a greedy method.
Objective: Analyze time and space complexity of fractional knapsack problem with a greedy approach.

Theory

  • Key Details: Fractional knapsack allows partial items and optimizes by selecting the highest value-to-weight ratios.
  • Greedy Strategy: Sort items by value/weight ratio, add until reaching capacity.
  • Complexity: Sorting step ( O(n \log n) ); total time remains efficient.

4.0/1 Knapsack

Title: Solve a 0/1 knapsack problem using dynamic programming.
Objective: Use dynamic programming to analyze 0/1 knapsack problem complexity.

Theory

  • Key Details: Uses a dynamic programming table to solve subproblems without recomputation.
  • 0/1 Knapsack: Each item is either included or excluded; no partial selection allowed.
  • Steps: Populate DP table with optimal values, ensuring maximum value within weight limit.
  • Complexity: ( O(nW) ), where ( W ) is the knapsack’s capacity.

5.Randomized Quick Sort

Title: Analyze quick sort using deterministic and randomized variants.
Objective: Compare deterministic and randomized quick sort for time and space efficiency.

Theory

  • Key Details: Randomized quicksort reduces the risk of worst-case partitioning by random pivot selection.
  • Randomized Algorithm: Reduces worst-case time complexity in practice.
  • Complexity: Expected ( O(n \log n) ); deterministic worst-case remains ( O(n^2) ).

Machine Learning:

1.Uber Ride Price Prediction

Title: Predict Uber ride prices based on location data.
Objective: Apply preprocessing, linear regression, and random forest regression.

Theory

  • Key Details: Data preprocessing involves handling outliers, normalizing, and applying regression models.
  • Regression Models:
    • Linear Regression predicts continuous outcomes.
    • Random Forest Regression uses multiple decision trees for better accuracy.

2.Email Spam Classification

Title: Classify emails as spam or not using binary classification.
Objective: Implement K-Nearest Neighbors and Support Vector Machine algorithms.

Theory

  • Key Details: Utilizes machine learning models to classify text based on word frequency and other features.
  • Binary Classification: Categorizes emails as “spam” or “not spam.”
  • Algorithms:
    • KNN: Simple, effective for small datasets.
    • SVM: Effective in high-dimensional spaces.

3.Bank Customer Churn Prediction

Title: Build a neural network to predict customer churn in banking.
Objective: Implement neural networks and understand model evaluation.

Theory

  • Key Details: Aims to predict whether customers will leave based on demographic and financial features.
  • Artificial Neural Network (ANN): Consists of input, hidden, and output layers for complex data patterns.
  • Evaluation: Uses a confusion matrix to measure accuracy and error rates.

4.Gradient Descent

Title: Find the local minima of a function using gradient descent.
Objective: Understand the concept of optimization in machine learning.

Theory

  • Key Details: Demonstrates optimization of a function using iterative adjustments.
  • Gradient Descent: Moves in the direction of the negative gradient to minimize the function.
  • Use Case: Commonly used in training machine learning models by minimizing loss functions.

5.Diabetes Prediction using KNN

Title: Classify diabetes status using K-Nearest Neighbors.
Objective: Use KNN on medical data and evaluate prediction accuracy.

Theory

  • Key Details: Focuses on classification of medical data using distance-based methods.
  • KNN: Classifies by majority class among nearest neighbors.
  • Evaluation Metrics: Confusion matrix provides precision, recall, and accuracy.

Blockchain Technology:

1.Cryptocurrency Overview

Title: Study and implement basic cryptocurrency concepts.
Objective: Understand the mechanisms behind cryptocurrency transactions and wallets.

Theory

  • Key Details: Examines digital wallets and blockchain fundamentals.
  • Blockchain: A distributed ledger where each transaction is validated and recorded.
  • Wallets:
    • Hot Wallets: Online, accessible but less secure.
    • Cold Wallets: Offline, more secure, ideal for long-term storage.

2.Smart Contract for Bank Operations

Title: Write a smart contract for banking operations on a test network.
Objective: Develop a basic smart contract for deposits, withdrawals, and balance checks.

Theory

  • Key Details: Smart contracts automate and secure banking transactions.
  • Solidity Programming: Language used for coding smart contracts on Ethereum.
  • Features: Includes functions to handle deposit, withdrawal, and balance operations.

3.Blockchain-Based Student Data Storage

Title: Write a Solidity program to create a student data storage system.
Objective: Use blockchain to securely store and manage student data.

Theory

  • Key Details: Provides data immutability and transparency.
  • Solidity Constructs:
    • Structures: Define data schema for each student.
    • Arrays: Store multiple student entries.
    • Fallback Functions: Handle unexpected calls.
  • Deployment: Deployed on Ethereum test network, tracking gas and fees.

4.Blockchain Survey Report

Title: Write a survey report on types of blockchains and real-time applications.
Objective: Explore blockchain types and understand practical use cases.

Theory

  • Key Details: Covers public, private, and consortium blockchains and real-world uses.
  • Applications:
    • Finance: Supports digital transactions and cryptocurrencies.
    • Healthcare: Manages patient data securely.
    • Supply Chain: Tracks goods with transparency.

5.Business Network with Hyperledger

Title: Develop a simple business network using Hyperledger.
Objective: Create a blockchain business application on Hyperledger.

Theory

  • Key Details: Uses Hyperledger for building permissioned blockchain applications.
  • Business Network: Defines participants, assets, and transactions in a private blockchain.
  • Examples: Asset tracking, identity management, and secure voting.