Mentions légales du service

Skip to content
Snippets Groups Projects
Commit d70ff4cc authored by Nazim@misirlou's avatar Nazim@misirlou
Browse files

nzm

parent bc4f43c8
No related branches found
No related tags found
No related merge requests found
ECA-cnf-simple.txt
res.txt
TABECA=['']*256
TABPOS=['a','A','b','B','c','C']
def invert(val):
......@@ -78,24 +80,27 @@ def evaluateFormula(formula, assignment):
def assign(a,b,c):
return "%s%s%s"%(a,b,c)
def scanTab(clause):
##MAIN
def identifyFormula(formula):
""" builds the transition table of a clause """
transtab=""
for i in range(8):
a,b,c,=i//4,(i//2)%2,i%2
#print ( "i:%d %d %d %d"%(i,a,b,c) )
assi=assign(a,b,c)
res= evaluateFormula(clause, assi)
res= evaluateFormula(formula, assi)
transtab+=res
W=int(transtab[::-1],2)
print("clause:%s W:%d transtab:%s"%(clause, W, transtab))
print("clause:%s W:%d transtab:%s"%(formula, W, transtab))
if TABECA[W]=='':
TABECA[W]+=formula+""
def evalFormulae(listFormulae):
print("-"*30)
for form in listFormulae:
scanTab(form)
identifyFormula(form)
print("-"*30)
......@@ -108,12 +113,27 @@ def testClauses():
evalFormulae(listf3)
NC=7
NC=26
def combineClauses():
for clause in clauses:
identifyFormula(clause)
for i in range(NC):
for j in range(i+1,NC):
combi=clauses[i]+", "+clauses[j]
print(i,j,combi)
identifyFormula(combi)
for i in range(NC):
for j in range(i+1,NC):
for k in range(j+1,NC):
combi=clauses[i]+", "+clauses[j]+", "+clauses[k]
identifyFormula(combi)
for i in range(NC):
for j in range(i+1,NC):
print(i,j)
for k in range(j+1,NC):
for l in range(k+1,NC):
combi=clauses[i]+", "+clauses[j]+", "+clauses[k]+", "+clauses[l]
identifyFormula(combi)
# TESTS
......@@ -124,14 +144,20 @@ listf2a=['a v b','b v c','a v c']
listf2b=['A v b','a v B', 'B v c', 'b v C', 'A v c','a v C']
listf2c=['A v B','B v C','A v C']
listf3=['a v b v c','A v b v c','a v B v c', 'a v b v C', 'A v B v c', 'A v b v C', 'a v B v C', 'A v B v C']
clauses=listf1+listf2a+listf2b+listf2c+listf3
#testClauses()
#formula1=['a, b v c', 'a v b, A v B']
#evalFormulae(formula1)
clauses=listf1+listf2a+listf2b+listf2c+listf3
print (len(clauses), clauses)
combineClauses()
#print (len(clauses), clauses)
def combine():
combineClauses()
for w in range(1,255):
print(w,TABECA[w])
combine()
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment