Esta é uma questão de acompanhamento para Código disponível para soluções de computação para algoritmos de correspondência? .
Na pergunta acima, obtive ótimas respostas, mas todas foram para R
.
Agora estou programando uma experiência de laboratório em otree , o que significa que estou trabalhando com o Python.
É bastante fácil encontrar código em python
resolvendo problemas de correspondência usando o mecanismo de Aceitação Adiada, mas me perguntei se alguém sabia python
código para alguns dos outros mecanismos comuns na literatura. Especificamente, estou procurando python
código para
- O mecanismo de Boston (aka. Aceitação imediata)
- O algoritmo do ciclo de top-trading
No melhor dos mundos, esses códigos
- Ser compatível com o modelo de escolha da escola (ou seja, um problema de correspondência de muitos para um em que os agentes de um lado do "mercado" podem ser adaptados a muitos agentes do outro lado)
- Permitir restrições no comprimento da lista de preferências que os agentes podem reportar (consulte http://www.sciencedirect.com/science/article/pii/S002205310900057X )
No entanto, eu já estaria muito feliz com python
código para Boston e TTC, mesmo se os dois últimos recursos não forem implementados.
fonte
rpy2
.Respostas:
Eu encontrei uma implementação do TTC em
python
a http://www.dreamincode.net/forums/topic/377004-algorithmic-game-theory-top-trading-cycle-procedure/?ref=dzone .No entanto, não parece incluir os dois recursos adicionais que mencionei.
Sem esses dois recursos: eu ainda adoraria ouvir mais sobre a implementação do TTC e sobre implementações de Boston.
fonte
Acabei montando algum código para computar a tarefa em Boston e adiei a aceitação. Pode ser encontrado em https://github.com/vanderlindenma/school_choice_python .
O código lá usa e modifica o código antigo de Jeremy Kun, stable-marriage, (2014), repositório GitHub, https://github.com/j2kun/stable-marriages , descrito em um dos posts do blog de Jeremy em http://jeremykun.com/2014/04/02/stable-marriages-and-designing-markets/ .
Espero gastar no código atualmente disponível e adicionar mais funcionalidades em breve. Qualquer participação é bem vinda.
fonte