martes, 9 de abril de 2013

Tarea algoritmo basico de busqueda en java




   En este programa consta de seguir algunas intrucciones o reglas para que el nodo o sistema elimine
especial. En el siguiente programa muestra lo antes dicho:


public class NodoTarea{
 private int num;
 private NodoTarea sig;

 public NodoTarea(int num) {
  this.num = num;
  this.sig = null;
 }
 public void setNum(int num) {
  this.num = num;
 }
 public void setSig(NodoTarea sig) {
  this.sig = sig;
 }
 public int getNum() {
  return (this.num);
 }
 public NodoTarea getSig() {
  return (this.sig);
 }
 public void insertar(NodoTarea q)
 {
  NodoTarea z;
  z=this;//this direccion de memoria que tiene el objeto que se desea llamar p.insertar(q)
  while(z.sig!=null)//no esta en el último
  {
   z=z.sig;
  }
  z.sig=q;
 }
  public NodoTarea eliminarApuntado(NodoTarea q)
 {
  NodoTarea z,w;
  z=this;
  if(this==q)
  {
   z=z.eliminaPrimero();
   return z;
  }
  else
  {
   w=z;
   while(w.sig!=q)
   {
    w=w.sig;
   }
   w.sig=q.sig;
   q.sig=null;
   return z;
  }
 }
 public NodoTarea eliminarEspecial()
 {
  NodoTarea q,z,w;
  z=w=this;
  if(this.num<5)
  {
   z=z.eliminarApuntado(z.sig);
  }
  q=z.sig;
  while(q!=null)
  {
   if(q.num>10)
   {
    z=z.eliminarApuntado(w);
   }
   if(q.num<5 && q.sig!=null)
   {
    z=z.eliminarApuntado(q.sig);
   }
   q=q.sig;
  }
  return z;
 }
}

lunes, 8 de abril de 2013

Algoritmo de búsqueda en el espacio de estados.

Este algoritmo de búsqueda consiste en un puzzle.
En el cual consta con 9 espacios designados por botones que se enumeran del 0 al 8 de izquierda a derecha , que están vinculados con partes de imagen para dar origen a una imagen en total.

Los botones (imágenes) tienen un número fijo de tal forma que nos permite saber si el puzzle esta resuelto, cuando tienen la secuencia de 0-8 en ese orden de izquierda a derecha.


Tiene una función Resolver, lo que hace es que a través de la función random desordena los espacios del 0 al 8.

public void revolver() {
        for (int i = 0; i < 8; i++) {
            cambiar(i, (int) (Math.random() * 8));
        }
        contador = 0;//se utiliza para contar los cambios
    }

Donde además de una vez inicializado el puzzle , comienza a correr el tiempo a través de  la función run.


public void run() {
        try {
            for (;;) {
                if (segundos == 59) {
                    segundos = 0;
                    minutos++;
                }
                if (minutos == 59) {
                    minutos = 0;
                    horas++;
                }
                segundos++;

                Time.setText(horas + ":" + minutos + ":" + segundos);

                Thread.sleep(1000);
            }
        } catch (InterruptedException e) {
            System.out.println(e.getMessage());
        }
    }


Además de  la función que permite cambiar los botones que llevan las imágenes. 

void cambiar(int a, int b) {
        String temporal;
        Icon imagen;
        temporal = botones.get(a).getLabel();
        imagen = botones.get(a).getIcon();

        botones.get(a).setLabel(botones.get(b).getLabel());
        botones.get(b).setLabel(temporal);

        botones.get(a).setIcon(botones.get(b).getIcon());
        botones.get(b).setIcon(imagen);

    }





A continuación el archivo el Puzzle





martes, 2 de abril de 2013

Tarea – Investigar sobre el Test de Turing y la prueba de la Habitación China

Analice las objeciones a la propuesta de pruebas de inteligencia planteadas en el documento original de Alan Turing sobre IA (Turing 1950).
1.-¿Qué objeciones todavía tienen peso?,
2.-¿Qué posibilidades cree usted que un computador tendría hoy en día para pasar el test de Turing?
3.-Explique y comente sobre el experimento de la Habitación China. 
Publicar en su blog y responder la entrada  en el grupo del curso, indicando los integrantes de su grupo y la url de su tarea en el blog de su grupo

                                                   Desarrollo


   1.-Dentro de las objeciones que tiene la máquina de Turing encontramos las siguientes:

-La teológica: que consistía en que el pensar era un atributo que dios le dio solo a los seres humanos; a lo que Turing sostenía que si dios hubiera querido también les hubiera dado la capacidad de pensar a entes diferentes de los seres humanos.

-Cabezas en la arena: que consistía que una máquina no puede pensar al nivel que los grandes  científicos; a lo que Turing defendía diciendo que existían muchos hombres que también no podían pensar al nivel de los grandes científicos.

-La matemática: consistía en que las máquinas son instrumentos formales, las cuales al dársele cualquier tipo de problema lo resuelven o no a menos que sean inconsistentes; a lo que Turing respondió que el hombre  en ocasiones también presentaba comportamientos inconsistentes.

-De la conciencia: consistía en que las máquinas no tenían conciencia; a lo que Turing respondió  que el hombre muestra falta de conciencia en muchas situaciones de la vida.

-Varias inhabilidades: consistía en que las máquinas no podían saborear un café; por lo que Turing argumento que a las máquinas  se le podían dar la información para que identificaran los sabores.

-Lady love lace: se basa en que las máquinas solo hacen lo que se les dice; a lo que Turing contesto lo siguiente a él muchas veces las máquinas lo habían sorprendido con lo que hacían.

-La continuidad del sistema nervioso: se basa en que el sistema nervioso del ser humano es continuo y los computadores son discretos; a lo que Turing dijo que cada vez que los computadores son más rápidos de tal forma  que emulan al continuo.

-El humano es informal y las máquinas no; a lo que Turing  replico que las reglas del comportamiento humano se les puede dar a una máquina y con ello comportarse en forma informal.

-Los humanos tienen percepciones extrasensoriales y las màquinas no ; a lo que Turing no supo como responder.


 
2.- El Test de Turing es sin duda uno de los métodos más famosos y controvertidos para evaluar la existencia de vida mental en la Filosofía de la Mente. Una de objeciones del test de Turing es el de varias inhabilidades, esta el hecho de que una máquina no puede saborear un café, pero esta el hecho de que las personas no tienen las mismas habilidades que otras, como por ejemplo preguntarle a una "persona" de que color es la habitaciòn en que se encuentra siendo esta persona ciega. Otra cosa seria si el tema de conversación dentro del test de Turing estuviera acotado a un solo tema, ya que hay hay sistemas expertos en cualquier campo específico haciendo las cosas mejor que cualquier ser humano. Para toda tarea definida se puede diseñar un sistema que lo haga mejor que nosotros. Todavía no tenemos inteligencia general, que es sin duda en donde fallaria con alta propabilidad una máquina o computador actual durante este test, pero es cuestión de seguir intentando: 10, 20, 30 años…


Otra de las principales Objeciones del test de Turing es que la prueba es muy ambigua ¿cuánto tiempo tiene que estar la computadora engañando a su interlocutor? ¿Todas las preguntas están permitidas? ¿Puedo preguntarle al computador sobre su biografía? ¿Cómo esta de salud?. Se podria crear un programa en un computador que sea capaz de responder a unas tres o cuatro preguntas de tal forma que lo haria un humano y asi poder confundir al juez. A pesar de esto es posible que el juez se de cuenta de cual es el humano y cual es la máquina a medida que se hagan más preguntas, por lo que seria muy dificil que un computador actual supere el Test de Turing.

Pero aun quedas esperanzas que a futuro una máquina supere el test de Turing. El científico Ray Kurzweil, autor del libro The singularity is near (La singularidad está cerca), piensa que en un plazo no mayor a veinte años podremos “decodificar” el software del cerebro. Hecho esto, si la comunidad científica puede “escribir” ese código, entonces puede replicar su comportamiento. No sólo comprender sus acciones y reproducirlas, sino crear un organismo capaz de sentir y pensar. Tambien hace poco el investigador Robert French del French National Center for Scientific Research afirma que estamos muy cerca de pasar esa prueba, este investigador afirma (en un artículo publicado en la prestigiosa publicación científica Science (en el ejemplar del 12 de Abril 2012) que hoy día dos avances revolucionarios están permitiendo que pronto se pase el Turing Test :

El primero de estos es la gran cantidad de información que en años recientes se ha hecho disponible en internet, desde millones de videos en YouTube, hasta cientos de millones de fotos en Flickr, y desde incontables páginas web y blogs, hasta miles de millones de hechos descritos textualmente, lo que en esencia proveen de un ambiente de aprendizaje virtual para las Inteligencias Artificiales, similar al ambiente físico en que un bebé crece mientras aprende del mundo.

El segundo de estos avances en una nueva generación de técnicas para recolectar, organizar y procesar toda esa información, en esencia de una forma no lineal y caótica, permitiendo que IAs aprendan y reacciones incluso a imprevistos en su programación.


La Habitación China


3.-Es un experimento mental que originalmente fue propuesto por John Searle y luego popularizado por Roger Penrose. El objetivo de Searle es derribar la idea de que nuestra mente es similar a un programa de ordenador. Este experimento, busca demostrar que una máquina puede realizar una acción sin entender lo que hace y por qué lo hace. La lógica usada por los ordenadores simplemente opera con símbolos, sin comprender el verdadero contenido, un proceso completamente distinto al que creemos que ocurre en los seres humanos. Searle nos propone que imaginemos que, en lugar de un mecanismo, dentro de la habitación se encuentra una persona que no tiene conocimiento del idioma chino. Está completamente aislada del exterior, salvo por la ranura por la que entran y salen las hojas de papel, con los textos escritos en chino. Esta persona tiene a su disposición, dentro de la sala, una serie de manuales y diccionarios que le indican las reglas que relacionan los caracteres chinos de entrada con los que debe escribir para enviar a la salida. Básicamente, una serie de premisas del tipo “si entran tales caracteres, escribe tales otros". Fuera de esta sala está el mismo chino que creyó que el ordenador hipotético mencionado antes entendía su idioma. Searle explica que la habitación china tiene la capacidad de hacerle creer a la persona que interactúa con ella que comprende el idioma chino, a pesar de que quien está en su interior nunca haya hablado o leído ese idioma.


Por lo tanto, cree que a pesar de que un ordenador puede realizar operaciones de manera completamente formal, expresadas en términos de símbolos abstractos (unos y ceros, textos en chino, etc.) no tiene idea de lo que está haciendoPara el ordenador, esos símbolos no tienen significado, no tienen contenido semántico y la máquina no tiene “conciencia” de sí misma.

El ser humano tiene estados mentales que además de tener forma tienen contenido, o dicho de otra forma no sólo tienen sintaxis sino también semántica. Searle lo resume en una frase: “La sintaxis sola no es suficiente para la semántica y los ordenadores digitales en tanto que son ordenadores tienen, por definición, solamente sintaxis”.

 El señor que está dentro de la habitación china no conoce más que la sintaxis del idioma. Desconoce por completo el contenido de los mensajes. Los programadores que están fuera de la habitación introducen preguntas y la persona dentro de la sala emiterespuestas válidas, gracias a sus diccionarios y manuales. Para los que están en el exterior, la habitación es una experta en chino. Pero la realidad es que quien está en su interior -sea el hombre o el mecanismo del primer caso- no tiene idea del significado de que lee y escribe.



Comente:

La habitación china es una experimento muy útil, ya que, se puede extraer que manipular símbolos en base a su forma (sintaxis) no significa que conozcamos su contenido semántico. 

Este argumento válido de Searle , hace replantearse las bases de la IA. Es decir, que independientemente del progreso tecnológico que alcancemos, una máquina que aplique reglas no será otra cosa que la habitación china, y por lo tanto incapaz de tener conciencia. 
 El ser humano, no sólo cuenta con reglas para enfrentarse a la vida, sino que también, cuenta con sentimientos y habilidades que nos hace distintos a los demás seres vivos y más bien las máquinas.   
















 
Fuentes:

http://vonneumannmachine.wordpress.com/2010/12/09/objeciones-al-test-de-turing/
http://spanish.bilinkis.com/2011/04/%E2%80%9Clas-computadoras-seran-mas-inteligentes-que-los-seres-humanos%E2%80%9D/
 http://www.eliax.com/index.cfm?post_id=9625