ChatGPTとPythonで学ぶ 強化学習



皆さんこんにちは。今日も引き続きChatGPT先生をお迎えして、「ChatGPTとPythonで学ぶ 強化学習」というテーマで雑談したいと思います。それではChatGPT先生、よろしくお願いします。

---

### **assistant**:

もちろん、よろしくお願いいたします。まずは、全く新しい方のために「強化学習」とは何かを説明しましょう。

強化学習は機械学習の一種で、エージェントが環境と相互作用することにより学んでいきます。エージェントは、行動を通じて獲得できる報酬を最大化するように学習します。この「報酬」は実際的なもの（例えばゲームでのスコア）や抽象的なもの（例えば、推薦システムにおけるユーザー体験の向上）が考えられます。

ここで大切なのは、強化学習が「試行錯誤」による学習アプローチであるということです。エージェントは最初は何も知らない状態からスタートしますが、行動の結果としての報酬から学び、最終的には最適な行動策略（または「ポリシー」と呼ばれます）を学習します。

なお、Pythonは強化学習の実装によく使用される言語です。様々な強化学習ライブラリがPythonで利用でき、またPython自体が直感的に理解しやすい言語であるため、科学的な計算やデータ分析に非常に適しています。

---

### **user**:

ありがとうございます。それでは、強化学習について、Jupyter Notebook上で学ぶためのPythonコードを書いてください。

---

### **assistant**:

もちろんです、まずは強化学習の理解に必要な基本的な要素から始めましょう。この例で使用するのは非常に基本的な強化学習環境である`OpenAI Gym`の`CartPole`タスクです。

まずは必要なパッケージをインストールします。まだインストールしていない場合は次のコマンドをJupyter Notebookのセルに入力して実行してください:

```python
!pip install gym matplotlib numpy
```

次に、環境を定義して、エージェントが直面するタスクの様子を探るコードを書きます。ここでは、エージェントはランダムな行動を取るものとします。

```python
import gym
import matplotlib.pyplot as plt

# CartPole環境を定義
env = gym.make('CartPole-v1')

# 初期状態を取得
observation = env.reset() # observationは環境の状態を表す

# ここにエピソードごとの報酬を保管
rewards = []

# エージェントが200ステップ行動する
for step in range(200):

    # 環境を描画
    plt.imshow(env.render(mode='rgb_array'))
    
    # ランダムな行動を選択
    action = env.action_space.sample() # actionは選択された行動
    
    # 選択した行動を実行
    observation, reward, done, info = env.step(action) # doneはエピソードが終了したかどうかを表す、infoは追加の情報を提供
    
    # 報酬を保管
    rewards.append(reward)
    
    # もしエピソードが終了したらリセット
    if done:
        observation = env.reset()

# 環境を閉じる
env.close()

# 各ステップで得られた報酬のプロット
plt.plot(rewards)
plt.title('Received rewards per step')
plt.show()
```

このコードは、エージェントがランダムに行動するため、学習は起こりません。最終的な目標は、エージェントがポールが倒れないようにカートを制御できるように学習することです。

なお、実際に学習させるためにはQ学習やDQNなどの強化学習アルゴリズムを実装する必要がありますが、それはまた別の話となります。それらの詳細な説明や実装については、個別に深掘りすることをお勧めします。

---

### **user**:

OpenAI Gymを使わずに強化学習を学べるPythonコードがあれば教えていただきたいのですが、いかがでしょうか？

---

### **assistant**:

OpenAI Gymといった強化学習フレームワークはとても便利ですが、基礎から学ぶためには自分で環境を作成することが有益です。ここでは簡単な例として、Nアームドバンディッド問題を通じて強化学習を学びます。Nアームドバンディット問題では、エージェントは複数のスロットマシン（「バンディット」）から一つ選んでプレイし、選んだバンディットから得られる報酬を最大化しようとします。

Pythonでシンプルなバンディット環境を次のように実装することができます:

```python
import numpy as np

class Bandit:
    def __init__(self, n_arms):
        self.n_arms = n_arms
        self.bandit_arms = np.random.normal(0,1,n_arms)

    def step(self, action):
        return np.random.normal(self.bandit_arms[action], 1)

# 10-armed bandit
bandit = Bandit(10)
```

以上のコードでは、Nアームドバンディット環境をシンプルに実装しました。各バンディットアームは異なる平均報酬（`bandit_arms`）を持っており、エージェントのアクションはどのアームを選ぶかを意味します(`step`関数の`action`引数)。選択したアームから得られる報酬は、そのアームの平均報酬を中心とした正規分布からサンプリングされます。

このような環境に対して適用可能なシンプルな強化学習アルゴリズムは、ε-greedyアルゴリズムです。エージェントは最も良いアームを引く(`greedy`)ことを試みますが、確率εでランダムに行動します。これにより新しいアームを探索(`exploration`)と既知の良いアームを利用(`exploitation`)の間のバランスを取ることができます。

```python
n_steps = 1000
epsilon = 0.1
step_rewards = np.zeros(n_steps)
average_rewards = np.zeros(n_steps)
estimated_arms = np.zeros(bandit.n_arms)
n_pulls = np.zeros(bandit.n_arms)

for step in range(n_steps):
    if np.random.rand() < epsilon:
        # Randomly explore a different arm
        action = np.random.choice(range(bandit.n_arms))
    else:
        # Greedily choose the arm which has given maximum reward
        action = np.argmax(estimated_arms)

    # Get the reward from the bandit for this action
    reward = bandit.step(action)
    step_rewards[step] = reward
    n_pulls[action] += 1

    # Update our estimated rewards for this arm
    estimated_arms[action] += (1/n_pulls[action])*(reward-estimated_arms[action])
    
    average_rewards[step] = np.mean(step_rewards[:step+1])

# We can plot the average reward over time, to see how our agent learned
plt.plot(average_rewards)
plt.title("Average Reward Over Time")
plt.show()
```

![output_3_0.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211162/ef2ee56e-84a8-0dde-c2f1-bbde949e7fee.png)


上記のコードでは、エージェントがエクスプローラブルな環境 (`Bandit`) を使用して、ε-greedyアルゴリズムで学習を進める様子を実装しています。行動価値の見積もりは、それぞれのアームを引いたときの平均報酬で更新します。

---

### **user**:

ありがとうございます。OpenAI Gymを使わずに強化学習を学べるPythonコードとして、Nアームドバンディッド問題以外にあれば、教えていただけますか？

---

### **assistant**:

もちろんです。ここでは、マルチステップの決定タスクを学ぶために、よく利用されるグリッドワールドの環境を作成しましょう。これは二次元の世界で、エージェントは目的地に到達するために最適なルートを学びます。

まずは、簡単な5x5のグリッドワールドを作り、エージェントが四方に動くことができるとします。目標地点に到達すると報酬が与えられ、そうでない時は微小なマイナス報酬（-0.04）が与えられます。これはエージェントに「早く」目的地に到達するように動機づけるためです。

まずは、この環境を作成するための`Gridworld`クラスを作ります。

```python
import numpy as np

class Gridworld:
    def __init__(self, grid_size=5, reward_value=1, empty_value=-0.04):
        self.grid_size = grid_size
        self.reward_location = (4,4)
        self.agent_location = (0, 0)
        self.reward_value = reward_value
        self.empty_value = empty_value
        self.reset()

    def reset(self):
        self.grid = self.empty_value*np.ones((self.grid_size, self.grid_size))
        self.grid[self.reward_location] = self.reward_value
        self.agent_location = (0, 0)
        return self.agent_location

    def step(self, action):
        if action == 0:    # Up 
            self.agent_location = (max(self.agent_location[0]-1, 0), self.agent_location[1])
        elif action == 1:  # Right
            self.agent_location = (self.agent_location[0], min(self.agent_location[1]+1, self.grid_size-1))
        elif action == 2:  # Down
            self.agent_location = (min(self.agent_location[0]+1, self.grid_size-1), self.agent_location[1])
        elif action == 3:  # Left
            self.agent_location = (self.agent_location[0], max(self.agent_location[1]-1, 0))
        reward = self.grid[self.agent_location]

        done = self.agent_location == self.reward_location

        return self.agent_location, reward, done
```

次にエージェントを実装します。ここでは、`Q-learning`という強化学習アルゴリズムを使うエージェントを作ります。ただし、以下のコードは理解を容易にするために簡略化されています。

```python
class QLearningAgent:
    def __init__(self, state_space, action_space, learning_rate=0.1, discount_factor=0.9, exploration_rate=1.0, exploration_decay_rate=0.99):
        self.state_space = state_space
        self.action_space = action_space

        self.q_table = np.zeros(state_space + action_space)

        self.learning_rate = learning_rate
        self.discount_factor = discount_factor
        self.exploration_rate = exploration_rate
        self.exploration_decay_rate = exploration_decay_rate

    def get_action(self, state):
        if np.random.uniform(0, 1) < self.exploration_rate:
            # Explore
            return np.random.choice(self.action_space)
        else:
            # Exploit
            return np.argmax(self.q_table[state])

    def update_q(self, state, action, reward, next_state):
        self.q_table[state][action] = self.q_table[state][action] + self.learning_rate * (reward + self.discount_factor * np.max(self.q_table[next_state]) - self.q_table[state][action])

    def decay_exploration_rate(self):
        self.exploration_rate *= self.exploration_decay_rate

# Initialize environment and agent
env = Gridworld()
agent = QLearningAgent((env.grid_size, env.grid_size), [0, 1, 2, 3])

# Run many episodes to train the agent
epochs = 500
for e in range(epochs):
    state = env.reset()
    done = False
    while not done:
        action = agent.get_action(state)
        next_state, reward, done = env.step(action)
        agent.update_q(state, action, reward, next_state)
        state = next_state
        if done:
            agent.decay_exploration_rate()

print(agent.q_table)
```

最終的な学習結果（Q-table）をプリントすると、(0,0)から始めて(4,4)に到達するための最適な行動（移動方向）が見えてきます。このようにして、エージェントはどの方向に進むか学習し、最終的には目的地へと向かいます。したがって、この結果は、このグリッドワールド問題での強化学習の基本的な考え方を示しています。

---

### **user**:

次のエラーを修正した全コードを書いてください。

```
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[6], line 29
     27 # Initialize environment and agent
     28 env = Gridworld()
---> 29 agent = QLearningAgent((env.grid_size, env.grid_size), [0, 1, 2, 3])
     31 # Run many episodes to train the agent
     32 epochs = 500

Cell In[6], line 6, in QLearningAgent.__init__(self, state_space, action_space, learning_rate, discount_factor, exploration_rate, exploration_decay_rate)
      3 self.state_space = state_space
      4 self.action_space = action_space
----> 6 self.q_table = np.zeros(state_space + action_space)
      8 self.learning_rate = learning_rate
      9 self.discount_factor = discount_factor

TypeError: can only concatenate tuple (not "list") to tuple
```

---

### **assistant**:

このエラーは、タプルとリストを結合しようとして発生しています。`np.zeros`関数はタプル型の引数を想定しており、ここでは状態空間と行動空間の次元を示すタプルを作成する必要があります。

行動空間は通常リストとして表現されますが、ここではタプルの形で必要なため、リストをタプルに変換する必要があります。そのため、以下のように修正します。

まずは、`QLearningAgent`クラスの`__init__`メソッドを次のように修正します:

```python
def __init__(self, state_space, action_space, learning_rate=0.1, discount_factor=0.9, exploration_rate=1.0, exploration_decay_rate=0.99):
        self.state_space = state_space
        self.action_space = action_space

        # Here we concatenate the dimensions of the state space and the action space. We turn the action_space list into a tuple first.
        self.q_table = np.zeros(state_space + tuple([len(action_space)]))

        self.learning_rate = learning_rate
        self.discount_factor = discount_factor
        self.exploration_rate = exploration_rate
        self.exploration_decay_rate = exploration_decay_rate
```

これで、エージェントの初期化時にエラーが発生しなくなります。全体のコードは以下のようになります：

```python
# your code here
class QLearningAgent:
    def __init__(self, state_space, action_space, learning_rate=0.1, discount_factor=0.9, exploration_rate=1.0, exploration_decay_rate=0.99):
        self.state_space = state_space
        self.action_space = action_space
        self.q_table = np.zeros(state_space + tuple([len(action_space)]))
        self.learning_rate = learning_rate
        self.discount_factor = discount_factor
        self.exploration_rate = exploration_rate
        self.exploration_decay_rate = exploration_decay_rate

    def get_action(self, state):
        if np.random.uniform(0, 1) < self.exploration_rate:
            return np.random.choice(self.action_space)
        else:
            return np.argmax(self.q_table[state])

    def update_q(self, state, action, reward, next_state):
        self.q_table[state][action] = self.q_table[state][action] + self.learning_rate * (reward + self.discount_factor * np.max(self.q_table[next_state]) - self.q_table[state][action])

    def decay_exploration_rate(self):
        self.exploration_rate *= self.exploration_decay_rate

# Initialize environment and agent
env = Gridworld()
agent = QLearningAgent((env.grid_size, env.grid_size), [0, 1, 2, 3])

# Run many episodes to train the agent
epochs = 500
for e in range(epochs):
    state = env.reset()
    done = False
    while not done:
        action = agent.get_action(state)
        next_state, reward, done = env.step(action)
        agent.update_q(state, action, reward, next_state)
        state = next_state
        if done:
            agent.decay_exploration_rate()

print(agent.q_table)
```

---

### **user**:

次のような結果が得られました。解釈してください。

```
[[[ 0.10988056  0.26961566  0.05452843  0.09022773]
  [ 0.111531    0.3440174   0.11743943  0.04947539]
  [ 0.13989809  0.22816798  0.426686    0.16167403]
  [-0.01750532 -0.05215557  0.43516698 -0.03303605]
  [-0.04895598 -0.04791963  0.01692693 -0.04476248]]

 [[-0.06366639  0.22426744 -0.08085703 -0.10007718]
  [ 0.01851937  0.41209036  0.01035783 -0.08512158]
  [ 0.18720255  0.3762183   0.51854     0.2196035 ]
  [-0.0227029   0.15167828  0.61473047  0.14359796]
  [-0.04149725  0.02508594  0.49352931  0.04504759]]

 [[-0.0773616   0.03715101 -0.0714235  -0.07653707]
  [-0.0601816   0.36212956 -0.04694163 -0.06142209]
  [ 0.33770648  0.6206      0.40500939  0.10287986]
  [ 0.35428022  0.54275107  0.734       0.2728081 ]
  [ 0.13378574  0.28800838  0.79989801  0.25621527]]

 [[-0.06582173 -0.03539181 -0.05521093 -0.05413316]
  [-0.06072317  0.16355911  0.00259681 -0.059862  ]
  [ 0.04926128  0.29714032  0.69410485 -0.01933253]
  [ 0.53009656  0.77352161  0.86        0.3836609 ]
  [ 0.22097117  0.47915881  0.99484622  0.40785809]]

 [[-0.06211256 -0.01427596 -0.05967864 -0.05440387]
  [-0.04023867  0.43874735  0.02592969 -0.0576654 ]
  [ 0.19331347  0.85683316  0.45200142  0.12926477]
  [ 0.63896386  1.          0.78308833  0.6204083 ]
  [ 0.          0.          0.          0.        ]]]
```

---

### **assistant**:

ここで出力されているのはQ値（state-action value）のテーブルで、Q-learningエージェントが探索と利用を繰り返しながら学習した結果です。

このグリッドワールドは5x5の大きさで、各セルはそれぞれの状態（state）を表します。また、エージェントは上、右、下、左の4つのアクションを取ることができます。したがって、Qテーブルは5x5x4の3次元配列となります。

具体的には、例えば`agent.q_table[2][3]`は、エージェントがセル(2, 3)にいるときに取ることのできる各アクションのQ値を表しています。このQ値が大きいほど、そのアクションを選んだときに得られる見込み報酬が高いことを示しています。

たとえば、`agent.q_table[2][3][0]`の値は0.35428022となっており、これはエージェントがセル(2, 3)にいて“上”に移動するアクション（アクション0）を選択したときのQ値を示しています。一方、`agent.q_table[2][3][2]`（=0.734）は、同じセル(2, 3)にいて“下”に移動（アクション2）するときのQ値を示しており、これは“上”に移動するよりも高いQ値で、したがってエージェントにとっては望ましい行動であることを示しています。

したがって、上記のQテーブルはエージェントがどの状態でどの行動を選択すると最終的に最高の報酬を得られる可能性が高いかを学習した結果を表しています。また、Qテーブルが完成した段階であれば、エージェントはこのテーブルを元に最適な行動を決定することができます。

---

### **user**:

ありがとうございます。OpenAI Gymを使わずに強化学習を学べるPythonコードとして、Nアームドバンディッド問題、グリッドワールド以外にあれば、教えていただけますか？

---

### **assistant**:

はい、もちろんです。最も基本的な形の強化学習環境として、タクシーゲームを自分で実装することも可能です。ここではタクシードライバーが乗客を一定の位置で拾い、特定の目的地に運ぶという問題を解きます。

タクシー、乗客、および目的地は以下のように表示します。
タクシーは 'T'、乗客は 'P'、目的地は 'D'、そして壁（タクシーが乗り越えられない境界）は '#'で示します。

```python
import numpy as np

class TaxiEnv:
    def __init__(self, grid_size=5):
        self.grid_size = grid_size
        self.reset()

    def reset(self):
        self.taxi_row, self.taxi_col = self.grid_size - 1, 0
        self.passenger_row, self.passenger_col = 0, 0
        self.destination_row, self.destination_col = self.grid_size - 1, self.grid_size - 1
        self.state = (self.taxi_row, self.taxi_col, self.passenger_row, self.passenger_col, self.destination_row, self.destination_col)
        return self.state

    def step(self, action):
        if action == 0:    # Up
            self.taxi_row = max(self.taxi_row - 1, 0)
        elif action == 1:  # Right
            self.taxi_col = min(self.taxi_col + 1, self.grid_size - 1)
        elif action == 2:  # Down
            self.taxi_row = min(self.taxi_row + 1, self.grid_size - 1)
        elif action == 3:  # Left
            self.taxi_col = max(self.taxi_col - 1, 0)
        elif action == 4:  # Pickup
            if (self.taxi_row, self.taxi_col) == (self.passenger_row, self.passenger_col):
                self.passenger_row, self.passenger_col = -1, -1
        elif action == 5:  # Dropoff
            if (self.taxi_row, self.taxi_col) == (self.destination_row, self.destination_col):
                self.destination_row, self.destination_col = -1, -1

        self.state = (self.taxi_row, self.taxi_col, self.passenger_row, self.passenger_col, self.destination_row, self.destination_col)

        reward = -1
        if (self.passenger_row, self.passenger_col) == (self.destination_row, self.destination_col) and action == 5:
            reward = 20
        elif (self.taxi_row, self.taxi_col) == (self.passenger_row, self.passenger_col) and action == 4:
            reward = 10
        done = (self.passenger_row, self.passenger_col) == (self.destination_row, self.destination_col)

        return self.state, reward, done
``` 

そして、N-アームドバンディットやグリッドワールドと同様に、この環境でQ-Learningエージェントを訓練することができます。大きな違いは、エージェントが拾い上げ（Pickup）と降ろし（Dropoff）の2つの追加的なアクションを取ることができるということです。戦略は、客をピックアップし、正しい目的地に届けるための最適なルートを見つけることです。

---

### **user**:

タクシーゲームを最後まで実装してください。

---

### **assistant**:

もちろんです。タクシーの環境が実装されてから、次に行うことは、Q-Learningエージェントのクラスを作成し、訓練します。タクシー環境では6つの異なるアクションが存在するため、行動空間に 6 を渡してエージェントを初期化します。

ここでは改めて QLearningAgent クラスを作成し、訓練ループを追加します。

```python
class QLearningAgent:
    def __init__(self, state_space, action_space, learning_rate=0.1, discount_factor=0.9, exploration_rate=1.0, exploration_decay_rate=0.99):
        self.state_space = state_space
        self.action_space = action_space
        self.q_table = np.zeros(state_space + tuple([len(action_space)]))
        self.learning_rate = learning_rate
        self.discount_factor = discount_factor
        self.exploration_rate = exploration_rate
        self.exploration_decay_rate = exploration_decay_rate

    def get_action(self, state):
        if np.random.uniform(0, 1) < self.exploration_rate:
            return np.random.choice(self.action_space)
        else:
            return np.argmax(self.q_table[state])

    def update_q(self, state, action, reward, next_state):
        self.q_table[state][action] = self.q_table[state][action] + self.learning_rate * (reward + self.discount_factor * np.max(self.q_table[next_state]) - self.q_table[state][action])

    def decay_exploration_rate(self):
        self.exploration_rate *= self.exploration_decay_rate

# Initialize environment and agent
env = TaxiEnv()
agent = QLearningAgent((env.grid_size, env.grid_size, 2, 2, 2, 2), list(range(6)))

# Run many episodes to train the agent
epochs = 5000
for e in range(epochs):
    state = env.reset()
    done = False
    while not done:
        action = agent.get_action(state)
        next_state, reward, done = env.step(action)
        agent.update_q(state, action, reward, next_state)
        state = next_state
        if done:
            agent.decay_exploration_rate()

print(agent.q_table)
```

---

### **user**:

次のエラーを修正した全コードを書いてください。

```
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
Cell In[9], line 35
     33 action = agent.get_action(state)
     34 next_state, reward, done = env.step(action)
---> 35 agent.update_q(state, action, reward, next_state)
     36 state = next_state
     37 if done:

Cell In[9], line 18, in QLearningAgent.update_q(self, state, action, reward, next_state)
     17 def update_q(self, state, action, reward, next_state):
---> 18     self.q_table[state][action] = self.q_table[state][action] + self.learning_rate * (reward + self.discount_factor * np.max(self.q_table[next_state]) - self.q_table[state][action])

IndexError: index 4 is out of bounds for axis 4 with size 2
```

---

### **assistant**:

エラーメッセージから見ると、`agent.update_q` の呼び出し時に `IndexError` が発生しているようです。 問題は具体的には、Qテーブルの走査時に次元が超えている箇所です。

この問題は、ある次元（このエラーでは4番目の次元）が、その次元の最大サイズ（このケースでは2）を超えてインデックスを作成しようとして起こります。原因は、エージェントがQテーブルを初期化する際のステートスペース指定が間違っていますが、それは TaxiEnv 環境内でのステートスペース（状態の可能な値）を正確に表現しません。

Taxi ゲームでは、タクシーはグリッド内の任意の場所に存在し、乗客はタクシーに乗っているか乗っていないかのいずれか、そして目的地もグリッド内の任意の場所に存在します。したがって、ステートスペースは以下の通りになります：
1. taxi_row: 0からgrid_size-1まで
2. taxi_col: 0からgrid_size-1まで
3. passenger_status: 0 (タクシー内) または 1 (タクシー外)
4. destination_row: 0からgrid_size-1まで
5. destination_col: 0からgrid_size-1まで

したがって、Q-Learning エージェントを初期化する際のステートスペースは `(grid_size, grid_size, 2, grid_size, grid_size)` となります。全体のコードは以下のようになります：

```python
class QLearningAgent:
    def __init__(self, state_space, action_space, learning_rate=0.1, discount_factor=0.9, exploration_rate=1.0, exploration_decay_rate=0.99):
        self.state_space = state_space
        self.action_space = action_space
        self.q_table = np.zeros(state_space + tuple([len(action_space)]))
        self.learning_rate = learning_rate
        self.discount_factor = discount_factor
        self.exploration_rate = exploration_rate
        self.exploration_decay_rate = exploration_decay_rate

    def get_action(self, state):
        if np.random.uniform(0, 1) < self.exploration_rate:
            return np.random.choice(self.action_space)
        else:
            return np.argmax(self.q_table[state])

    def update_q(self, state, action, reward, next_state):
        self.q_table[state][action] = self.q_table[state][action] + self.learning_rate * (reward + self.discount_factor * np.max(self.q_table[next_state]) - self.q_table[state][action])

    def decay_exploration_rate(self):
        self.exploration_rate *= self.exploration_decay_rate

# Initialize environment and agent
env = TaxiEnv(grid_size=5)
agent = QLearningAgent((env.grid_size, env.grid_size, 2, env.grid_size, env.grid_size), list(range(6)))

# Run many episodes to train the agent
epochs = 5000
for e in range(epochs):
    state = env.reset()
    done = False
    while not done:
        action = agent.get_action(state)
        next_state, reward, done = env.step(action)
        agent.update_q(state, action, reward, next_state)
        state = next_state
        if done:
            agent.decay_exploration_rate()

print(agent.q_table)
```

---

### **user**:

次のエラーを修正した全コードを書いてください。

```
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
Cell In[10], line 35
     33 action = agent.get_action(state)
     34 next_state, reward, done = env.step(action)
---> 35 agent.update_q(state, action, reward, next_state)
     36 state = next_state
     37 if done:

Cell In[10], line 18, in QLearningAgent.update_q(self, state, action, reward, next_state)
     17 def update_q(self, state, action, reward, next_state):
---> 18     self.q_table[state][action] = self.q_table[state][action] + self.learning_rate * (reward + self.discount_factor * np.max(self.q_table[next_state]) - self.q_table[state][action])

IndexError: invalid index to scalar variable.
```

---

### **assistant**:

エラーメッセージから見ると、`agent.update_q`の呼び出し時に`IndexError`が発生しているようです。具体的には、スカラー変数へのインデックスが無効で、問題は次元インデックスによるアクセスがスカラーに対して実行されていることです。

これは、stateやnext_stateがタプルでなく、要素が1つだけであるために起こります。stateがタプルでないと、`self.q_table[state]`や`self.q_table[next_state]`はスカラー値を返すため、それにさらにインデックスを適用することはできません。

したがって、この問題を修正するために タクシーゲーム環境 のresetとstepメソッドを修正し、stateとnext_stateがタプルであることを確認します。

次のようになります:

```python
class TaxiEnv:
    def __init__(self, grid_size=5):
        self.grid_size = grid_size
        self.reset()

    def reset(self):
        self.taxi_row, self.taxi_col = self.grid_size - 1, 0
        self.passenger_status = 1
        self.destination_row, self.destination_col = self.grid_size - 1, self.grid_size - 1
        self.state = (self.taxi_row, self.taxi_col, self.passenger_status, self.destination_row, self.destination_col)
        return self.state

    def step(self, action):
        if action == 0:    # Up
            self.taxi_row = max(self.taxi_row - 1, 0)
        elif action == 1:  # Right
            self.taxi_col = min(self.taxi_col + 1, self.grid_size - 1)
        elif action == 2:  # Down
            self.taxi_row = min(self.taxi_row + 1, self.grid_size - 1)
        elif action == 3:  # Left
            self.taxi_col = max(self.taxi_col - 1, 0)
        elif action == 4:  # Pickup
            if self.passenger_status == 1:
                self.passenger_status = 0
        elif action == 5:  # Dropoff
            if self.passenger_status == 0 and (self.taxi_row, self.taxi_col) == (self.destination_row, self.destination_col):
                self.passenger_status = 2

        self.state = (self.taxi_row, self.taxi_col, self.passenger_status, self.destination_row, self.destination_col)

        reward = -1
        done = False
        if self.passenger_status == 2:    # Dropped off the passenger
            reward = 20
            done = True
        elif action == 4 and self.passenger_status == 1:   # Picked up the passenger
            reward = 10

        return self.state, reward, done
```

修正後のコードを使ってエージェントを訓練する部分は以下のようになります：

```python
# Initialize environment and agent
env = TaxiEnv(grid_size=5)
agent = QLearningAgent((env.grid_size, env.grid_size, 3, env.grid_size, env.grid_size), list(range(6)))

# Run many episodes to train the agent
epochs = 5000
for e in range(epochs):
    state = env.reset()
    done = False
    while not done:
        action = agent.get_action(state)
        next_state, reward, done = env.step(action)
        agent.update_q(state, action, reward, next_state)
        state = next_state
        if done:
            agent.decay_exploration_rate()

print(agent.q_table)
```

```

    [[[[[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-1.83067624 -1.79448072 -1.9005069  -1.87052685 -1.8395234
          -1.93740621]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-0.19       -0.1        -0.1         0.         -0.1
          -0.19      ]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]]]
    
    
    
      [[[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-1.98037956 -1.85218905 -1.77950286 -1.88000071 -1.80192965
          -1.8396252 ]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.         -0.19       -0.1         0.
           0.        ]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]]]
    
    
    
      [[[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-1.89574372 -1.94966925 -1.76883584 -1.92187919 -1.87942765
          -1.97993398]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]]]
    
    
    
      [[[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-1.97893612 -1.84087173 -1.8928563  -1.96447432 -1.80604042
          -1.818     ]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-0.1        -0.19       -0.1         0.          0.
          -0.1       ]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]]]
    
    
    
      [[[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-1.62317367 -1.47854438 -1.29142343 -2.02853627 -1.4752975
          -1.62442617]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.         -0.1        -0.19        0.
           0.        ]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]]]]
    
    
    
    
     [[[[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-1.81517489 -1.8594312  -1.82279699 -1.81018562 -1.85038795
          -1.8908154 ]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-0.19       -0.19       -0.1        -0.1        -0.21711245
          -0.1       ]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]]]
    
    
    
      [[[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-1.7664861  -1.69802412 -1.92794517 -1.6870654  -1.75553902
          -1.67464876]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-0.19       -0.1         0.          0.         -0.45755584
          -0.1       ]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]]]
    
    
    
      [[[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-1.91725566 -1.69140535 -1.24839892 -1.54226795 -1.86646322
          -1.60729228]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.         -0.19        0.          0.          0.
           0.        ]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]]]
    
    
    
      [[[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-2.09246086 -1.44419733 -0.96798387 -1.71709213 -1.79022627
          -1.67975592]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-0.1        -0.1        -0.1         0.         -0.22695665
          -0.1       ]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]]]
    
    
    
      [[[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-1.54776996 -1.52719671  1.88380957 -1.60114345 -1.47436054
          -1.47876773]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-0.1        -0.1        -0.1         0.          0.
           0.        ]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]]]]
    
    
    
    
     [[[[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-1.81506049 -1.87993219 -1.92109391 -1.89612618 -1.87271056
          -1.8447856 ]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-0.40951    -0.3439     -0.32337056 -0.36829    -0.54248644
          -0.4755765 ]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]]]
    
    
    
      [[[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-1.81842531 -0.98978637 -1.6516862  -1.8641401  -1.61626989
          -1.69152061]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-0.1        -0.1        -0.2071     -0.390241   -0.19277972
          -0.19      ]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]]]
    
    
    
      [[[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-1.93127548 -0.57296027  3.7289415  -1.78727372 -1.4905443
          -0.83808859]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-0.1        -0.19       -0.04719028  0.          0.
           0.        ]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]]]
    
    
    
      [[[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-1.98106431  0.57892759  6.10264533 -1.05397705 -1.20521062
          -1.07398287]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-0.1        -0.1        -0.1        -0.1         0.
           0.        ]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]]]
    
    
    
      [[[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-1.07926515  0.91442442 11.92766771 -1.01790816  1.72483356
           0.05208461]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.         -0.1         0.          0.          0.59801002
           0.        ]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]]]]
    
    
    
    
     [[[[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-1.93394409 -1.64897619 -0.97235817 -1.9630983  -1.93910328
          -1.92827097]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-0.73335112  0.59550534 -1.09117687 -0.83072837 -1.45959233
          -0.83676039]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]]]
    
    
    
      [[[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-1.97810185  6.59425609  2.23350575 -1.77344886 -1.37103406
          -0.78323419]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-0.40951    -0.48413577  5.22170139 -0.7208464  -0.3541639
          -0.30621195]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]]]
    
    
    
      [[[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-0.55392132 11.33320251  4.61316247 -0.79594005  2.17974376
           1.98069478]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-0.19       -0.19        0.87066565 -0.1        -0.16080478
          -0.1       ]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]]]
    
    
    
      [[[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.70618614 14.23778083 10.95223927  4.25535764  4.43792285
           5.74333531]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-0.1        -0.1         0.0243153  -0.1         0.
           0.        ]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]]]
    
    
    
      [[[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 6.23613952  9.41638408 16.99566593  7.53199036 10.50617601
           7.62985064]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.         -0.1         0.
           0.        ]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]]]]
    
    
    
    
     [[[[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-1.97631334  8.49763201 -1.12975837 -0.21981212 -0.2065931
          -1.08015534]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-1.25034689  7.7147      2.84722568  3.81247798  1.72854068
           2.40697254]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]]]
    
    
    
      [[[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 2.50954387 11.87        7.67984339  3.38463457  7.12304347
           6.74653798]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.7316551   1.21614239  5.16754649  3.26615403  9.683
           5.80275516]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]]]
    
    
    
      [[[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 4.66078415 14.3         7.74030401  8.06250733  7.9512345
           8.82963564]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [-0.19        0.04915016 -0.1027293   5.44167994  2.1617261
           0.18031626]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]]]
    
    
    
      [[[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [10.54228592 17.         12.67260408  9.76387793 12.61378976
          11.75764806]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          3.81492691
          -0.1       ]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]]]
    
    
    
      [[[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [13.12717297 16.33115009 15.76345699 12.49037885 15.84273752
          20.        ]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]]
    
    
       [[[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]
    
        [[ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]
         [ 0.          0.          0.          0.          0.
           0.        ]]]]]]



```

---

### **user**:

ありがとうございます。OpenAI Gymを使わずに強化学習を学べるPythonコードとして、Nアームドバンディッド問題、グリッドワールド、タクシーゲーム以外にあれば、教えていただけますか？

---

### **assistant**:

はい、もちろんです。強化学習は多くの問題設定で使われており、その中にはOpenAI Gymを使わずに学べるものも沢山あります。

その中から一つ、スロットマシンの変種である「レストラン選択問題」を取り上げて説明します。この問題では、エージェントはランチに行くレストランを毎日選ばなければならず、環境はそれぞれのレストランが与える満足度（報酬）です。おいしいレストランは一貫して高い満足度を与えますが、そんなレストランを見つけるまでは、低い報酬を出すレストランを訪れることが不可避です。これは探索（新しいレストランを試す）と活用（既知のおいしいレストランに行く）のトレードオフの一例です。

```python
import numpy as np

class RestaurantEnv:
    def __init__(self, n_restaurants=10):
        # Initialize parameters
        self.n_restaurants = n_restaurants
        self.means = np.random.rand(n_restaurants) * 5
        self.stds = np.random.rand(n_restaurants) + 1
        self.reset()

    def reset(self):
        # Reset the environment
        return self.means, self.stds

    def step(self, action):
        # Execute action (visit a restaurant)
        reward = np.random.normal(self.means[action], self.stds[action])
        return reward

class UCB1Agent:
    def __init__(self, n_restaurants=10):
        # Initialize parameters
        self.n_restaurants = n_restaurants
        self.t = 0
        self.means = np.zeros(n_restaurants)
        self.times_visited = np.zeros(n_restaurants)

    def get_action(self):
        # Compute UCB1 scores for each restaurant and return the action
        scores = self.means + np.sqrt(2 * np.log(self.t+1) / (self.times_visited + 1e-7))
        action = np.argmax(scores)
        return action

    def update_policy(self, action, reward):
        # Update policy
        self.t += 1
        self.times_visited[action] += 1
        self.means[action] += (reward - self.means[action]) / self.times_visited[action]

env = RestaurantEnv()
agent = UCB1Agent()

for _ in range(1000):
    action = agent.get_action()
    reward = env.step(action)
    agent.update_policy(action, reward)

print(agent.means)
```


    [-0.99299456  2.04103421  1.62548658  1.79246191  4.63459803  0.10835326
     -1.47380833 -0.05456808  0.50689516  2.17170574]



このコードでは、「レストラン選択問題」環境とUCB1アルゴリズムを使用するエージェントを作成し、エージェントが1000回行動を取るシナリオを実装しています。UCB1は「Exploration and Exploitation」をバランス良く行う強化学習のアルゴリズムで、エージェントはレストラン（アーム）が与える報酬（報酬）の期待値と、レストランをまだ訪れていないチャンス（探査）を考慮して行動を選びます。

---

### **user**:

先ほどはε-greedyアルゴリズムを用いてNアームドバンディッド（スロットマシン）問題を解きましたが、今回のUCB1アルゴリズムを用いたレストラン選択問題と、どう違うか詳しく教えてください。

---

### **assistant**:

まず、ε-greedyアルゴリズムとUCB1アルゴリズムの違いについて説明します。

ε-greedyアルゴリズムは、ランダムな探索と、以前の経験に基づく活用の間をパラメータεで調整します。 εの確率でランダムな行動を選択し、1-εの確率で最も報酬の高い行動を選択します。エージェントはランダムな探索により新しい行動を試し、活用により既知の報酬を得ます。

一方、UCB1アルゴリズムは探索と活用のバランスをアルゴリズム自体が自動的に調整します。それぞれの行動の信頼上限（UCB）を計算し、UCBが最も高い行動を選択します。UCBは行動の報酬の期待値と、行動の不確定性（既に試した回数の少ない行動ほど大きくなる）の両方を考慮します。

要するに、ε-greedyアルゴリズムは探索と活用の間のトレードオフを固定されたパラメータεで調整しますが、UCB1アルゴリズムはそれを自動的に調整します。

次に、Nアームドバンディット問題とレストラン選択問題の違いについて述べます。

実際のところ、これらの問題はゲームの詳細設定と解釈が異なるだけで、根本的な問題は同じです。それは、「ベストな選択肢を見つけるために様々な選択肢をどのように探索し、活用するか」という問題です。Nアームドバンディットでは、異なるスロットマシン、すなわち異なる「アーム」があると考えられます。それぞれのアームが異なる報酬分布を持っています。同様に、レストラン選択問題でも、各レストランは異なる「報酬」（満足度）を持つと考えられます。

したがって、探索と活用のトレードオフを最適に行うことで、どちらの問題も解くことが可能です。

---

### **user**:

ありがとうございます。UCB1アルゴリズムが探索と活用の間のトレードオフを自動的に調整する仕組みについて詳しく教えてください。

---

### **assistant**:

UCB1 (Upper Confidence Bound) アルゴリズムは、探索と活用のバランスを自動的に取るための強化学習アルゴリズムです。ここでの "Upper Confidence Bound"とは、行動の報酬に関する "信頼区間" の上側を指します。一般的に、信頼区間は標本統計量の不確実性を示しています。

UCB1では、報酬の期待値に加えて、「試行回数が少ないことによる」行動の不確実性も考慮に入れます。UCB1アルゴリズムでは、以下のスコアを計算し、最大スコアを持つ行動を選択します：

    scores = means + sqrt((2 * log(total_counts)) / action_counts)

ここで、
- `means`：各行動の報酬の平均
- `total_counts`：全ての行動の試行回数の合計
- `action_counts`：各行動の試行回数 
- `sqrt`：平方根
- `log`：自然対数

平均報酬`means`は活用の部分を計算します。これまで知られている結果の元で、より良い報酬をもたらす行動を優先します。

`sqrt((2 * log(total_counts)) / action_counts)`は探索の部分を計算します。ある行動がまだあまり試していない場合（つまり`action_counts`が小さい場合）、その行動のスコアが増加します。これにより、まだ十分に試されていない行動の探索が奨励されます。

以上の二つの要素が組み合わさり、UCB1アルゴリズムでは活用と探索のバランスを上手く取ることができます。

---

### **user**:

ありがとうございます。では、先ほど実装していただいた、Q-learningを用いたグリッドワールド問題と、Q-Learningを用いたタクシーゲーム問題について、違いを詳しく教えてください。

---

### **assistant**:

まず、それぞれのゲームについて説明します。

- グリッドワールド問題：これはエージェントが始点から終点まで最短で到達するルートを見つけるための問題です。エージェントはアップ、ダウン、レフト、ライトの4つの行動を選べます。それぞれの行動は特定の報酬を与え、目的地に到着すると大きなプラスの報酬が、壁に衝突するとマイナスの報酬が与えられます。

- タクシーゲーム問題：これは乗客をピックアップ（pickup）して目的地まで運ぶ（drop off）タスクです。報酬はピックアップとドロップオフに成功した場合に与えられ、状態は（タクシーの位置、乗客の位置、目的地の位置）で表されます。エージェントは上下左右に移動、乗客をピックアップ、乗客をドロップオフの6つの行動を選べます。壁に衝突したり、乗客を摂取できない位置でピックアップしようとするとペナルティ（負の報酬）があります。

これらの問題は共に行動と報酬の組み合わせにより課題が完成する強化学習の問題ですが、以下の重要な違いがあります：

- 状態と行動の数：タクシーゲームの方がグリッドワールド問題よりも多くの可能な状態と行動があります。タクシーゲームの状態はタクシーの位置、乗客の位置、目的地の位置の3つの要素により定義され、行動は上下左右に移動するだけでなく、乗客をピックアップとドロップオフすることも選択肢として含まれています。

- 問題の複雑さ：タクシーゲームはグリッドワールド問題に比べて問題が複雑です。タクシーは乗客を見つけて運ぶという二段階のタスクを達成しなければなりません。一方、グリッドワールドは始点から終点への最短距離を見つけるだけで良いです。 

- エピソードの定義：タクシーゲームは乗客が目的地に到達するとエピソードが終了します。しかし、グリッドワールド問題ではエージェントが目標に辿り着くたびにエピソードが終了します。

どちらの問題もQ学習を使用して解くことができ、各エピソードが終わるたびにエージェントが学習して、時間を経るとともに最適な行動をさらに選択することができるようになります。

---

### **user**:

グリッドワールド問題やタクシーゲーム問題は、ε-greedyアルゴリズムやUCB1アルゴリズムでは解けないのでしょうか？

---

### **assistant**:

理論的には、ε-greedyアルゴリズムやUCB1アルゴリズムを用いてもグリッドワールド問題やタクシーゲーム問題を解くことは可能です。しかし、これらの問題を解くのに最適なアルゴリズムは、問題の特性によります。

ε-greedyアルゴリズムやUCB1アルゴリズムは、主に行動と直接的な報酬の関係性を学習するのに適しています。これは、マルチアームドバンディッド問題やレストラン選択問題のように、特定の行動がすぐに報酬をもたらす場合に効果的です。

これに対して、グリッドワールド問題やタクシーゲーム問題は、一連の行動を通じて目標を達成することで間接的な報酬がもたらされる問題（つまり、遅延報酬問題）であり、環境は連続的な状態を持つため、これらの問題に対してはQ-Learningのような価値ベースの方法が一般的にはより適しています。

Q-Learningはエージェントが環境から得る報酬を最大化する行動を学習しますが、その報酬は選択した行動の直後だけでなく、遠い未来にまたがって影響を与えることが考慮されます。これにより、Q-Learningは遅延報酬問題に対応することができます。

また、ε-greedy戦略やUCB1などの他の戦略は、探索と活用のバランスをとるための戦略であり、これらの戦略はQ-Learningと組み合わせてエージェントの行動選択方法をより洗練させることができます。例えば、Q-Learningの初期段階ではエージェントは環境についてあまり知らないため、ε-greedy戦略を用いてより多くのランダムな探索を行い、次第に活用の比重を増やしていくという方法があります。

---

### **user**:

ε-greedyアルゴリズム、UCB1アルゴリズム、Q-Learning以外に、強化学習の戦略があれば詳しく教えてください。

---

### **assistant**:

強化学習のアルゴリズムは非常に多岐にわたります。以下にいくつかの主なアルゴリズムを挙げます。

1. **SARSA(同時的近似と再帰アルゴリズム)**: SARSAはQ-learningと非常に似たアルゴリズムであり、「状態-行動-報酬-次の状態-次の行動」（State-Action-Reward-State-Actionの頭文字を取ってSARSA）の組から学習します。Q-Learningと異なり、SARSAは行動選択策略（ポリシー）を明示的に考慮し、そのため「on-policy」の学習方法と呼ばれます。

2. **Deep Q-Network (DQN)**: DQNは深層学習とQ-learningを結合したアルゴリズムであり、「行動価値関数」を近似するためにニューラルネットワークを使用します。これにより、非常に大きな状態空間や視覚情報を直接扱うことが可能です。

3. **Policy Gradients (PG)**: PGアルゴリズムは価値関数の推定を必要とせずに、エージェントのポリシー（行動選択策略）を直接最適化します。これにより、連続的な行動空間を扱う問題などに適用しやすいです。

4. **Actor-Critic (AC)**: ACアルゴリズムは価値関数（Critic）とポリシー（Actor）の両方を学習します。価値関数はどのような行動が良いかを評価し、ポリシーは実際に行動を選択します。

5. **Proximal Policy Optimization (PPO)**: PPOはPolicy Gradientsアルゴリズムの一種で、サンプル効率と性能のバランスが非常に良いと評価されています。過去のポリシーから大きく逸脱しないように制約を加えることで、訓練の安定性を向上させます。

6. **Monte Carlo Tree Search (MCTS)**: MCTSは木構造を利用して探索を行うアルゴリズムで、将棋や囲碁のような完全情報ゲームにおいて優れた性能を発揮します。

これらのアルゴリズムは、各々違うタイプの問題に対して強みを持っています。問題の種類や要件により、適切なアルゴリズムを選択します。また、これらの手法を組み合わせたり、改良を加えたりすることで、さまざまな強化学習問題に対する最新の解法が生まれています。

---

### **user**:

深層学習と強化学習を結合した戦略は、Deep Q-Network (DQN)だけでしょうか？

---

### **assistant**:

いいえ、深層学習と強化学習を結合した戦略は、Deep Q-Network (DQN)だけではありません。以下にいくつか他の主要な深層強化学習のアルゴリズムを挙げます：

1. **Double DQN**: DQNは選択した行動の価値を過大評価しがちである問題を改善するため、DQNの拡張版として提案されました。Double DQNでは、既存のネットワークを用いて行動を選択し、異なるネットワーク（ターゲットネットワーク）を用いてその行動の価値を評価します。

2. **Dueling DQN**: このアルゴリズムはアーキテクチャの変更を導入します。標準のDQNは全ての行動の価値を同時に推定しますが、Dueling DQNは状態価値と行動価値を別々に学習し、その後結合します。これにより、状態価値と行動価値の知識をより効果的に利用することができます。

3. **Deep Deterministic Policy Gradients (DDPG)**: DDPGは連続行動空間を持つ問題を解くためのアルゴリズムです。Actor-Critic手法の一種であり、深層学習ベースの関数近似器を使用します。

4. **Proximal Policy Optimization (PPO)**: PPOも深層学習と強化学習の組み合わせを利用しています。サンプリング効率と性能のバランスが取れたPolicy Gradient手法であり、畳み込みニューラルネットワーク等の深層学習モデルを用いてポリシーを表現します。

5. **Advantage Actor Critic (A2C / A3C)**: A2CやA3C等はActor-Critic手法を深層学習と組み合わせ、複数エージェントが同時に学習を進めるという戦略を取っており、並列化により学習速度の向上を実現しました。

6. **Soft Actor-Critic (SAC)**: SACはオフポリシー学習と最大エントロピー強化学習を組み合わせた手法で、深層学習ベースの関数近似器を使用します。

これらはすべて深層学習の能力を活用して、複雑な環境や大規模な状態空間、連続的な行動空間に対する強化学習の性能を向上させる戦略となっています。

---

### **user**:

ありがとうございます。OpenAI Gymを使わずにSARSA(同時的近似と再帰アルゴリズム)を学べるPythonコードとして、Nアームドバンディッド問題、グリッドワールド、タクシーゲーム、レストラン選択問題以外を題材としたものを教えてください。

---

### **assistant**:

SARSAを実装するための基本的なPythonのコードは以下の通りです。ここでは迷路問題（Maze problem）を題材にしています。※ただし環境の詳細（迷路の構造や初期状態など）は省略しています。

```python
import numpy as np

class MazeSARSA:
    def __init__(self, alpha=0.5, gamma=0.95, epsilon=0.1):
        self.alpha = alpha  # Learning rate
        self.gamma = gamma  # Discount factor
        self.epsilon = epsilon  # Exploration rate
        self.q_values = {}  # Initialize Q-values

    def update_q_value(self, state, action, reward, next_state, next_action):
        old_q_value = self.q_values[(state, action)]
        next_q_value = self.q_values[(next_state, next_action)]
        
        # Update Q-value for the current state-action pair using the SARSA update rule
        new_q_value = old_q_value + self.alpha * (reward + self.gamma*next_q_value - old_q_value)
        self.q_values[(state, action)] = new_q_value

    def get_best_action(self, state):
        # If this state was never seen before, initialize all possible actions with q-value 0
        if state not in [x for x, _ in self.q_values.keys()]:
            for action in range(num_actions):
                self.q_values[(state, action)] = 0.0

        # Choose action that have the maximum q-value for this state
        actions = {action: self.q_values[(state, action)] for (x, action) in self.q_values.keys() if x == state}
        best_action = max(actions, key=actions.get)

        return best_action

    def choose_action(self, state):
        best_action = self.get_best_action(state)
        
        # With probability epsilon explore random action, otherwise choose best action
        if np.random.uniform(0, 1) < self.epsilon:
            action = np.random.randint(num_actions)
        else:
            action = best_action
    
        return action

# Initialize the SARSA agent and environment
agent = MazeSARSA(alpha=0.5, gamma=0.95, epsilon=0.1)
env = MazeEnvironment()

for episode in range(num_episodes):
    state = env.reset()
    action = agent.choose_action(state)
    
    while True:
        # Agent interacts with the environment
        next_state, reward, done = env.step(action)
        
        # Agent selects next action
        next_action = agent.choose_action(next_state)
        
        # Agent updates Q-value for the current state-action pair
        agent.update_q_value(state, action, reward, next_state, next_action)
        
        if done:
            break
        
        state = next_state
        action = next_action
```

このMazeSARSAクラスは、SARSAアルゴリズムを用いてエージェントが迷路上での決定を下すためのものです。エージェントはその状態における最善の行動を学習し、Q値（状態-行動ペアの価値）を更新します。

ただし、ここで提供されるコード片はあくまでも一例であり、具体的な実装は問題設定（迷路の大きさ、初期状態、行動の種類、報酬等）により異なります。また、環境についての詳細な実装（MazeEnvironmentクラスなど）や必要な機能（描画機能など）は省略しています。

なお、強化学習のアルゴリズムは概念的に理解するのは他のML手法に比べて複雑であり、具体的な実装も問題設定や目的により大きく異なり得ます。したがって、より詳細な知識を得るためには教科書やオンラインの教育資源を探すことをお勧めします。

---

### **user**:

迷路問題というのは、グリッドワールド問題と同じように聞こえますが、違うのでしょうか？

---

### **assistant**:

迷路問題が一種のグリッドワールド問題であると言えます。グリッドワールド問題は、エージェントが離散的なセル（または"状態"）で構成された世界（グリッド）を移動する問題を意味します。各セルはエージェントが存在できる場所を表し、エージェントは一方向に一歩ずつ移動できます（通常は上下左右）。

迷路問題はこのフレームワークを利用していて、エージェントの目標は特定のセル（"ゴール"）に到達することです。しかし、一部のセル（"壁"）は通過できないため、エージェントはそれらを避けてゴールに到達するように行動を学習しなければなりません。

それで、迷路問題をグリッドワールドの一種とみなすことができますが、逆に全てのグリッドワールド問題が迷路問題とは限りません。迷路問題は壁や通路があり、ゴールに辿り着く経路を見つける特殊なタイプの問題です。他のグリッドワールド問題では、エージェントが特定の状態を訪れるか、または状態間の遷移を最大化または最小化するようにするなど、条件や目的が異なる場合があります。

---

### **user**:

わかりました。本質的には同じというふうに聞こえますね。それでは、Q学習とSARSAの違いについて詳しく教えてください。

---

### **assistant**:

Q学習とSARSAはどちらも強化学習のアルゴリズムですが、二つの主要な違いがあります。それはどのデータを使用して学習を行うかという違いと、いつとどのように行動が選択されるかという違いです。

まず、Q学習は**オフポリシー**の学習アルゴリズムで、一方SARSAは**オンポリシー**の学習アルゴリズムです。この"ポリシー"とはエージェントが状態に基づいて行動を選択する戦略のことを指します。

- Q学習は適応中のポリシー（行動選択の戦略）を使用してデータを生成し（探索的に行動する）、それを使用して最適なポリシーを学習します。つまり、Q学習は生成したデータを用いて、未知の行動を試みつつ最適な戦略を探ろうとします。

- 一方、SARSAは適応中のポリシーを使用してデータを生成し（探索的に行動する）、その同じポリシーを学習します。つまり、SARSAは自身が選択した行動から学習するため、「行動が選択された状況」を考慮します。これは探索と活用のバランスを保つために重要です。

また、Q学習とSARSAの更新ルールにも違いがあります。

- Q学習の更新ルール：Q(s, a) = Q(s, a) + α * [r + γ * max(Q(s', a')) - Q(s, a)]
- SARSAの更新ルール：Q(s, a) = Q(s, a) + α * [r + γ * Q(s', a') - Q(s, a)]

ここで、sは現在の状態、aはその状態で選択された行動、rは報酬、s'は次の状態、a'は次の行動、αは学習率、γは割引率をそれぞれ表します。

Q学習の更新ルールは、次のステップで可能な行動の中で最大のQ値（max(Q(s', a'))）を使用します。一方で、SARSAの更新ルールでは次に実際に選択される行動（a'）のQ値（Q(s', a')）を使用します。

この違いにより、SARSAは探索中のリスクを考慮に入れるために、一般的にはQ学習よりも保守的なポリシーを学びます。一方、Q学習は最適なポリシーを追求しますが、学習中に収束するまでの挙動が不安定になることがあります。

---

### **user**:

ありがとうございます。強化学習と一口に言っても、色々ありすぎて難しいですね。それではお伺いしたいのですが、一見、強化学習とは関係なさそうに見えても、実は強化学習で解けてしまうような問題は、たくさんあるような気がします。「この問題は、強化学習で解けるかもしれない」と気づくためのヒントのようなものはありませんでしょうか？もしあれば教えてください。

---

### **assistant**:

はい、実際に強化学習は非常に広範な問題に適用可能で、我々が日常的に遭遇する様々な課題に対しても使用できます。

強化学習を適応できる問題には以下のような特徴があります：

1. **連続的なインタラクションが存在する**：エージェントが何らかの環境と連続的にインタラクションする任意のシナリオは、強化学習の対象となり得ます。これはエージェントがアクションを取り、その結果に基づいて報酬を受け取りながら、時間を通じて環境に適応していく必要がある問題全般を指します。

2. **遅延報酬がある**：エージェントは即時の報酬だけでなく、未来に得られる報酬をも最大化できなければならないような問題に強化学習は良い適合性を示します。即ち、現在の行動が未来の報酬に影響を与える可能性がある場合、最適なポリシーを学習するために強化学習を使用できます。

3. **明示的な教師が不在**：強化学習は教師が明確に正解を示さない状況に適応します。つまり、正解ラベルがなく、エージェントが環境からのフィードバック（報酬）を通じて学習しなければならないシナリオを指します。

4. **探査と利用のバランスが必要**：エージェントが最大の報酬を得るためには、既知の最善の行動を取る（利用）と未知の行動を試す（探査）との間でバランスを取る必要があるような状況も、強化学習の適用範囲に入ります。

これらの要素が一部または全て含まれる問題は、強化学習を適用することで解決できる可能性があります。具体的な例としては、自動運転、ゲームプレイ（チェス、囲碁、ビデオゲームなど）、製造プロセスの最適化、電力の最適な供給と需要の調整、自動的にパーソナライズされた教育の提供、交通信号の制御、ポートフォリオ管理、ロボット学習などがあります。

---

### **user**:

それでは最後に、強化学習をテーマにした面白ギャグを創作してください。

---

### **assistant**:

もちろんです！以下のギャグをご覧ください。

合コンで男：「君の電話番号、Q学習で学んでもいい？」
女：「ええ、それって何？」
男：「まあ、何百回も何千回も試行錯誤して、最終的に君の心を勝ち取る最適な方法を見つけることだよ。」

一つの強化学習アルゴリズムがもう一つの強化学習アルゴリズムに会って言った：「君が最適な行動をしたら、私の更新が無駄になるよ。だからSARSA！」（"So SARSA!"は"So sorry!"をもじった言葉遊びです。強化学習アルゴリズムのSARSAが、他のアルゴリズムの最適な行動によって自身のQ値更新が無駄になる、という意味です。）

---