Я пытаюсь закодировать метод Game Theory, чтобы найти оптимальные смешанные стратегии игры порядка 2x2.
В любом случае, для этого мне нужно определить две функции, одна из которых относится к оси x, а другая - к оси y (да, классические оси необходимы для работы в двухмерномплоскость), так что позже можно получить точки пересечения.
Например,
предположим, у меня есть следующие функции, полученные из игры 2x2:
L (y) = y + 1
L (x) = x-2
где:
if L(y)> 0, i.e, y+1>0, then x=1 (this is if y>-1 then x=1)
if L(y)< 0, then x=0 (this is if y<-1 then x=0)
if L(y)= 0, then x∈[0,1] (this is if y=-1 then x∈[0,1])
и
if L(x) >0 then y=1 (this is: if x>2 then y=1)
if L(x) <0 then y=0 (this is: if x<2 then y=0)
if L(x) =0 then y∈[0,1] (this is: if x=2 then y∈[0,1]
https://imgur.com/a/eXeTVF0
Я искал библиотеку Python, которая могла бы сделать это,и я обнаружил, что с помощью sympy можно создавать кусочные функции, например, то, что я пытаюсь сделать.Я делал что-то вроде этого:
from sympy import symbols, Piecewise
x,y = symbols('x,y')
p = Piecewise((1, x > 2), (0, x <2))
q = Piecewise((1, y>-1), (0,y<-1))
и затем находил точки пересечения из него.Проблема в том, что Python не заботится об «имени» переменной и обрабатывает их обоих, как если бы они находились на одной оси X.
Также у меня возникают проблемы при построении их одновременно и, конечно же, при нахождении в нем точки пересечения.Это вообще возможно для Python?Что мне делать, или каким-либо другим способом я мог бы подойти к этой проблеме.Привет.