/aima-scala

Implementation of algorithms from "Artificial Intelligence: A Modern Approach 3rd Ed" in Scala

Primary LanguageScala

Book Website: http://aima.cs.berkeley.edu/

Fig Name(In Book) Code
2 Environment [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/basic/Environment.scala Environment]
2.1 Agent [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/basic/Agent.scala Agent]
2.3 Table-Driven-Vacuum-Agent [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/basic/VacuumWorld.scala TableDrivenVacuumAgent]
2.7 Table-Driven-Agent [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/basic/Agent.scala TableDrivenAgent]
2.8 Reflex-Vacuum-Agent [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/basic/VacuumWorld.scala ReflexVacuumAgent]
2.10 Simple-Reflex-Agent [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/basic/Agent.scala SimpleReflexAgent]
2.12 Model-Based-Reflex-Agent [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/basic/Agent.scala ModelBasedReflexAgent]
3 Problem [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/search/Problem.scala Problem]
3.1 Simple-Problem-Solving-Agent --
3.2 Romania [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/search/RomaniaMapFactory.scala RomaniaMapFactory]
3.7 Tree-Search [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/search/uninformed/UninformedSearch.scala TreeSearch]
3.7 Graph-Search [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/search/uninformed/UninformedSearch.scala GraphSearch]
3.10 Node [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/search/Node.scala Node]
3 Queue [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/search/Queue.scala Queue]
3.11 Breadth-First-Search [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/search/uninformed/UninformedSearch.scala BreadthFirst{Tree/Graph}Search]
3.14 Uniform-Cost-Search [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/search/uninformed/UninformedSearch.scala UniformCostSearch]
3 Depth-First-Search [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/search/uninformed/UninformedSearch.scala DepthFirst{Tree/Graph}Search]
3.17 Depth-Limited-Search [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/search/uninformed/UninformedSearch.scala DepthLimitedSearch]
3.18 Iterative-Deepening-Search [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/search/uninformed/UninformedSearch.scala IterativeDeepeningSearch]
3 Greedy-Best-First-Search [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/search/informed/InformedSearch.scala GreedyBestFirstSearch]
3 A{{{*}}}-Search [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/search/informed/InformedSearch.scala AStarSearch]
3.26 Recursive-Best-First-Search [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/search/informed/InformedSearch.scala RecursiveBestFirstSearch]
4.2 Hill-Climbing [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/search/local/LocalSearch.scala HillClimbingSearch ]
4.5 Simulated-Annealing [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/search/local/LocalSearch.scala SimulatedAnnealingSearch ]
4.8 Genetic-Algorithm [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/search/local/LocalSearch.scala GeneticAlgorithm ]
4.11 And-Or-Graph-Search [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/search/local/AndOrGraphSearch.scala AndOrGraphSearch ]
4 Online-Search-Problem [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/search/Problem.scala OnlineSearchProblem ]
4.21 Online-DFS-Agent [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/search/online/OnlineSearches.scala OnlineDFS]
4.24 LRTA{{{*}}}-Agent [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/search/online/OnlineSearches.scala LRTAStar]
5.3 Minimax-Decision [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/search/adversarial/AdversarialSearch.scala MinimaxDecision ]
5.7 Alpha-Beta-Search [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/search/adversarial/AdversarialSearch.scala AlphaBetaSearch ]
6 CSP [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/search/csp/CSP.scala CSP]
6.3 AC3 [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/search/csp/CspSolver.scala Inference.AC3]
6.5 Backtracking-Search [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/search/csp/CspSolver.scala BacktrackingSearch]
6.8 Min-Conflicts [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/search/csp/CspSolver.scala MinConflicts]
6.11 Tree-CSP-Solver [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/search/csp/CspSolver.scala TreeCspSolver]
7 Knowledge Base [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/logic/propositional/KnowledgeBase.scala KnowledgeBase]
7.1 KB-Agent --
7.7 Propositional-Logic-Sentence [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/logic/propositional/PropositionalLogicGrammar.scala Sentence]
7.10 TT-Entails [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/logic/propositional/EntailmentAlgorithms.scala TTEntails]
7 Convert-To-CNF [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/logic/propositional/CNFGrammar.scala SentenceToCNF]
7.12 PL-Resolution [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/logic/propositional/EntailmentAlgorithms.scala PLResolution]
7.15 PL-FC-Entails? [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/logic/propositional/EntailmentAlgorithms.scala PLFCEntails]
7.17 DPLL-Satisfiable? [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/logic/propositional/EntailmentAlgorithms.scala DPLLSatisfiable]
7.18 WalkSAT [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/logic/propositional/EntailmentAlgorithms.scala WalkSat]
7.20 Hybrid-Wumpus-Agent --
7.22 SATPlan --
9 Subst [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/logic/fol/FOLUtils.scala Subst]
9.1 Unify [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/logic/fol/FOLUtils.scala Unify]
9.3 FOL-FC-Ask [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/logic/fol/FOLInferences.scala FOLFCAsk]
9.3 FOL-BC-Ask [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/logic/fol/FOLInferences.scala FOLBCAsk]
9 CNF [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/logic/fol/SentenceToCNFConverter.scala SentenceToCNF]
9 FOL-FC-Ask [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/logic/fol/FOLInferences.scala FOLResolution]
10.9 Graph-Plan [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/planning/classical/GraphPlan.scala GraphPlan]
11.5 Hierarchical-Search --
11.8 Angelic-Search --
13.1 DT-Agent --
14.9 Enumeration-Ask [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/uncertainty/InferenceAlgorithms.scala EnumerationAsk]
14.11 Elimination-Ask [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/uncertainty/InferenceAlgorithms.scala EliminationAsk]
14.13 Prior-Sample [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/uncertainty/InferenceAlgorithms.scala PriorSample]
14.14 Rejection-Sampling [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/uncertainty/InferenceAlgorithms.scala RejectionSampling]
14.15 Likelihood-Weighting [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/uncertainty/InferenceAlgorithms.scala LikelihoodWeighting]
14.16 GIBBS-Ask [https://github.com/himanshug/aima-scala/tree/master/src/main/scala/aima/uncertainty/InferenceAlgorithms.scala GibbsAsk]

Note: This code was written using scala version 2.9.1 .