Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Simple hill climbing and steepest ascent algorithms in AI -> Algorithms #47 #63

Closed
wants to merge 3 commits into from

Conversation

Annarhysa
Copy link

Closes: #47

  • Title : Add Simple hill climbing and steepest ascent algorithms
  • Name: Annarhysa Albert
  • Idenitfy yourself: SSOC Contributor

Describe the add-ons or changes you've made 📃

I have added generalized Python code implementations for both Simple Hill Climbing and Steepest Ascent Hill Climbing algorithms, ensuring they can be adapted to various problems with an initial state, neighbours, and an evaluation function. Simple Hill Climbing stops at the first better neighbour, has lower computational complexity per step, but is more prone to local maxima. In contrast, Steepest Ascent Hill Climbing evaluates all neighbours and moves to the best one, resulting in higher computational complexity per step but reduced susceptibility to local maxima. Additionally, I provided a comprehensive comparison highlighting the key differences between the two algorithms in approach, computational cost, efficiency, and handling of local maxima, facilitating a clearer understanding of their respective applications and advantages.

Type of change ☑️

What sort of change have you made:

  • New feature (non-breaking change which adds functionality)
  • This change requires a documentation update

How Has This Been Tested? ⚙️

The generalized Python code implementations for Simple Hill Climbing and Steepest Ascent Hill Climbing algorithms have been tested using a variety of problem scenarios, including optimization tasks and search problems. Test cases included scenarios with different initial states and neighbour configurations to ensure the algorithms correctly identify and move towards optimal solutions. The verification process involved comparing the results with expected outcomes and checking for correct convergence behaviour. Additionally, edge cases were tested to confirm that the algorithms handle local maxima appropriately and exhibit the intended differences in their approach and computational efficiency.

Checklist: ☑️

  • My code follows the Contributing Guidelines & Code of Conduct of this project.
  • This PR does not contain plagiarized content.
  • I have performed a self-review of my own code.
  • I have commented my code, particularly wherever it was hard to understand.
  • My changes generate no new warnings.

Screenshots 📷

Screenshot 2024-07-06 093848
Screenshot 2024-07-06 093900

Note to reviewers 📄

Please let me know if the code meets the level of your satisfaction, or if it needs any updates.

Copy link

github-actions bot commented Jul 6, 2024

Thank you for submitting your pull request! We'll review it as soon as possible. For further communication, join our discord server https://discord.gg/tSqtvHUJzE.

Copy link
Owner

@Avdhesh-Varshney Avdhesh-Varshney left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Annarhysa without assigning the issue, can't raise the pr.

@Avdhesh-Varshney Avdhesh-Varshney added bug 🐛 Something isn't working invalid 🚫 This doesn't seem right wontfix ❌ This will not be worked on labels Jul 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug 🐛 Something isn't working invalid 🚫 This doesn't seem right wontfix ❌ This will not be worked on
Projects
None yet
Development

Successfully merging this pull request may close these issues.

🧑‍💻: Add Simple hill climbing and steepest ascent algorithms in AI -> Algorithms
2 participants