alanwu.xyz . mirror . codeforces . kaggle . linkedin
halite20's Introduction
halite20's People
halite20's Issues
Advanced mining
Consider multiple factors in mine reward - currently only considers halite and distance.
Example:
controlMap (K-nearest, convolutions)
haliteSpread (DBSCAN, convolutions)
Trap code
Add code to detect if ship can be trapped by opposing ships in the next turn. Also return how to trap ship.
Farming
Leave a minimum halite (tunable parameter) in controlled areas
Doing so by subtracting it from the reward calculation
Speedup + training
Convert for loops to matrix multiplications. Create NN optimizer pipeline. (See core.py - reward based in ship_tasks() and reward.py)
Improved build pipeline
Shipyard spawn heuristics
Better Attacking
Decide:
Aim at killing or aim at disturbing
Former: multiple attackers -> 1 miner
Latter: few attackers -> 1 shipyard
Mining Logic
Shipyard conversion heuristics
Clear workspace
.DS_STORE, .gitignore, .py
only keep source files
Improved task creation
Improved task creation (Consider a “group” of points as one task, attack/control tasks)
Navigation micro improvement
Reduce collisions
- Heuristic when trapped
- Priority adjustment to prevent collisions during crowding
Task assignment to ships
Consider the assignment problem (sub-optimal solutions with faster runtime? Set limits on max tasks, alternating turn task assignment, etc)
Analysis on Optimus Mine Agent
Discuss and analyze its mining strategy
Area Micro
Eg.
- If ship at x halite, and in danger of dying if above x halite at current square, don't mine, but stay in area to attempt control.
- Mark points where after 1 turn, ship could become trapped as blocked in state[ship]['blocked'].
- Account for control when choosing mining positions. (Maybe reinforce contested area before contesting new area?)
- Ship offensive coordination - coordinate multiple ships to surround and trap opponent.
- Base defense - shipyard is able to call nearby ship to defend itself.
Adversarial attack
implement & defend adversarial attacks
use empty ships to interfere with opponents' pathing
Training
ELO fitness
Increased use of weights
Variable step
Account for uniqueness and similarity
Thorough picture for strategy
Big decision tree?
Proper documentation?
Other methods?
Requirement:
- Easy to understand, even for outsiders
- Always be up-to-date
This is very important for communicating thoughts
Shipyard defence
Add feature where one nearby ship will return to shipyard once opponent is coming in for a collision.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.