jueves, 12 de marzo de 2015

Inteligencia artificial, ¿qué debería enseñarse?

La inteligencia está asociada  a saber elegir las mejores opciones para resolver algún tipo de problema. Existen diversos tipos de inteligencia según sus atributos y procesos, como la inteligencia operativa, la inteligencia biológica o la inteligencia psicológica.

 La inteligencia artificial, por lo tanto, consiste en el diseño de procesos que, al ejecutarse sobre una arquitectura física, producen resultados que maximizan una cierta medida de rendimiento. Estos procesos se basan en secuencias de entradas que son percibidas y almacenadas por la mencionada arquitectura.

 Los dispositivos que cuentan con inteligencia artificial pueden ejecutar distintos procesos análogos al comportamiento humano, como la devolución de una respuesta por cada entrada (similar a los actos reflejos de los seres vivos), la búsqueda de un estado entre todos los posibles según una acción o la resolución de problema mediante una lógica formal.

 En la actualidad, la forma de inteligencia artificial más popular existe en los videojuegos, dado que su consumo es masivo. En este contexto, se aplica a enemigos y personajes controlados por el ordenador, para que su actuación a lo largo de la experiencia interactiva resulte creíble y parezca espontánea. Demás está decir que el tipo de inteligencia artificial utilizada en cada caso es diferente, y responde a una serie de necesidades particulares.

Antes de continuar, es importante aclarar que no debería malinterpretarle el concepto por la presencia del término “inteligencia”, el cual también suele comprenderse y usarse de forma incorrecta: una entidad virtual con una inteligencia artificial avanzada no necesariamente es rápida y hábil; programar un ser cuya prominente torpeza y lentitud parezcan creíbles también requiere de un gran trabajo en este campo.Un curso de inteligencia artificial con el cual personalmente quedaría satisfecho debería tener un contenido de los temas a ver; donde se enseñe no solo cosas especificas del curso sino una base fundamental en lo que se basa esta asignatura que creería que es el cerebro humano, como es nuestro comportamiento y raciocinio; entender comportamientos, funciones psicomotrices como  son los reflejos y como se adquiere el conocimiento; De ahí podríamos partir para luego adentrarnos a los lenguajes  de programación necesarios para lograr  desarrollar  sitemas inteligentes o redes inteligente.
No me parece tan cierto ya que creo que una inteligencia artificial  bien aplicada por ejemplo en el campo de la medicina podría ser de gran ayuda para la busca de curas de enfermedades o también en la exploración espacial y también en agricultura mejor dicho en muchos campos de nuestra vida; pero si creo que aun no estamos preparados para una evolución tan contundente y rápida como lo sería desarrollar una inteligencia completamente autónoma la cual busque mejorarse y tenga el mayor conocimiento que una persona. 
El curso de IA debiera abarcar los diferentes temas que esta asignatura contiene como lo es: 
 
  • Procesamiento de búsquedas 
  • Formas de representar el conocimiento 
  • Programas declarativos 
  • Aprendizaje Computacional 
 
Eso entre otros mas temas que el tiempo de clase permita trabajar. Ya que es una de las asignaturas que tiene gran importancia en la actualidad debido a su complejidad y aplicabilidad en las nuevas tecnologías que se están creando. 
 
Esta teoría es algo seria, como para que se tome simplemente de una película de Hollywood de ciencia ficción; una comparación que se podría hacer es como las cientos de películas que han lanzado sobre la creación de un virus que hará revivir a los muertos... Algo así no se debe proponer solo por cuestiones de películas. Quizás los  científicos tengan en algo razón de que si no se toman las medidas preventivas a tiempo, el gran avance que esta tomando la IA puede llegar a acabar con el ser humano. 
Pero a mi parecer, es una teoría muy extremista, la IA ha ayudado bastante al reducir las tareas del ser humano, tareas las cuales son peligrosas para este. Es con este fin que se esta generando nuevas tecnologías para hacer una mejor vida para el ser humano, pero estas tecnologías siempre van a estas delimitadas por algo, un ser creado por la inteligencia artificial va a tener sus limitaciones de uso, no van a empezar a tomar conciencia por si mismas como en las películas.

jueves, 26 de febrero de 2015

Búsqueda iterativa en profundidad - Resolución del grafo

Para empezar habremos de explicar de qué se trata el problema con grafos. El ejercicio es el siguiente:


Un niño necesita recorrer desde el punto A hasta el punto H sin importar si hay demora o no. El camino se debe encontrar mediante búsqueda ciega iterativa en profundidad. El algoritmo es el siguiente:


  1. Cota de profundidad C<--1
  2. Lista L <--Nodo raíz
  3. Si L € { } --> C=C+1. Ir al paso 2. Si no, N<- Extraer  primer nodo de L
  4. Si Profundidad(N)<C -> genera sucesores de N. Si hay alguna solución, termina.
  5. Si no, añadir al comienzo (L) los sucesores de N. En cualquier caso, ir a paso 3.

nOperaciones:

a)      Extraer: -Al comienzo –Al final
b)      Añadir: -Al comienzo –Al final
c)       Sucesores: -Todos –Unos pocos.

Esta es la prueba de escritorio:



Respuestas a las preguntas formuladas:
  • ¿Cuántos nodos se generaron?: 8
  • ¿Cuántos nodos se expandieron?: 57
  • Costo de memoria:171 unidades



jueves, 19 de febrero de 2015

Problema de búsqueda en profundidad con grafos.

 Para empezar, es necesario aclarar de qué se trata el problema. Se ha planteado un grafo en el cual hay que llegar desde el punto A hasta el F con el camino posible. Como esto se realiza con búsqueda ciega, no hay necesidad de buscar un camino óptimo sino el primero que se encuentre.

La solución se encuentra de esta manera:














Para desarrollar este problema de búsqueda en anchura, se utilizará el siguiente algoritmo en pseudocódigo.
  1. L <- Lista de nodos iniciales del problema. Si L € { } -> Fallo, detener. 
  2. Si no N<- Extraer nodo de L
  3. Generar sucesores de N. Si un sucesor es solución, retorna camino a L, detener
  4. Si no, añadir sucesores de N a L, retornar a paso 2)

Operaciones:
a)      Extraer: -Al comienzo –Al final
b)      Añadir: -Al comienzo –Al final
c)       Sucesores: -Todos –Unos pocos.
Prueba de escritorio:
Paso
Lista L
Estructura N
Sucesores N
Observación
1
A


Asigna nodo A a L
2

A

Asigna nodo A a N
3


B,C
Expansión Nodo, 1): A, No hay solución.
4
B,C


Añadir sucesores de N a L
5

B

Añadir nodo a N
6


A,C,D
Expansión nodo 2): B, No hay solución.
7
C, A,C,D


Añadir sucesores de N a L
8

C

Añadir nodo a N
9


A,B,E
Expansión nodo 3): C, No hay solución.
10
A,C,D,A,B,E


Añadir sucesores de N a L
11

A

Añadir nodo a N
12


B,C
Expansión nodo 4): A, No hay solución.
13
C,D,A,B,E,B,C


Añadir sucesores de N a L
14

C

Añadir nodo a N
15


A,B,E
Expansión nodo 5): C, No hay solución.
16
D,A,B,E,B,C,A,B,E


Añadir sucesores de N a L
17

D

Añadir nodo a N
18


B
Expansión nodo 6): D, No hay solución.
19
A,B,E,B,C,A,B,E,B


Añadir sucesores de N a L
20

A

Añadir nodo a N
21


B,C
Expansión nodo 7): A, No hay solución.
22
B,E,B,C,A,B,E,B,B,C


Añadir sucesores de N a L
23

B

Añadir nodo a N
24


A,C,D
Expansión nodo 8): B, No hay solución.
25
E,B,C,A,B,E,B,B,C


Añadir sucesores de N a L
26

E

Añadir nodo a N
27


C,F
Expansión nodo 9): E, Solución encontrada: F

Solución a las preguntas:
¿Cuántos nodos se generaron?: 6
¿Cuántos nodos se expandieron?: 9
Gasto de memoria: 27 unidades.