Bah! Remove CoderackPressures as it's not hooked up to anything.

This commit is contained in:
Arthur O'Dwyer
2017-04-17 00:29:56 -07:00
parent 44e5a8c59f
commit e5d44ae75c
4 changed files with 0 additions and 123 deletions

View File

@ -3,7 +3,6 @@ class Codelet(object):
self.name = name self.name = name
self.urgency = urgency self.urgency = urgency
self.arguments = [] self.arguments = []
self.pressure = None
self.timeStamp = timestamp self.timeStamp = timestamp
def __repr__(self): def __repr__(self):

View File

@ -5,7 +5,6 @@ import random
import codeletMethods import codeletMethods
import formulas import formulas
from codelet import Codelet from codelet import Codelet
from coderackPressure import CoderackPressures
from temperature import temperature from temperature import temperature
from workspace import workspace from workspace import workspace
@ -74,7 +73,6 @@ def howManyToPost(workspace, codeletName):
class Coderack(object): class Coderack(object):
def __init__(self, slipnet): def __init__(self, slipnet):
self.slipnet = slipnet self.slipnet = slipnet
self.pressures = CoderackPressures()
self.reset() self.reset()
self.runCodelets = {} self.runCodelets = {}
self.postings = {} self.postings = {}
@ -116,7 +114,6 @@ class Coderack(object):
self.codelets = [] self.codelets = []
self.codeletsRun = 0 self.codeletsRun = 0
temperature.clamped = True temperature.clamped = True
self.pressures.reset()
def updateCodelets(self): def updateCodelets(self):
if self.codeletsRun > 0: if self.codeletsRun > 0:
@ -125,7 +122,6 @@ class Coderack(object):
def post(self, codelet): def post(self, codelet):
self.postings[codelet.name] = self.postings.get(codelet.name, 0) + 1 self.postings[codelet.name] = self.postings.get(codelet.name, 0) + 1
self.pressures.addCodelet(codelet)
self.codelets += [codelet] self.codelets += [codelet]
if len(self.codelets) > 100: if len(self.codelets) > 100:
oldCodelet = self.chooseOldCodelet() oldCodelet = self.chooseOldCodelet()
@ -178,7 +174,6 @@ class Coderack(object):
def removeCodelet(self, codelet): def removeCodelet(self, codelet):
self.codelets.remove(codelet) self.codelets.remove(codelet)
self.pressures.removeCodelet(codelet)
def newCodelet(self, name, oldCodelet, strength, arguments=None): def newCodelet(self, name, oldCodelet, strength, arguments=None):
#logging.debug('Posting new codelet called %s' % name) #logging.debug('Posting new codelet called %s' % name)
@ -188,7 +183,6 @@ class Coderack(object):
newCodelet.arguments = [arguments] newCodelet.arguments = [arguments]
else: else:
newCodelet.arguments = oldCodelet.arguments newCodelet.arguments = oldCodelet.arguments
newCodelet.pressure = oldCodelet.pressure
self.post(newCodelet) self.post(newCodelet)
# pylint: disable=too-many-arguments # pylint: disable=too-many-arguments

View File

@ -1,115 +0,0 @@
import logging
from formulas import Temperature
from slipnet import slipnet
class CoderackPressure(object):
def __init__(self, name):
self.name = name
def reset(self):
self.values = []
self.codelets = []
def _codelet_index(codelet):
name_indices = {
'bottom-up-bond-scout': 0,
'top-down-bond-scout--category': {
slipnet.successor: 1,
slipnet.predecessor: 2,
None: 3
},
'top-down-bond-scout--direction': {
slipnet.left: 4,
slipnet.right: 5,
None: 3,
},
'top-down-group-scout--category': {
slipnet.successorGroup: 6,
slipnet.predecessorGroup: 7,
None: 8,
},
'top-down-group-scout--direction': {
slipnet.left: 9,
slipnet.right: 10,
None: -1,
},
'group-scout--whole-string': 11,
'replacement-finder': 12,
'rule-scout': 13,
'rule-translator': 14,
'bottom-up-correspondence-scout': 15,
'important-object-correspondence-scout': 16,
'breaker': 17,
}
i = name_indices.get(codelet.name, -1)
try:
return int(i)
except (TypeError, ValueError):
try:
node = codelet.arguments[0]
return i[node]
except KeyError:
return i[None]
class CoderackPressures(object):
def __init__(self):
self.pressures = [
CoderackPressure('Bottom Up Bonds'),
CoderackPressure('Top Down Successor Bonds'),
CoderackPressure('Top Down Predecessor Bonds'),
CoderackPressure('Top Down Sameness Bonds'),
CoderackPressure('Top Down Left Bonds'),
CoderackPressure('Top Down Right Bonds'),
CoderackPressure('Top Down Successor Group'),
CoderackPressure('Top Down Predecessor Group'),
CoderackPressure('Top Down Sameness Group'),
CoderackPressure('Top Down Left Group'),
CoderackPressure('Top Down Right Group'),
CoderackPressure('Bottom Up Whole Group'),
CoderackPressure('Replacement Finder'),
CoderackPressure('Rule Codelets'),
CoderackPressure('Rule Translator'),
CoderackPressure('Bottom Up Correspondences'),
CoderackPressure('Important Object Correspondences'),
CoderackPressure('Breakers'),
]
self.reset()
def calculatePressures(self):
scale = (100.0 - Temperature + 10.0) / 15.0
values = map(
lambda pressure: sum(c.urgency ** scale for c in pressure.codelets),
self.pressures
)
totalValue = sum(values) or 1.0
values = [value / totalValue for value in values]
self.maxValue = max(values)
for pressure, value in zip(self.pressures, values):
pressure.values += [value * 100.0]
for codelet in self.removedCodelets:
if codelet.pressure:
codelet.pressure.codelets.remove(codelet)
self.removedCodelets = []
def reset(self):
self.maxValue = 0.001
self.removedCodelets = []
for pressure in self.pressures:
pressure.reset()
def addCodelet(self, codelet):
i = _codelet_index(codelet)
if i >= 0:
codelet.pressure = self.pressures[i]
if codelet.pressure:
codelet.pressure.codelets += [codelet]
logging.info('Add %s: %d', codelet.name, i)
def removeCodelet(self, codelet):
self.removedCodelets += [codelet]
def numberOfPressures(self):
return len(self.pressures)

View File

@ -18,7 +18,6 @@ def mainLoop(lastUpdate):
coderack.updateCodelets() coderack.updateCodelets()
slipnet.update() slipnet.update()
workspace.updateTemperature() workspace.updateTemperature()
coderack.pressures.calculatePressures()
lastUpdate = currentTime lastUpdate = currentTime
logging.debug('Number of codelets: %d', len(coderack.codelets)) logging.debug('Number of codelets: %d', len(coderack.codelets))
coderack.chooseAndRunCodelet() coderack.chooseAndRunCodelet()