Code for homeworks and final project in which I implemented AI algorithms. The code is located in:
hw1/
: depth-first, breadth-first, uniform-cost and A* search, modifiedsearch.py
andsearchAgents.py
;hw2/
: minimax, expectimax and alpha-beta pruning, modifiedgame.py
,multiAgents.py
,pacman.py
andutil.py
;hw3/
: Markov decision processes, value iteration and Q-learning, modifiedanalysis.py
,qLearningAgents.py
, andvalueIterationAgents.py
;hw4/
: Bayes nets, modifiedbustersAgents.py
andinference.py
; andproject/
: naive Bayes, RELIEF and chi-square scores, main code located under directorydefender/overwatch/
inmodels.py
,util.py
,management/commands/loadnsdump.py
andmanagement/commands/bayes.py
.
Code for cumulative homeworks where I and two partners implemented portions of a simple operating system. The code we modified is located in four directories under the directory src/
:
threads/
: threads and scheduling, modifiedthread.c
andthread.h
;userprog/
: user programs and system calls, modifiedprocess.c
,process.h
andsyscall.c
;vm/
: virtual memory and paging, modifiedframe.c
,frame.h
,page.c
,page.h
,swap.c
andswap.h
; andfilesys/
: file system, modifiedcache.c
,cache.h
,directory.c
,directory.h
,filesys.c
,filesys.h
,free-map.c
,free-map.h
,inode.c
andinode.h
.
Code for homeworks in which I implemented NLP algorithms. The code is located in:
hw1/
: finite state machines;hw2/
: context-free grammars; andhw3/
: context-free parsing and machine translation.
Code for homeworks in which I implemented machine learning algorithms. The code is located in:
hw1/
: linear regression (housing_regression.py
) and learning trees (housing_tree.py
);hw2/
: neural networks (neural.py
), perceptron (perceptron.py
) and gradient descent (regress.py
);hw3/
: naive Bayes (bayes.py
), expectation maximization (em.py
) and Gaussian discriminant analysis (gda.py
);hw4/
: active learning (al.py
), adaptive boosting (adaboost.py
) and gradient boosting (gradient_boosting.py
);hw5/
: error-correcting output codes (ecoc.py
), Haar-like features (haar.py
) and principle component analysis (pca.py
);hw6/
: support vector machines (svm.py
); andhw7/
: k-nearest neighbors (knn.py
) and RELIEF (relief.py
).
Code homeworks in which I implemented data mining techniques. The code is located in:
hw1/
: linear regression (regress.py
);hw2/
: k-nearest neighbors (knn.py
);hw3/
: k-means (kmeans.py
); andhw4/
: feature selection with the filter (filter.py
) and wrapper (wrapper.py
) methods.
Code homeworks in which I implemented programs for analyzing large data sets in parallel. The code is located in:
hw1/
: analyzing atmospheric data using Java threads;hw2/
: analyzing atmospheric data using MapReduce;hw3/
: implementing the PageRank algorithm using MapReduce;hw4/
: implementing the PageRank algorithm using Spark; andhw5/
: implementing the PageRank algorithm in Spark using matrix multiplication.