Prolog Def Conjuntos Disjuntos Dos conjuntos A y

  • Slides: 12
Download presentation
Prolog Def. Conjuntos Disjuntos. - Dos conjuntos A y B son disjuntos si A

Prolog Def. Conjuntos Disjuntos. - Dos conjuntos A y B son disjuntos si A B = Def. Recursiva disjuntos([], _). disjuntos([X|Y], Z) : -not (pert(X, Z)), disjuntos(Y, Z). Def. Iterativa disjuntos_iter(X, Y) : -not( (pert(Z, X), pert(Z, Y))).

Ejercicio Def. Subconjunto. Sean A y B dos conjuntos tal que cada elemento de

Ejercicio Def. Subconjunto. Sean A y B dos conjuntos tal que cada elemento de A es también elemento de B. Entonces, se dice que: A es subconjunto de B, y se denota A B Def. Recursiva subconjunto([], _). subconjunto([X|Y], Z): -pert(X, Z), subconjunto(Y, Z). Def. Iterativa subconj_iter([], _). subconj_iter(X, Y): -not((pert(Z, X), not(pert(Z, Y)))).

Otra ver. de Subconjunto subconjunto([], []). subconjunto([X|L 1], [X|L 2]): -subconjunto(L 1, L 2).

Otra ver. de Subconjunto subconjunto([], []). subconjunto([X|L 1], [X|L 2]): -subconjunto(L 1, L 2). subconjunto(L 1, [_|L 2]): -subconjunto(L 1, L 2).

Combinatoria ? - combinacion([a, b, c], 2, L). L = [a, b] ; L

Combinatoria ? - combinacion([a, b, c], 2, L). L = [a, b] ; L = [a, c] ; L = [b, c] ; false

Def. Combinatoria combinacion(L 1, N, L 2): -combinacion_1(L 1, N, L 2): -subconjunto(L 2,

Def. Combinatoria combinacion(L 1, N, L 2): -combinacion_1(L 1, N, L 2): -subconjunto(L 2, L 1), length(L 2, N). combinacion(L 1, N, L 2): -combinacion_2(L 1, N, L 2): -length(L 2, N), subconjunto(L 2, L 1).

Permutaciones ? - select(X, [a, b, c], L). X = a L = [b,

Permutaciones ? - select(X, [a, b, c], L). X = a L = [b, c] ; X = b L = [a, c] ; X = c L = [a, b] ; false ? - select(a, L, [b, c]). L = [a, b, c] ; L = [b, a, c] ; L = [b, c, a] ; false

Implementaciones permuta([], []). permuta(L 1, [X|L 2]): -select(X, L 1, L 3), permuta(L 3,

Implementaciones permuta([], []). permuta(L 1, [X|L 2]): -select(X, L 1, L 3), permuta(L 3, L 2).

Cuadrado Mágico Enunciado: Colocar los números 1, 2, 3, 4, 5, 6, 7, 8,

Cuadrado Mágico Enunciado: Colocar los números 1, 2, 3, 4, 5, 6, 7, 8, 9 en un cuadrado 3 x 3 de forma que todas líneas (filas, columnas y diagonales) sumen igual.

Implementación cuadrado_1([A, B, C, D, E, F, G, H, I]) : permutación([1, 2, 3,

Implementación cuadrado_1([A, B, C, D, E, F, G, H, I]) : permutación([1, 2, 3, 4, 5, 6, 7, 8, 9], [A, B, C, D, E, F, G, H, I]), A+B+C =: = 15, D+E+F =: = 15, G+H+I =: = 15, A+D+G =: = 15, B+E+H =: = 15, C+F+I =: = 15, A+E+I =: = 15, C+E+G =: = 15.

Solución Cuadrado Mágico

Solución Cuadrado Mágico

Solución Cuadrado Mágico

Solución Cuadrado Mágico

Planeación d(a, b). d(b, e). d(b, c). d(d, e). d(c, d). d(e, f). d(g,

Planeación d(a, b). d(b, e). d(b, c). d(d, e). d(c, d). d(e, f). d(g, e). go(X, X, T). Go(X, Y, T)