aimacode / aima-exercises Goto Github PK
View Code? Open in Web Editor NEWExercises for the book Artificial Intelligence: A Modern Approach
License: Other
Exercises for the book Artificial Intelligence: A Modern Approach
License: Other
Currently, there is no feature for adding user answers for various questions. The user answers can be stored in a separate answers directory alongside the exercise directory and JS can be used for fetching the contents of those answer files using Github API.
I have read the Task 2 from the wiki page. Will submit PR as soon as I get your approval. @Nalinc Thanks!
Describe the issue/requirement in detail
Share your progress (queries, screenshots, suggestions, hurdles) on GSoC 2019 onboarding tasks here. If you face any difficulties, discuss here instead of opening a new issue. Asking questions does not define your intelligence. It reflects your desire to learn and gives the best evidence of understanding. This is what we are looking for in potential GSoC students.
Describe the issue/requirement in detail
@norvig @Nalinc, I have been working on developing a prototype format to display all the exercises of the book on Github Pages.
I have used Angularjs as the client side framework to ensure a single page website. This would mean faster loading and better resource utilization. The template routing of angular components on Github pages, however, is not straightforward, which is why I have worked on using ng-build to modify the base-href.
I have the sample page hosted here.
I have used the markdown files of Introduction chapter to create a sample of the page, I still need to work on the figure links. I have used MathJax (following @Nalinc 's implementation) for the Latex equations and variables.
This is the first prototype that I have created and requires a lot of design work and links. I have spent time realising the best framework to use and the routing method. Please review this and let me know if I am working in the correct direction.
I have a lot of innovative things in mind to ensure that the exercises are interactive for the readers :)
Describe the issue/requirement in detail
The current answers rendered doesn't look nice and UI/UX changes can be done in the same using regular expressions and javascript.
Error 404 pops up when we try to visit exercises of Chapter 18 in Part V which is named as "Learning from Examples" and the concerned folder is "concept-learning-exercises". The issue arises because there is no index file defined in this folder.
Describe the issue/requirement in detail
There is no feature present currently for bookmarking the exercises. A user should be able to bookmark the exercises that he/she likes and see the list of bookmarked questions in a single place.
Describe the issue/requirement in detail
@Nalinc Can i work on this?
Describe the isRequest to get solution for Exercise 'ex_17' in '7-Logical-Agents'sue/requirement in detail
Describe the issue/requirement in detail
There are many conflicts in hosting the github pages with markdown
being in the repository. For ex: In bayes-nets-exercises.md
there are many errors which result in build failing of github pages. I encountered these errors in the bayes-nets-exercises.md
file and I don't know still how many files produce the same errors. I think Jupyter notebooks are way better than markdown files in case of hosting and also with keeping the exercises consitent.
I agree with @norvig as he pointed the disadvantages of notebooks and I'm trying to search for an alternative too. For now I fixed the build errors caused by the markdown files and I will submit a PR soon.
Some exercises are citing papers and external references. To generate meaningful results, it is important that we include the bibliography file while compiling the LaTex files.
Following is an example exercise from search-exercises.tex
.
We gave two simple heuristics for the 8-puzzle: Manhattan distance and misplaced tiles.
Several heuristics in the literature purport to improve on this---see, for example,
\citeA{Nilsson:1971}, \citeA{Mostow+Prieditis:1989}, and \citeA{Hansson+al:1992}.
Test these claims by implementing the heuristics and comparing the performance
of the resulting algorithms.
Based on this, we might also need to decide how to handle bibliographic information and which format to choose while displaying the references.
The current mechanism is fetching the figure of various exercises from @Nalinc 'directory. This dependency can be removed by making new figures folder inside our own repository and fetching the files from there and thus removing the dependency on account of a third-party person.
Describe the issue/requirement in detail
I was going through the codebase and found that there are lots of inconsistencies in jupyter notebook files.
Hello everyone!
I am particularly new to this repository. Wanted to know if there is something I can contribute to in this repository? Also, I have been contributing to aima-python for some time. Thanks
Hi!
I am aspiring to contribute to aima-exercises as a GSoC student. I would like to work on designing a format for exercises, where some solutions can be accessed only by professors, or based on criteria set by professors. The aima-gsoc page also talks about creating a community of volunteers to add new exercise questions and solutions, however, that would require dynamic content. Would that be hosted on Github Pages too? As I understand Github Pages works great only for static content.
I would appreciate any suggestions on where to start contributing.
Referring to this issue on aima-gsoc.
Describe the issue/requirement in detail
Kindly upload solution of this question
Describe the issue/requirement in detail
Hello! Can you please help me with the solution of the wooden railway problem? I would truly appreciate if you could, I really can't find a way to make it work. Thank you so much!
Hey, I see I am very late to join the discussion.
I read all the conversations and issues being discussed over here and felt that using markdown. The next challenge was to separate the styling and the contents of the exercise as suggested by @Nalinc. I would also readily agree with him as thsi would make the code more readable and maintainable.
I decided to go with dynamic rendering of markdown to html is our best bet. This will make it easier for the future contributors to add new pages and exercises. On of the reasons of not opting for Jeykll is that we can easily replace the html/css structure with something more modern like react.js
I loved the way @vishakha-lall implemented the comments section. Though I haven't added this to my demo site yet, this feature is super awesome!
And here's the link to the sample site: https://sdabhi23.github.io/aima-exercise-sample/
Are we ready to pay for a domain name and hosting or we will only use the one provided on github pages? Also if we can split the questions from the tex file and save them to the database (which I am very much sure is possible to implement using some simple python script), making the site interactive will become very much easier!!
We can get sufficient amount of free hosting at hasura, by using their free tier.
@norvig any thoughts on the above mentioned points?
@norvig It will be helpful to convert aima-exercise into a django app
Breadcrumb feature has been removed from the current master but was available in last year's Aima exercise project. This feature is really helpful in navigation and should be added back in the project.
Currently, there is no feature for adding user answers for various questions. The user answers can be stored in a separate answers directory alongside the exercise directory and JS can be used for fetching the contents of those answer files using Github API.
Describe the issue/requirement in detail
Describe the issue/requirement in detail
The team at Kaggle are interested in exploring the possibility that they could host the exercises. There's a quick demo here: https://www.kaggle.com/moconnell/classroom-example-for-peter
Kaggle offers:
If we use this we still have a bunch of the same questions not yet answered:
Describe the issue/requirement in detail
Describe the issue/requirement in detail
Currently, if a user has to submit an answer, he has to visit the Github website and send a new Pull request for the same.
This has two major issues:
Ideally, a person should be able to send/submit his solution to a particular exercise through the website itself by just filling a form.
This can be done with the help of @staticmanapp or @staticmanaima which creates pull requests on users behalf for sending the submitting answers to GitHub repo and automatically merge them if need be.
After that Github Contents API can be used for rendering the submitted answer as it's already in place.
This is demo Website for aima-exercises.
Website
A few ideas:
pandoc
can be used to convert to markdown. Perhaps it won't be perfect and there will need to be some hand-editing.-Or we could put exercises in Jupyter notebooks (see here).
-Each exercise will need a persistent name/number. We'll need a convention for this.
The present master has a button to upvote a question but doesn't work. Please add the upvote feature back as it is really helpful.
Hi @Nalinc I went through the codebase and found that instead of having same repetitive code for Toc, we could go for a single include in the base directory for toc. There are 581 exercises and a total of 61 lines of code per Toc. Therefore if we go for an include file, there would be an easy reduction of 35000 lines of code and will make the codebase easier to understand. I have written a python script to do this job and will send a Pull Request for the same real soon. Let me know your ideas on it so I can proceed with it.
Write Prolog clauses that define the predicate sorted(L), which is true if and only if list L is sorted in ascending order.
Write a Prolog definition for the predicate perm(L,M), which is true if and only if L is a permutation of M.
Define sort(L,M) (M is a sorted version of L) using perm and sorted.
Run sort on longer and longer lists until you lose patience. What is the time complexity of your program?
Write a faster sorting algorithm, such as insertion sort or quicksort, in Prolog.
View Answer
Describe the issue/requirement in detail
First of all, I want to introduce the relevant details:
It can be done using Pandoc
There are some problems associated with Pandoc. It's ignoring few of the important things:-
a) Bold or Italics
b) What to do about the headings? The questions numbers can either be replaced by "a new line" indicating question changed or we can have question numbers. Considering this all will go online, there is no need of putting 11.3 or 11.4. Or is there?
Also, there is this extra info about each question coming up? Should the code be modified to ignore [conformant-flip-exercise] in above image altogether or is it required to be there in Markdown?
Then the part regarding images. Should the images be imported from images folder while conversion from LaTeX to Markdown or it should be linked to be used in the aima-exercises page. (to be made later on)
Finally, whether to use Pandoc or not? Is there a need for different code all together for aima-exercises or should we continue tweaking Pandoc settings?
Search function is not working in the present master branch. Last year's project had a search function for searching questions based on keywords.
Bring back the search feature.
I saw that many people are giving feedbacks to each other including Peter .
So @norvig and anyone , can you give me suggestions ? If the thing is bad then please tell , I will modify it or try some other design or technique .
Describe the issue/requirement in detail
The presence of communityanswer.md files in all the answers directories make it confusing for the user to submit answers and he may by mistake edit the communityanswer.md file instead of creating a new file for his answer. Therefore, we should delete all such files for now and whenever community answer has to be provided, the communityanswer.md file can be made.
Describe the issue/requirement in detail
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.