代码拉取完成,页面将自动刷新
# -*- coding: utf-8 -*-
import numpy as np
import pandas as pd
import seaborn as sns
class cell: #元胞类
def __init__(self,U:float):
self.utility=[U] #创建元胞效用值列表,该列表长度随时间增加
self.N_utility=-0.5+1/(1+np.exp(-U)) #将N_utility初始化到0至0.5之间
def minmaxU(self): #效用表最后一位代表现状,使用表中最大值和最小值进行归一
if (max(self.utility)-min(self.utility))==0:
pass
else:
self.N_utility=(self.utility[-1]-min(self.utility))/(max(self.utility)-min(self.utility))
class cellmap: #元胞列表类
def __init__(self,N:int):
self.box=pd.DataFrame(np.zeros([N,N],dtype=float)).applymap(lambda x:cell(x)) #创建元胞表
self.T=(self.box.applymap(lambda x:x.N_utility).to_numpy()).sum() #初始化温度,定义温度等于从1到N对((ui-ui,min)/(ui,max-ui,min))求和
def temperature(self): #温度计算函数
self.box.applymap(lambda x:x.minmaxU()) #归一
self.T = (self.box.applymap(lambda x: x.N_utility).to_numpy()).sum()
def plot(self): #热图绘制
return sns.heatmap(self.box.applymap(lambda x: x.N_utility))
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。