Bonus task #1
This commit is contained in:
parent
517b7029d0
commit
87a6b5c85e
26
README.md
26
README.md
@ -1,3 +1,27 @@
|
|||||||
# TEG_programistyczne
|
# TEG_programistyczne
|
||||||
|
|
||||||
Zadania z teorii gier
|
#### Zadanie 1:
|
||||||
|
|
||||||
|
_wyplata.py_
|
||||||
|
|
||||||
|
Funkcja służy do obliczenia wypłaty danego gracza przy wybranej strategii i macierzy wypłat.
|
||||||
|
|
||||||
|
**Przykładowe użycie**:
|
||||||
|
|
||||||
|
Dla danej gry:
|
||||||
|
|
||||||
|
| | L | P |
|
||||||
|
| --- | ---- | ---- |
|
||||||
|
| G | 0,2 | 0,2 |
|
||||||
|
| S | 2,0 | -1,1 |
|
||||||
|
| D | -1,1 | 2,0 |
|
||||||
|
|
||||||
|
i dla danych strategii $\sigma_1$ = $\frac{1}{2}$G + $\frac{1}{2}$S i $\sigma_2$ = $\frac{1}{4}$L + $\frac{3}{4}$P wypłata gracza drugiego
|
||||||
|
|
||||||
|
```python
|
||||||
|
wyplata(2, [1/2,1/2,0], [1/4,3/4], [[0,0],[2,-1],[-1,2]], [[2,2],[0,1],[1,0]] )
|
||||||
|
```
|
||||||
|
|
||||||
|
wynosi 1$\frac{3}{8}$.
|
||||||
|
|
||||||
|
---
|
||||||
|
14
wyplata.py
Normal file
14
wyplata.py
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
def wyplata( player, strategy_one, strategy_two, pay_one, pay_two ):
|
||||||
|
|
||||||
|
if( len(strategy_one) != len(pay_one) ):
|
||||||
|
raise Exception("Wrong arguments")
|
||||||
|
if( sum(strategy_one) != 1 or sum(strategy_two) != 1 ):
|
||||||
|
raise Exception("Wrong arguments")
|
||||||
|
|
||||||
|
value = 0
|
||||||
|
for i in range(0,len(strategy_one)):
|
||||||
|
for k in range(0, len(strategy_two)):
|
||||||
|
value += strategy_one[i]*strategy_two[k] * (pay_one[i][k] if player == 1 else pay_two[i][k])
|
||||||
|
return value
|
||||||
|
|
||||||
|
#print(wyplata(2, [1/2,1/2,0], [1/4,3/4], [[0,0],[2,-1],[-1,2]], [[2,2],[0,1],[1,0]] ))
|
Loading…
Reference in New Issue
Block a user