PDF de programación - inteligencia artificial (II) Más aplicaciones prácticas

Imágen de pdf inteligencia artificial (II) Más aplicaciones prácticas

inteligencia artificial (II) Más aplicaciones prácticasgráfica de visualizaciones

Publicado el 14 de Enero del 2017
629 visualizaciones desde el 14 de Enero del 2017
218,8 KB
4 paginas
Creado hace 18a (15/09/2005)
Ciencia e Investigación

Inteligencia Artificial (y II)
MMááss aapplliiccaacciioonneess pprrááccttiiccaass
MMááss aapplliiccaacciioonneess pprrááccttiiccaass

David Arroyo Menéndez

En la primera parte de este artículo se
introdujo las problemáticas que se
abordaban en la inteligencia artificial.
En la segunda parte se mostrará cómo
conseguir que las máquinas hagan
planes, cómo pueden comprender el
lenguaje humano, cómo pueden pensar
con neuronas y cómo aplicar todas
estas cuestiones a tareas tales como la
robótica, entre otras cosas, todo ello
con un software libre.

Planificación

Llamaremos planificación al proceso de búsqueda
y articulación de una secuencia de acciones que
permitan alcanzar un objetivo. Por ejemplo, si
nuestro objetivo es viajar desde un pueblo perdido
de Asturias y queremos llegar a Guatemala la
secuencia de acciones serían los distintos trans-
portes que se deben tomar para llegar. Otro ejem-
plo podría ser que tuviéramos un robot en un labe-
rinto y nuestro objetivo fuera sacarle de él; en tal
caso, nuestras acciones serían los tramos recorri-
dos en línea recta y los giros dados por el robot.

Para formalizar el problema de la planificación
existen dos notaciones principales: ADL y STRIPS
(http://www.rci.rutgers.edu/~cfs/472_html/Planning/
STRIPS_plan_472.html). Ambas coinciden en uti-
lizar la lógica para representar estado inicial,
objetivo y acciones. También coinciden en que,
para aplicar una acción, es necesario cumplir
unas precondiciones y, tras haber ejecutado la
acción, se habrá provocado unos efectos.

Para obtener la secuencia de acciones, es
decir, el resultado al problema de la planifica-
ción, existen varios enfoques:
 Búsquedas en el espacio de estados que operan
hacia adelante (desde el estado inicial), o hacia atrás
(desde el objetivo) aplicando las acciones. También

Los robots pueden realizar tareas peligrosas.
En la imagen, demolición controlada del
edificio Windsor, en Madrid.

existen heurísticas (estrategias) eficaces que nos
ayudan en la búsqueda. Estos enfoques funcionan
bien cuando los subobjetivos son independientes.
 Si los subobjetivos no son independientes suele
ser buena idea utilizar algoritmos de Planificación
de Orden Parcial (POP), que exploran el espacio de
planes sin comprometerse con una secuencia de
acciones totalmente ordenada. Trabajan hacia
atrás, desde el objetivo y añaden acciones para
planificar cómo alcanzar cada subobjetivo.

 Otras estrategias prometedoras son el algorit-
mo GRAPHPLAN (http://www-2.cs.cmu.edu/
~avrim/graphplan.html) y el algoritmo SAT-
PLAN (http://www.cs.washington.edu/homes/
kautz/satplan/).

 Cuando no se trabaja en mundos cerrados, sino en
el mundo real, debemos tener en cuenta varias
consideraciones. Muchas acciones consumen
recursos: tiempo, dinero, materias primas, etc., por
lo que debemos tener en cuenta medidas numéri-
cas. Las redes jerárquicas de tareas (HTN)

MMUUNNDDOO

Linux

nnºº7777

18

http://digital.revistasprofesionales.com

Ciencia e Investigación

nltk en funcionamiento.

Inteligencia Artificial (y II)

(http://www.cs.umd.edu/projects/plus/HTN/) per-
miten tener sugerencias sobre el dominio por parte
del diseñador. La información incompleta puede ser
manejada mediante planificación que utilice accio-
nes sensoriales para obtener la información que
necesita. La planificación multiagente es necesaria
cuando existen otros agentes en el entorno con los
que cooperar, competir o coordinarse.
Los problemas y soluciones que se abordan en
planificación tienen aplicaciones directas en gestión
de tareas (workflow), control de misiones complejas
(espaciales, satélites, militares, etc.), turismo (visitas
a ciudades, planificar rutas...), procesos de enseñan-
za/aprendizaje, robótica (planificar caminos)...

Para la problemática de la planificación, las
licencias libres han brillado por su ausencia. No
obstante, todos los algoritmos se distribuyen con
su código, lo cual también es cierto en arquitectu-
ras integradas como PRODIGY (http://www-
2.cs.cmu.edu/afs/cs.cmu.edu/project/prodigy/Web/
prodigy-home.html), muy usadas en planificación.
Procesamiento de lenguaje natural

Antes de abordar qué es el procesamiento del lengua-
je natural (o lenguaje humano), pensemos por un
momento qué es la compresión. Según Rich y Knigth
“comprender algo es transformarlo de una represen-
tación a otra, en donde la segunda representación se
ha elegido para que se corresponda con un conjunto
de acciones posibles que podrían llevarse a cabo, y en
donde se ha diseñado la correspondencia de forma
que para cada suceso se realice una acción apropia-
da”. En definitiva, comprender algo es transformarlo
en una representación que nos sea más útil para
lograr nuestro objetivo.

¿Para qué podemos querer que una máquina com-
prenda lo que pone en un texto? Lo primero que se
nos puede ocurrir es que sirva para comunicarnos con
ella como si de una persona se tratara, pero ello no
solo requeriría comprender nuestras palabras, sino
también las emociones con las que las expresamos, lo
cual es algo más complejo. La traducción automática
desde un lenguaje natural a otro es algo para lo que
solo necesitamos comprender el significado neutral
de las palabras. Si conseguimos que un ordenador
comprenda, también nos va a ayudar en tareas de
recuperación de la información; me refiero a busca-
dores más eficaces que sepan relacionar mejor unas
palabras o frases con otras, e incluso independiente-
mente del idioma.

Para realizar estas tareas es necesario compren-
der un texto; esto es lo que nos proporciona el pro-
cesamiento del lenguaje natural. Veamos las fases
de las que se compone [Rich y Knight, 1994]:
 Análisis morfológico: Se analizan los componen-
tes de las palabras individuales y se separan de
las palabras los constituyentes que no forman
parte de ellas, como los símbolos de puntuación.
 Análisis sintáctico: Se transforman las secuencias
lineales de palabras en ciertas estructuras que

muestran la forma en que las palabras se relacio-
nan entre sí. Se pueden rechazar algunas secuen-
cias de palabras si infringen las reglas del lenguaje
sobre la forma en que las palabras pueden combi-
narse. Ej: “niña la come mucho” se rechazaría.

 Análisis semántico: Se asigna significado a las
estructuras creadas por el analizador sintáctico.
Es decir, se hace una correspondencia entre las
estructuras sintácticas y los objetos del dominio
de la tarea. Las estructuras en las que no se
pueda realizar tal correspondecia se rechazan. Ej:
“Las ideas verdes incoloras duermen furiosamen-
te” se rechazaría.

 Integración del discurso: El significado de una
frase individual puede depender de las frases
precedentes y puede influenciar el significado
de las frases posteriores. Por ejemplo, la pala-
bra “lo” en “Jaime lo quiso” depende del con-
texto del discurso, mientras que la palabra
“Jaime” puede influenciar el significado de
frases posteriores como “Él vive en Madrid”.

 Análisis de la pragmática: La estructura que
representa qué se ha dicho se reinterpreta
para determinar su significado actual. Ej:
“¿Sabe qué hora es?” se reintepreta como
petición de hora.

http://digital.revistasprofesionales.com

MMUUNNDDOO

19

Linux

nnºº7777

Ciencia e Investigación

Esquema del funcionamiento
de una neurona tipo
perceptrón, obtenido de
http://www.geofisica.cl/.

Hasta ahora hemos estado hablando del proce-
samiento del lenguaje escrito. Si quisiéramos reali-
zar procesamiento del lenguaje oral, necesitaríamos
conocimiento adicional sobre fonología, así como
suficiente información adicional para manejar las
posibles ambigüedades que pudieran surgir.

Existen varias herramientas libres para tratar el
procesamiento del lenguaje natural. Podemos
encontrar malaga-bin y mmorph. Sin embargo,
creo que para juguetear y/o iniciarse en este campo
es más adecuado nltk (http://nltk.sourceforge.net/)
(Natural Language Toolkit), escrito en python y con
una licencia de creative commons (http://creative-
commons.org/licenses/by-nc-sa/1.0/).
Computación neuronal

Bien, hasta aquí hemos visto que las máquinas pue-
den imitar comportamientos humanos para un gran
número de tareas. De hecho, incluso pueden aplicar-
se algoritmos de aprendizaje que, para ciertas ta-
reas como el spam, dan muy buenos resultados. La
siguiente cuestión entonces es: ¿pueden las máqui-
nas pensar tal y como lo hacemos los humanos?

La naturaleza nos ha dotado con un sistema de
cómputo basado en una enorme red de neuronas. Si
las máquinas pudieran simular tal sistema de cóm-
puto ¿no estarían entonces en condiciones de pensar
tal y como lo hacemos las personas?

En primer lugar, pensemos qué es una neurona.
Una neurona está formada por el cuerpo celular y
diferentes prolongaciones: el axón, por el que tran-
sitan los impulsos nerviosos o potenciales de
acción desde el cuerpo celular hacia la siguiente
célula, y la/s dendritas, con número y estructura
variable según el tipo de neurona, y que transmiten
los potenciales de acción desde las neuronas adya-
centes hacia el cuerpo celular. Se podría decir que
las dendritas son entradas y el axón es la salida.

Como siempre, para profundizar recomiendo jugar
con el software libre disponible. Lo que he encontra-
do ha sido Fast Artificial Neural Network Library (fann)
(http://fann.sourceforge.net/intro.html), Genesis
(http://www.genesis-sim.org/GENESIS/) y, aunque no
totalmente libre, también creo importante destacar
SNNS (http://www-ra.informatik.uni-tuebingen.de/
SNNS/).

Finalizar diciendo que, si bien los algoritmos de redes
neuronales no son otra cosa que algoritmos de apren-

MMUUNNDDOO

Linux

nnºº7777

20

http://digital.revistasprofesionales.com

Ahora bien, ¿cóm
  • Links de descarga
http://lwp-l.com/pdf30

Comentarios de: inteligencia artificial (II) Más aplicaciones prácticas (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad