LexRank for Text Summarization: Implement LexRank to summarize text; evaluate by the coherence and accuracy of the summaries.
Approach: Graph-based
Resource: https://arxiv.org/pdf/1109.2128
Approximate Nearest Neighbor (ANN) Search: Build an ANN algorithm for high-dimensional data; assess by speed and accuracy of nearest neighbor retrieval.
Data Structure: KD-Tree
Resource: https://theory.stanford.edu/~rinap/papers/kdtreelatin.pdf
Greedy Algorithms for AI Pathfinding: Design a greedy pathfinding algorithm; compare its efficiency and path optimality against A*.
Approach: Greedy
Dynamic Programming for Sequence Alignment: Create a dynamic programming solution for sequence alignment; check the accuracy and computational efficiency in matching sequences.
Approach: Dynamic Programming
Resource: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9024764/
Graph-Based Community Detection: Implement community detection in social networks; analyze the quality of identified clusters and computational efficiency.
Data Structure: Graph
Resource: https://arxiv.org/pdf/2309.11798
Backtracking for Constraint Satisfaction Problems (CSPs): Solve CSPs using backtracking; evaluate by solution completeness and time complexity.
Approach: Backtracking
Divide and Conquer in Image Processing: Apply divide and conquer to image processing tasks; measure performance by processing speed and accuracy.
Approach: Divide and Conquer
Resource: https://www.sciencedirect.com/science/article/abs/pii/0743731587900104
Genetic Algorithms for Optimization: Explore genetic algorithms for optimization; assess by the quality of solutions and convergence speed.
Approach: Genetic Algorithm
Monte Carlo Tree Search (MCTS) for Game AI: Develop an MCTS algorithm for game AI; evaluate by decision-making effectiveness and computational efficiency.
Approach: Tree Search
Resource: https://sander.landofsand.com/publications/AIIDE08_Chaslot.pdf
Floyd-Warshall for All-Pairs Shortest Paths: Implement Floyd-Warshall for shortest paths in graphs; check for correctness and performance in large networks.
Approach: Dynamic Programming