def setUp(self): self.ident1 = QRCode("1") self.ident2 = QRCode("2") self.ident3 = QRCode("-231") self.traits = [Trait("Obly"), Trait("Krasny"), Trait("Sowiecki")] self.traits2 = [ Trait("Barowalny"), Trait("Konieczny"), Trait("Bolszoj") ] self.s1 = State.IS self.s2 = State.IS_NOT self.s3 = State.MAYHAPS self.object_type = ObjectType(1, self.traits) self.object_type2 = ObjectType(2, self.traits2) self.im1 = IndividualModel(self.ident1, self.object_type) self.im2 = IndividualModel(self.ident2, self.object_type2) self.o1 = Observation(self.ident1, [(self.traits[0], self.s1), (self.traits2[2], self.s1), (self.traits[1], self.s2)]) self.o2 = Observation(self.ident2, [(self.traits[1], self.s1), (self.traits2[1], self.s2), (self.traits[1], self.s2)], 1) self.o3 = Observation(self.ident3, [(self.traits[2], self.s1), (self.traits2[0], self.s3), (self.traits[2], self.s1)]) self.o4 = Observation(self.ident1, [(self.traits[2], self.s3), (self.traits2[0], self.s3), (self.traits[2], self.s2)]) self.o5 = Observation(self.ident2, [(self.traits[1], self.s1), (self.traits2[1], self.s1), (self.traits[1], self.s3)], 1) self.o6 = Observation(self.ident2, [(self.traits2[1], self.s1), (self.traits[1], self.s1), (self.traits2[2], self.s1)], 1) self.o7 = Observation(self.ident2, [(self.traits2[1], self.s2), (self.traits[1], self.s1), (self.traits2[2], self.s1)], 1) self.bp1 = BaseProfile(1, [self.o1, self.o2, self.o3]) self.bp2 = BaseProfile(2, [self.o1, self.o5, self.o4]) self.bp3 = BaseProfile(3, [self.o5, self.o1, self.o3]) self.bp4 = BaseProfile(3, [self.o1]) self.bp6 = BaseProfile(4, [self.o6]) self.trait_pair = ([self.traits2[2], self.traits[1]], [self.traits2[0], self.traits[1]]) self.DE = DistanceEstimator() self.CC = CompositeContext(self.DE, [self.bp1, self.bp4, self.bp6], 1, 1)
def setUp(self): self.ident1 = QRCode("1") self.ident2 = QRCode("2") self.ident3 = QRCode("-231") self.traits = [Trait("Obly"), Trait("Krasny"), Trait("Sowiecki")] self.traits2 = [ Trait("Barowalny"), Trait("Konieczny"), Trait("Bolszoj") ] self.s1 = State.IS self.s2 = State.IS_NOT self.s3 = State.MAYHAPS self.object_type = ObjectType(1, self.traits) self.object_type2 = ObjectType(2, self.traits2) self.im1 = IndividualModel(self.ident1, self.object_type) self.im2 = IndividualModel(self.ident2, self.object_type2) self.o1 = Observation(self.ident1, [(self.traits[0], self.s1), (self.traits2[2], self.s1), (self.traits[1], self.s2)]) self.o2 = Observation(self.ident2, [(self.traits[1], self.s3), (self.traits2[1], self.s2), (self.traits[1], self.s2)], 1) self.o3 = Observation(self.ident3, [(self.traits[2], self.s1), (self.traits2[0], self.s3), (self.traits[2], self.s1)]) self.o4 = Observation(self.ident1, [(self.traits[2], self.s3), (self.traits2[0], self.s3), (self.traits[2], self.s2)]) self.o5 = Observation(self.ident2, [(self.traits[1], self.s1), (self.traits2[1], self.s2), (self.traits[1], self.s3)], 1) self.bp1 = BaseProfile(1, [self.o1, self.o2, self.o3]) self.bp2 = BaseProfile(2, [self.o1, self.o5, self.o4]) self.bp3 = BaseProfile(3, [self.o5, self.o1, self.o3]) self.bp4 = BaseProfile(3, [self.o5]) self.cf1 = ComplexFormula(self.im1, [self.traits[0], self.traits[1]], [self.s2, self.s3], LogicalOperator.AND) self.cf2 = ComplexFormula(self.im2, [self.traits2[0], self.traits2[1]], [self.s1, self.s1], LogicalOperator.AND) self.sf1 = SimpleFormula(self.im1, self.traits[1], self.s1) self.sf3 = SimpleFormula(self.im2, self.traits2[2], self.s2) self.dk1 = DistributedKnowledge(self.cf1, [self.bp1, self.bp4], 1) self.dk2 = DistributedKnowledge(self.cf2, [self.bp2, self.bp3], 2) self.dk3 = DistributedKnowledge(self.sf1, [self.bp1, self.bp2]) self.dk4 = DistributedKnowledge(self.sf3, [self.bp3], 12)
def setUp(self): self.ident1 = QRCode("1") self.ident2 = QRCode("2") self.ident3 = QRCode("-231") self.traits = [Trait("Obly"), Trait("Krasny"), Trait("Sowiecki")] self.traits2 = [ Trait("Barowalny"), Trait("Konieczny"), Trait("Bolszoj") ] self.s1 = State.IS self.s2 = State.IS_NOT self.s3 = State.MAYHAPS self.o1 = Observation(self.ident1, [(self.traits[0], self.s1), (self.traits2[2], self.s1), (self.traits[1], self.s2)]) self.o2 = Observation(self.ident2, [(self.traits[1], self.s3), (self.traits2[1], self.s2), (self.traits[1], self.s2)], 1) self.o3 = Observation(self.ident3, [(self.traits[2], self.s1), (self.traits2[0], self.s3), (self.traits[2], self.s1)]) self.o4 = Observation(self.ident1, [(self.traits[2], self.s3), (self.traits2[0], self.s3), (self.traits[2], self.s2)]) self.o5 = Observation(self.ident2, [(self.traits[1], self.s1), (self.traits2[1], self.s2), (self.traits[1], self.s3)], 1) self.bp1 = BaseProfile(1, [self.o1, self.o2, self.o3]) self.bp2 = BaseProfile(2, [self.o1, self.o5, self.o4]) self.bp3 = BaseProfile(3, [self.o5, self.o1, self.o3]) self.bp4 = BaseProfile(3, [self.o5])
def prepare_bps(episode, observations): """ :param episode: point in time :param observations: observations from x=csv :return: BaseProfile : made from given episode and observations """ return BaseProfile(episode, observations)
class BaseProfileTest(unittest.TestCase): def setUp(self): self.ident1 = QRCode("1") self.ident2 = QRCode("2") self.ident3 = QRCode("-231") self.traits = [Trait("Obly"), Trait("Krasny"), Trait("Sowiecki")] self.traits2 = [ Trait("Barowalny"), Trait("Konieczny"), Trait("Bolszoj") ] self.s1 = State.IS self.s2 = State.IS_NOT self.s3 = State.MAYHAPS self.o1 = Observation(self.ident1, [(self.traits[0], self.s1), (self.traits2[2], self.s1), (self.traits[1], self.s2)]) self.o2 = Observation(self.ident2, [(self.traits[1], self.s3), (self.traits2[1], self.s2), (self.traits[1], self.s2)], 1) self.o3 = Observation(self.ident3, [(self.traits[2], self.s1), (self.traits2[0], self.s3), (self.traits[2], self.s1)]) self.o4 = Observation(self.ident1, [(self.traits[2], self.s3), (self.traits2[0], self.s3), (self.traits[2], self.s2)]) self.o5 = Observation(self.ident2, [(self.traits[1], self.s1), (self.traits2[1], self.s2), (self.traits[1], self.s3)], 1) self.bp1 = BaseProfile(1, [self.o1, self.o2, self.o3]) self.bp2 = BaseProfile(2, [self.o1, self.o5, self.o4]) self.bp3 = BaseProfile(3, [self.o5, self.o1, self.o3]) self.bp4 = BaseProfile(3, [self.o5]) def test_get_timestamp(self): self.assertEqual(self.bp1.get_episode(), 1) self.assertEqual(self.bp2.get_episode(), 2) self.assertEqual(self.bp3.get_episode(), 3) def test_get_observations_is(self): self.assertEqual(self.bp4.get_observations_is(), {self.traits[1]: self.o5}) self.assertEqual( self.bp2.get_observations_is(), { self.traits[0]: self.o1, self.traits2[2]: self.o1, self.traits[1]: self.o5 }) def test_get_observations_is_not(self): self.assertEqual(self.bp4.get_observations_is_not(), {self.traits2[1]: self.o5}) self.assertEqual( self.bp2.get_observations_is_not(), { self.traits[1]: self.o1, self.traits2[1]: self.o5, self.traits[2]: self.o4 }) def test_get_observations_mayhaps(self): self.assertEqual(self.bp4.get_observations_mayhaps(), {self.traits[1]: self.o5}) self.assertEqual(self.bp3.get_observations_mayhaps(), { self.traits[1]: self.o5, self.traits2[0]: self.o3 }) def test_add_observations_is(self): newo = Observation(self.ident2, [(self.traits[1], self.s1)], 1) self.bp4.add_observations_is([newo]) self.assertEqual(self.bp4.get_observations_is(), { self.traits[1]: self.o5, self.traits[1]: newo }) def test_get_observed_ims(self): self.assertEqual(self.bp4.get_observed_ims(), [self.ident2]) self.assertEqual(len(self.bp2.get_observed_ims()), 2) self.assertTrue(self.ident2 in self.bp2.get_observed_ims() and self.ident1 in self.bp2.get_observed_ims()) self.assertTrue(self.ident1 in self.bp3.get_observed_ims() and self.ident2 in self.bp3.get_observed_ims() and self.ident3 in self.bp3.get_observed_ims()) def test_check_if_observed(self): self.assertTrue( self.bp4.check_if_observed(self.ident2, self.traits[1], self.s1)) def test_add_observation_which_state_you_know_not(self): newo = Observation(self.ident2, [(self.traits[1], self.s1)], 1) self.bp4.add_observation_which_state_you_know_not(newo) self.assertEqual(self.bp4.get_observations_is(), { self.traits[1]: self.o5, self.traits[1]: newo }) def test_give_all_traits_involved(self): self.assertTrue( self.traits2[1] in self.bp4.give_all_traits_involved() and self.traits[1] in self.bp4.give_all_traits_involved()) def test_eq(self): bp4prim = BaseProfile(3, [self.o5]) self.assertTrue(self.bp4 == bp4prim) def tearDown(self): self.traits2 = None self.traits = None self.ident1 = None self.ident2 = None self.ident3 = None self.o1 = None self.o2 = None self.o3 = None self.o4 = None self.o5 = None self.s1 = None self.s2 = None self.s3 = None self.bp1 = None self.bp2 = None self.bp3 = None
def test_eq(self): bp4prim = BaseProfile(3, [self.o5]) self.assertTrue(self.bp4 == bp4prim)
def setUp(self): self.ident1 = QRCode("1") self.ident2 = QRCode("2") self.ident3 = QRCode("-231") self.traits = [Trait("Obly"), Trait("Krasny"), Trait("Sowiecki")] self.traits2 = [ Trait("Barowalny"), Trait("Konieczny"), Trait("Bolszoj") ] self.s1 = State.IS self.s2 = State.IS_NOT self.s3 = State.MAYHAPS self.object_type = ObjectType(1, self.traits) self.object_type2 = ObjectType(2, self.traits2) self.im1 = IndividualModel(self.ident1, self.object_type) self.im2 = IndividualModel(self.ident2, self.object_type2) self.o1 = Observation(self.ident1, [(self.traits[0], self.s1), (self.traits2[2], self.s1), (self.traits[1], self.s2)]) self.o2 = Observation(self.ident2, [(self.traits[1], self.s1), (self.traits2[1], self.s2), (self.traits[1], self.s2)], 1) self.o3 = Observation(self.ident3, [(self.traits[2], self.s1), (self.traits2[0], self.s3), (self.traits[2], self.s1)]) self.o4 = Observation(self.ident1, [(self.traits[2], self.s3), (self.traits2[0], self.s3), (self.traits[2], self.s2)]) self.o5 = Observation(self.ident2, [(self.traits[1], self.s1), (self.traits2[1], self.s1), (self.traits[1], self.s3)], 1) self.o6 = Observation(self.ident2, [(self.traits2[1], self.s1), (self.traits[1], self.s1), (self.traits2[2], self.s1)], 1) self.o7 = Observation(self.ident1, [(self.traits[0], self.s2), (self.traits[1], self.s1), (self.traits[2], self.s1)], 1) self.o8 = Observation(self.ident2, [(self.traits2[0], self.s1), (self.traits2[1], self.s2), (self.traits2[2], self.s1)], 1) self.o9 = Observation(self.ident2, [(self.traits2[0], self.s1), (self.traits2[1], self.s2), (self.traits2[2], self.s1)], 1) self.bp1 = BaseProfile(1, [self.o1, self.o2, self.o3]) self.bp2 = BaseProfile(2, [self.o1, self.o5, self.o4]) self.bp3 = BaseProfile(3, [self.o5, self.o1, self.o3]) self.bp4 = BaseProfile(3, [self.o5]) self.bp5 = BaseProfile(14, [self.o7]) self.bp6 = BaseProfile(4, [self.o6]) self.bp7 = BaseProfile(324, [self.o8]) self.bp8 = BaseProfile(34, [self.o9]) self.cf1 = ComplexFormula(self.im1, [self.traits[0], self.traits[1]], [self.s2, self.s1], LogicalOperator.AND) self.cf2 = ComplexFormula(self.im2, [self.traits2[0], self.traits2[1]], [self.s1, self.s1], LogicalOperator.AND) self.cf3 = ComplexFormula(self.im2, [self.traits2[0], self.traits2[1]], [self.s1, self.s1], LogicalOperator.OR) self.cf4 = ComplexFormula(self.im2, [self.traits2[0], self.traits2[1]], [self.s1, self.s1], LogicalOperator.XOR) self.sf1 = SimpleFormula(self.im1, self.traits[1], self.s1) self.sf3 = SimpleFormula(self.im2, self.traits2[2], self.s2) self.sf4 = SimpleFormula(self.im2, self.traits2[1], self.s1) self.dk1 = DistributedKnowledge(self.cf1, [self.bp1, self.bp4], 1) self.dk2 = DistributedKnowledge(self.cf2, [self.bp2, self.bp3], 2) self.dk3 = DistributedKnowledge(self.sf1, [self.bp4]) self.dk4 = DistributedKnowledge(self.sf3, [self.bp3], 12) self.dk5 = DistributedKnowledge(self.sf4, [self.bp6, self.bp4], 12) self.dk6 = DistributedKnowledge(self.cf1, [self.bp5], 12) self.dk7 = DistributedKnowledge(self.cf3, [self.bp7], 121) self.dk8 = DistributedKnowledge(self.cf4, [self.bp8], 11) self.cfot1 = ComplexFormulaOT([self.ident1, self.ident2], [self.s2, self.s1], LogicalOperator.AND) self.cfot2 = ComplexFormulaOT([self.ident1, self.ident3], [self.s1, self.s2], LogicalOperator.OR, Tense.FUTURE) self.dk9 = DistributedKnowledge(self.cfot1, [self.bp4], 11) self.dk10 = DistributedKnowledge(self.cfot2, [self.bp3, self.bp2], 1321)
def setUp(self): self.ident1 = QRCode("1") self.ident2 = QRCode("2") self.ident3 = QRCode("-231") self.traits = [Trait("Obly"), Trait("Krasny"), Trait("Sowiecki")] self.traits2 = [ Trait("Barowalny"), Trait("Konieczny"), Trait("Bolszoj") ] self.s1 = State.IS self.s2 = State.IS_NOT self.s3 = State.MAYHAPS self.object_type = ObjectType(1, self.traits) self.object_type2 = ObjectType(2, self.traits2) self.im1 = IndividualModel(self.ident1, self.object_type) self.im2 = IndividualModel(self.ident2, self.object_type2) self.o1 = Observation(self.ident1, [(self.traits[0], self.s1), (self.traits2[2], self.s1), (self.traits[1], self.s2)]) self.o2 = Observation(self.ident2, [(self.traits[1], self.s1), (self.traits2[1], self.s2), (self.traits[1], self.s2)], 1) self.o3 = Observation(self.ident3, [(self.traits[2], self.s1), (self.traits2[0], self.s3), (self.traits[2], self.s1)]) self.o4 = Observation(self.ident1, [(self.traits[2], self.s3), (self.traits2[0], self.s3), (self.traits[2], self.s2)]) self.o5 = Observation(self.ident2, [(self.traits2[1], self.s2), (self.traits2[2], self.s2), (self.traits[1], self.s3)], 1) self.o6 = Observation(self.ident2, [(self.traits2[1], self.s1), (self.traits[1], self.s1), (self.traits2[2], self.s1)], 1) self.o7 = Observation(self.ident2, [(self.traits2[1], self.s1), (self.traits[1], self.s1), (self.traits2[2], self.s1)], 1) self.o8 = Observation(self.ident2, [(self.traits2[1], self.s2), (self.traits[1], self.s1), (self.traits2[2], self.s1)], 1) self.o9 = Observation(self.ident2, [(self.traits2[1], self.s1), (self.traits[1], self.s1), (self.traits2[2], self.s2)], 1) self.bp1 = BaseProfile(1, [self.o1, self.o2, self.o3]) self.bp2 = BaseProfile(2, [self.o1, self.o5, self.o4]) self.bp3 = BaseProfile(3, [self.o5, self.o1, self.o3]) self.bp4 = BaseProfile(3, [self.o5]) self.bp5 = BaseProfile(3, [self.o7]) self.bp6 = BaseProfile(3, [self.o8]) self.bp7 = BaseProfile(3, [self.o9]) self.cf1 = ComplexFormula(self.im1, [self.traits[0], self.traits[1]], [self.s2, self.s3], LogicalOperator.AND) self.cf2 = ComplexFormula(self.im2, [self.traits2[0], self.traits2[1]], [self.s1, self.s1], LogicalOperator.AND) self.cf3 = ComplexFormula(self.im1, [self.traits[1], self.traits[2]], [self.s2, self.s1], LogicalOperator.AND) self.cf4 = ComplexFormula(self.im2, [self.traits2[1], self.traits2[2]], [self.s1, self.s1], LogicalOperator.AND) self.dk1 = DistributedKnowledge(self.cf1, [self.bp1, self.bp4], 1) self.dk2 = DistributedKnowledge(self.cf2, [self.bp2, self.bp3], 2) self.dk5 = DistributedKnowledge(self.cf3, [self.bp1, self.bp4], 1) self.dk6 = DistributedKnowledge( self.cf4, [self.bp4, self.bp5, self.bp6, self.bp7], 2) self.nbholon1 = NonBinaryHolon(self.dk1) self.nbholon2 = NonBinaryHolon(self.dk2) self.nbholon3 = NonBinaryHolon(self.dk5) self.nbholon4 = NonBinaryHolon(self.dk6) self.wM1 = WokeMemory([self.nbholon1, self.nbholon2], [self.bp4, self.bp5, self.bp6, self.bp7])
def setUp(self): self.ident1 = QRCode("1") self.ident2 = QRCode("2") self.ident3 = QRCode("-231") self.traits = [Trait("Obly"), Trait("Krasny"), Trait("Sowiecki")] self.traits2 = [ Trait("Barowalny"), Trait("Konieczny"), Trait("Bolszoj") ] self.s1 = State.IS self.s2 = State.IS_NOT self.s3 = State.MAYHAPS self.object_type = ObjectType(1, self.traits) self.object_type2 = ObjectType(2, self.traits2) self.im1 = IndividualModel(self.ident1, self.object_type) self.im2 = IndividualModel(self.ident2, self.object_type2) self.o1 = Observation(self.ident1, [(self.traits[0], self.s1), (self.traits2[2], self.s1), (self.traits[1], self.s2)]) self.o2 = Observation(self.ident2, [(self.traits[1], self.s1), (self.traits2[1], self.s2), (self.traits[1], self.s2)], 1) self.o3 = Observation(self.ident3, [(self.traits[2], self.s1), (self.traits2[0], self.s3), (self.traits[2], self.s1)]) self.o4 = Observation(self.ident1, [(self.traits[2], self.s3), (self.traits2[0], self.s3), (self.traits[2], self.s2)]) self.o5 = Observation(self.ident2, [(self.traits2[1], self.s2), (self.traits2[2], self.s2), (self.traits[1], self.s3)], 1) self.o6 = Observation(self.ident2, [(self.traits2[1], self.s1), (self.traits[1], self.s1), (self.traits2[2], self.s1)], 1) self.o7 = Observation(self.ident2, [(self.traits2[1], self.s1), (self.traits[1], self.s1), (self.traits2[2], self.s1)], 1) self.o8 = Observation(self.ident2, [(self.traits2[1], self.s2), (self.traits[1], self.s1), (self.traits2[2], self.s1)], 1) self.o9 = Observation(self.ident2, [(self.traits2[1], self.s1), (self.traits[1], self.s1), (self.traits2[2], self.s2)], 1) self.bp1 = BaseProfile(1, [self.o1, self.o2, self.o3]) self.bp2 = BaseProfile(2, [self.o1, self.o5, self.o4]) self.bp3 = BaseProfile(3, [self.o5, self.o1, self.o3]) self.bp4 = BaseProfile(3, [self.o5]) self.bp5 = BaseProfile(3, [self.o7]) self.bp6 = BaseProfile(3, [self.o8]) self.bp7 = BaseProfile(3, [self.o9]) self.cf1 = ComplexFormula(self.im1, [self.traits[0], self.traits[1]], [self.s2, self.s3], LogicalOperator.AND) self.cf2 = ComplexFormula(self.im2, [self.traits2[0], self.traits2[1]], [self.s1, self.s1], LogicalOperator.AND) self.cf3 = ComplexFormula(self.im1, [self.traits[1], self.traits[2]], [self.s2, self.s1], LogicalOperator.AND) self.cf4 = ComplexFormula(self.im2, [self.traits2[1], self.traits2[2]], [self.s1, self.s1], LogicalOperator.AND) self.dk1 = DistributedKnowledge(self.cf1, [self.bp1, self.bp4], 1) self.dk2 = DistributedKnowledge(self.cf2, [self.bp2, self.bp3], 2) self.dk5 = DistributedKnowledge(self.cf3, [self.bp1, self.bp4], 1) self.dk6 = DistributedKnowledge( self.cf4, [self.bp4, self.bp5, self.bp6, self.bp7], 2) self.DE = DistanceEstimator() self.CC = CompositeContext(self.DE, [self.bp1, self.bp4], 1, 1) self.CC2 = CompositeContext(self.DE, [self.bp4, self.bp5, self.bp6, self.bp7], 1, 1) self.CC3 = CompositeContext(self.DE, [self.bp4, self.bp5, self.bp6, self.bp7], 3, 1) self.nbholon1 = NonBinaryHolon(self.dk1) self.nbholon2 = NonBinaryHolon(self.dk2) self.nbholon3 = NonBinaryHolon(self.dk5) self.nbholon4 = NonBinaryHolon(self.dk6) self.nbholon5 = NonBinaryHolon(self.dk5, self.CC.get_contextualized_bpset()) self.nbholon6 = NonBinaryHolon(self.dk6, self.CC2.get_contextualized_bpset()) self.nbholon7 = NonBinaryHolon(self.dk6, self.CC3.get_contextualized_bpset()) self.cfot1 = ComplexFormulaOT([self.ident1, self.ident2], [self.s2, self.s1], LogicalOperator.AND) self.cfot2 = ComplexFormulaOT([self.ident1, self.ident3], [self.s1, self.s2], LogicalOperator.OR, Tense.FUTURE) self.cfot3 = ComplexFormulaOT([self.ident1, self.ident3], [self.s1, self.s1], LogicalOperator.AND, Tense.PRESENT) self.dk11 = DistributedKnowledge(self.cfot3, [self.bp4], 11) self.nbholon9 = NonBinaryHolon(self.dk11) self.dk9 = DistributedKnowledge(self.cfot1, [self.bp4], 11) self.dk10 = DistributedKnowledge(self.cfot2, [self.bp3, self.bp2], 1321) self.nbholon8 = NonBinaryHolon(self.dk10)
def setUp(self): self.ident1 = QRCode("1") self.ident2 = QRCode("2") self.ident3 = QRCode("-231") self.traits = [Trait("Obly"), Trait("Krasny"), Trait("Sowiecki")] self.traits2 = [Trait("Barowalny"), Trait("Konieczny"), Trait("Bolszoj")] self.s1 = State.IS self.s2 = State.IS_NOT self.s3 = State.MAYHAPS self.object_type = ObjectType(1, self.traits) self.object_type2 = ObjectType(2, self.traits2) self.im1 = IndividualModel(self.ident1, self.object_type) self.im2 = IndividualModel(self.ident2, self.object_type2) self.o1 = Observation(self.ident1, [(self.traits[0], self.s1), (self.traits2[2], self.s1), (self.traits[1], self.s2)]) self.o2 = Observation(self.ident2, [(self.traits[1], self.s1), (self.traits2[1], self.s2), (self.traits[1], self.s2)], 1) self.o3 = Observation(self.ident3, [(self.traits[2], self.s1), (self.traits2[0], self.s3), (self.traits[2], self.s1)]) self.o4 = Observation(self.ident1, [(self.traits[2], self.s3), (self.traits2[0], self.s3), (self.traits[2], self.s2)]) self.o5 = Observation(self.ident2, [(self.traits[1], self.s1), (self.traits2[1], self.s1), (self.traits[1], self.s3)], 1) self.o6 = Observation(self.ident2, [(self.traits2[1], self.s1), (self.traits[1], self.s1), (self.traits2[2], self.s1)], 1) self.o7 = Observation(self.ident2, [(self.traits2[1], self.s2), (self.traits[1], self.s1), (self.traits2[2], self.s1)], 1) self.bp1 = BaseProfile(1, [self.o1, self.o2, self.o3]) self.bp2 = BaseProfile(2, [self.o1, self.o5, self.o4]) self.bp3 = BaseProfile(3, [self.o5, self.o1, self.o3]) self.bp4 = BaseProfile(3, [self.o5]) self.bp6 = BaseProfile(4, [self.o6]) self.bp7 = BaseProfile(4, [self.o7]) self.cf1 = ComplexFormula(self.im1, [self.traits[0], self.traits[1]], [self.s2, self.s3], LogicalOperator.AND) self.cf2 = ComplexFormula(self.im2, [self.traits2[0], self.traits2[1]], [self.s1, self.s1], LogicalOperator.AND) self.sf1 = SimpleFormula(self.im1, self.traits[1], self.s1) self.sf3 = SimpleFormula(self.im2, self.traits2[2], self.s2) self.sf4 = SimpleFormula(self.im2, self.traits2[1], self.s1) self.sf5 = SimpleFormula(self.im2, self.traits2[1], self.s2) self.dk1 = DistributedKnowledge(self.cf1, [self.bp1, self.bp4], 1) self.dk2 = DistributedKnowledge(self.cf2, [self.bp2, self.bp3], 2) self.dk3 = DistributedKnowledge(self.sf1, [self.bp4]) self.dk4 = DistributedKnowledge(self.sf3, [self.bp3], 12) self.dk5 = DistributedKnowledge(self.sf4, [self.bp6, self.bp4], 12) self.dk6 = DistributedKnowledge(self.sf5, [self.bp6, self.bp7], 12) self.DE = DistanceEstimator() self.CC = CompositeContext(self.DE, [self.bp6, self.bp7], 1, 1) self.CC2 = CompositeContext(self.DE, [self.bp6, self.bp7, self.bp4], 1, 1) self.CC3 = CompositeContext(self.DE, [self.bp6, self.bp6, self.bp2], 2, 1) self.bholon1 = BinaryHolon(self.dk3) self.bholon2 = BinaryHolon(self.dk4) self.bholon3 = BinaryHolon(self.dk5) self.bholon4 = BinaryHolon(self.dk6) self.bholon5 = BinaryHolon(self.dk6, self.CC.get_contextualized_bpset()) self.bholon6 = BinaryHolon(self.dk3, self.CC2.get_contextualized_bpset()) self.bholon7 = BinaryHolon(self.dk5, self.CC2.get_contextualized_bpset()) self.bholon8 = BinaryHolon(self.dk5, self.CC3.get_contextualized_bpset())