All Projects → alex-rantos → Project-1-Search-in-Pacman

alex-rantos / Project-1-Search-in-Pacman

Licence: other
Search algorithms(BFS, DFS, UCS, A*) in python.Berkeley Pacman Project 1.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Project-1-Search-in-Pacman

pacwatch
A pacman wrapper which helps you watch important package updates.
Stars: ✭ 24 (+20%)
Mutual labels:  pacman
meta-package-manager
🎁 a wrapper around all package managers
Stars: ✭ 277 (+1285%)
Mutual labels:  pacman
Intelligent Document Finder
Document Search Engine Tool
Stars: ✭ 45 (+125%)
Mutual labels:  search-algorithm
milcheck
Display the status of your pacman mirrorlist and the Arch Linux lastest news right in your terminal
Stars: ✭ 18 (-10%)
Mutual labels:  pacman
monster-avengers
Monster Hunter Armor Searcher
Stars: ✭ 24 (+20%)
Mutual labels:  search-algorithm
antbs
Automated package build and repository management web application.
Stars: ✭ 23 (+15%)
Mutual labels:  pacman
pacbrcade
Pacman museum (PC version) mod for playing Pacman BattleRoyale like it's the arcade version.
Stars: ✭ 32 (+60%)
Mutual labels:  pacman
AIML-Human-Attributes-Detection-with-Facial-Feature-Extraction
This is a Human Attributes Detection program with facial features extraction. It detects facial coordinates using FaceNet model and uses MXNet facial attribute extraction model for extracting 40 types of facial attributes. This solution also detects Emotion, Age and Gender along with facial attributes.
Stars: ✭ 48 (+140%)
Mutual labels:  artificial-intelligence-algorithms
pkgstats-cli
pkgstats client
Stars: ✭ 17 (-15%)
Mutual labels:  pacman
predict-fraud-using-auto-ai
Use AutoAI to detect fraud
Stars: ✭ 27 (+35%)
Mutual labels:  artificial-intelligence-algorithms
merelinux
A lightweight Linux distribution using musl libc, pacman and s6
Stars: ✭ 68 (+240%)
Mutual labels:  pacman
alpm.rs
Rust bindings for libalpm
Stars: ✭ 76 (+280%)
Mutual labels:  pacman
bool-expr-indexer
A fast boolean expression index implementation, especially for RTB ad selection. A Go implementation of the core algorithm in paper <Indexing Boolean Expression>
Stars: ✭ 49 (+145%)
Mutual labels:  search-algorithm
paclabel
A tiny pacman wrapper that makes possible to attach labels to packages.
Stars: ✭ 16 (-20%)
Mutual labels:  pacman
pokerwars.io-starterbot-python
A starter bot written in python for the pokerwars.io platform. To play: pull this code, register on pokerwars.io, get your API token and play!
Stars: ✭ 37 (+85%)
Mutual labels:  artificial-intelligence-algorithms
latplan
LatPlan : A domain-independent, image-based classical planner
Stars: ✭ 73 (+265%)
Mutual labels:  search-algorithm
js-algorithms
Computer science
Stars: ✭ 64 (+220%)
Mutual labels:  search-algorithm
NEAT
NEAT implementation in Pharo
Stars: ✭ 16 (-20%)
Mutual labels:  artificial-intelligence-algorithms
Vision2018
The GeniSys TASS Devices & Applications use Siamese Neural Networks and Triplet Loss to classify known and unknown faces.
Stars: ✭ 17 (-15%)
Mutual labels:  artificial-intelligence-algorithms
pacman
Pacman application coded in C# and tested with NUnit
Stars: ✭ 17 (-15%)
Mutual labels:  pacman

Project : http://ai.berkeley.edu/search.html

Provisional grades


Question q1: 3/3

Question q2: 3/3

Question q3: 3/3

Question q4: 3/3

Question q5: 3/3

Question q6: 3/3

Question q7: 2/4

Question q8: 3/3


Total: 23/25

BFS,DFS,UCS,A*

The above algorithms are implemented so they pass the autograder.py.

So the idea is to check the node if has been visited before.Then you push it to visited list and check if we reached goalState - if not expand children based on algorithm.

Code is fully explained in comments.

Problem 5

I changed my first-implementation of BFS to the one I used for ucs/a* so I can calculate the number of corners I have visited.

Problem 6

In this problem the function of manhattanDistance() from util.py has been used. First @cornersHeuristic we check which corners are left to visit and then we calculate the currentpoint to each corner respectively - all written efficiently and cleanly in a single line of code :: min([(util.manhattanDistance(curPoint, corner), corner) for corner in cornersLeftToVisit])

Problem 7

There are 2 implementations.

First one is an oneliner that gets 2/4 on autograder and returns the length of the foodGrid.In that way each food-node gets an additional cost of how many foods are left. 12517 nodes in ~9sec

Second and faster implementation uses manhattanDistance to calculate the distance between each food and pacman distance.(This one fails autograder.py) 6126 nodes in 3sec

Problem 8

Worked as problem 6.There is no difference between bfs,ucs,astar as far as path cost is concerned. ######NOTE : The old DFS gave a path cost of 514 but the new one that passes the autograder gives a very expensive path of 5324 cost.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].