First tests
This commit is contained in:
parent
21ed051f72
commit
6c9f5a725d
183
Agent_random.md
Normal file
183
Agent_random.md
Normal file
@ -0,0 +1,183 @@
|
||||
|
||||
|
||||
```
|
||||
import random
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
```
|
||||
|
||||
|
||||
```
|
||||
random.seed(40)
|
||||
|
||||
```
|
||||
|
||||
|
||||
```
|
||||
#simple payoff matrix
|
||||
payoff_a = [(1,-1),(-2,2)]
|
||||
payoff_b = [(-1, 1),(2,-2)]
|
||||
```
|
||||
|
||||
|
||||
```
|
||||
class Agent:
|
||||
def __init__(O, payoff, name="agent"):
|
||||
O.payoff = payoff
|
||||
O.allmove = []
|
||||
#O.tirage = []
|
||||
def move(O):
|
||||
pass
|
||||
#a=np.random.randint(0,1)
|
||||
#O.tirage.append(a)
|
||||
#return a
|
||||
def take(O,a,b):
|
||||
#m=O.move()
|
||||
O.allmove.append(O.payoff[a][b])
|
||||
|
||||
|
||||
def set_move(O,strat):
|
||||
O.move=strat
|
||||
```
|
||||
|
||||
|
||||
```
|
||||
def at_random():
|
||||
if random.random()>0.5: a=1
|
||||
else: a=0
|
||||
return a
|
||||
```
|
||||
|
||||
|
||||
```
|
||||
def weight_random():
|
||||
if random.random()>0.6666666666666666 : a=1
|
||||
else: a=0
|
||||
return a
|
||||
```
|
||||
|
||||
|
||||
```
|
||||
a=Agent([(1,-1),(-2,2)], "A")
|
||||
b=Agent([(-1, 1),(2,-2)],"B")
|
||||
a.set_move(at_random)
|
||||
b.set_move(at_random)
|
||||
|
||||
for i in range(0,30000):
|
||||
#a.move()
|
||||
m_a,m_b = a.move(),b.move()
|
||||
a.take(m_a,m_b)
|
||||
b.take(m_a,m_b)
|
||||
|
||||
_=plot(np.cumsum(a.allmove))
|
||||
_=plot(np.cumsum(b.allmove))
|
||||
```
|
||||
|
||||
|
||||
![png](output_6_0.png)
|
||||
|
||||
|
||||
|
||||
```
|
||||
a=Agent([(1,-1),(-2,2)], "A")
|
||||
b=Agent([(-1, 1),(2,-2)],"B")
|
||||
a.set_move( lambda : 0)
|
||||
b.set_move(lambda : 1)
|
||||
|
||||
for i in range(0,30000):
|
||||
#a.move()
|
||||
m_a,m_b = a.move(),b.move()
|
||||
a.take(m_a,m_b)
|
||||
b.take(m_a,m_b)
|
||||
|
||||
_=plot(np.cumsum(a.allmove),color="b")
|
||||
_=plot(np.cumsum(b.allmove),color="r")
|
||||
|
||||
```
|
||||
|
||||
|
||||
![png](output_7_0.png)
|
||||
|
||||
|
||||
|
||||
```
|
||||
a=Agent([(1,-1),(-2,2)], "A")
|
||||
b=Agent([(-1, 1),(2,-2)],"B")
|
||||
a.set_move( weight_random)
|
||||
b.set_move(at_random)
|
||||
|
||||
for i in range(0,30000):
|
||||
#a.move()
|
||||
m_a,m_b = a.move(),b.move()
|
||||
a.take(m_a,m_b)
|
||||
b.take(m_a,m_b)
|
||||
|
||||
_=plot(np.cumsum(a.allmove),color="b")
|
||||
_=plot(np.cumsum(b.allmove),color="r")
|
||||
#a.move()
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
0
|
||||
|
||||
|
||||
|
||||
|
||||
![png](output_8_1.png)
|
||||
|
||||
|
||||
|
||||
```
|
||||
figsize(16,9)
|
||||
|
||||
for i in range(300):
|
||||
a=Agent([(1,-1),(-2,2)], "A")
|
||||
b=Agent([(-1, 1),(2,-2)],"B")
|
||||
a.set_move( weight_random)
|
||||
b.set_move(at_random)
|
||||
|
||||
for i in range(0,3000):
|
||||
#a.move()
|
||||
m_a,m_b = a.move(),b.move()
|
||||
a.take(m_a,m_b)
|
||||
b.take(m_a,m_b)
|
||||
|
||||
_=plot(np.cumsum(a.allmove), color='r',alpha=0.01)
|
||||
_=plot(np.cumsum(b.allmove),color='b', alpha=0.01)
|
||||
|
||||
```
|
||||
|
||||
|
||||
![png](output_9_0.png)
|
||||
|
||||
|
||||
|
||||
```
|
||||
figsize(16,9)
|
||||
for i in range(300):
|
||||
a=Agent([(1,-1),(-2,2)], "A")
|
||||
b=Agent([(-1, 1),(2,-2)],"B")
|
||||
a.set_move( at_random)
|
||||
b.set_move(at_random)
|
||||
|
||||
for i in range(0,3000):
|
||||
#a.move()
|
||||
m_a,m_b = a.move(),b.move()
|
||||
a.take(m_a,m_b)
|
||||
b.take(m_a,m_b)
|
||||
|
||||
_=plot(np.cumsum(a.allmove), alpha=0.01, color='r')
|
||||
_=plot(np.cumsum(b.allmove), alpha=0.01, color='b')
|
||||
|
||||
```
|
||||
|
||||
|
||||
![png](output_10_0.png)
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
```
|
BIN
output_10_0.png
Normal file
BIN
output_10_0.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 368 KiB |
BIN
output_6_0.png
Normal file
BIN
output_6_0.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 20 KiB |
BIN
output_7_0.png
Normal file
BIN
output_7_0.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.5 KiB |
BIN
output_8_1.png
Normal file
BIN
output_8_1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 17 KiB |
BIN
output_9_0.png
Normal file
BIN
output_9_0.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 346 KiB |
Loading…
Reference in New Issue
Block a user