Advertisement
froleyks

transition.py

Mar 20th, 2020
280
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 10.04 KB | None | 0 0
  1. #!/usr/bin/env python3
  2. import sys
  3. import time
  4. from subprocess import getstatusoutput as cmd
  5.  
  6. unit = [
  7.     # ("../domains/opt/caldera/domain.pddl", "../domains/opt/caldera/p01.pddl", 6, 7),
  8.     # ("../domains/opt/caldera/domain.pddl", "../domains/opt/caldera/p02.pddl", 6, 7),
  9.     # ("../domains/opt/caldera/domain.pddl", "../domains/opt/caldera/p03.pddl", 6, 7),
  10.     # ("../domains/opt/caldera/domain.pddl", "../domains/opt/caldera/p04.pddl", 6, 7),
  11.     # ("../domains/opt/caldera/domain.pddl",
  12.     #  "../domains/opt/caldera/p05.pddl", 11, 12),
  13.     # ("../domains/opt/caldera/domain.pddl",
  14.     #  "../domains/opt/caldera/p06.pddl", 11, 12),
  15.     # ("../domains/opt/caldera/domain.pddl",
  16.     #  "../domains/opt/caldera/p07.pddl", 10, 11),
  17.     # ("../domains/opt/caldera/domain.pddl",
  18.     #  "../domains/opt/caldera/p08.pddl", 11, 12),
  19.     # ("../domains/opt/caldera/domain.pddl",
  20.     #  "../domains/opt/caldera/p09.pddl", 14, 15),
  21.     # ("../domains/opt/caldera/domain.pddl",
  22.     #  "../domains/opt/caldera/p10.pddl", 14, 15),
  23.     # ("../domains/opt/caldera/domain.pddl",
  24.     #  "../domains/opt/caldera/p11.pddl", 14, 15),
  25.     # ("../domains/opt/caldera/domain.pddl",
  26.     #  "../domains/opt/caldera/p12.pddl", 15, 16),
  27.     # ("../domains/opt/caldera/domain.pddl",
  28.     #  "../domains/opt/caldera/p13.pddl", 18, 19),
  29.     # ("../domains/opt/caldera/domain.pddl",
  30.     #  "../domains/opt/caldera/p14.pddl", 19, 20),
  31.     # ("../domains/opt/caldera/domain.pddl",
  32.     #  "../domains/opt/caldera/p15.pddl", 19, 20),
  33.     # ("../domains/opt/caldera/domain.pddl",
  34.     #  "../domains/opt/caldera/p16.pddl", 17, 19),
  35.     # ("../domains/opt/caldera/domain.pddl",
  36.     #  "../domains/opt/caldera/p17.pddl", 22, 25),
  37.     # ("../domains/opt/caldera/domain.pddl",
  38.     #  "../domains/opt/caldera/p18.pddl", 21, 25),
  39.     # ("../domains/opt/caldera/domain.pddl",
  40.     #  "../domains/opt/caldera/p19.pddl", 20, 23),
  41.     # ("../domains/opt/caldera/domain.pddl",
  42.     #  "../domains/opt/caldera/p20.pddl", 20, 23),
  43.     ("../domains/opt/nurikabe/domain.pddl",
  44.      "../domains/opt/nurikabe/p01.pddl", 6, 7),
  45.     ("../domains/opt/nurikabe/domain.pddl",
  46.      "../domains/opt/nurikabe/p02.pddl", 8, 9),
  47.     ("../domains/opt/nurikabe/domain.pddl",
  48.      "../domains/opt/nurikabe/p03.pddl", 10, 11),
  49.     ("../domains/opt/nurikabe/domain.pddl",
  50.      "../domains/opt/nurikabe/p04.pddl", 15, 16),
  51.     ("../domains/opt/nurikabe/domain.pddl",
  52.      "../domains/opt/nurikabe/p05.pddl", 14, 15),
  53.     ("../domains/opt/nurikabe/domain.pddl",
  54.      "../domains/opt/nurikabe/p06.pddl", 26, 27),
  55.     ("../domains/opt/nurikabe/domain.pddl",
  56.      "../domains/opt/nurikabe/p07.pddl", 28, 29),
  57.     ("../domains/opt/nurikabe/domain.pddl",
  58.      "../domains/opt/nurikabe/p08.pddl", 37, 38),
  59.     ("../domains/opt/nurikabe/domain.pddl",
  60.      "../domains/opt/nurikabe/p09.pddl", 37, 38),
  61.     ("../domains/opt/nurikabe/domain.pddl",
  62.      "../domains/opt/nurikabe/p10.pddl", 44, 45),
  63.     ("../domains/opt/nurikabe/domain.pddl",
  64.      "../domains/opt/nurikabe/p11.pddl", 54, 55),
  65.     ("../domains/opt/nurikabe/domain.pddl",
  66.      "../domains/opt/nurikabe/p12.pddl", 59, 60),
  67.     ("../domains/opt/nurikabe/domain.pddl",
  68.      "../domains/opt/nurikabe/p13.pddl", 66, 67),
  69.     ("../domains/opt/nurikabe/domain.pddl",
  70.      "../domains/opt/nurikabe/p14.pddl", 74, 75),
  71.     ("../domains/opt/nurikabe/domain.pddl",
  72.      "../domains/opt/nurikabe/p15.pddl", 79, 92),
  73.     ("../domains/opt/nurikabe/domain.pddl",
  74.      "../domains/opt/nurikabe/p16.pddl", 85, 86),
  75.     ("../domains/opt/nurikabe/domain.pddl",
  76.      "../domains/opt/nurikabe/p17.pddl", 89, 104),
  77.     ("../domains/opt/nurikabe/domain.pddl",
  78.      "../domains/opt/nurikabe/p18.pddl", 96, 112),
  79.     ("../domains/opt/nurikabe/domain.pddl",
  80.      "../domains/opt/nurikabe/p19.pddl", 106, 149),
  81.     ("../domains/opt/nurikabe/domain.pddl",
  82.      "../domains/opt/nurikabe/p20.pddl", 99, 142),
  83.     ("../domains/opt/organic-synthesis/domain-p01.pddl",
  84.      "../domains/opt/organic-synthesis/p01.pddl", 0, 1),
  85.     ("../domains/opt/organic-synthesis/domain-p02.pddl",
  86.      "../domains/opt/organic-synthesis/p02.pddl", 0, 1),
  87.     ("../domains/opt/organic-synthesis/domain-p03.pddl",
  88.      "../domains/opt/organic-synthesis/p03.pddl", 1, 2),
  89.     ("../domains/opt/organic-synthesis/domain-p04.pddl",
  90.      "../domains/opt/organic-synthesis/p04.pddl", 1, 2),
  91.     ("../domains/opt/organic-synthesis/domain-p05.pddl",
  92.      "../domains/opt/organic-synthesis/p05.pddl", 1, 2),
  93.     ("../domains/opt/organic-synthesis/domain-p06.pddl",
  94.      "../domains/opt/organic-synthesis/p06.pddl", 1, 2),
  95.     ("../domains/opt/organic-synthesis/domain-p07.pddl",
  96.      "../domains/opt/organic-synthesis/p07.pddl", 1, 2),
  97.     ("../domains/opt/organic-synthesis/domain-p08.pddl",
  98.      "../domains/opt/organic-synthesis/p08.pddl", 1, 2),
  99.     ("../domains/opt/organic-synthesis/domain-p09.pddl",
  100.      "../domains/opt/organic-synthesis/p09.pddl", 1, 2),
  101.     ("../domains/opt/organic-synthesis/domain-p10.pddl",
  102.      "../domains/opt/organic-synthesis/p10.pddl", 1, 2),
  103.     ("../domains/opt/organic-synthesis/domain-p11.pddl",
  104.      "../domains/opt/organic-synthesis/p11.pddl", 1, 2),
  105.     ("../domains/opt/organic-synthesis/domain-p12.pddl",
  106.      "../domains/opt/organic-synthesis/p12.pddl", 1, 2),
  107.     ("../domains/opt/organic-synthesis/domain-p13.pddl",
  108.      "../domains/opt/organic-synthesis/p13.pddl", 1, 2),
  109.     ("../domains/opt/organic-synthesis/domain-p14.pddl",
  110.      "../domains/opt/organic-synthesis/p14.pddl", 1, 2),
  111.     ("../domains/opt/organic-synthesis/domain-p15.pddl",
  112.      "../domains/opt/organic-synthesis/p15.pddl", 1, 2),
  113.     ("../domains/opt/organic-synthesis/domain-p16.pddl",
  114.      "../domains/opt/organic-synthesis/p16.pddl", 1, 2),
  115.     ("../domains/opt/organic-synthesis/domain-p17.pddl",
  116.      "../domains/opt/organic-synthesis/p17.pddl", 2, 3),
  117.     ("../domains/opt/organic-synthesis/domain-p18.pddl",
  118.      "../domains/opt/organic-synthesis/p18.pddl", 2, 3),
  119.     ("../domains/opt/organic-synthesis/domain-p19.pddl",
  120.      "../domains/opt/organic-synthesis/p19.pddl", 3, 4),
  121.     ("../domains/opt/organic-synthesis/domain-p20.pddl",
  122.      "../domains/opt/organic-synthesis/p20.pddl", 4, 5),
  123.     ("../domains/opt/snake/domain.pddl", "../domains/opt/snake/p01.pddl", 23, 24),
  124.     ("../domains/opt/snake/domain.pddl", "../domains/opt/snake/p02.pddl", 31, 32),
  125.     ("../domains/opt/snake/domain.pddl", "../domains/opt/snake/p03.pddl", 42, 43),
  126.     ("../domains/opt/snake/domain.pddl", "../domains/opt/snake/p04.pddl", 11, 12),
  127.     ("../domains/opt/snake/domain.pddl", "../domains/opt/snake/p05.pddl", 16, 17),
  128.     ("../domains/opt/snake/domain.pddl", "../domains/opt/snake/p06.pddl", 30, 31),
  129.     ("../domains/opt/snake/domain.pddl", "../domains/opt/snake/p07.pddl", 47, 48),
  130.     ("../domains/opt/snake/domain.pddl", "../domains/opt/snake/p08.pddl", 57, 58),
  131.     ("../domains/opt/snake/domain.pddl", "../domains/opt/snake/p09.pddl", 19, 20),
  132.     ("../domains/opt/snake/domain.pddl", "../domains/opt/snake/p10.pddl", 26, 27),
  133.     ("../domains/opt/snake/domain.pddl", "../domains/opt/snake/p11.pddl", 35, 36),
  134.     ("../domains/opt/snake/domain.pddl", "../domains/opt/snake/p12.pddl", 46, 47),
  135.     ("../domains/opt/snake/domain.pddl", "../domains/opt/snake/p13.pddl", 61, 65),
  136.     ("../domains/opt/snake/domain.pddl", "../domains/opt/snake/p14.pddl", 76, 86),
  137.     ("../domains/opt/snake/domain.pddl", "../domains/opt/snake/p15.pddl", 24, 25),
  138.     ("../domains/opt/snake/domain.pddl", "../domains/opt/snake/p16.pddl", 41, 42),
  139.     ("../domains/opt/snake/domain.pddl", "../domains/opt/snake/p17.pddl", 61, 62),
  140.     ("../domains/opt/snake/domain.pddl", "../domains/opt/snake/p18.pddl", 62, 63),
  141.     ("../domains/opt/snake/domain.pddl", "../domains/opt/snake/p19.pddl", 88, 130),
  142.     ("../domains/opt/snake/domain.pddl", "../domains/opt/snake/p20.pddl", 29, 30),
  143.     ("../domains/opt/termes/domain.pddl", "../domains/opt/termes/p01.pddl", 35, 36),
  144.     ("../domains/opt/termes/domain.pddl", "../domains/opt/termes/p02.pddl", 53, 54),
  145.     ("../domains/opt/termes/domain.pddl", "../domains/opt/termes/p03.pddl", 67, 68),
  146.     ("../domains/opt/termes/domain.pddl", "../domains/opt/termes/p04.pddl", 79, 80),
  147.     ("../domains/opt/termes/domain.pddl",
  148.      "../domains/opt/termes/p05.pddl", 131, 132),
  149.     ("../domains/opt/termes/domain.pddl",
  150.      "../domains/opt/termes/p06.pddl", 163, 164),
  151.     ("../domains/opt/termes/domain.pddl",
  152.      "../domains/opt/termes/p07.pddl", 221, 222),
  153.     ("../domains/opt/termes/domain.pddl",
  154.      "../domains/opt/termes/p08.pddl", 215, 216),
  155.     ("../domains/opt/termes/domain.pddl",
  156.      "../domains/opt/termes/p09.pddl", 331, 332),
  157.     ("../domains/opt/termes/domain.pddl",
  158.      "../domains/opt/termes/p10.pddl", 297, 298),
  159.     ("../domains/opt/termes/domain.pddl", "../domains/opt/termes/p11.pddl", 65, 66),
  160.     ("../domains/opt/termes/domain.pddl", "../domains/opt/termes/p12.pddl", 45, 46),
  161.     ("../domains/opt/termes/domain.pddl", "../domains/opt/termes/p13.pddl", 91, 92),
  162.     ("../domains/opt/termes/domain.pddl",
  163.      "../domains/opt/termes/p14.pddl", 103, 104),
  164.     ("../domains/opt/termes/domain.pddl",
  165.      "../domains/opt/termes/p15.pddl", 139, 140),
  166.     ("../domains/opt/termes/domain.pddl",
  167.      "../domains/opt/termes/p16.pddl", 151, 152),
  168.     ("../domains/opt/termes/domain.pddl",
  169.      "../domains/opt/termes/p17.pddl", 115, 116),
  170.     ("../domains/opt/termes/domain.pddl", "../domains/opt/termes/p18.pddl", 75, 76),
  171.     ("../domains/opt/termes/domain.pddl", "../domains/opt/termes/p19.pddl", 93, 94),
  172.     ("../domains/opt/termes/domain.pddl", "../domains/opt/termes/p20.pddl", 105, 106)]
  173.  
  174. log = open("log", "w")
  175. results = []
  176. for dom, inst, unsat, sat in unit:
  177.     c = "./run.sh " + dom + " " + inst + " " + str(sat)
  178.     log.write("INST: " + inst)
  179.     log.write("RUN SAT: " + c)
  180.     start = time.time()
  181.     r = cmd(c)[1]
  182.     t = time.time() - start
  183.     log.write(r)
  184.     print("DONE SAT: " + inst + " in " + str(t))
  185.     if "SATISFIABLE" not in r:
  186.         print("ERR: not SAT" + inst)
  187.  
  188.     log.write("RUN UNSAT: " + c)
  189.     c = "./run.sh " + dom + " " + inst + " " + str(unsat)
  190.     start = time.time()
  191.     r = cmd(c)[1]
  192.     t = time.time() - start
  193.     log.write(r)
  194.     print("DONE UNSAT: " + inst + " in " + str(t))
  195.     if "UNSATISFIABLE" not in r:
  196.         print("ERR: not UNSAT" + inst)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement