Création d'un compte pour un collaborateur extérieur au laboratoire depuis l'intranet ICube : https://intranet.icube.unistra.fr/fr/labs/member/profile

Commit c0fd351b authored by Alain Shakour's avatar Alain Shakour
Browse files

Add tertius/1BC source & refactoring tertius/1BC/proper

parent 52deb190
......@@ -7,15 +7,11 @@ from rsd import RSD
from wordification import Wordification
from treeliker import TreeLiker
from security import check_input
from proper import Proper
from tertius import Tertius, OneBC
from services.webservice import WebService
import shutil
import os
from subprocess import Popen, PIPE
import time
def ilp_aleph(input_dict):
aleph = Aleph()
settings = input_dict['settings']
......@@ -130,215 +126,26 @@ def ilp_treeliker(input_dict):
return {'arff': arff_train, 'treeliker': treeliker}
def ilp_cardinalization(input_dict):
return cardinalization(input_dict,False)
proper = Proper(input_dict,False)
output_dict = proper.run()
return output_dict
def ilp_quantiles(input_dict):
return cardinalization(input_dict,False)
proper = Proper(input_dict,False)
output_dict = proper.run()
return output_dict
def ilp_relaggs(input_dict):
return cardinalization(input_dict,True)
def cardinalization(input_dict,is_relaggs):
output_dict = {}
excluded_fields = parse_excluded_fields(input_dict['context'])
args_list = ['java', '-Xmx512m', '-jar', 'proper/properLauncher.jar']
if is_relaggs:
args_list += ['-relaggs']
else:
args_list += ['-cardinalizer']
result_table = '_%s_%s' % (('relaggs' if is_relaggs else ('quantiles' if 'discretize_parts' in input_dict else 'cardinalize' )), int(round(time.time() * 1000)) )
#progress bar issue
#result_table = '_%s_%s_%s' % (('relaggs' if is_relaggs else ('quantiles' if 'discretize_parts' in input_dict else 'cardinalize' )), str(widget.workflow_id), str(widget.id))
args_list += [
'-use_foreign_keys',
'-associated_tables', ','.join(set(input_dict['context'].tables).difference(input_dict['context'].target_table)),
'-user',input_dict['context'].connection.user,
'-password', input_dict['context'].connection.password,
'-result_table', result_table,
'-driver', input_dict['context'].connection.dal.get_driver_name(),
'-exclude_fields', excluded_fields,
'-field',input_dict['context'].target_att,
'-url', input_dict['context'].connection.dal.get_jdbc_prefix() + input_dict['context'].connection.host + '/',
'-database', input_dict['context'].connection.database,
'-table', input_dict['context'].target_table]
try:
args_list += ['-discretize', '1','-discretize-parts', input_dict['discretize_parts'] ]
except KeyError:
pass
p = Popen(args_list,cwd=os.path.dirname(os.path.abspath(__file__)), stdout=PIPE)
stdout_str, stderr_str = p.communicate()
output_dict['context'] = input_dict['context'].change_table(result_table)
proper = Proper(input_dict,True)
output_dict = proper.run()
return output_dict
def parse_excluded_fields(context):
excluded_fields = set()
for table in context.tables:
excluded_set = set(context.all_cols[table]).difference(set(context.col_vals[table].keys()))
if excluded_set:
excluded_fields.add(','.join(map(lambda field: table + '.' + str(field), excluded_set)))
return ','.join(excluded_fields)
def ilp_1bc(input_dict):
output_dict = {}
url = os.path.normpath(re.sub('\..*$', '', input_dict['prd_file']))
handle_files(input_dict, url)
args_list = [os.path.join(os.path.dirname(os.path.abspath(__file__)),os.path.join('tertius','1BC.exe' if os.name == 'nt' else '1BC')), '-r','LANGUAGE']
args_list += ['-m', '512']
try:
max_literal = int(input_dict['max_literal'])
except ValueError:
raise Exception('Max Literal should be an integer')
try:
max_variable = int(input_dict['max_variable'])
except ValueError:
raise Exception('Max Variable should be an integer')
try:
cross_number = int(input_dict['cross_number'])
except ValueError:
pass
else:
args_list += ['-cross', str(cross_number)]
try:
srand = int(input_dict['srand'])
except ValueError:
pass
else:
args_list += ['-srand', str(srand)]
try:
roc_nb_folds = int(input_dict['roc_nb_folds'])
except ValueError:
pass
else:
if roc_nb_folds >= 0:
args_list += ['-o', str(roc_nb_folds)]
if input_dict['load_part_inc']:
args_list += ['-i']
att_list = create_attribute_list(input_dict['attribute_list'])
if att_list:
args_list += att_list
args_list += ['class']
args_list += [str(max_literal) + '/' + str(max_variable), os.path.relpath(url, os.path.dirname(os.path.abspath(__file__)))]
p = Popen(args_list,cwd=os.path.dirname(os.path.abspath(__file__)), stdout=PIPE)
stdout_str, stderr_str = p.communicate()
with open(url + '.res') as f:
res_file = f.read()
output_dict['results'] = res_file
onebc = OneBC(input_dict)
output_dict = onebc.run()
return output_dict
def ilp_tertius(input_dict):
output_dict = {}
url = os.path.normpath(re.sub('\..*$', '', input_dict['prd_file']))
handle_files(input_dict, url)
args_list = [os.path.join(os.path.dirname(os.path.abspath(__file__)),os.path.join('tertius','tertius.exe' if os.name == 'nt' else 'tertius'))]
args_list += ['-m', '512']
try:
max_literal = int(input_dict['max_literal'])
except ValueError:
raise Exception('Max Literal should be an integer')
try:
max_variable = int(input_dict['max_variable'])
except ValueError:
raise Exception('Max Variable should be an integer')
try:
struct_nb_properties = int(input_dict['struct_nb_properties'])
except ValueError:
pass
else:
if struct_nb_properties >= 0:
args_list += ['-struct', str(struct_nb_properties)]
try:
nb_results = int(input_dict['nb_results'])
except ValueError:
nb_results = -1
else:
if nb_results > 0:
args_list += ['-k', str(nb_results)]
if nb_results < 0:
try:
conf_thres = int(input_dict['conf_thres'])
except ValueError:
conf_thres = -1
else:
if conf_thres > 0:
args_list += ['-c', str(conf_thres)]
if input_dict['count_bottom_up']:
args_list += ['-cbu']
if input_dict['sat_clauses']:
args_list += ['-sat']
try:
noise_percent_thres = float(input_dict['noise_percent_thres'])
except ValueError:
pass
else:
if noise_percent_thres >= 0:
args_list += ['-n', str(noise_percent_thres)]
if input_dict['lang_horn'] and input_dict['lang_pos_class']:
args_list += ['-b', 'horn_pos_class']
elif input_dict['lang_horn']:
args_list += ['-b', 'horn']
elif input_dict['lang_pos_class']:
args_list += ['-b', 'pos_class']
att_list = create_attribute_list(input_dict['attribute_list'])
if att_list:
args_list += att_list
args_list += [str(max_literal) + '/' + str(max_variable),os.path.relpath(url, os.path.dirname(os.path.abspath(__file__)))]
p = Popen(args_list,cwd=os.path.dirname(os.path.abspath(__file__)), stdout=PIPE)
stdout_str, stderr_str = p.communicate()
with open(url+'.res') as f:
res_file = f.read()
output_dict['results'] = res_file
return output_dict
def handle_files(input_dict, url):
if os.path.normpath(input_dict['fct_file']) != os.path.normpath(url + '.fct'):
shutil.copy(os.path.normpath(input_dict['fct_file']),os.path.normpath(url + '.fct'));
if input_dict['test_file'] and os.path.normpath(input_dict['test_file']) != os.path.normpath(url + '.test'):
shutil.copy(os.path.normpath(input_dict['test_file']), os.path.normpath(url + '.test'));
if not os.path.isfile(os.path.normpath(url + '.fct')) or not os.path.isfile(os.path.normpath(url + '.prd')):
raise Exception('Prd or fct file missing')
def create_attribute_list(attribute_str):
if attribute_str.strip():
attribute_list = attribute_str.split(',')
if attribute_list:
return [str(e) for e in ' '.join(map(lambda field: '-d ' + str(field), attribute_list)).split(' ')]
return ''
\ No newline at end of file
tertiusInst = Tertius(input_dict)
output_dict = tertiusInst.run()
return output_dict
\ No newline at end of file
from proper import Proper
import time
from subprocess import Popen, PIPE
import os
class Proper(object):
def __init__(self,input_dict,is_relaggs):
self.context = input_dict['context'];
self.result_table = '_%s_%s' % (('relaggs' if is_relaggs else ('quantiles' if 'discretize_parts' in input_dict else 'cardinalize' )), int(round(time.time() * 1000)) )
self.args_list = self.init_args_list(input_dict,is_relaggs)
def init_args_list(self, input_dict,is_relaggs):
excluded_fields = self.parse_excluded_fields(input_dict['context'])
args_list = ['java', '-Xmx512m', '-jar', 'bin/properLauncher.jar']
if is_relaggs:
args_list += ['-relaggs']
else:
args_list += ['-cardinalizer']
args_list += [
'-use_foreign_keys',
'-associated_tables', ','.join(set(input_dict['context'].tables).difference(input_dict['context'].target_table)),
'-user',input_dict['context'].connection.user,
'-password', input_dict['context'].connection.password,
'-result_table', self.result_table,
'-driver', input_dict['context'].connection.dal.get_driver_name(),
'-exclude_fields', excluded_fields,
'-field',input_dict['context'].target_att,
'-url', input_dict['context'].connection.dal.get_jdbc_prefix() + input_dict['context'].connection.host + '/',
'-database', input_dict['context'].connection.database,
'-table', input_dict['context'].target_table]
try:
args_list += ['-discretize', '1','-discretize-parts', input_dict['discretize_parts'] ]
except KeyError:
pass
return args_list
def run(self):
output_dict = {}
p = Popen(self.args_list,cwd=os.path.dirname(os.path.abspath(__file__)), stdout=PIPE)
stdout_str, stderr_str = p.communicate()
output_dict['context'] = self.context.change_table(self.result_table)
return output_dict
def parse_excluded_fields(self, context):
excluded_fields = set()
for table in context.tables:
excluded_set = set(context.all_cols[table]).difference(set(context.col_vals[table].keys()))
if excluded_set:
excluded_fields.add(','.join(map(lambda field: table + '.' + str(field), excluded_set)))
return ','.join(excluded_fields)
from onebc import OneBC
from tertius import Tertius
\ No newline at end of file
import os
import shutil
def handle_files(fct_file_path,test_file_path, url):
if os.path.normpath(fct_file_path) != os.path.normpath(url + '.fct'):
shutil.copy(os.path.normpath(fct_file_path),os.path.normpath(url + '.fct'));
if test_file_path and os.path.normpath(test_file_path) != os.path.normpath(url + '.test'):
shutil.copy(os.path.normpath(test_file_path), os.path.normpath(url + '.test'));
if not os.path.isfile(os.path.normpath(url + '.fct')) or not os.path.isfile(os.path.normpath(url + '.prd')):
raise Exception('Prd or fct file missing')
def create_attribute_list(attribute_str):
if attribute_str.strip():
attribute_list = attribute_str.split(',')
if attribute_list:
return [str(e) for e in ' '.join(map(lambda field: '-d ' + str(field), attribute_list)).split(' ')]
return ''
\ No newline at end of file
from subprocess import Popen, PIPE
import os
import re
import helper
class OneBC(object):
def __init__(self,input_dict):
self.prd_file_path = input_dict['prd_file']
self.url = os.path.normpath(re.sub('\..*$', '', self.prd_file_path))
self.test_file_path = input_dict['test_file']
self.fct_file_path = input_dict['fct_file']
self.args_list = self.init_args_list(input_dict)
def init_args_list(self, input_dict):
args_list = [os.path.join(os.path.dirname(os.path.abspath(__file__)),os.path.join('bin','1BC.exe' if os.name == 'nt' else '1BC')), '-r','LANGUAGE']
args_list += ['-m', '512']
try:
max_literal = int(input_dict['max_literal'])
except ValueError:
raise Exception('Max Literal should be an integer')
try:
max_variable = int(input_dict['max_variable'])
except ValueError:
raise Exception('Max Variable should be an integer')
try:
cross_number = int(input_dict['cross_number'])
except ValueError:
pass
else:
args_list += ['-cross', str(cross_number)]
try:
srand = int(input_dict['srand'])
except ValueError:
pass
else:
args_list += ['-srand', str(srand)]
try:
roc_nb_folds = int(input_dict['roc_nb_folds'])
except ValueError:
pass
else:
if roc_nb_folds >= 0:
args_list += ['-o', str(roc_nb_folds)]
if input_dict['load_part_inc']:
args_list += ['-i']
att_list = helper.create_attribute_list(input_dict['attribute_list'])
if att_list:
args_list += att_list
args_list += ['class']
args_list += [str(max_literal) + '/' + str(max_variable), os.path.relpath(self.url, os.path.dirname(os.path.abspath(__file__)))]
return args_list
def run(self):
output_dict = {}
helper.handle_files(self.fct_file_path, self.test_file_path, self.url)
p = Popen(self.args_list,cwd=os.path.dirname(os.path.abspath(__file__)), stdout=PIPE)
stdout_str, stderr_str = p.communicate()
with open(self.url + '.res') as f:
res_file = f.read()
output_dict['results'] = res_file
return output_dict
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
--INDIVIDUAL
controlc1 1 controlc1 cwa
--STRUCTURAL
controlc2 2 1:controlc1 *:controlc2 1 cwa li
--PROPERTIES
ico 2 controlc1 #numico 1 cwa
rokvys 2 controlc1 #numrokvys 1 cwa
mesvys 2 controlc1 #nummesvys 1 cwa
poradk 2 controlc1 #numporadk 1 cwa
zmcharza 2 controlc1 #numzmcharza 1 cwa
zmtelakt 2 controlc1 #numzmtelakt 1 cwa
aktpozam 2 controlc1 #numaktpozam 1 cwa
zmdiet 2 controlc1 #numzmdiet 1 cwa
lekchol 2 controlc1 #numlekchol 1 cwa
lektlak 2 controlc1 #numlektlak 1 cwa
zmkour 2 controlc1 #numzmkour 1 cwa
poccig 2 controlc1 #numpoccig 1 cwa
pracnes 2 controlc1 #numpracnes 1 cwa
srdce 2 controlc1 #numsrdce 1 cwa
hypert 2 controlc1 #numhypert 1 cwa
cevmoz 2 controlc1 #numcevmoz 1 cwa
diab 2 controlc1 #numdiab 1 cwa
jinaone 2 controlc1 #numjinaone 1 cwa
bolhr 2 controlc1 #numbolhr 1 cwa
boldk 2 controlc1 #numboldk 1 cwa
c2_ico 2 controlc2 #num_ico 1 cwa
c2_rokvys 2 controlc2 #num_rokvys 1 cwa
c2_mesvys 2 controlc2 #num_mesvys 1 cwa
c2_poradk 2 controlc2 #num_poradk 1 cwa
c2_zmcharza 2 controlc2 #num_zmcharza 1 cwa
c2_zmtelakt 2 controlc2 #num_zmtelakt 1 cwa
c2_aktpozam 2 controlc2 #num_aktpozam 1 cwa
c2_zmdiet 2 controlc2 #num_zmdiet 1 cwa
c2_lekchol 2 controlc2 #num_lekchol 1 cwa
c2_lektlak 2 controlc2 #num_lektlak 1 cwa
c2_zmkour 2 controlc2 #num_zmkour 1 cwa
c2_poccig 2 controlc2 #num_poccig 1 cwa
c2_pracnes 2 controlc2 #num_pracnes 1 cwa
c2_srdce 2 controlc2 #num_srdce 1 cwa
c2_hypert 2 controlc2 #num_hypert 1 cwa
c2_cevmoz 2 controlc2 #num_cevmoz 1 cwa
c2_diab 2 controlc2 #num_diab 1 cwa
c2_jinaone 2 controlc2 #num_jinaone 1 cwa
c2_bolhr 2 controlc2 #num_bolhr 1 cwa
c2_boldk 2 controlc2 #num_boldk 1 cwa
/* 0.000000 0.705069 controlc1(A) */ :- aktpozam(A,2).
/* 0.000000 0.258065 controlc1(A) */ :- aktpozam(A,1).
/* 0.000000 0.032258 controlc1(A) */ :- aktpozam(A,3).
/* 0.000000 0.004608 controlc1(A) */ :- aktpozam(A,4).
/* 0.000000 0.009217 controlc1(A) */ :- ico(A,10033).
/* 0.000000 0.023041 controlc1(A) */ :- ico(A,10032).
/* 0.000000 0.004608 controlc1(A) */ :- ico(A,10031).
/* 0.000000 0.046083 controlc1(A) */ :- ico(A,10030).
/* 0.000000 0.055300 controlc1(A) */ :- ico(A,10029).
/* 0.000000 0.036866 controlc1(A) */ :- ico(A,10028).
/* 0.000000 0.009217 controlc1(A) */ :- ico(A,10027).
/* 0.000000 0.009217 controlc1(A) */ :- ico(A,10026).
/* 0.000000 0.004608 controlc1(A) */ :- ico(A,10025).
/* 0.000000 0.050691 controlc1(A) */ :- ico(A,10023).
/* 0.000000 0.050691 controlc1(A) */ :- ico(A,10022).
/* 0.000000 0.055300 controlc1(A) */ :- ico(A,10021).
/* 0.000000 0.055300 controlc1(A) */ :- ico(A,10019).
/* 0.000000 0.046083 controlc1(A) */ :- ico(A,10018).
/* 0.000000 0.004608 controlc1(A) */ :- ico(A,10017).
/* 0.000000 0.004608 controlc1(A) */ :- ico(A,10016).
/* 0.000000 0.050691 controlc1(A) */ :- ico(A,10015).
/* 0.000000 0.041475 controlc1(A) */ :- ico(A,10013).
/* 0.000000 0.013825 controlc1(A) */ :- ico(A,10012).
/* 0.000000 0.046083 controlc1(A) */ :- ico(A,10011).
/* 0.000000 0.050691 controlc1(A) */ :- ico(A,10010).
/* 0.000000 0.018433 controlc1(A) */ :- ico(A,10009).
/* 0.000000 0.023041 controlc1(A) */ :- ico(A,10008).
/* 0.000000 0.036866 controlc1(A) */ :- ico(A,10007).
/* 0.000000 0.046083 controlc1(A) */ :- ico(A,10006).
/* 0.000000 0.027650 controlc1(A) */ :- ico(A,10005).
/* 0.000000 0.050691 controlc1(A) */ :- ico(A,10004).
/* 0.000000 0.027650 controlc1(A) */ :- ico(A,10003).
/* 0.000000 0.050691 controlc1(A) */ :- ico(A,10002).
/* 0.000000 0.050691 controlc1(A) */ :- ico(A,10001).
/* 0.000000 0.013825 controlc1(A) */ :- rokvys(A,76).
/* 0.000000 0.055300 controlc1(A) */ :- rokvys(A,81).
/* 0.000000 0.050691 controlc1(A) */ :- rokvys(A,78).
/* 0.000000 0.078341 controlc1(A) */ :- rokvys(A,89).
/* 0.000000 0.078341 controlc1(A) */ :- rokvys(A,88).
/* 0.000000 0.082949 controlc1(A) */ :- rokvys(A,87).
/* 0.000000 0.087558 controlc1(A) */ :- rokvys(A,86).
/* 0.000000 0.082949 controlc1(A) */ :- rokvys(A,85).
/* 0.000000 0.096774 controlc1(A) */ :- rokvys(A,84).
/* 0.000000 0.082949 controlc1(A) */ :- rokvys(A,83).
/* 0.000000 0.096774 controlc1(A) */ :- rokvys(A,82).
/* 0.000000 0.087558 controlc1(A) */ :- rokvys(A,80).
/* 0.000000 0.073733 controlc1(A) */ :- rokvys(A,79).
/* 0.000000 0.032258 controlc1(A) */ :- rokvys(A,77).
/* 0.000000 0.087558 controlc1(A) */ :- mesvys(A,12).
/* 0.000000 0.119816 controlc1(A) */ :- mesvys(A,3).
/* 0.000000 0.142857 controlc1(A) */ :- mesvys(A,10).
/* 0.000000 0.142857 controlc1(A) */ :- mesvys(A,11).
/* 0.000000 0.059908 controlc1(A) */ :- mesvys(A,6).
/* 0.000000 0.105991 controlc1(A) */ :- mesvys(A,5).
/* 0.000000 0.046083 controlc1(A) */ :- mesvys(A,2).
/* 0.000000 0.105991 controlc1(A) */ :- mesvys(A,4).
/* 0.000000 0.138249 controlc1(A) */ :- mesvys(A,1).
/* 0.000000 0.050691 controlc1(A) */ :- mesvys(A,9).
/* 0.000000 0.013825 controlc1(A) */ :- poradk(A,12).
/* 0.000000 0.046083 controlc1(A) */ :- poradk(A,11).
/* 0.000000 0.064516 controlc1(A) */ :- poradk(A,10).
/* 0.000000 0.069124 controlc1(A) */ :- poradk(A,9).
/* 0.000000 0.078341 controlc1(A) */ :- poradk(A,8).
/* 0.000000 0.078341 controlc1(A) */ :- poradk(A,7).
/* 0.000000 0.087558 controlc1(A) */ :- poradk(A,6).
/* 0.000000 0.096774 controlc1(A) */ :- poradk(A,5).
/* 0.000000 0.101382 controlc1(A) */ :- poradk(A,4).
/* 0.000000 0.105991 controlc1(A) */ :- poradk(A,3).
/* 0.000000 0.119816 controlc1(A) */ :- poradk(A,2).
/* 0.000000 0.138249 controlc1(A) */ :- poradk(A,1).
/* 0.000000 0.009217 controlc1(A) */ :- zmcharza(A,30).
/* 0.000000 0.004608 controlc1(A) */ :- zmcharza(A,70).
/* 0.000000 0.004608 controlc1(A) */ :- zmcharza(A,9).
/* 0.000000 0.018433 controlc1(A) */ :- zmcharza(A,40).
/* 0.000000 0.004608 controlc1(A) */ :- zmcharza(A,50).
/* 0.000000 0.958525 controlc1(A) */ :- zmcharza(A,20).
/* 0.000000 0.843318 controlc1(A) */ :- zmtelakt(A,2).
/* 0.000000 0.147465 controlc1(A) */ :- zmtelakt(A,1).
/* 0.000000 0.009217 controlc1(A) */ :- zmtelakt(A,3).
/* 0.000000 0.009217 controlc1(A) */ :- zmdiet(A,8).
/* 0.000000 0.027650 controlc1(A) */ :- zmdiet(A,2).
/* 0.000000 0.004608 controlc1(A) */ :- zmdiet(A,7).
/* 0.000000 0.018433 controlc1(A) */ :- zmdiet(A,3).
/* 0.000000 0.027650 controlc1(A) */ :- zmdiet(A,5).
/* 0.000000 0.096774 controlc1(A) */ :- zmdiet(A,6).
/* 0.000000 0.059908 controlc1(A) */ :- zmdiet(A,4).
/* 0.000000 0.755760 controlc1(A) */ :- zmdiet(A,1).
/* 0.000000 1.000000 controlc1(A) */ :- lekchol(A,?).
/* 0.000000 0.004608 controlc1(A) */ :- lektlak(A,8).
/* 0.000000 0.004608 controlc1(A) */ :- lektlak(A,18).
/* 0.000000 0.004608 controlc1(A) */ :- lektlak(A,13).
/* 0.000000 0.009217 controlc1(A) */ :- lektlak(A,7).
/* 0.000000 0.009217 controlc1(A) */ :- lektlak(A,17).
/* 0.000000 0.046083 controlc1(A) */ :- lektlak(A,6).
/* 0.000000 0.064516 controlc1(A) */ :- lektlak(A,12).
/* 0.000000 0.013825 controlc1(A) */ :- lektlak(A,4).
/* 0.000000 0.036866 controlc1(A) */ :- lektlak(A,10).
/* 0.000000 0.806452 controlc1(A) */ :- lektlak(A,2).
/* 0.000000 0.009217 controlc1(A) */ :- zmkour(A,8).
/* 0.000000 0.004608 controlc1(A) */ :- zmkour(A,5).
/* 0.000000 0.082949 controlc1(A) */ :- zmkour(A,4).
/* 0.000000 0.115207 controlc1(A) */ :- zmkour(A,3).
/* 0.000000 0.746544 controlc1(A) */ :- zmkour(A,1).
/* 0.000000 0.041475 controlc1(A) */ :- zmkour(A,2).
/* 0.000000 0.004608 controlc1(A) */ :- poccig(A,22).
/* 0.000000 0.009217 controlc1(A) */ :- poccig(A,2).
/* 0.000000 0.004608 controlc1(A) */ :- poccig(A,28).
/* 0.000000 0.004608 controlc1(A) */ :- poccig(A,5).
/* 0.000000 0.036866 controlc1(A) */ :- poccig(A,30).
/* 0.000000 0.046083 controlc1(A) */ :- poccig(A,15).
/* 0.000000 0.175115 controlc1(A) */ :- poccig(A,20).
/* 0.000000 0.092166 controlc1(A) */ :- poccig(A,25).
/* 0.000000 0.036866 controlc1(A) */ :- poccig(A,35).
/* 0.000000 0.055300 controlc1(A) */ :- poccig(A,10).
/* 0.000000 0.018433 controlc1(A) */ :- poccig(A,12).
/* 0.000000 0.516129 controlc1(A) */ :- poccig(A,0).
/* 0.000000 0.829493 controlc1(A) */ :- pracnes(A,2).
/* 0.000000 0.170507 controlc1(A) */ :- pracnes(A,1).
/* 0.000000 0.009217 controlc1(A) */ :- srdce(A,2).
/* 0.000000 0.990783 controlc1(A) */ :- srdce(A,?).
/* 0.000000 1.000000 controlc1(A) */ :- hypert(A,?).
/* 0.000000 0.004608 controlc1(A) */ :- cevmoz(A,2).
/* 0.000000 0.995392 controlc1(A) */ :- cevmoz(A,?).
/* 0.000000 1.000000 controlc1(A) */ :- diab(A,?).
/* 0.000000 0.004608 controlc1(A) */ :- jinaone(A,4).
/* 0.000000 0.009217 controlc1(A) */ :- jinaone(A,3).
/* 0.000000 0.843318 controlc1(A) */ :- jinaone(A,?).
/* 0.000000 0.142857 controlc1(A) */ :- jinaone(A,2).
/* 0.000000 0.013825 controlc1(A) */ :- bolhr(A,3).
/* 0.000000 0.059908 controlc1(A) */ :- bolhr(A,2).