예제 #1
0
파일: SOA.py 프로젝트: fanjuhua/SOA
 def __init__(self, model):
     self.S = [Seeker(config.n, i) for i in range(config.pop_size)]
     self.g_best = None
     self.g_best_y = None
     self.model = model
     self.h=[]
     self.u_p=[]
예제 #2
0
    def __init__(self, root: SimpleBlock, db: Database, p2p: Network):
        self._db = db
        self._p2p = p2p
        self.root = root

        self._state = State(self._db)

        self._orphans = Orphanage(self._db)
        self.current_node_hashes = RedisSet(db, 'all_nodes')
        self._block_index = RedisHashMap(db, 'block_index', int, SimpleBlock)
        self._block_heights = RedisHashMap(db, 'block_heights', int, int)
        self._heights = RedisHashMap(db, 'heights', int)
        self._initialized = RedisFlag(db, 'initialized')

        self.head = self._get_top_block()

        self._seeker = Seeker(
            self, self._p2p
        )  # format: (total_work, block_hash) - get early blocks first
        self.currently_seeking = set()

        # todo: temp till primary chain is done in redis so queries are quick
        self._primary_chain = PrimaryChain(self._db, 'primary_chain')

        if not self._initialized.is_true:
            self._first_initialize()
            self._initialized.set_true()
예제 #3
0
파일: tests.py 프로젝트: anonGitHum/PPCHiG
	def runTest(self):

		s = Seeker('TS', 'test/unit_test.xml', 0)

		hand_dict = {
		'1': [[1,7,8,9,10,11,12,13,14,15,16,17,18],'1','3','OBJ','n-s---ma-','a)nh/r1',False],
		'2': [[2],'2','3','OBJ','p-s---md-','e)gw/1',True],
		'3': [[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],'3','0','PRED','v2spma---','e)ne/pw1',True],
		'4': [[4],'4','5','AuxX','u--------','comma1',True],
		'5': [[4,5,6],'5','3','ExD','n-s---fv-','*mou=sa1',True],
		'6': [[6],'6','5','AuxX','u--------','comma1',True],
		'7': [[7],'7','1','ATR','a-s---ma-','polu/tropos1',True],
		'8': [[8],'8','12','AuxX','u--------','comma1',True],
		'9': [[9],'9','12','SBJ','p-s---mn-','o(/s1',True],
		'10': [[10],'10','11','AuxZ','d--------','ma/la1',True],
		'11': [[10,11],'11','12','ADV','d--------','polu/s',True],
		'12': [[8,9,10,11,12,13,14,15,16,17,18],'12','1','ATR','v3saip---','pla/zw1',True],
		'13': [[13],'13','14','AuxX','u--------','comma1',True],
		'14': [[13,14,15,16,17,18],'14','12','AuxC','c--------','e)pei/1',True],
		'15': [[15],'15','17','ATR','n-s---fg-','*troi/a1',True],
		'16': [[16],'16','17','ATR','a-s---na-','i(ero/s1',True],
		'17': [[15,16,17],'17','18','OBJ','n-s---na-','ptoli/eqron1',True],
		'18': [[15,16,17,18],'18','14','ADV','v3saia---','pe/rqw1',True],
		'19': [[19],'19','0','AuxK','u--------','punc1',True]
		}

		for tree in s.trees.values():
			for key in tree.list_form:
				self.assertEqual(tree.list_form[key], hand_dict[key])
예제 #4
0
파일: tests.py 프로젝트: anonGitHum/PPCHiG
	def runTest(self):

		s = Seeker('TS', 'test/unit_test.xml', 0)

		dct = s.clause_types()

		hand_dict = {'2185541': ['o:e:t:-:o:-:t:f:f', 'v:p:-:s:-:-:-:f:f', 'v:e:n:-:o:-:f:f:t']}

		for key in dct:
			self.assertEqual(dct[key], hand_dict[key])
예제 #5
0
파일: tests.py 프로젝트: anonGitHum/PPCHiG
	def runTest(self):

		s = Seeker('TS', 'test/test.xml', 0)

		dct = s.classify_discontinuous('OBJ|SBJ')

		hand_dict = {'yxxv': 0, 'xxv': 2, 'yxvx': 2, 'xvx': 2, 'vxx': 0}

		for key in dct:
			try:
				self.assertEqual(dct[key], hand_dict[key])
			except AssertionError:
				print "Generated " + key + " " + str(dct[key]) + " does not equal hand-calculated " + str(hand_dict[key] ) + "."
 def __init_players(self):
     seeker_coord, hiders_coords = self.__get_agent_coord()
     # self.__hiders = ([Hider(self.__map, self.__n, self.__m, self.__range_hide, hider_coord, seeker_coord, self.__obs)
     #     for hider_coord in hiders_coords])
     self.__obs_sign_to_hider = [None] * len(hiders_coords)
     self.__hider_status = [True] * len(hiders_coords)
     self.__hiders = ([
         Hider(self.__map, self.__n, self.__m, self.__range_hide,
               (hiders_coords[id_hider][0], hiders_coords[id_hider][1]),
               seeker_coord, self.__obs, self.__obs_sign_to_hider,
               self.__need_obs, self.__hide_place, self.__hider_status,
               self.__obs_to_cell, self.__is_generate_path, id_hider)
         for id_hider in range(len(hiders_coords))
     ])
     self.__seeker = Seeker(self.__map, self.__n, self.__m,
                            self.__range_seek, seeker_coord, self.__obs)
     self.__seeker.update_num_hiders(self.__num_hiders)
예제 #7
0
    def __init_players(self):
        self.__hiders = []
        hiders_coors = []
        seeker_coor = None
        for i in range(self.__n):
            for j in range(self.__m):
                if self.__map[i][j] == Config.SEEKER:
                    seeker_coor = i, j
                    self.__seeker = Seeker(self.__map, self.__n, self.__m,
                                           self.__range_seek, seeker_coor)
                elif self.__map[i][j] == Config.HIDER:
                    hiders_coors.append((i, j))
                    self.__num_hiders += 1

        for i in range(self.__num_hiders):
            self.__hiders.append(
                Hider(self.__map, self.__n, self.__m, self.__range_hide,
                      hiders_coors[i], seeker_coor))

        self.__seeker.update_num_hiders(self.__num_hiders)
예제 #8
0
from seeker import Seeker
from mail_module import send_mail

s = Seeker()
file_name, second_file_name = s.seek()
mail_text = 'DevExpress dependency report.'
mail_title = 'DevExpress dependency report'
send_to = ['*****@*****.**']
send_from = '*****@*****.**'

#send_mail(send_from, send_to, mail_title, mail_text, [str(file_name), str(second_file_name)])
예제 #9
0
파일: main.py 프로젝트: Noirdemort/SkyLink
            content = "media"
        elif args.markdown:
            content = "markdown"
        elif args.broadcast:
            content = "broadcast"
        elif args.object:
            content = "file"
        elif args.delete:
            content = "shred"
        else:
            content = "tag-search"

        Publisher().process(content, args.file)

    elif args.mode == 'seeker':
        seeker = Seeker()

        if args.search:
            if not (args.search_tag or args.search_name or args.search_hash):
                print(
                    colored.red(
                        "[!] Atleast one of tag, name or file hash is require for search"
                    ))
                exit(0)
            data = {}
            if args.search_hash:
                data["hash"] = args.search_hash
            else:
                data["hash"] = None

            if args.search_name:
예제 #10
0
파일: main.py 프로젝트: careena/Quidditch
# OOP and OOAD Assessment
# Karina Sudnicina
# 17.12.2020
# Quidditch v 8.0

from field import Field
from seeker import Seeker
from snitch import Snitch

# import the Pygame
import random, sys, copy, os, pygame
from pygame.locals import *

# create objects
field = Field()
s1 = Seeker('1', 4, 1)
s2 = Seeker('2', 5, 3)
sn = Snitch('@', 3, 2)

# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
FPS = 30                    # frames per second to update the screen
WINWIDTH = 800              # width and height of the program's window
WINHEIGHT = 600
HALF_WINWIDTH = int(WINWIDTH / 2)    # place things centrally
HALF_WINHEIGHT = int(WINHEIGHT / 2)

# The total width and height of each tile in pixels.
TILEWIDTH = 32
TILEHEIGHT = 32
TILEFLOORHEIGHT = 32
예제 #11
0
    queue_dis = queue.Queue()
    queue_extrac = queue.Queue()
    queue_extraced = queue.Queue()
    queue_av = queue.Queue()
    queue_hash = queue.Queue()
    queue_hashed = queue.Queue()
    queue_ext_path = queue.Queue()
    queue_csv = queue.Queue()
    queue_csved = queue.Queue()
    queue_blk = queue.Queue()
    queue_mem = queue.Queue()
    queue_memed = queue.Queue()
    queue_rslt = queue.Queue()
    queue_elastic = queue.Queue()

    see = Seeker(queue_dis, IN_DIR, BASE_NAME, CHECK_TIME)
    dis = Dispatcher(queue_dis, queue_extrac, queue_extraced, queue_ext_path,
                     queue_av, queue_hash, queue_hashed, queue_csv,
                     queue_csved, queue_blk, queue_mem, queue_memed,
                     queue_elastic, IN_DIR, WORK_DIR, OUT_DIR, DIR_OUT)
    has = Hasher(queue_hash, queue_hashed, IN_DIR, WORK_DIR, BLOCK_SIZE_HASH)
    ext = Extractor(queue_extrac, queue_extraced, queue_ext_path, IN_DIR,
                    WORK_DIR)
    csv = Csver(queue_csv, queue_csved, WORK_DIR, OUT_DIR)
    blk = Bulker(queue_blk, queue_extraced, WORK_DIR, OUT_DIR)
    mem = Memer(queue_mem, queue_extraced, IN_DIR, WORK_DIR, OUT_DIR)
    #tim = Timeliner(queue_extrac,WORK_DIR,OUT_DIR)
    avc = Avcheck(queue_av, WORK_DIR, OUT_DIR)
    #elas = Elasticer(queue_elastic,WORK_DIR,OUT_DIR)

    see.start()
예제 #12
0
def main():
    level = 3
    #init board
    board = Board()
    catchingHider = False
    pathToCurrentHider = []

    checkingAnnounceArea = False
    pathToCurrentOptimalPoint = []
    hiderPos = []
    #init seeker
    seeker = Seeker()
    seeker.build_visitMap(mapInfo[0])
    seeker.update(mapInfo[1][0], mapInfo[0])

    #init seeker move
    seekerNewMove = [seeker.Sx, seeker.Sy]
    seekerOldMove = []
    seekerOldMove.append(seekerNewMove)

    #init hider
    hiderList = []
    for i in range(len(mapInfo[2])):
        hiderList.append(Hider())
        hiderList[i].update(mapInfo[2][i], mapInfo[0])
    numberOfHiders = len(hiderList)
    #init game
    FPS = 60
    WIN = pygame.display.set_mode((WIDTH, HEIGHT))
    pygame.display.set_caption("Map")

    running = True
    clock = pygame.time.Clock()

    #init draw
    board.draw_board(WIN, mapInfo[0])
    seeker.drawVison(WIN, mapInfo[0])
    seeker.drawSeeker(WIN)

    for i in range(len(hiderList)):
        hiderList[i].drawHider(WIN)

    pygame.display.update()
    pygame.time.wait(20)

    #start game loop
    turn_count = 0
    hider_time = 5
    while running:
        clock.tick(FPS)

        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                running = False
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_p:
                    pause()

        #move
        #seekerOldMove.append(seekerNewMove)
        #if len(seekerOldMove) > 4:
        #    seekerOldMove.pop(0)
        turn_count = turn_count + 1

        if level >= 3:
            for i in range(len(hiderList)):
                danger = 0
                for curX in range(hiderList[i].Sx - 2, hiderList[i].Sx + 3):
                    for curY in range(hiderList[i].Sy - 2,
                                      hiderList[i].Sy + 3):
                        if (curX < 1 or curX > ROW - 2 or curY < 1
                                or curY > COL - 2):
                            continue
                        if (hiderList[i].valueInVision(curX, curY) == 3):
                            danger = 1
                if (danger):
                    new_move = hiderList[i].run(mapInfo[0])
                    randVal = randint(0, 10000)
                    if (randVal % 2 == 0):
                        new_move = (hiderList[i].Sx, hiderList[i].Sy)
                    hiderList[i].update(new_move, mapInfo[0])

                    continue

                new_move = hiderList[i].get_goal(mapInfo[0], 1000)
                hiderList[i].update(new_move, mapInfo[0])

        if turn_count > hider_time:
            if len(seeker.hiderPositionList) == 0 and len(
                    seeker.announcePositionList) == 0:
                seekerNewMove = seeker.randomMove(mapInfo[0])

            elif len(seeker.hiderPositionList) == 0 and len(
                    seeker.announcePositionList) > 0:
                if checkingAnnounceArea == False:
                    announcePos = seeker.announcePositionList[0]
                    seeker.findAnnounceArea(mapInfo[0], announcePos)

                    optimal_point = seeker.findOptimalPoint(mapInfo[0])
                    if optimal_point is None:
                        seekerNewMove = seeker.randomMove(mapInfo[0])
                    pathToCurrentOptimalPoint = seeker.FromStartToEnd(
                        list([seeker.Sx, seeker.Sy]), optimal_point,
                        mapInfo[0])
                    checkingAnnounceArea = True
                if len(seeker.announceArea) > 0:
                    if pathToCurrentOptimalPoint is None:
                        seekerNewMove = seeker.randomMove(mapInfo[0])
                    elif len(pathToCurrentOptimalPoint) > 0:
                        seekerNewMove = pathToCurrentOptimalPoint.pop(0)
                    else:
                        optimal_point = seeker.findOptimalPoint(mapInfo[0])
                        pathToCurrentOptimalPoint = seeker.FromStartToEnd(
                            list([seeker.Sx, seeker.Sy]), optimal_point,
                            mapInfo[0])
                elif len(seeker.announceArea) == 0:
                    seeker.announcePositionList.pop(0)
                    checkingAnnounceArea = False

            elif len(seeker.hiderPositionList) > 0:
                hiderPos = seeker.hiderPositionList[0]
                if catchingHider == False:
                    pathToCurrentHider = seeker.FromStartToEnd(
                        list([seeker.Sx, seeker.Sy]), hiderPos, mapInfo[0])
                    print("hider position:", hiderPos)
                    catchingHider = True
                seekerNewMove = pathToCurrentHider.pop(0)
                if seekerNewMove[0] == hiderPos[0] and seekerNewMove[
                        1] == hiderPos[1]:
                    numberOfHiders = numberOfHiders - 1
                    catchingHider = False
                    mapInfo[0][hiderPos[0]][hiderPos[1]] = 0
                    seeker.visionScopeUpdate(mapInfo[0])
                    seeker.visibleUpdate()
                    seeker.hiderPositionList.pop(0)
                    print('need to pop: ', seekerNewMove)
                    for i in range(len(hiderList)):
                        print(hiderList[i].Sx, hiderList[i].Sy)

                    for k in range(0, len(hiderList)):
                        if hiderList[k].Sx == seekerNewMove[0] and hiderList[
                                k].Sy == seekerNewMove[1]:
                            temp = hiderList[k]
                            temp.cleanUpAnnounce(mapInfo[0])

                            hiderList.pop(k)
                            break

                    if len(hiderList) == 0:
                        print("Find all hiders, game over")
                        return

            #seekerNewMove = seeker.randomMove(mapInfo[0])
            if (seekerNewMove is None):
                seeker.build_visitMap(mapInfo[0])
                seekerNewMove = (seeker.Sx, seeker.Sy)

            seeker.update(seekerNewMove, mapInfo[0])
            seeker.updateAnnounceArea()
            seeker.findHider()

            seeker.findAnnounce()

        #draw
        #draw board
        board.draw_board(WIN, mapInfo[0])
        #draw vision
        seeker.drawVison(WIN, mapInfo[0])

        for i in range(len(hiderList)):
            hiderList[i].drawVison(WIN, mapInfo[0], seeker)

        #draw agents
        seeker.drawSeeker(WIN)
        for i in range(len(hiderList)):
            hiderList[i].drawHider(WIN)
        for i in hiderList:
            if turn_count >= 30:
                i.announce(WIN, mapInfo[0])
            i.drawAnnounce(WIN)
        #for i in seeker.vision:
        #    print(i)
        #print("X of seeker:", seeker.Sx)
        #print("Y of seeker:", seeker.Sy, "\n")
        #print hider location
        #print(" hider position list that seeker found", seeker.hiderPositionList)

        pygame.display.update()
        pygame.time.wait(30)

    pygame.quit()
예제 #13
0
    def __init__(self, account_id, private_key, provider, dev=False):
        self.plugin = PluginManager()
        self.plugin.load(PLUGINS_PATH)
        self.plugin.set_default_solverclass('gcs_solver.py')

        self.dev = dev
        self.account_id = account_id
        self.web3 = Web3(provider)
        self.interest = ''
        self.trusted_users = []
        self.web3.eth.defaultAccount = account_id

        # PoA であれば geth_poa_middleware を利用
        try:
            self.web3.eth.getBlock("latest")
        except ExtraDataLengthError:
            self.web3.middleware_onion.inject(geth_poa_middleware, layer=0)

        if private_key:
            self.web3.middleware_onion.add(
                construct_sign_and_send_raw_middleware(private_key))
        self.deploy_erc1820()

        self.__observer = None
        self.__state = None
        self.assets = None
        # Wallet の情報
        self.wallet = Wallet(self.web3, self.account_id)

        # オペレータ(トークンの交換などを担当)のコントラクト
        self.operator_address = None
        self.load_config()

        self.operator_address = self._fix_config_address(
            self.config['operator']['address'])
        if self.config['operator']['solver_pluginfile']:
            self.plugin.set_solverclass(
                self.operator_address,
                self.config['operator']['solver_pluginfile'])

        self.contracts = Contracts(self.web3)
        self.deploy_metemcyberutil()

        self.fetch_trusted_users()

        self.event_listener = BasicEventListener('')
        self.event_listener.start()

        # inventory (トークン・カタログの管理)のインスタンス生成
        catalog_address = self._fix_config_address(
            self.config['catalog']['address'])
        broker_address = self._fix_config_address(
            self.config['broker']['address'])
        self.inventory = Inventory(self.contracts, self.account_id,
                                   self.event_listener, catalog_address,
                                   broker_address)

        # Seeker (チャレンジの依頼者)のインスタンス
        self.seeker = Seeker(self.contracts)

        # Solver (チャレンジの受領者)としてのインスタンス
        if self.operator_address:
            solverclass = self.plugin.get_solverclass(self.operator_address)
            self.solver = solverclass(self.contracts, self.account_id,
                                      self.operator_address)
        else:
            self.solver = None

        # MISP設定のinsert
        self.load_misp_config(MISP_INI_FILEPATH)