Code Monkey home page Code Monkey logo

computational-intelligence-2022's Introduction

Hi there ๐Ÿ‘‹

trophy

computational-intelligence-2022's People

Contributors

lorenzobellino avatar

Stargazers

 avatar

Watchers

 avatar

computational-intelligence-2022's Issues

Lab 3 - Peer Review by Leonor Gomes

  • The README is really clear and appreciated
  • Your way of doing alpha beta pruning without alpha and beta variables was really smart and simple, good job!
  • The use of a gaussian distribution to reinforce the idea of exploration vs exploitation was a really creative solution
  • A better commenting coverage for the GA file would be helpful
  • For the GA strategy, having an offspring of 7 with population 10 is an interesting choice. Have you tried different values or was this the best ones?
  • Your results for the GA agent are really good, especially the win rate against the optimal agent

Peer Review Gabriele Iurlaro

General Comments

I really appreciate your readme file, it's very clear. Also, your heuristic is very good, and in many case converges to the global optimum(5, 10, 20).

I also agree wiht you to find a trade-off between exact solution and computation complexity.

Code suggestion

  • I didin't understand well your code, some comments can help.
  • Why you used a prioritized set? And why you inserted it into a priority queue? Didn't was enough to put into the priority queue?

Lab2 Review Luca Villani for Lorenzo Bellino

Lab2 Review Luca Villani for Lorenzo Bellino

You have implemented a very good solution and you had some very good intuition. The code is well written and working

Some Comments

Some possible improvement and advice that i can give you:

  • You can try to remove duplicates from the population, it would decrease your computational time and lead to a more efficient way to manage the steady state. (Even tough, the recombination after 7 steady is a very good idea!)
  • About the mutation rate, which in your code is fixed, you can try to implement a dynamic system to manage it. It could be a good idea to balance exploration and exploitation.
  • Before mutating some of the offsprings you can try to check them, and mutating only the worst ones

The code is unfortunately poorly commented but the code itself is readable

Review by Angelica

General impression

I think you have done a good job of finding a solution with the tradeoffs you presented in the readme. Your readme is highly appreciated, and I like that it is thoroughly written.

Small suggestion

  • Some parts of your code could become easier to understand by dividing it into smaller steps with good variable names. For example, I would suggest dividing the line presented below into sublines for a better understaning, perhaps declaring "int(100*len(element)/N" as a varible.
 options.put(PrioritizedSet(int(100*len(element)/N),element))
  • Good use of docstrings and I think it the code could be more easily understandable with some more comments in your search-function.

  • Good idea to implement the weight as percentage of new coverage in each set.

Lab1 review

Hey Lorenzo!
First of all, I want to tell you that I really appreciate the completeness and readability of Readme: it helped me a lot to understand your choices and your implementation.

MAJOR

  • I agree with you about the fact that a greedy strategy could be the best tradeoff between amount of computation time and a reasonable (maybe not optimal) solution, especially with larger values of N. But when you facing the problem for N<=20, other implementations (like A* search) allow us to find an optimal solution without a huge amount of computation.

###MINOR

  • You can try to speed up your search, in general, by removing duplicates of the elements of the initial list of lists, and remove the list who are empty.

Lab 3 peer review Angelica Ferlin

General notes

  • Thoroughly written README and I appreciate the links to the files under each heading.
  • In general, I am inspired by your solutions and think you managed to create good solutions.

Task 3.1

  • I see that you have created agents of different levels but I was wondering if you tried to create an agent with fixed rules that performed better/as well as the pure_random and/or the optimal strategy?

Task 3.2

  • Well done. I am inspired by your solution and think you managed to create a good solution.
  • I like that you are playing your GA against different opponents of different levels.
  • Did you play around with the variables like population_size, generations, etc?
  • Although I tried to run "nim_GA.py" but could not seem to make it work since in line 25 you are calling opponents.cook_data(state) but opponents do not have a function cook_data.

Task 3.3

  • Well done and good that you have improved the basic minmax with the memory, pruning and max_depth. Did you try different max_depth for different Nim_sizes?
  • I like that you have good explanations of your functions and I think it would have been even better with a recommendation for the max_depth for different nim_sizes.

Task 3.4

  • You did not finish the RL agent.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.