<jupyter_start><jupyter_text>El problema de las ocho damasDefinimos una función auxiliar.<jupyter_code>chk_damas := function(L,ex)
    local x, y, n, i;
    n:=Length(L);
    x:=L[n];
    for i in [1..n-1] do
        y:=L[i];
        if y=x then return false; 
        fi;
        if y=x+i-n then return false;
        fi;
        if y=x-i+n then return false;
        fi;
    od;
    return true;
end;<jupyter_output><empty_output><jupyter_text>En este caso, el cuarto argumento de la función `BactrackBag` no se usa:<jupyter_code>BacktrackBag([1..4],chk_damas,4,"hi");<jupyter_output><empty_output><jupyter_text>Triángulos en una gráfica<jupyter_code>chk_completas := function(L,g)
    local x,i,n;
    n:=Length(L);
    x:=L[n];
    for i in [1..n-1] do
        if L[i]>=x then return false; fi;
        if not(IsEdge(g,x,L[i])) then return false; fi;
    od;
    return true;
end;
g:=OctahedralGraph(3);   
L:=[];<jupyter_output><empty_output><jupyter_text>En este caso, evaluaciones sucesivas de la siguiente celda arrojan los triángulos en la gráfica.<jupyter_code>Backtrack(L,Vertices(g),chk_completas,3,g);<jupyter_output><empty_output><jupyter_text>Ciclos inducidosEn este caso definimos funciones `chk` y `done`. El argumento `par` se refiere a una lista cuyos elementos son lagráfica y la longitud deseada.<jupyter_code>done_ciclos := function(L,par)
    local x,n,g,l;
    g:=par[1];
    l:=par[2];
    n:=Length(L);
    x:=L[n];
    return IsEdge(g,x,L[1]) and Length(L)=l;
end;   

chk_camino_inducido := function(L,par)
    local x,n,i,g,l;
    g:=par[1];
    l:=par[2];
    n:=Length(L);
    if n<=1 then return true; fi;
    x:=L[n];
    if x in L{[1..n-1]} then return false; fi;
    if not(IsEdge(g,x,L[n-1])) then return false; fi;
    for i in [2..n-2] do
        if IsEdge(g,x,L[i]) then return false; fi;
    od;
    if n>2 and n<l and IsEdge(g,x,L[1]) then return false; fi;
    return true;
end;  
g:=RandomGraph(20,0.5);   
L:=[];
Backtrack(L,Vertices(g),chk_camino_inducido,done_ciclos,[g,5]);<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.15560975609756098, 'fraction_numerical': 0.013170731707317073, 'mean_word_length': 3.7367205542725173, 'pattern_counts': {'":': 0, '<': 23, '<?xml version=': 0, '>': 23, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '5', 'dir': 'jupyter-structured-clean-dedup', 'id': '241940', 'license': 'MIT', 'n_tokens_mistral': 881, 'n_tokens_neox': 870, 'n_words': 194, 'path': 'ejemplos-backtracking.ipynb', 'repo_name': 'iarobles/demo-yags', 'size': '2050'}