Commit 5ef978af authored by Guillaume Sabbagh's avatar Guillaume Sabbagh
Browse files

debut foncteur acyclique

parent 8d319b78
......@@ -528,30 +528,14 @@ class FoncteurAleatoireCatAcycliques(Foncteur):
app_morph = dict()
for cc in ccc1.objets:
cat_connexe1,cat_connexe2 = ccc1.sous_cat_equiv(cc),ccc2.sous_cat_equiv(fonct_ccc(cc))
cat1.transformer_graphviz()
cat2.transformer_graphviz()
cat_connexe1.transformer_graphviz()
cat_connexe2.transformer_graphviz()
cat_ordre_connexe1 = CatOrdre(cat_connexe1)
cat_ordre_connexe2 = CatOrdre(cat_connexe2)
fonct_ordre_connexe = FoncteurAleatoireCatOrdreConnexe(cat_ordre_connexe1,cat_connexe2)
morph = None
for f in cat1[cat1.objets,cat1.objets]:
if not f.is_identite:
morph = f
break
if morph == None:
#il n'y a qu'une identité dans cat1 (il ne peut pas y en avoir plusieurs puisqu'on est dans une composante connexe)
app_obj[list(cat1.objets)[0]] = random.choice(list(cat2.objets))
else:
# on doit mapper le morphisme morph
fleches_deja_map = {morph}
fleches_cat2 = list(cat2(cat2.objets,cat2.objets))
app_morph[morph] = random.choice(fleches_cat2)
app_obj[morph.source] = app_morph[morph].source
while True:
for fleche_deja_map in fleches_deja_map:
for fleche in cat1[{fleche_deja_map.cible},cat1.objets]:
if fleche not in fleches_deja_map:
# notons g la flèche déjà mappée
# fleche doit être mappée à une flèche de source F(g).cible telle que si F(gof) est définie alors F(g)oF(f) = F(gof)
pass
# Foncteur.__init__(self,categorie_indexante,categorie_cible,{obj:random.choice(list(categorie_cible.objets)) for obj in categorie_indexante.objets},dict(),nom)
......@@ -563,6 +547,7 @@ def test_FoncteurAleatoireCatAcycliques():
c1.transformer_graphviz()
c2.transformer_graphviz()
f = FoncteurAleatoireCatAcycliques(c1,c2)
f.transformer_graphviz()
class FoncteurAleatoire(Foncteur):
"""Foncteur aléatoire sur une catégorie."""
......@@ -658,6 +643,6 @@ if __name__ == '__main__':
# test_GrapheCompositionAleatoire()
# test_MonoideGC()
# test_FoncteurCCAleatoire()
# test_FoncteurCatAcycliqueAleatoire()
test_FoncteurAleatoireCatOrdreConnexe()
test_FoncteurAleatoireCatAcycliques()
# test_FoncteurAleatoireCatOrdreConnexe()
# test_FoncteurAleatoireCatOrdreTotal()
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment