Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
227 commits
Select commit Hold shift + click to select a range
63810c6
Probability: Notebook + gibbs_ask test (#653)
antmarakis Oct 28, 2017
96c68a7
add gsoc write-ups (#654)
antmarakis Oct 28, 2017
fd7049d
Fix typo in docstring (#660)
jtrussell Dec 4, 2017
cd784f6
Fixed Key Error bug in CustomMDP (#658)
Dec 4, 2017
0fd2e54
fix typos & grammar (#656)
jonathanGB Dec 4, 2017
f8304e2
Update README.md (#669)
Dragneel7 Dec 20, 2017
7614b29
'>' to '>=' (#668)
antmarakis Dec 20, 2017
28f413f
fix typo for issue#664 (#665)
Dragneel7 Dec 20, 2017
dc4e2fc
Adding Tkinter GUI (#661)
apb7 Dec 20, 2017
69eb1d6
Fixed typo (#675)
aswanipranjal Dec 29, 2017
87f3f56
Adding Tkinter GUI (2) and Visualization in notebook (#670)
apb7 Dec 29, 2017
b6cf600
Adding Tkinter GUI (#677)
apb7 Jan 3, 2018
72f29f5
update genetic algorithm (#676)
antmarakis Jan 3, 2018
6589890
Fix small typo in documentation (#681)
AdityaDaflapurkar Jan 8, 2018
75d3807
Update search.py (#680)
antmarakis Jan 8, 2018
8561c52
Added A*-Search in GUI (#679)
apb7 Jan 8, 2018
09506a8
add Astar heuristics (#685)
Dragneel7 Jan 11, 2018
d8c7992
Add simulated annealing visualisation through TSP (#694)
sagarvijaygupta Jan 22, 2018
b13bb02
Added Decision Tree Learner example to learning.ipynb. (#686)
aswanipranjal Jan 22, 2018
47e6089
Adding Tkinter GUI (#693)
apb7 Jan 22, 2018
ddac0dc
Update PeakFindingProblem code to allow diagonal motion (#684)
AdityaDaflapurkar Jan 26, 2018
1bdbb1e
Visualisation of TSP. (#699)
sagarvijaygupta Jan 26, 2018
130ad4b
Add reset button for XYEnv (#698)
apb7 Jan 26, 2018
b068a56
Solve Issue of Loading search.ipynb (#689)
Dragneel7 Jan 26, 2018
7c5bcdd
Fixed issue #700 (#701)
Rishav1 Jan 29, 2018
0a0d646
Explanation of genetic algorithm functions with an example. Fixed #69…
ad71 Feb 6, 2018
a690882
added Best First search in search.ipynb (#708)
nvinayvarma189 Feb 6, 2018
cf23e5c
Adding algorithm selection menu for TSP (#706)
ad71 Feb 6, 2018
685e8d8
added function to implement uniform crossover (#704)
ad71 Feb 6, 2018
0390d06
Updated move dictionary (#715)
ad71 Feb 9, 2018
a643323
improved search.ipynb (#716)
nvinayvarma189 Feb 9, 2018
485c94f
Added GridMDP editor to create and solve grid-world problems (Closes …
ad71 Feb 12, 2018
beaea67
modify AC3 algorithm (#717)
nvinayvarma189 Feb 12, 2018
504c34e
Add vacuum_world.ipynb (#721)
apb7 Feb 12, 2018
74dff56
Add explanation for Simple Problem Solving Agent (#724)
apb7 Feb 12, 2018
d4520ca
Added more tests for mdp.py (#722)
ad71 Feb 12, 2018
9ccc092
Update vacuum_world.ipynb (#725)
antmarakis Feb 12, 2018
af50f30
Adaboost example (#739)
aswanipranjal Feb 23, 2018
ce8a098
Enhanced mdp notebook (#743)
ad71 Feb 23, 2018
2c90244
Update search.ipynb (#726)
antmarakis Feb 23, 2018
3c56362
Fix EightPuzzle class implementation in search.py (#710) (#733)
SasankYadati Feb 23, 2018
25e4193
Modified table for TableDrivenVacuumAgent (#738)
apb7 Feb 23, 2018
516eff0
Enhanced explanation of value iteration (#736)
ad71 Feb 23, 2018
a6edaa1
Minor enhancement to grid_mdp editor (#734)
ad71 Feb 23, 2018
195708d
Fix #731: Add table and tests for TableDrivenVacuumAgent (#732)
apb7 Feb 23, 2018
8dbf924
Update text.py (#740)
antmarakis Feb 23, 2018
3092089
Fix #741: Add learning agent to vacuum_world.ipynb (#742)
apb7 Feb 23, 2018
eae217b
Learning: Neural Net Test + Minor Styling Fix (#746)
antmarakis Feb 23, 2018
06af67e
Fix various typos. (#750)
roberthoenig Feb 23, 2018
ae4f1cf
Added tests for information_content (#753)
ayushjain19 Feb 23, 2018
1e96cd1
Added Node in search.ipynb (#761)
SkAdilina Feb 23, 2018
35c9673
fixing build
antmarakis Feb 23, 2018
c67fb65
Update README.md (#767)
antmarakis Feb 24, 2018
1b65fec
Minor update in search.ipynb (#763)
SkAdilina Feb 24, 2018
4f6c716
Update nlp_apps.ipynb (#764)
antmarakis Feb 24, 2018
7d3c37b
Updated README.md (#771)
ad71 Feb 25, 2018
ac04a20
Update SUBMODULE.md
antmarakis Feb 25, 2018
6cac365
added Done tag for adaboost (#774)
aswanipranjal Feb 26, 2018
f5d4793
csp.ipynb: removed some typos (#769)
salonigupta63 Feb 26, 2018
84586ce
Update README.md
antmarakis Feb 26, 2018
c7fff61
Add test for table_driven_agent_program and Random_agent_program (#770)
nouman-10 Feb 27, 2018
5f72783
Update README.md (#773)
antmarakis Feb 27, 2018
657a511
Fixed typos and added inline LaTeX to mdp.ipynb (#776)
bakerwho Feb 27, 2018
5285177
Added mdp_apps notebook (#778)
ad71 Feb 27, 2018
751a286
Minor fix in typo (#779)
alanoli Feb 27, 2018
cc2d405
Minor typos (#780)
nouman-10 Feb 27, 2018
7e763e6
Added TableDrivenAgentProgram tests (#777)
ayushjain19 Feb 28, 2018
d1f162b
Enhanced mdp_apps notebook (#782)
ad71 Mar 1, 2018
d6a175c
Backgammon implementation (#783)
AdityaDaflapurkar Mar 2, 2018
2e2cd77
Added section on Hill Climbing (#787)
ad71 Mar 2, 2018
3f88880
Added test for simpleProblemSolvingAgentProgram (#784)
nouman-10 Mar 2, 2018
f44631d
Fix MDP class and add POMDP subclass and notebook (#781)
bakerwho Mar 2, 2018
18f3937
Ignoring .DS_Store for macOS (#788)
bakerwho Mar 2, 2018
49dee46
Removed a repeating cell (#789)
nvinayvarma189 Mar 2, 2018
efeeaf5
Updated index (#790)
ad71 Mar 2, 2018
086d4a4
Updated README.md (#794)
ad71 Mar 3, 2018
5b9fb0c
Replace Point class with dict (#798)
AdityaDaflapurkar Mar 3, 2018
cae3d01
Add to rl module (#799)
bakerwho Mar 4, 2018
a6c7b57
Added tt-entails explanation (#793)
ad71 Mar 4, 2018
53edb7c
Added simple problem solving agent in search.ipynb (#795)
nouman-10 Mar 4, 2018
da7b85b
Update README.md (#796)
nouman-10 Mar 4, 2018
fb71dc4
Resolved merge conflicts in mdp.ipynb (#801)
ad71 Mar 4, 2018
007e2d7
Added to-cnf (#802)
ad71 Mar 5, 2018
d4877cd
Update CONTRIBUTING.md (#806)
antmarakis Mar 5, 2018
1ba1aed
Remove commented codes in agents.ipynb (#805)
seenivasanseeni Mar 5, 2018
a8ccb30
Minor formatting issues (#832)
ad71 Mar 9, 2018
aa6664f
Add injection
norvig Mar 9, 2018
4cc3509
styling and several bug fixes in learning.py (#831)
goswami-rahul Mar 10, 2018
c908058
Added DPLL and WalkSAT sections (#823)
ad71 Mar 10, 2018
0cd0612
Added test for SimpleReflexAgentProgram (#808)
nouman-10 Mar 13, 2018
dc16a97
Move viz code + changes to search (#812)
bakerwho Mar 13, 2018
14a704b
Added air_cargo to planning.ipynb (#835)
nouman-10 Mar 14, 2018
80c48c8
fixed all instances of issue #833 (#843)
goswami-rahul Mar 14, 2018
e3270d0
Added min-conflicts section (#841)
ad71 Mar 14, 2018
fea29d1
Rewrote parts of search.ipynb (#809)
bakerwho Mar 14, 2018
e245a64
Added pl-fc-entails section (#818)
ad71 Mar 14, 2018
49adcdb
Implemented HybridWumpusAgent (#842)
kunwar31 Mar 15, 2018
c13408d
Forward-Backward examples added to the probability.ipynb. Fixes issue…
Dimkoim Mar 15, 2018
fa7440f
Add test for TableDrivenAgentProgram. (#749)
roberthoenig Mar 15, 2018
11cc2cc
Refactored EightPuzzle class (#807)
ad71 Mar 15, 2018
651cf66
Changed plotting function for NQueensCSP (#847)
ad71 Mar 15, 2018
2f6ee0b
Refactored N-Queens problem (#848)
ad71 Mar 15, 2018
9c6eb1c
Fix various issues in backgammon and expectiminimax (#849)
AdityaDaflapurkar Mar 15, 2018
f7d6bc5
Added missing tests (#854)
ad71 Mar 17, 2018
ccd620d
Added Random Forest Learner in learning.ipynb (#855)
CharuChhimpa Mar 17, 2018
d30f77d
Added sections on learning.ipynb (#851)
nouman-10 Mar 17, 2018
1316522
Updated README.md (#864)
ad71 Mar 19, 2018
96e4a9a
Added missing execution_count (#867)
ad71 Mar 19, 2018
d7d0854
updated vacuum_world.ipynb (#869)
snigdharao28 Mar 20, 2018
b25887b
Assemble all backgammon code in a single class (#868)
AdityaDaflapurkar Mar 20, 2018
74a3667
Added Simulated Annealing to search notebook (#866)
ad71 Mar 20, 2018
b5c0d78
Refactored WumpusKB and HybridWumpusAgent to use Expr obejcts (#862)
kunwar31 Mar 20, 2018
9906b7a
Added gui version for eight_puzzle (#861)
ad71 Mar 20, 2018
954f50c
Added SATPlan to logic.ipynb (#857)
nouman-10 Mar 20, 2018
92710c5
Removed all Rule mechanism (#859)
nouman-10 Mar 20, 2018
3958ae1
Correction in the formula for mean square error (#850)
krishnaw14 Mar 20, 2018
d1ea3fe
added min_consistent_det to knowledge.ipynb (#860)
nouman-10 Mar 21, 2018
8a26b28
Added function and test cases for cross-entropy loss (#853)
krishnaw14 Mar 21, 2018
3e790e9
Added test case for CYK_parse (#816)
vaish-sharma Mar 21, 2018
ba35aa4
refactored FIFOQueue, Stack, and PriorityQueue (#878)
goswami-rahul Mar 24, 2018
bf5b8dc
Added Depth Limited Search in search.ipynb (#876)
CharuChhimpa Mar 24, 2018
58f663a
Implemented plan_route and plan_shot (#872)
kunwar31 Mar 24, 2018
62080b6
add federalist papers classification (#887)
antmarakis Mar 24, 2018
ab2377b
Update nlp_apps.ipynb (#888)
antmarakis Mar 25, 2018
bc81463
Added ensemble learner (#884)
CharuChhimpa Mar 25, 2018
de3175d
Added Iterative deepening search in search.ipynb (#879)
CharuChhimpa Mar 25, 2018
9512277
Added linear learner (#889)
CharuChhimpa Mar 25, 2018
dbcc989
Renaming image (#900)
antmarakis Apr 1, 2018
23e64aa
Fixed errors occurred in search.ipynb due to refactoring (#902)
nvinayvarma189 Apr 8, 2018
5dee9c1
added have_cake_and_eat_cake_too (#906)
nvinayvarma189 Apr 8, 2018
769fb74
Add play_game function and fix backgammon game play issues (#904)
AdityaDaflapurkar Apr 9, 2018
5889656
Fixed errors in notebooks (#910)
nvinayvarma189 Apr 15, 2018
c4c1bdc
[WIP] Refactor planning.py (#921)
ad71 May 10, 2018
aba4854
Removed append (#920)
ad71 May 11, 2018
8debcd8
Fixes problems in mdp.py (#918)
ad71 May 11, 2018
51299b2
comment in method alphabeta_search (#914)
qu-tan-um May 11, 2018
c65ac4e
Include stochastic game class and generic expectiminimax (#916)
AdityaDaflapurkar May 11, 2018
2207127
Minor update to planning.py (#923)
ad71 May 15, 2018
81d1493
Minor refactor on a variable name (#925)
D-K-E May 23, 2018
9c7b975
Minor refactors (#924)
ad71 May 23, 2018
6e2ea3e
Added Logarithmic Naive Bayes Learner. (#928)
dsaw Jun 22, 2018
68327a8
Added PartialOrderPlanner (#927)
ad71 Jul 11, 2018
4f1eb25
Added POMDP-value-iteration (#929)
ad71 Jul 11, 2018
8b25f54
Information Gathering Agent and probability notebook update (#931)
ad71 Jul 11, 2018
d3fe18e
minor spacing
antmarakis Jul 15, 2018
bf3bdf8
more minor spacing
antmarakis Jul 18, 2018
1c4d322
Angelic_search (#940)
MariannaSpyrakou Jul 22, 2018
55cc39d
Hierarchical (#943)
MariannaSpyrakou Jul 27, 2018
7140ac1
Updated the status of angelic_search and hierarchical_search.
delaray Jul 27, 2018
0c222e1
Notebook updates (#942)
ad71 Aug 2, 2018
48bd2f7
Search notebook update (#933)
ad71 Aug 2, 2018
8357431
Foil (#946)
MariannaSpyrakou Aug 8, 2018
4c7e110
Updated FOIL entry.
delaray Aug 9, 2018
27fa6ee
Minor modifications in planning_angelic_search.ipynb and knowledge_FO…
MariannaSpyrakou Aug 12, 2018
c557cde
added matplotlib to requirements.txt
norvig Aug 27, 2018
5765b93
Update requirements.txt
norvig Aug 27, 2018
ce6624e
Update requirements.txt
norvig Aug 27, 2018
c171064
Update requirements.txt
norvig Aug 27, 2018
e168461
Logic notebook update (#932)
ad71 Aug 30, 2018
ff0872f
Update README.md
antmarakis Sep 3, 2018
5941427
Remove unnecessary goal test in search.py (#953)
Casuso Sep 17, 2018
6295960
Minor Changes in Text (#955)
mkhalid1 Sep 18, 2018
8a6cb3d
Minor text change (#957)
mkhalid1 Sep 19, 2018
a28bf5a
Minor change in text (#956)
mkhalid1 Sep 19, 2018
3a83335
Added relu Activation (#960)
nouman-10 Sep 19, 2018
62f7d67
Changes in texts (#959)
mkhalid1 Sep 19, 2018
eee83f6
Change PriorityQueue expansion (#962)
D-K-E Sep 28, 2018
39d2cf6
added GSoC 2018 contributors
antmarakis Oct 1, 2018
0876fbe
Revamped the notebook (#963)
mkhalid1 Oct 1, 2018
46caa5e
Text Changes + Colored Table (#964)
mkhalid1 Oct 2, 2018
2d78c1f
Fixed typos (#970)
mkhalid1 Oct 4, 2018
1584933
Fixed Typos (#971)
mkhalid1 Oct 4, 2018
a99dfff
Update intro.ipynb (#969)
mkhalid1 Oct 4, 2018
4378fb2
Added activation functions (#968)
nouman-10 Oct 4, 2018
59fa07c
Updated label_queen_conflicts function (#967)
mkhalid1 Oct 4, 2018
152e5b0
Removed the Assignment of a variable to itself (#976)
ParthS007 Oct 21, 2018
bcff437
activate pruning inside `forward_checking` (#975)
mbutterick Oct 21, 2018
c16bb8b
Fixed #972 (#973)
ad71 Oct 21, 2018
da03ab3
usa missing AZ (Arizona) as neighbor to NM (new mexico) (#977)
kjacks21 Nov 21, 2018
df236b8
Added more examples (#979)
nouman-10 Nov 21, 2018
4eebaca
Fixed small errors (#987)
SandersLin Nov 30, 2018
a790f5b
fixing broken links
antmarakis Dec 16, 2018
5b0485d
solved a typo in nlp.ipynb (#993)
thesagarsehgal Dec 18, 2018
19d8a49
updating submodule (#994)
antmarakis Dec 18, 2018
fb9b85a
Fix typos for Wupus agent (#999)
kunwar31 Dec 22, 2018
6c7920e
Grammar and typo fixes in logic notebook (#1002)
dsaw Dec 26, 2018
c754f17
Update utils.py
norvig Jan 6, 2019
526e977
fixed typo
antmarakis Jan 6, 2019
25c2a9b
some typos in agents file (#1008)
thesagarsehgal Jan 19, 2019
4fd3ef5
some typos in utils.py (#1017)
thesagarsehgal Jan 25, 2019
264d969
Added some test cases to first function in utils.py (#1016)
thesagarsehgal Jan 30, 2019
06d690d
Updated the count function in utils.py (#1013)
thesagarsehgal Jan 30, 2019
44ea2ee
Updated the sequence function and added test cases (#1012)
thesagarsehgal Jan 30, 2019
3617650
update in multimap function in utils.py and added test for it (#1014)
thesagarsehgal Jan 31, 2019
39ae1c7
necessary change in learning.py file (#1011)
ashishgit7 Feb 1, 2019
792e7c2
Fixed a typo in README (pl_fc_entails) (#1022)
crunchiness Feb 1, 2019
0479cf2
Shuffling data before k-fold loop in cross validation. (#1028)
uchihabloodline Feb 12, 2019
11d87a5
Rename search-4e.ipynb to obsolete-search-4e.ipynb
norvig Feb 14, 2019
a9502d5
Add files via upload
norvig Feb 14, 2019
1312393
Add files via upload
norvig Feb 14, 2019
e9033cf
Add files via upload
norvig Feb 14, 2019
4b2c657
Add files via upload
norvig Feb 21, 2019
269786c
Add files via upload
norvig Feb 28, 2019
9f66fe6
some optimizations in knowledge.py (#1034)
thesagarsehgal Mar 3, 2019
9389c38
Add files via upload
norvig Mar 5, 2019
a4c4c46
Update in `NeuralNetLearner` function in `learnign.py` (#1019)
thesagarsehgal Mar 5, 2019
45f3a61
Install dependencies from `requirements.txt` missing in `README.md` (…
thesagarsehgal Mar 10, 2019
3b0faac
typo
antmarakis Mar 10, 2019
fb57e95
Reworked PriorityQueue and Added Tests (#1025)
rajatjain1997 Mar 15, 2019
5e5b51c
closing the old cell window (#996)
thesagarsehgal Mar 15, 2019
142e108
Add files via upload
norvig Mar 26, 2019
7892bea
changed queue to set in AC3 (#1051)
dmeoli Mar 28, 2019
6f15861
Rework agents.ipynb (#1031)
rajatjain1997 Mar 29, 2019
ef0efa1
The function truncated_svd() should not return negative singular valu…
mikhail-j Apr 2, 2019
33f6c1b
Added test cases for agents.py (#1057)
rajatjain1997 Apr 2, 2019
1a2fc32
Updates and changes required in CONTRIBUTING.md (#1055)
chashiv Apr 2, 2019
bce45f8
Update CONTRIBUTING.md (#1063)
dshahid380 Apr 9, 2019
d8616d0
Improvement in train_test_split function (#1067)
dshahid380 Apr 12, 2019
17bcde1
style fixes
antmarakis Apr 13, 2019
dd17371
added necessary and unique tests (#1071)
ashishgit7 Apr 15, 2019
cd6e65d
Add files via upload
norvig Apr 17, 2019
c82fddc
Update test_csp.py (issue #287) (#1073)
JaakTepandi Apr 18, 2019
28504f6
added text classification in nlp_apps (#1043)
thesagarsehgal May 9, 2019
9c6eda3
Update learning.py
antmarakis Jun 4, 2019
1bd7519
Bruyang (#1075)
bruceyoungsysu Jun 5, 2019
e8f462f
Added coverage report generation to Travis (#1058)
rajatjain1997 Jun 5, 2019
16b2693
added class Tfidf (#1054)
ashishgit7 Jun 5, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[report]
omit =
tests/*
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ nosetests.xml
coverage.xml
*,cover
.hypothesis/
*.pytest_cache

# Translations
*.mo
Expand All @@ -70,3 +71,8 @@ target/

# dotenv
.env
.idea

# for macOS
.DS_Store
._.DS_Store
7 changes: 6 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,14 @@ install:
- pip install flake8
- pip install ipython
- pip install matplotlib
- pip install networkx
- pip install ipywidgets
- pip install Pillow
- pip install pytest-cov
- pip install ipythonblocks

script:
- py.test
- py.test --cov=./
- python -m doctest -v *.py

after_success:
Expand Down
51 changes: 10 additions & 41 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
How to Contribute to aima-python
==========================

Thanks for considering contributing to `aima-python`! Whether you are an aspiring [Google Summer of Code](https://summerofcode.withgoogle.com/organizations/5663121491361792/) student, or an independent contributor, here is a guide on how you can help.
Thanks for considering contributing to `aima-python`! Whether you are an aspiring [Google Summer of Code](https://summerofcode.withgoogle.com/organizations/5431334980288512/) student, or an independent contributor, here is a guide on how you can help.

The main ways you can contribute to the repository are the following:
First of all, you can read these write-ups from past GSoC students to get an idea about what you can do for the project. [Chipe1](https://github.com/aimacode/aima-python/issues/641) - [MrDupin](https://github.com/aimacode/aima-python/issues/632)

In general, the main ways you can contribute to the repository are the following:

1. Implement algorithms from the [list of algorithms](https://github.com/aimacode/aima-python/blob/master/README.md#index-of-algorithms).
1. Add tests for algorithms that are missing them (you can also add more tests to algorithms that already have some).
1. Add tests for algorithms.
1. Take care of [issues](https://github.com/aimacode/aima-python/issues).
1. Write on the notebooks (`.ipynb` files).
1. Add and edit documentation (the docstrings in `.py` files).
Expand All @@ -19,20 +21,16 @@ In more detail:
- Look at the [issues](https://github.com/aimacode/aima-python/issues) and pick one to work on.
- One of the issues is that some algorithms are missing from the [list of algorithms](https://github.com/aimacode/aima-python/blob/master/README.md#index-of-algorithms) and that some don't have tests.

## Port to Python 3; Pythonic Idioms; py.test
## Port to Python 3; Pythonic Idioms

- Check for common problems in [porting to Python 3](http://python3porting.com/problems.html), such as: `print` is now a function; `range` and `map` and other functions no longer produce `list`s; objects of different types can no longer be compared with `<`; strings are now Unicode; it would be nice to move `%` string formating to `.format`; there is a new `next` function for generators; integer division now returns a float; we can now use set literals.
- Check for common problems in [porting to Python 3](http://python3porting.com/problems.html), such as: `print` is now a function; `range` and `map` and other functions no longer produce `list`; objects of different types can no longer be compared with `<`; strings are now Unicode; it would be nice to move `%` string formatting to `.format`; there is a new `next` function for generators; integer division now returns a float; we can now use set literals.
- Replace old Lisp-based idioms with proper Python idioms. For example, we have many functions that were taken directly from Common Lisp, such as the `every` function: `every(callable, items)` returns true if every element of `items` is callable. This is good Lisp style, but good Python style would be to use `all` and a generator expression: `all(callable(f) for f in items)`. Eventually, fix all calls to these legacy Lisp functions and then remove the functions.
- Add more tests in `test_*.py` files. Strive for terseness; it is ok to group multiple asserts into one `def test_something():` function. Move most tests to `test_*.py`, but it is fine to have a single `doctest` example in the docstring of a function in the `.py` file, if the purpose of the doctest is to explain how to use the function, rather than test the implementation.

## New and Improved Algorithms

- Implement functions that were in the third edition of the book but were not yet implemented in the code. Check the [list of pseudocode algorithms (pdf)](https://github.com/aimacode/pseudocode/blob/master/aima3e-algorithms.pdf) to see what's missing.
- As we finish chapters for the new fourth edition, we will share the new pseudocode in the [`aima-pseudocode`](https://github.com/aimacode/aima-pseudocode) repository, and describe what changes are necessary.
We hope to have an `algorithm-name.md` file for each algorithm, eventually; it would be great if contributors could add some for the existing algorithms.
- Give examples of how to use the code in the `.ipynb` files.

We still support a legacy branch, `aima3python2` (for the third edition of the textbook and for Python 2 code).

## Jupyter Notebooks

Expand Down Expand Up @@ -67,21 +65,12 @@ a one-line docstring suffices. It is rarely necessary to list what each argument
- At some point I may add [Pep 484](https://www.python.org/dev/peps/pep-0484/) type annotations, but I think I'll hold off for now;
I want to get more experience with them, and some people may still be in Python 3.4.


Contributing a Patch
====================

1. Submit an issue describing your proposed change to the repo in question (or work on an existing issue).
1. The repo owner will respond to your issue promptly.
1. Fork the desired repo, develop and test your code changes.
1. Submit a pull request.

Reporting Issues
================

- Under which versions of Python does this happen?

- Provide an example of the issue occuring.
- Provide an example of the issue occurring.

- Is anybody working on this?

Expand All @@ -95,28 +84,8 @@ Patch Rules
without your patch.

- Follow the style guidelines described above.

Running the Test-Suite
=====================

The minimal requirement for running the testsuite is ``py.test``. You can
install it with:

pip install pytest

Clone this repository:

git clone https://github.com/aimacode/aima-python.git

Fetch the aima-data submodule:

cd aima-python
git submodule init
git submodule update

Then you can run the testsuite from the `aima-python` or `tests` directory with:

py.test
- Refer the issue you have fixed.
- Explain in brief what changes you have made with affected files name.

# Choice of Programming Languages

Expand Down
Loading