Vous êtes sur la page 1sur 14

UNIVERSIDAD ANDINA NESTOR CACERES

VELASQUEZ

Facultad de Ing. Sistemas


Tema

SISTEMAS EXPERTOS,
PROLOG:
Alumno:
Octavio Frisancho rojas

ndice
SISTEMAS EXPERTOS
1.-CONCEPTO
2.-HISTORIA
3.- CAMPOS DE APLICACIN EN
3.1. INGENIERAS
3.2. EDUCACIN
3.3. MINERA
3.4. SALUD
3.5. NEGOCIOS
3.6. MILITAR O MILITARISMO
PROLOG
1.- DEFINICIN
2.-MANEJO DE CONSTANTES Y VARIABLES
3.- EJEMPLO DE BASE DE CONOCIMIENTOS Y REGLAS
4.- EJEMPLO DE RBOL GENEALGICO

1. Los sistemas expertos

son llamados as porque emulan el razonamiento de un experto en un dominio concreto, y en


ocasiones son usados por stos. Con los sistemas expertos se busca una mejor calidad y rapidez en las
respuestas, dando as lugar a una mejora de la productividad del propio experto al usar este tipo de
sistemas informticos.
e considera a alguien un experto en un problema cuando este individuo tiene conocimiento
especializado sobre dicho problema. En el rea de los (SE) a este tipo de conocimiento se le llama
conocimiento sobre el dominio. La palabra dominio se usa para enfatizar que el conocimiento
pertenece a un problema especfico. [1]
Antes de la aparicin del ordenador, el hombre ya se preguntaba si se le arrebatar el privilegio de
razonar y pensar. En la actualidad existe un campo dentro de la inteligencia artificial al que se le
atribuye esa facultad: el de los sistemas expertos (SE). Estos sistemas tambin son conocidos como
Sistemas Basados en Conocimiento, los cuales permiten la creacin de mquinas que razonan como el
hombre, restringiendo a un espacio de conocimientos limitado. En teora pueden razonar siguiendo los
pasos que seguira un experto humano (mdico, analista, empresario, etc.) para resolver un problema
concreto. Este tipo de modelos de conocimiento por ordenador ofrece un extenso campo de
posibilidades en resolucin de problemas y en aprendizaje. Su uso se extender ampliamente en el
futuro, debido a su importante impacto sobre los negocios y la industria.

2. HISTORIA
Sus inicios datan a mediados de los aos sesenta. Durante esta dcada los investigadores Alan Newell
y Herbert Simon desarrollaron un programa llamado GPS (General Problem Solver; solucionador
general de problemas). Poda trabajar con criptoaritmtica, con las torres de Hanoi y con otros
problemas similares. Lo que no poda hacer el GPS era resolver problemas del mundo real, tales como
un diagnstico mdico.
Algunos investigadores decidieron entonces cambiar por completo el enfoque del problema
restringiendo su ambicin a un dominio especfico e intentando simular el razonamiento de un experto
humano. En vez de dedicarse a computarizar la inteligencia general, se centraron en dominios de
conocimiento muy concretos. De esta manera nacieron los SE.
A partir de 1965, un equipo dirigido por Edward Feigenbaum, comenz a desarrollarSE utilizando
bases de conocimiento definidas minuciosamente. Dos aos ms tarde se construye DENDRAL, el
cual es considerado como el primer SE. La ficcin de dicho SE era identificar estructuras qumicas
moleculares a partir de su anlisis espectrogrfico.
En la dcada de los setenta se desarroll MYCIN para consulta y diagnstico de infecciones de la
sangre. Este sistema introdujo nuevas caractersticas: utilizacin de conocimiento impreciso para
razonar y posibilidad de explicar el proceso de razonamiento. Lo ms importante es que funcionaba
de manera correcta, dando conclusiones anlogas a las que un ser humano dara tras largos aos de
experiencia. En MYCIN aparecen claramente diferenciados motor de inferencia y base de
conocimientos. Al separar esas dos partes, se puede considerar el motor de inferencias aisladamente.
Esto da como resultado un sistema vaco o shell (concha). As surgi EMYCIN (MYCIN Esencial)
con el que se construy SACON, utilizado para estructuras de ingeniera, PUFF para estudiar la
funcin pulmonar y GUIDON para elegir tratamientos teraputicos.

En esa poca se desarrollaron tambin: HERSAY, que intentaba identificar la palabra hablada, y
PROSPECTOR, utilizado para hallar yacimientos de minerales. De este ltimo deriv el shell KAS
(Knowledge Acquisition System).
En la dcada de los ochenta se ponen de moda los SE, numerosas empresas de alta tecnologa
investigan en este rea de la inteligencia artificial, desarrollando SE para su comercializacin. Se llega
a la conclusin de que el xito de un SE depende casi exclusivamente de la calidad de su base de
conocimiento. El inconveniente es que codificar la pericia de un experto humano puede resultar
difcil, largo y laborioso.
Un ejemplo de SE moderno es CASHVALUE, que evala proyectos de inversin y VATIA, que
asesora acerca del impuesto sobre el valor aadido o IVA.
2.1. Los sistemas expertos forman parte de la ciencia de la computacin y dentro de sta se
ubican en la rama de la inteligencia artificial. ste trmino fue usado por primera vez por
un doctor de la Universidad Stanford, Edward A. Feigenbaum. El estipula que el poder
de resolucin de un problema en un programa de computadora viene del conocimiento de
un dominio especfico, no solo de las tcnicas de programacin y el formalismo que
contiene. Antes de eso casi todos los investigadores en inteligencia artificial haban tratado

de desarrollar mtodos generales de programacin que resolvern grandes problemas


conceptuales pero estos programas resolvan pobremente los problemas individuales.
En el desarrollo de los sistemas expertos tambin se ha producido a medida que se ha ido
desarrollando la Inteligencia artificial y los diferentes mtodos que se han empleado para su
resolucin. El desarrollo de lenguajes como LISP y PROLOG condicionaron esa evolucin, as como
investigaciones en diversos campos relacionados. Los primeros sistemas expertos que se desarrollaron
en los aos 1960 eran capaces de resolver solo problemas basados en situaciones determinadas,
mediante sistemas de reglas .Es a partir de los aos 1970 cuando se empiezan a resolver problemas
basados en situaciones inciertas, basados en medidas difusas al principio y en redes probabilsticas
con posterioridad.

3. INGENIERAS SISTEMAS EXPERTOS

El diseo en ingeniera es el uso de principios cientficos, informacin tcnica e


imaginacin en la definicin de una estructura mecnica, mquina o sistema que ejecute
funciones especficas con el mximo de economa y eficiencia.
El diseo industrial busca rectificar las omisiones de la ingeniera, es un intento
consciente de traer forma y orden visual a la ingeniera de hardware donde la tecnologa no
provee estas caractersticas.
Los SE en diseo ven este proceso como un problema de bsqueda de una solucin ptima o
adecuada. Las soluciones alternas pueden ser conocidas de antemano o se pueden generar
automticamente probndose distintos diseos para verificar cules de ellos cumplen los
requerimientos solicitados por el usuario, sta tcnica es llamada generacin y prueba, por lo tanto
estos SE son llamados de seleccin. En reas de aplicacin, la prueba se termina cuando se encuentra
la primera solucin; sin embargo, existen problemas ms complejos en los que el objetivo es
encontrar la solucin ptima.
Planificacin: La planificacin es la realizacin de planes o secuencias de acciones y es un caso
particular de la simulacin. Est compuesto por un simulador y un sistema de control. El efecto final
es la ordenacin de un conjunto de acciones con el fin de conseguir un objetivo global.
Los problemas que presentan la planificacin mediante SE son los siguientes:
1. Existen consecuencias no previsibles, de forma que hay que explorar y explicar varios
planes.
2. Existen muchas consideraciones que deben ser valoradas o incluirles un factor de
peso.
3. Suelen existir interacciones entre planes de subobjetivos diversos, por lo que deben
elegirse soluciones de compromiso.
4. Trabajo frecuente con incertidumbre, pues la mayora de los datos con los que se
trabaja son ms o menos probables pero no seguros.
5. Es necesario hacer uso de fuentes diversas tales como bases de datos.
Control: Un sistema de control participa en la realizacin de las tareas de interpretacin, diagnstico y
reparacin de forma secuencial. Con ello se consigue conducir o guiar un proceso o sistema. Los
sistemas de control son complejos debido al nmero de funciones que deben manejar y el gran
nmero de factores que deben considerar; esta complejidad creciente es otra de las razones que
apuntan al uso del conocimiento, y por tanto de los SE.
Cabe aclarar que los sistemas de control pueden ser en lazo abierto, si en el mismo la realimentacin o
el paso de un proceso a otro lo realiza el operador, o en lazo cerrado si no tiene que intervenir el
operador en ninguna parte del mismo. Reparacin, correcta o terapia.
La reparacin, correccin, terapia o tratamiento consiste en la proposicin de las acciones correctoras
necesarias para la resolucin de un problema. Los SE en reparacin tienen que cumplir diversos
objetivos, como son: Reparacin lo ms rpida y econmicamente posible. Orden de las reparaciones
cuando hay que realizar varias. Evitar los efectos secundarios de la reparacin, es decir la aparicin de
nuevas averas por la reparacin.

3.1 Sistemas expertos en la educacin

Una de las preocupaciones constantes de las universidades y centros de estudios superiores es estar a
la vanguardia en los mtodos de enseanza y ofrecer oportunidades de prcticas innovadoras que
apoyen la preparacin de sus estudiantes para su futura vida laboral. El desarrollo tecnolgico
continuo que las organizaciones viven, particularmente en las reas de almacenamiento de
informacin, recuperacin y comunicacin, altera la manera de ensear y, por supuesto, de aprender.
Por eso, la enseanza dentro de las universidades debe permanecer tambin en constante actualizacin
y as estar acorde con lo que en la "vida real" se utiliza. La incorporacin de sistemas expertos como
la simulacin a los programas de estudio darn una ventaja competitiva a los estudiantes: capacitacin
en el manejo de sistemas expertos. Esta ventaja les permite estar mejor adaptados al medio laboral que
utiliza estos sistemas en sus actividades cotidianas, es decir, la brecha entre enseanza y vida laboral
ser cada vez menor.
Simulacin de una nueva forma de aprendizaje
Las facultades deben ofrecer a sus estudiantes las herramientas para que ellos puedan explorar
profundamente el medio laboral en el que se desarrollarn, pero desde su posicin en el seno
estudiantil. Con estas herramientas, ellos pueden diferenciar, analizar, y crear su propio aprendizaje a
travs de una experiencia directa con el medio, aumentando su capacidad de respuesta y su habilidad
para responder a las demandas tecnolgicas del medio.
La solucin son los sistemas expertos; en especial, la simulacin. Los sistemas expertos son sistemas
computacionales diseados para recoger y registrar aquellos aspectos del experto humano, necesarios
para la toma de decisiones, as como el comportamiento del experto ante dicha situacin, y pueden ser
muy tiles en la enseanza porque simulan o imitan la realidad; son un excelente mtodo de
experimentacin.
La simulacin icnica consiste en la observacin de la conducta de una entidad real o modelada, en un
medio ambiente modelado. Esta simulacin ayuda a probar sistemas y procesos fsicos complejos,
tales como las propiedades de un avin o el comportamiento de un rascacielos durante un sismo.
Pueden llevarse a cabo experimentos variando las propiedades, ya sea de la aeronave o del sismo y
observar los efectos que tales cambios inciden en la conducta simulada, sin tener que sufrir los costos
de esta experimentacin. El aprendizaje de un estudiante de ingeniera civil aumenta
considerablemente con la expermentacin de sus propios clculos estructurales de un edificio, ya que
puede observar la conducta de ese edificio y encontrar y corregir las fallas en sus clculos, sin tener
que vivir realmente la experiencia, que resultara muy costosa y altamente desmotivadora.
Recomendaciones para la integracin de sistemas expertos en la enseanza
1. Estar alertas a la necesidad de ayudar a los estudiantes para que descubran cmo idear las preguntas
significativas que contribuyan a su aprendizaje, haciendo nfasis en usar la tecnologa como
alternativa de solucin, ya que es un recurso muy completo que les permite observar, experimentar,
modificar, tomar decisiones y establecer conclusiones, cuantas veces lo requieran.
2. Generar desafos en el programa temtico de cada materia, que integren la simulacin como mtodo
de experimentacin. Elegir el modelo de simulacin ms adecuado a la currcula.
3. Crear nuevos e innovadores procesos de la enseanza y materiales, enriquecidos con las
contribuciones del avance tecnolgico y el uso de sistemas expertos.
4. Ensear y compartir las ideas sobre el aprendizaje eficaz basado en computadoras a travs de la
elaboracin de casos de estudio o reportes

3.2. sistema experto en la minera

En la etapa de fundicin del proceso de produccin de cobre, los trabajadores se enfrentan a


diario a muchas problemticas que hacen necesario la incorporacin de tecnologas al
proceso de produccin.

Foto: Codelco.
Entre las complejidades del proceso de produccin del cobre, podemos mencionar la discontinuidad
de la temperatura de la escoria; la alta variabilidad en las mediciones del aire soplado, dado que se
tapan las toberas; la variabilidad y desconocimiento de la composicin del concentrado de cobre; el
desfase en tiempo entre el proceso y el anlisis de las muestras de laboratorio; la variabilidad en las
caractersticas del material en la alimentacin; limitaciones en el equipamiento correa de la carga
fra / rotacin y un proceso muy interactivo.
Esta compleja dinmica de los procesos hace necesaria la incorporacin de tecnologas avanzadas al
proceso de produccin, tales como el Sistema Experto, tecnologa que busca trabajar en el punto
ptimo de operacin y que, por ende, permite hacer el proceso ms eficiente (ver Figura 1).

Desarrollo de un Sistema Experto

La incorporacin en los procesos productivos de un Sistema Experto conlleva a las siguientes tareas
previas:
Revisar los buenos procedimientos con operadores y supervisores.
Revisar la instrumentacin existente para determinar qu es posible lograr con ella.
Desarrollar una lgica (flowsheets) y estrategia operacional que incorpore los buenos
procedimientos.
Desarrollar una Base de Conocimientos aplicable en situaciones crticas.
La Sintona, entendida como la prueba y ajustes del sistema experto en el proceso donde ser
incorporado.
El Sistema Experto responde a la ecuacin de costo/beneficio formada por variables estacionarias. La
funcin se construye con experiencia de datos histricos, y una vez encontrado el modelo que
responde al sistema, este debe encontrar los valores ptimos de las variables del proceso.
Los valores ptimos encontrados, gracias a la aplicacin del Sistema Experto, corresponde al set point
de cada estrategia de control. Estos valores ptimos son fundamentales en la mejora de los procesos
productivos.
El Sistema Experto incorpora herramientas matemticas y de software para modelar procesos,
identificar parmetros y disminuir la variabilidad entre los set points y la variable de control. Adems,
es un sistema de control de proceso optimizador y multi-variable, basado en modelos predictivos.
Otra de las caractersticas que destaca al sistema experto, consiste en ser un software (suite) con
tecnologas analticas y cientficas para el desarrollo, implementacin y mantencin de soluciones de
Control Avanzado para el manejo y control de procesos industriales.
Esta tecnologa avanzada permite controlar y optimizar las variables crticas del proceso en base a un
control supervisor, basado en el modelamiento predictivo representativo del proceso (ver Figura 2).
En vez de preguntarse cmo va a ser el comportamiento de las variables a controlar (CV), el
controlador resuelve cul debe ser la trayectoria de las variables manipuladas (MV) para controlar las
variables controladas (CV) en sus rangos predefinidos y su setpoint ptimo.

Herramienta de identificacin y mantencin de modelo eficiente en un Sistema Experto.

Optimizacin de la produccin
La aplicacin del sistema experto en el proceso de fundicin en la minera del cobre permite una serie
de beneficios:
Reduccin de la variabilidad en el control de la temperatura de la escoria.
Reduccin de la variabilidad en el control de la concentracin del Cu en el Metal Blanco.
Menor desviacin de los actuales objetivos de operacin.
Interaccin de variables complejas desconocidas para el operador.
Incorporacin de variables adicionales muy rpidamente al sistema.
Fcil mantencin.
Flexibilidad.
Control con respecto al equipamiento y restriccin operacional existentes.
Desempeo ptimo del controlador para llegar a nuevos objetivos operativos.
Control que lleva a la maximizacin econmica.
Algunos de los beneficios colaterales de la aplicacin del sistema experto, son la estabilizacin de
la planta y la estandarizacin de la operacin en los distintos turnos.

3.3. sistema experto Aplicaciones en la medicina


Para realizar un diagnstico se requiere informacin sobre los sntomas del paciente, condicin
general, historial clnico y resultados del laboratorio. Estos datos se obtienen a partir de una serie de
preguntas, cada una de las cuales es determinada a partir de la respuesta anterior del paciente
utilizando diversas reglas o a travs de la experiencia (almacenada en la memoria del ser humano
experto o bien, del sistema experto). Al principio las preguntas son generadas para reducir el nmero
de enfermedades posibles planteando una hiptesis, y al final se realizan preguntas para soportar el
diagnstico.
Una de las formas comunes de llegar a un diagnstico es mediante el interrogatorio al paciente, en
este sentido, los sistemas expertos son los ms aptos para esta tarea. Cuando el interrogatorio al
paciente se realiza de forma correcta se podr elegir el tratamiento adecuado para su problema.
Otro punto a favor de los sistemas expertos es que al tener almacenado el conocimiento en medios
electrnicos, nunca se deteriorar, por el contrario, con el mdulo de aprendizaje se logran ingresar
nuevas reglas para tratar nuevas enfermedades, lo que asegura tambin que al realizar la prueba en
pacientes con los mismos sntomas se diagnostique de la misma forma. A pesar de la precisin de los

sistemas expertos, una parte que hace falta para poder respaldar los resultados o para poder llegar a
ellas ms rpido es la exploracin fsica.
Las formas de razonamiento diagnstico tienen similitud con los razonamientos de los sistemas
expertos:
Probabilsticas. Se basan en la frecuencia de ocurrencia de las enfermedades y
consideran variables como sexo, edad, peso, frecuencia y la probabilidad asociada entre
sntomas-enfermedad.
Causales. Encuentran relaciones fisiopatolgicas y las relacionan con los efectos que
causan, que pueden ser datos clnicos o antecedentes, as como el humor del paciente, por
citar algunos.
Determinsticos. Son mucho ms directos, ya que identificando cada sntoma, se
asocia con una regla que lleva directamente hacia el diagnstico. Se pueden analizar, por
ejemplo, la presencia de cefaleas, fiebre, alteraciones de la conciencia y rigidez de nuca
pueden significar meningoencefalitis.

3.4. SISTEMAS EXPERTOS NEGOCIOS


los sistemas expertos en los negocios sern usados como consulta apoyo a la toma de decisiones y
capacitacin en aplicaciones administrativas

inteligencia artificial
ciencia que estudia el comportamiento inteligente con el fin de imitar y simular las habilidades
humanas mediante la creacion y utilizacion de maquinas y computadoras robtica

imitacin de movimientos humanos travs de robots son creados para apoyar procesos mecnicos
requiere gran precisin puede ser programada para hacer cualquier cosa de la empresa
Ejemplo
simulacin de la capacidad sensorial humana a travs de computadoras percibe la capacidad de imitar
la accin humana
como vista habla tacto etc

3.5. SISTEMAS EXPERTOS MILITAR O MILITARISMO

Muequera con sistema inteligente de asistencia militar


Un soldado de operaciones especiales, tiene que portar con una gran diversidad de dispositivos
electrnicos para mejorar su efectividad en combate, tales como una unidad GPS para localizar la
posicin de la unidad, ordenadores porttiles para recibir imgenes por satlites del entorno, guas por
infrarrojos para marcar objetivos en tierra, sistemas de vigilancia robtica, y un largo etctera. Cargar
con toda sta serie de herramientas puede resultar tedioso, sin embargo, en un par de aos, las tropas

podrn aligerar su carga con un sistema resistente y flexible formado por una pantalla multi-tctil que
se acopla a la mueca del soldado, reuniendo todo lo que se necesita en un slo dispositivo, gracias
principalmente al trabajo de un equipo de ingenieros de HP Labs en colaboracin con el Ejrcito de
los Estados Unidos.
El sistema desarrollado, cuenta con una pantalla multi-tctil que permitir de manera instantnea ver
toda clase de datos, as como transmitir comunicaciones de diversos tipos, todo ello en tan slo 2,2
kilos de peso, ajustable cmodamente al brazo del individuo, segn confirmaba David Morton,
director del programa de investigacin de electrnica flexible en el Laboratorio de Investigaciones del
Ejrcito.
La pantalla est compuesta por una fina capa de transistores que envan seales elctricas para ser
interpretadas visualmente ofreciendo una alta definicin en la imagen. Todo el dispositivo est
formado por materiales que permiten una gran resistencia en condiciones atmosfricas extremas, as
como resistencia al agua, presiones, golpes, ralladuras, etctera. Adems, funciona bajo una batera de
ion-litio (intercambiables) que permite una autonoma de ms de 12 horas en uso intensivo, con
posibilidad de recarga mediante energa solar.
El dispositivo cuenta con GPS, infrarrojos, radio, detector de movimiento, reconocimiento tctil,
cmara fotogrfica, comunicacin va satlite, grabacin de datos, video vigilancia y monitorizacin
mdica. A pesar de que la pantalla en este momento slo muestra escala de grises, los ingenieros estn
trabajando actualmente para conseguir una visin a color en su versin final, que debera estar lista
para su uso militar a principios de 2011.

Prolog
El Prolog (o PROLOG), proveniente del francs PROgrammation en LOGique, 1 es un lenguaje para
programar artefactos electrnicos mediante el paradigmalgico con tcnicas de produccin final
interpretada. Es bastante conocido en el rea de la Ingeniera Informtica para investigacin en
Inteligencia Artificial.

3. Variables
Representan objetos que el mismo PROLOG determina. Una variable puede estar instanciada o no
instanciada. Esta instanciada cuando existe un objeto determinado representado por la variable. De
este modo, cuando preguntamos "Un coche tiene X ?",
PROLOG busca en los hechos cosas que tiene un coche y respondera:
X = ruedas.
instanciando la variable X con el objeto ruedas.
* Los nombres de variables comienzan siempre por una letra mayscula.
Un caso particular es la variable annima, representada por el carcter subrayado ("_"). Es una
especie de comodn que utilizaremos en aquellos lugares que debera aparecer una variable, pero no
nos interesa darle un nombre concreto ya que no vamos a utilizarla posteriormente.

4. Reglas
Las reglas se utilizan en PROLOG para significar que un hecho depende de uno o ms hechos. Son la
representacin de las implicaciones lgicas del tipo p ---> q (p implica q).
* Una regla consiste en una cabeza y un cuerpo, unidos por el signo ":-".
* La cabeza esta formada por un nico hecho.
* El cuerpo puede ser uno o ms hechos (conjuncin de hechos), separados
por una coma (","), que acta como el "y" lgico.
* Las reglas finalizan con un punto (".").
La cabeza en una regla PROLOG corresponde al consecuente de una implicacin lgica, y el cuerpo
al antecedente. Este hecho puede conducir a errores de representacin. Supongamos el siguiente
razonamiento lgico:
tiempo(lluvioso) ----> suelo(mojado)
suelo(mojado)
Que el suelo esta mojado, es una condicin suficiente de que el tiempo
sea lluvioso, pero no necesaria. Por lo tanto, a partir de ese hecho, no
podemos deducir mediante la implicacin, que esta lloviendo (pueden haber
regado las calles). La representacin *correcta* en PROLOG, sera:
suelo(mojado) :- tiempo(lluvioso).
suelo(mojado).
Cabe sealar que la regla esta "al revs". Esto es as por el mecanismo
de deduccin hacia atrs que emplea PROLOG. Si cometiramos el *error* de
representarla como:
tiempo(lluvioso) :- suelo(mojado).
suelo(mojado).
PROLOG, partiendo del hecho de que el suelo esta mojado, deducira
incorrectamente que el tiempo es lluvioso.
Para generalizar una relacin entre objetos mediante una regla,
utilizaremos variables. Por ejemplo:
Representacin lgica | Representacin PROLOG
Es un coche(X) ----> | tiene(X,ruedas) :
tiene(X,ruedas) | es un coche(X).
Con esta regla generalizamos el hecho de que cualquier objeto que sea un coche, tendr ruedas. Al
igual que antes, el hecho de que un objeto tenga ruedas, no es una condicin suficiente de que sea un
coche. Por lo tanto la representacin inversa sera incorrecta.

5. El mbito de las variables.


Cuando en una regla aparece una variable, el mbito de esa variable es
nicamente esa regla. Supongamos las siguientes reglas:
(1) hermana_de(X,Y) :- hembra(X), padres(X,M,P), padres(Y,M,P).
(2) puede_robar(X,P) :- ladron(X), le_gusta_a(X,P), valioso(P).
Aunque en ambas aparece la variable X (y la variable P), no tiene nada que ver la X de la regla (1)
con la de la regla (2), y por lo tanto, la instanciacin de la X en (1) no implica la instanciacin en (2).
Sin embargo todas las X de *una misma regla* si que se instanciaran con el mismo valor.

6. Operadores
Son predicados predefinidos en PROLOG para las operaciones matemticas bsicas. Su sintaxis
depende de la posicin que ocupen, pudiendo ser infijos o prefijos. Por ejemplo el operador suma
("+"), podemos encontrarlo en forma prefija '+(2,5)' o bien infija, '2 + 5'.
Tambin dispone de predicados de igualdad y desigualdad.
X = Y igual
X \= Y distinto
X < Y menor
X > Y mayor
X =< Y menor o igual
X >= Y mayor o igual
Al igual que en otros lenguajes de programacin es necesario tener en cuenta la precedencia y la
asociatividad de los operadores antes de trabajar con ellos.
En cuanto a precedencia, es la tpica. Por ejemplo, 3+2*6 se evala como 3+(2*6). En lo referente a la
asociatividad, PROLOG es asociativo por la izquierda. As, 8/4/4 se interpreta como (8/4)/4. De igual
forma, 5+8/2/2 significa 5+((8/2)/2).
El operador 'is'.
Es un operador infijo, que en su parte derecha lleva un termino que se interpreta como una expresin
aritmtica, contrastndose con el termino de su izquierda.
Por ejemplo, la expresin '6 is 4+3.' es falsa. Por otra parte, si la expresin es 'X is 4+3.', el resultado
ser la instanciacin de X:

9. Entrada/Salida
PROLOG, al igual que la mayora de lenguajes de programacin modernos incorpora predicados
predefinidos para la entrada y salida de datos. Estos son tratados como reglas que siempre se
satisfacen.
* write.
Su sintaxis es:
write('Hello world').
Las comillas simples encierran constantes, mientras que todo lo que se encuentra entre comillas
dobles es tratado como una lista. Tambin podemos mostrar el valor de una variable, siempre que este
instanciada:
write(X).
* nl.
El predicado nl fuerza un retorno de carro en la salida. Por ejemplo:
write('linea 1'), nl, write('linea 2').
tiene como resultado:

linea 1
linea 2
* read.
Lee un valor del teclado. La lectura del comando read no finaliza hasta que se introduce un punto ".".
Su sintaxis es:
read(X).
Instancia la variable X con el valor leido del teclado.
read(ejemplo).
Se evala como cierta siempre que lo tecleado coincida con la constante entre parntesis (en este caso
'ejemplo').

hombre('Mardoqueo').hombre('Adolfo').hombre('Adolfo').hombre('Jose').hombre('Edgar').hom
bre('Edgar').hombre('Rene').hombre('Rodrigo').hombre('Marvin').hombre('Diego').hombre('Cris
tian').hombre('Daniel').hombre('Wilmar').
hombre('Bernabe').
mujer('Francisca').mujer('Eva').mujer('Francisca').mujer('Edra').mujer('Maria').mujer('Natali').
mujer('Eslie').mujer('Lourdes')

Vous aimerez peut-être aussi