koaning / sushigo

An OpenAi-like environment for the sushi go card game.
MIT License
3 stars 1 forks source link

Include a licence #10

Closed jklaise closed 5 years ago

jklaise commented 5 years ago

Would it be possible to add a licence to the project (I would recommend either MIT or Apache-2)? I'm thinking of extending the current API to ultimately be able to train multi-agent RL algorithms, but it's tricky to reuse parts of the code without a licence in place. Thanks!

koaning commented 5 years ago

lol, i wasn't even aware that people were using this repo. cool to hear though!

what are your plans exactly? i'm def open to the idea of turning this repo into something that is compatible with gym from OpenAI.

koaning commented 5 years ago

I'll add MIT for now, gotta say: I've not looked at this code for a while.

koaning commented 5 years ago

also ... sushigo [the card game] is great, 'aint it?

koaning commented 5 years ago

you might also be interested in this: https://www.youtube.com/watch?v=KUvB1hqF2OA&t=166s

jklaise commented 5 years ago

@koaning thanks for the quick response! I did also stumble upon your blog post regarding sushi-go earlier.

My interest is in applying reinforcement learning to card/board games and sushi-go was a natural one that came to mind, I was pleased to discover that you've made an engine for the game already.

Regarding api, it might be different for the gym api as gym is designed for single agent environments (open issue on multi-agent environments here: https://github.com/openai/gym/issues/934). For games like this (turned-based, multi-agent, partially observable) it might require a different approach. Ideally (if time permits) I would like to design (or find a good existing implementation) of a general gym-like api for turn based multi-agent games which could work with plug-and-play environments like sushi-go.

koaning commented 5 years ago

you might be interested to hear about ‘evol’ its an evolutionary algotirhms package with support for “contestpopulations”. these are populations where individuals ‘duke it out’ instead of being evaluated against a single metric. this might be a fun avenue.

alternatively, as far as a single individual is concerned, you could imagine that it still feels like the agent talks to a single environment. you merely need to initialize the environment with agents in it.

another benefit of a gym is in the generality. it might be easier for others to try out algorithms and there may also be agents that you can plug and play.

On Wed 16. Jan 2019 at 15:46, Janis Klaise notifications@github.com wrote:

@koaning https://github.com/koaning thanks for the quick response! I did also stumble upon your blog post regarding sushi-go earlier.

My interest is in applying reinforcement learning to card/board games and sushi-go was a natural one that came to mind, I was pleased to discover that you've made an engine for the game already.

Regarding api, it might be different for the gym api as gym is designed for single agent environments (open issue on multi-agent environments here: openai/gym#934 https://github.com/openai/gym/issues/934). For games like this (turned-based, multi-agent, partially observable) it might require a different approach. Ideally (if time permits) I would like to design (or find a good existing implementation) of a general gym-like api for turn based multi-agent games which could work with plug-and-play environments like sushi-go.

— You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub https://github.com/koaning/sushigo/issues/10#issuecomment-454804811, or mute the thread https://github.com/notifications/unsubscribe-auth/AA-Pj_CyKjsGGsdNqjsQwOX284dbp9AYks5vDztSgaJpZM4aC5iR .

--

- Vincent

jklaise commented 5 years ago

@koaning sure, you can always make a multi-agent turn-based game into a single-agent environment by treating the other agents as static and thus part of the environment. It gets tricky if you want to train all agents at once, non-stationary environment and book-keeping become concerns.

Thanks for the heads-up on evol, I was just wondering what is the motivation behind your company releasing this? Looks like a direct competitor to DEAP, although I think when I tried to use DEAP ~3 years ago I couldn't make a simple example work...

koaning commented 5 years ago

its more a hobby project where collegues got interested. my company pays me to do open source sometimes and this is one of iur contributions.

feedback is welcome. tomorrow we have support of parallel processing in the evaluation phase.

On Thu 17. Jan 2019 at 10:31, Janis Klaise notifications@github.com wrote:

@koaning https://github.com/koaning sure, you can always make a multi-agent turn-based game into a single-agent environment by treating the other agents as static and thus part of the environment. It gets tricky if you want to train all agents at once, non-stationary environment and book-keeping become concerns.

Thanks for the heads-up on evol, I was just wondering what is the motivation behind your company releasing this? Looks like a direct competitor to DEAP, although I think when I tried to use DEAP ~3 years ago I couldn't make a simple example work...

— You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub https://github.com/koaning/sushigo/issues/10#issuecomment-455103402, or mute the thread https://github.com/notifications/unsubscribe-auth/AA-Pj5K_bt0G9slDtjtWrUmU3kazX1Dyks5vEELbgaJpZM4aC5iR .

--

- Vincent