Descargo de responsabilidad: soy biólogo, siento mucho (tal vez) la pregunta básica formulada en términos tan crudos.
No estoy seguro de si debería hacer esta pregunta aquí o en DS / SC, pero CS es el más grande de los tres, así que aquí va. (Después de publicar, se me ocurrió que Cross-Validated podría ser el mejor lugar para hacerlo, pero, por desgracia).
Imagine que hay un agente que toma decisiones binarias. Y un entorno que, para cada una de las decisiones del agente ("juicios"), recompensa al agente o no. Los criterios para recompensar las decisiones del agente no son simples. En general, los criterios son aleatorios, pero tienen limitaciones, por ejemplo, el entorno nunca recompensa más de 3 veces por la misma decisión y nunca alterna la decisión recompensada más de 4 veces seguidas.
La secuencia de criterios podría verse más o menos así
0 0 0 1 0 1 0 0 1 1 1 0 1 1 0 0 1 0 ...
pero nunca
0 0 0 1 0 1 0 0 1 1 1 1 1 1 0 0 1 0 ...
porque el criterio de recompensa no puede repetirse más de 3 veces.
En estas condiciones, es bastante fácil formular la estrategia que el observador ideal debe emprender para maximizar la recompensa. Algo en la línea de
- decidir al azar
- si detecta que ese criterio se repite 3 veces, decida lo contrario del último criterio
- Si detecta que los criterios se alternaron 4 veces, decida según el último criterio
Ahora, la parte difícil. Ahora, el criterio de cada ensayo depende no solo del historial de criterios anteriores, sino también del historial de decisiones del agente, por ejemplo, si el agente alterna en más de 8 de los últimos 10 ensayos, recompense la misma decisión que el agente tomó la última vez (como si para desalentar la alternancia del agente) y si el agente repitió la misma decisión en más de 8 de los últimos 10 ensayos, es decir, está sesgado, haga un criterio opuesto al sesgo. La prioridad del historial de criterios sobre el historial de decisiones se especifica de antemano, por lo que nunca hay ambigüedad.
Las secuencias de decisiones (d) y criterios (c) ahora podrían verse así
d: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 0 1 0 1 0 ...
c: 1 0 1 0 0 0 1 1 0 0 1 1 1 1 1 1 1 1 0 1 0 0 1 1 0 0 0 1 0 ...
↑ here criteria counteract bias in decisions
No veo ninguna forma simple de inventar una estrategia de maximización para el agente. Pero estoy seguro de que debe haber uno, y algún tipo de algoritmo inteligente de aprendizaje automático debería poder identificarlo.
Mi pregunta no es tanto sobre cómo resolver este problema (aunque me gustaría que sugirieses una solución), sino más sobre cómo se llaman estos tipos de problemas. ¿Dónde puedo leer al respecto? ¿Existe una solución abstracta o solo la simulación puede ayudar? En general, ¿cómo puedo, como biólogo, abordar este tipo de problema?
fuente
Respuestas:
Puede abordar este problema utilizando el aprendizaje por refuerzo.
Un libro clásico para esto es Sutton y Barto:
El borrador de la segunda edición está disponible de forma gratuita: https://webdocs.cs.ualberta.ca/~sutton/book/the-book.html
Para que su problema sea Markovian, defina cada estado como un vector de las últimas diez decisiones. Sus acciones serán 1 o 0.
fuente