You are on page 1of 6

Manejo de Cadenas de caracteres

Una cadena de caracteres es una lista de codigos ASCII

/*FrontToken("Hola amigos",P,R).P="Hola"R="Amingos" */
/* usar guitracer.--trace.*/

frontToken([],[],[]).
frontToken([H|C],P,R):-H==32,R=C,P=[],!.
frontToken([H|C],P,R):-frontToken(C,P1,R),P=[H|P1].

main:-read(Cadena),
atom_codes(Cadena,L),
frontToken(L,P,R),
atom_codes(Palabra,P),
atom_codes(Resto,R),
write(Palabra),nl,write(Resto).
/* Mayuscula ("Hola Amigo",R) R="HOLA AMIGO"*/
/*De minuscula a mayuscula +33*/
mayuscula([],[]).
mayuscula([H|C],R):-H<97,mayuscula(C,R1),R=[H|R1],!.
mayuscula([H|C],R):-H1 is H-32,mayuscula(C,R1),R=[H1|R1].
main2:-read(Cadena2),
atom_codes(Cadena2,L2),
mayuscula(L2,R2),
atom_codes(Palabra2,R2),
write(Palabra2).

/*cuenta_letra("oso",L,R). R=2*/
cuenta_letra([],[_],0).
cuenta_letra([H|C],[X],R):-X==H,cuenta_letra(C,[X],R1),R is R1+1.
cuenta_letra([_|C],[X],R):-cuenta_letra(C,[X],R).

main3:-read(Cadena3),
read(Letra3),
atom_codes(Cadena3,C3),
mayuscula(C3,C4),
atom_codes(Letra3,L3),
mayuscula(L3,L4),
cuenta_letra(C4,L4,N),
write(N).
/*concatenar("Hola","Amigo",R). R="Hola Amigo" */
/* Cuando llegue al final de la lista sabra que esta vacio y acaba la primera palabra, añadiendo
un espacio en blanco*/
concatenar([],L,[32|L]).
concatenar(L,[],L).
concatenar([H|C],L,R):-concatenar(C,L,R2),R=[H|R2].
main4:-read(Cadena1),
read(Cadena2),
atom_codes(Cadena1,C1),
atom_codes(Cadena2,C2),
concatenar(C1,C2,R),
atom_codes(Palabra,R),
write(Palabra).
/*Intercalar("ABCD","EFG",R) R=AEBFCGD */
intercalar([],[],[]).
intercalar(L,[],L).
intercalar([],L,L).
intercalar([H|C],[H1|C1],L):-intercalar(C,C1,L1),L=[H,H1|L1].
main5:-read(Cadena1),
read(Cadena2),
atom_codes(Cadena1,C1),
atom_codes(Cadena2,C2),
intercalar(C1,C2,R),
atom_codes(Palabra,R),
write(Palabra).

Manejo de Functores
Un fuctor es una estructura de datos que permite unir distintos datos de disntinto tipo

/*Clasificacion(5,L)

Perfil
Problema
objetivo
diseño

Caracterisiticas del conocimiento


·0 El conocimiento no tiene limite
·1 El conocimiento cambia constantemente
·2 El conocimente se adapta a la forma en que sera usado
·3 El conocimiento incompleto es util
Sistemas de Representacion
Un sistema de representacion de conocimiento debe tener
·4 Suficiencia en representacion: que puede representar cualquier conocimiento
·5 Suficiencia Deductiva: Se puede cambiar las estructuras e representacion
·6 Eficiencia Deductiva: se puede incluir informacion para deducir nuevas estructuras de
representacion
·7 Eficiencia de Adquisición: Agregar nuevo conocimiento
Representacion Relacional

En una base de datos relacional se representa conocimiento.

·8 (si)Suficiencia en representacion: que puede representar cualquier conocimiento


·9 (si)Suficiencia Deductiva: Se puede cambiar las estructuras e representacion
·10 (No)Eficiencia Deductiva: se puede incluir informacion para deducir nuevas estructuras
de representacion
·11 (si)Eficiencia de Adquisición: Agregar nuevo conocimiento

Tiene suficiencia en Representacion, suficiencia deductiva y eficiencia de adquisición

Representación Heredable

Mediante una red semantica (relacion de propiedades y objetos en el mundo real) se puede
representar el conocimiento
Representa el dominio del conocimiento
Representación Procedimiental

Se representa conocimiento mediante codigo de programación


·12 (si)Suficiencia en representacion: que puede representar cualquier conocimiento
·13 (si)Suficiencia Deductiva: Se puede cambiar las estructuras e representacion
·14 (No)Eficiencia Deductiva: se puede incluir informacion para deducir nuevas estructuras
de representacion
·15 (si)Eficiencia de Adquisición: Agregar nuevo conocimiento
Representación Declarativa

Se representa conociemiento mediante predicados de segundo orden.


(Es matemático)
·16 (si)Suficiencia en representacion: que puede representar cualquier conocimiento
·17 (si)Suficiencia Deductiva: Se puede cambiar las estructuras e representacion
·18 (No por completo)Eficiencia Deductiva: se puede incluir informacion para deducir
nuevas estructuras de representacion
·19 (si)Eficiencia de Adquisición: Agregar nuevo conocimiento
/*Hechos*/

es_un(perla, perro).
es_un(perro, mascota).
es_un(gato, mascota).
es_un(mascota,animal).
es_un(manitas, gato).
es_un(gato, manitas).
tiene(perro,pelos).
tiene(gato,garras).
tiene(gato, garras).
come(mascota,carne).
come(gato, ratones).
come(perro, huesos).

/*Reglas*/

que_come(N,C):-es_un(N,R),come(R,H),que_come(R,C1),C=[H|C1],!.
/*! para que evite buscar abajo*/
que_come(_,[]).

main_come:-read(animal),
que_come(animal,L),
write(L).
1. Menciona y explica el esquema de representacion del conocimiento

Estructuras de datos en nodos, que representan conceptos, unidas por arcos que representan las
relaciones entre los conceptos.
Un conjunto de procedimientos de inferencia que operan sobre las estructuras de datos

2. Menciona y explica las características del conocimiento


·20 El conocimiento no tiene limite
·21 El conocimiento cambia constantemente
·22 El conocimente se adapta a la forma en que sera usado
·23 El conocimiento incompleto es util
3. Cual es la diferencia entre eficiencia y suficiencia deductiva
Suficiencia Deductiva: Se puede cambiar las estructuras e representacion
Eficiencia Deductiva: se puede incluir informacion para deducir nuevas estructuras de
representacion
4. Cual de las afirmaciones es INCORRECTA
a. Una red semantica representa un dominio del conocimiento-Si
b. El conocimiento es un conjunto de hechos-Hechos y reglas
c. SWI es un lenguaje deductivo-Si
d. A partir de un hecho inicial y siguiente un razonamiento se puede llegar a un hecho
final-Si
e. ninguno
5. Menciona las características del sistema de representacion del conocimiento
·24 Suficiencia en representacion: que puede representar cualquier conocimiento
·25 Suficiencia Deductiva: Se puede cambiar las estructuras e representacion
·26 Eficiencia Deductiva: se puede incluir informacion para deducir nuevas estructuras de
representacion
·27 Eficiencia de Adquisición: Agregar nuevo conocimiento

You might also like