本文整理匯總了Python中Classifier.Classifier.exp方法的典型用法代碼示例。如果您正苦於以下問題:Python Classifier.exp方法的具體用法?Python Classifier.exp怎麽用?Python Classifier.exp使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Classifier.Classifier
的用法示例。
在下文中一共展示了Classifier.exp方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: gen_match_set
# 需要導入模塊: from Classifier import Classifier [as 別名]
# 或者: from Classifier.Classifier import exp [as 別名]
def gen_match_set(pop: list, percept: list):
"""
Generate a list of Classifier thats match current perception
:param pop:
:type pop: list
:param percept:
:type percept: list
:return:
:rtype: list
"""
ma = []
if time == 0 or len(pop) == 0:
for i in range(cons.nbAction):
newcl = Classifier()
newcl.condition = [cons.symbol] * cons.lenCondition
newcl.action = i
newcl.effect = [cons.symbol] * cons.lenCondition
newcl.exp = 0
newcl.t = time
newcl.q = 0.5
pop.append(newcl)
for c in pop:
if does_match(c, percept):
ma.append(c)
return ma
示例2: expected_case
# 需要導入模塊: from Classifier import Classifier [as 別名]
# 或者: from Classifier.Classifier import exp [as 別名]
def expected_case(cli: Classifier, percept: list) -> Classifier:
"""
:rtype: Classifier
"""
diff = get_differences(cli.mark, percept)
if diff == [cons.symbol] * cons.lenCondition:
cli.q += cons.beta * (1 - cli.q)
return None
else:
spec = number_of_spec(cli.condition)
spec_new = number_of_spec(diff)
child = Classifier(cli)
if spec == cons.uMax:
remove_random_spec_att(child.condition)
spec -= 1
while spec + spec_new > cons.beta:
if spec > 0 and random() < 0.5:
remove_random_spec_att(child.condition)
spec -= 1
else:
remove_random_spec_att(diff)
spec_new -= 1
else:
while spec + spec_new > cons.beta:
remove_random_spec_att(diff)
spec_new -= 1
child.condition = diff
if child.q < 0.5:
child.q = 0.5
child.exp = 1
assert isinstance(child, Classifier), 'Should be a Classifier'
return child
示例3: cover_triple
# 需要導入模塊: from Classifier import Classifier [as 別名]
# 或者: from Classifier.Classifier import exp [as 別名]
def cover_triple(percept_: list, action: int, percept: list, t: int) -> Classifier:
child = Classifier()
for i in range(len(percept)):
if percept_[i] != percept[i]:
child.condition[i] = percept_[i]
child.effect[i] = percept[i]
child.action = action
child.exp = 0
child.r = 0
child.aav = 0
child.alp = t
child.tga = t
child.t = t
child.q = 0.5
child.num = 1
return child
示例4: unexpected_case
# 需要導入模塊: from Classifier import Classifier [as 別名]
# 或者: from Classifier.Classifier import exp [as 別名]
def unexpected_case(clas: Classifier, percept: list, percept_: list) -> Classifier:
"""
:rtype: Classifier
"""
assert (len(percept_) == cons.lenCondition), "Wrong leight"
assert (len(percept) == cons.lenCondition), "Wrong leight"
clas.q = clas.q - cons.beta * clas.q
clas.mark = percept_
for i in range(len(percept)):
if clas.effect[i] != cons.symbol:
if clas.effect[i] != percept_[i] or percept_[i] != percept[i]:
return None
child = Classifier(clas)
for i in range(len(percept)):
if clas.effect[i] == cons.symbol and percept_[i] != percept[i]:
child.condition[i] = percept_[i]
child.effect[i] = percept[i]
if clas.q < 0.5:
clas.q = 0.5
child.exp = 1
return child