Advertisement
BenjaminWade

aimplanning

Sep 9th, 2023
1,198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.65 KB | Software | 0 0
  1. from planning import HLA, RealWorldPlanningProblem
  2.  
  3. def criarJogada():
  4.     library_2 = {
  5.         'HLA': [
  6.             'Jogada(Goleiro,GolAdversario)',
  7.             'Jogada(Goleiro,GolAdversario)',
  8.  
  9.             'Passe(Goleiro, Jogador)',
  10.  
  11.             'Finalizacao(Jogador, GolAdversario)',
  12.             'Finalizacao(Jogador, GolAdversario)',
  13.  
  14.             'Chute_Direita(Jogador, GolAdversario)',
  15.             'Chute_Esquerda(Jogador, GolAdversario)',
  16.             'TiroDeMeta(Goleiro, GolAdversario)'],
  17.         'steps': [
  18.             ['Passe(Goleiro, Jogador)', 'Finalizacao(Jogador, GolAdversario)'],
  19.             ['TiroDeMeta(Goleiro, GolAdversario)'],
  20.             [],
  21.             ['Chute_Direita(Jogador, GolAdversario)'],
  22.             ['Chute_Esquerda(Jogador, GolAdversario)'],
  23.             [],
  24.             [],
  25.             []
  26.         ],
  27.         'precond': [
  28.             ['BolaEm(Goleiro)'],
  29.             ['BolaEm(Goleiro)'],
  30.             ['BolaEm(Goleiro)'],
  31.             ['BolaEm(Jogador)'],
  32.             ['BolaEm(Jogador)'],
  33.             ['BolaEm(Jogador)'],
  34.             ['BolaEm(Jogador)'],
  35.             ['BolaEm(Goleiro) & Fadiga(Baixa)']
  36.         ],
  37.         'effect': [
  38.             ['BolaEm(GolAdversario) & ~BolaEm(Goleiro)'],
  39.             ['BolaEm(GolAdversario) & ~BolaEm(Goleiro) & ~Fadiga(Baixa)'],
  40.             ['BolaEm(Jogador) & BolaEm(Goleiro)'],
  41.             ['BolaEm(GolAdversario) & ~BolaEm(Jogador)'],
  42.             ['BolaEm(GolAdversario) & ~BolaEm(Jogador)'],
  43.             ['BolaEm(GolAdversario) & ~BolaEm(Jogador)'],
  44.             ['BolaEm(GolAdversario) & ~BolaEm(Jogador)'],
  45.             ['BolaEm(GolAdversario) & ~BolaEm(Goleiro) & ~Fadiga(Baixa)']
  46.         ]
  47.     }
  48.  
  49.     jogada_go_ga = HLA('Jogada(Goleiro,GolAdversario)', precond='BolaEm(Goleiro)', effect='BolaEm(GolAdversario) & ~BolaEm(Goleiro)')
  50.     tiro_go_ga = HLA('TiroDeMeta(Goleiro,GolAdversario)', precond='BolaEm(Goleiro)', effect='BolaEm(GolAdversario) & ~BolaEm(Goleiro) & ~Fadiga(Baixa)')
  51.     lancamento_go_so = HLA('Lancamento(Goleiro, SetorOfensivo)', 'BolaEm(Goleiro) & Saida(Rapida)','BolaEm(SetorOfensivo) & ~BolaEm(Goleiro)')
  52.     assistencia_so_ga = HLA('Assistencia(SetorOfensivo, GolAdversario)', 'BolaEm(SetorOfensivo)', 'BolaEm(GolAdversario) & ~BolaEm(SetorOfensivo)')
  53.  
  54.     actions = [jogada_go_ga, tiro_go_ga, lancamento_go_so, assistencia_so_ga]
  55.  
  56.     problem = RealWorldPlanningProblem(initial='BolaEm(Goleiro)', goals='BolaEm(GolAdversario)', actions=actions)
  57.  
  58.     plan = problem.hierarchical_search(library_2)
  59.     print('---Possivel Jogada---')
  60.     print(plan, '\n')
  61.     print([x.__dict__ for x in plan])
  62.     print()
  63.  
  64. if __name__ == '__main__':
  65.     criarJogada()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement