{"id":31756642,"url":"https://github.com/nikhil-singla/go-playing-agent","last_synced_at":"2026-05-14T12:32:56.496Z","repository":{"id":315754703,"uuid":"1060720329","full_name":"Nikhil-Singla/go-playing-agent","owner":"Nikhil-Singla","description":"Go Playing AI Agent: A sophisticated artificial intelligence system that plays the strategic board game Go (Weiqi/Baduk) on a 5x5 board. It features the usage of machine learning algorithms, game tree search, and strategic position evaluation.","archived":false,"fork":false,"pushed_at":"2025-09-20T14:39:17.000Z","size":16,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-20T15:26:39.611Z","etag":null,"topics":["academic-project","ai-agent","artificial-intelligence","board-games","deep-learning","game-ai","game-theory","go-game","machine-learning","neural-networks","python","reinforcement-learning","strategic-games","web-hosting"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Nikhil-Singla.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-20T13:06:25.000Z","updated_at":"2025-09-20T14:39:20.000Z","dependencies_parsed_at":"2025-09-20T15:26:42.240Z","dependency_job_id":"2774c86e-d717-448b-9a2a-132adbf10715","html_url":"https://github.com/Nikhil-Singla/go-playing-agent","commit_stats":null,"previous_names":["nikhil-singla/go-playing-agent"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/Nikhil-Singla/go-playing-agent","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nikhil-Singla%2Fgo-playing-agent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nikhil-Singla%2Fgo-playing-agent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nikhil-Singla%2Fgo-playing-agent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nikhil-Singla%2Fgo-playing-agent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nikhil-Singla","download_url":"https://codeload.github.com/Nikhil-Singla/go-playing-agent/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nikhil-Singla%2Fgo-playing-agent/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001981,"owners_count":26083243,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["academic-project","ai-agent","artificial-intelligence","board-games","deep-learning","game-ai","game-theory","go-game","machine-learning","neural-networks","python","reinforcement-learning","strategic-games","web-hosting"],"created_at":"2025-10-09T19:19:31.278Z","updated_at":"2025-10-09T19:19:44.434Z","avatar_url":"https://github.com/Nikhil-Singla.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Go Playing AI Agent\n\n\u003e **An AI system that masters the game of Go on a 5x5 board**\n\n[![Python](https://img.shields.io/badge/Python-3.8+-blue.svg)](https://www.python.org/downloads/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![AI Agent](https://img.shields.io/badge/AI-Game%20Agent-green.svg)](https://github.com/Nikhil-Singla/go-playing-agent)\n[![Algorithm](https://img.shields.io/badge/Algorithm-Minimax%20%2B%20Alpha--Beta-red.svg)](https://en.wikipedia.org/wiki/Alpha%E2%80%93beta_pruning)\n\n## 🏆 **Project Highlights**\n#### **About This Project**\n\nThis project demonstrates **advanced AI programming skills** through a complete implementation of a Go-playing agent that competes intelligently on a 5×5 board. The AI combines classical game theory algorithms with sophisticated heuristic evaluation to make smart decisions in real-time.\n\n#### **What is Go?**\nGo (Weiqi/Baduk) is one of the world's most complex strategy games, famously more challenging than chess. Players alternate placing stones to control territory, with simple rules but profound strategic depth.\n\n#### **Strategy Features**\n- **Tactical Awareness**: Prioritizes tactical objectives (captures/threats)\n- **Multi-Phase Gameplay**: Adapts based on stage - opening/midgame/endgame\n- **Sophisticated Heuristics**: Evaluates position quality holistically\n- **Game Theory**: Implements optimal decision-making\n\n## 🖥️ **Technical Architecture**\n\n#### **Algorithm Implementation**\n- **Minimax with Alpha-Beta Pruning**: Reduces search complexity from O(b^d) to O(b^(d/2))\n- **Dynamic Depth Control**: Adjusts search depth based on game phase and remaining moves\n- **Heuristic Evaluation**: Multi-layered position assessment considering:\n  - Material balance \n  - Positional value\n  - Stone connectivity \n  - Shape quality  \n  - Territory control \n  - Eye formation\n  - Liberty count \n  - Group safety\n\n#### **Game Logic Mastery**\n- **Complete Go Rules Implementation**: Liberty checking, capture resolution, Ko rule\n- **Strategic Pattern Recognition**: Identifies and evaluates Go-specific formations\n- **Board State Management**: Efficient game state tracking and move validation\n\n#### **Performance Optimization**\n- **Targetted Improvement**: Code debugged and optimized using the cProfiler module for better performance\n- **Smart Move Ordering**: Prioritizes center positions for better alpha-beta pruning\n- **Capture Priority**: Immediate tactical evaluation for quick wins\n\n## 📈 **Performance Characteristics**\n\n| Metric | Performance |\n|--------|-------------|\n| **Search Depth** | 3-4 moves ahead (adaptive) |\n| **Move Generation** | \u003c 1 second per move |\n| **Strategic Phases** | 3 distinct playing styles |\n| **Rule Compliance** | 100% Go rule adherence |\n| **Code Quality** | Extensively documented with AI assistance |\n\n- Note: Copilot is used ONLY for DOCUMENTATION purposes. The rest of the code is self-written and implemented.\n- The original code can be viewed by going to the first commit of the file.\n\n## 🔧 **Skills Overview**\n\n- **Algorithms \u0026 AI**: Minimax, Alpha-Beta Pruning, graph-based group analysis, game theory, heuristic evaluation, strategic planning, reinforcement learning, deep learning, neural networks, game AI  \n- **Software Engineering**: Python, clean code, debugging, optimization, file I/O, documentation, academic project design, web hosting compatibility  \n- **Core Strengths**: Strategic thinking, problem solving, AI for strategic games (Go, 5x5 board focus), academic research applications\n\n## 🎯 **Usage**\n\n### **Quick Start**\n```bash\n# Clone the repository\ngit clone https://github.com/Nikhil-Singla/go-playing-agent.git\ncd go-playing-agent\n\n# Open self hosting/ Go to the website \n🚧 **TODO**: This section is under construction. Content will be added soon.\n```\n\n\n## 🚀 **Future Enhancements**\n\n- [ ] **Neural Network Integration**: Replace heuristics with learned evaluation\n- [ ] **Monte Carlo Tree Search**: Implement modern Go AI techniques\n- [ ] **Larger Board Support**: Scale to 9×9, 13×13, and 19×19 boards\n- [ ] **Web Interface**: Browser-based gameplay and visualization\n\n## 🤝 **Connect With Me**\n\n**Nikhil Singla** - AI/Software Engineer\n\n- 💼 **LinkedIn**: [Connect for professional opportunities](https://linkedin.com/in/nikhil-singla)\n- 📧 **Email**: [Reach out for collaborations](mailto:nsingla3.14@gmail.com)\n- 💻 **GitHub**: [@Nikhil-Singla](https://github.com/Nikhil-Singla)\n\n## 🎮 Go Game Rules (5x5 Board)\n\nGo is an ancient strategy game adapted here for a 5x5 board for faster experimentation:\n- **Objective**: Control more stones than your opponent on the board\n- **5x5 Advantage**: Faster games ideal for AI training and analysis\n- **Placement**: Players alternately place stones on intersections\n- **Capture**: Surround opponent stones to remove them\n- **Ko Rule**: Prevents immediate recapture situations\n- **Scoring**: Total stones value\n\n## 📚 References\n\n- [Monte Carlo Tree Search](https://en.wikipedia.org/wiki/Monte_Carlo_tree_search)\n- [Go Rules and Strategy](https://en.wikipedia.org/wiki/Go_(game))\n- [AlphaGo Paper](https://www.nature.com/articles/nature16961)\n\n## 📄 **License**\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikhil-singla%2Fgo-playing-agent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnikhil-singla%2Fgo-playing-agent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikhil-singla%2Fgo-playing-agent/lists"}