• Sábado 4 de Mayo de 2024, 07:48

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - nausea

Páginas: 1 2 [3]
51
Inteligencia Artificial / Re: Un Sistema De Ia Con Vfoxpro??
« en: Martes 30 de Marzo de 2004, 09:38 »
Hola

 Pues, en teoría, si. Pero seguramente te va a costar. Si quieres programar un conversador vas a tener trabajo ... si quieres que sea un poco decente.

Sin embargo, en Prolog existen las Definite Clause Grammars (DCG) que facilitan mucho la programación de lenguaje natural. Entre otras ventajas, no tendrás que construirte un "parser", que no es una tarea sencilla precisamente.

Saludos
n.

52
XML / Re: Que Es El Paquete Dom?
« en: Viernes 26 de Marzo de 2004, 13:26 »
Hola, de nuevo:

Casi. No es ni DOM ni SAX quienes validan. De hecho, si usaras JDK 1.2 o 1.3 no podrías validar un DOM si no tuvieras Xerces o parser similar. Desde JDK 1.4, los paquetes javax.xml.* incluyen Crimson, que es parecido a Xerces (y también de Apache).

Creo que el problema que tenemos es con la palabra "describir". Yo más bien diría que DOM (javax.xml.parsers.DocumentBuilder) y SAX (javax.xml.parsers.SAXParser) manejan DOMs (Documentos XML o HTML). XML describe el Modelo. Lo que también tengo claro es que no voy a tratar es un fichero XML como un fichero plano (No voy a usar FileSystemObject (VisualBasic) ni Readers o Writers de Java. Usaré en Java
Código: Text
  1.  
  2.    InputSource source = new InputSource("problema.xml");
  3.    xmlReader.parse(source);
  4.  
  5.  

Saludos
n.

53
Hola:

  Por ejemplo:
  -  Red Hat: https://www.redhat.com/apps/support/
  -  Debian: http://www.debian.org/support
 
Y es cierto, muy pocos más dan soporte. Evidentemente, empresas de software libre grandes, del tipo Red Hat dan un soporte limitado a usuarios, pero lo dan. Saben que si tienes Red Hat en casa, puedes influir en tu trabajo e instalar Linux y contratar soporte.

Pero si compras Windows, ¿cuanto soporte crees que tienes? Pues un número de teléfono que te resuleve dudas y problemas que tu mismo puedes resolver buscando un poco. Si eres una empresa y quieres tener soporte profesional tienes que contratar algún nivel de MSDN (unos 15.000 euros al año) y aguantar con un número limitado de problemas a reportar.

Y yo tengo experiencias de esperar semanas por una solución y que ciando me llegó, ya lo había solucionado yo. Como si fuera software libre.

Por cierto. ¿Testers? Si, los usuarios que compran las nuevas versiones. Ten en cuenta que probar software no es una actividad productiva. En los años 80, salía una versión nueva cada 18 o 24 meses y ahora en menos de 12. ¡Y el software erá más simple entonces!

¿Y tu te crees que las empresas grandes (MS, IBM, etc..) se responsabilizan de tu información? No. Si pagas, te ayudan. Tu te responsabilizas de tu información, tu eres el responsable de tus backups. Y así lo entienden los grandes bancos... y los pequeños.

Saludos
n.

54
XML / Re: Que Es El Paquete Dom?
« en: Viernes 26 de Marzo de 2004, 11:23 »
Hola:

  Exactamente. Como bien dices con su DTD. Puedes trabajar en Java con SAX y DOM sin DTD, sin realizar la validación.

Si quieres validar, se lo tienes que decir
 
Código: Text
  1.  
  2.   SAXParserFactory spfactory = SAXParserFactory.newInstance();
  3.   spfactory.setValidating(true);
  4.  
  5.  

Si pones false, no se valida pero eso no quiere decir que no puedas leer un XML y lo parsees secuencialmente con SAX o te crees un árbol DOM total o parcial a partir de tu documento.

Yo más bien diría lo contrario: Con XML representas un DOM que es um Modelo de Objetos quepuedes escribir en forma  XML. ¿Cómo pintas oescribesun DOM?

Saludos
n.

55
XML / Re: Que Es El Paquete Dom?
« en: Viernes 26 de Marzo de 2004, 09:06 »
Buenas:

 Pero ciRRus no dice que DOM y SAX sean implementaciones, dice, textualmente (copio y pego)
Citar
El DOM es un parser de XML, un analizador de fichero XML que también realiza validación (verifica si se cumple el DTD).

  Si vas a la documentación Java en la página de la doc. del API Java dice

Citar
Package javax.xml.parsers Description
Provides classes allowing the processing of XML documents. Two types of plugable parsers are supported:

SAX (Simple API for XML)
DOM (Document Object Model)

Con SAX y DOM procesas pero  no validas un documento XML. Creo que la confusión está en el hecho de que también es un DOM cualquier documento HTML o ... XML. Por eso XML describe un DOM. Un DOM es la estructura en árbol de un HTML y HTML es un caso especial de XML. Por eso, cuando escribes un XML, estas describiendo un DOM.

Y desde luego, DOM no valida XML. Puedes procesar con SAX o DOM para procesar XML, pero si quieres validarlo, necesitas Crimson o Xerces

Saludos
n.

56
XML / Re: Que Es El Paquete Dom?
« en: Jueves 25 de Marzo de 2004, 13:58 »
Pues no se que decirte sobre la nota de tu examen. :huh:

El DOM no es un parser de XML. Así, brevemente, XML es el lenguaje en el que describes el DOM. Digamos que cuando un browser recibe una página HTML, lo que recibe es un DOM.

Si nos quedamos con lo que quieren decir las siglas tenemos:

eXtended Markup Language (Lenguaje de Marcas eXtendido)
Document Object Model (Modelo de Objetos del Documento)

SAX es un API para interpretar DOMs de forma secuencial y no solamente se usa en Java. Hay implementaciones para otros lenguajes

Si usas Java, puedes usar el paquete JAXP y usar SAX o DOM (El modelo de objetos se carga y se hace accesible a Java como una estructura en arbol) y como parser usa Crimson que viene en el JDK de forma incorporada. Puedes usar cualquier otro parser (Xerces) con sólo especificarlo

Saludos

n.

57
Java / Re: Error De Statment
« en: Viernes 12 de Marzo de 2004, 08:57 »
Código: Text
  1. for (int i=0; i<=args.length; i++)
  2.  

te va a fallar porque

Código: Text
  1. buf.append(args[i]);
  2.  

te dará error de índice erroneo. Deberías decir que error es el que te da

58
Java / Re: Optimizar
« en: Viernes 12 de Marzo de 2004, 08:17 »
Hola.

 Pues javac no creo pero java tiene una opción especial (-X) que permite opciones especiales en la que se puede configurar el tamaño y el tipo de memoria utilizada. No te cuento más porque no me las sé pero tienes muchísima información en la página dedicada al rendimiento de Java en Sun aquí

59
Java / Re: Optimizar
« en: Martes 9 de Marzo de 2004, 07:41 »
Buenas

  La verdad es que lo primero que tienes que ver es en que partes tu programa parece ralentizarse. Así, sin otra información es difícil sugerir nada. Te podría decir que si usas muchas concatenaciones con String, cambies a StringBuffer o que si usas algún tipo de colección, uses la más simple que necesites. Pero si no especificas más,es un poco complicado dar consejos.

Saludos
n.

60
Inteligencia Artificial / Simulación Del Mundo Del Aspirador
« en: Jueves 26 de Febrero de 2004, 12:31 »
Hola

  Aunque por si mismo, esto no es Inteligencia Artificial, permite programar los Agentes descritos en el capítulo 2 del libro de Russell y Norvig, "Inteligencia Artificial: Un Enfoque Moderno". Con esta librería Java se puede uno centrar en la programación de los agentes y no tener que preocuparse en programar el entorno de simulación de la habitaciónen la que el Agente debe desenvolverse.

  Para bajarse la librería y elcódigo fuente pinchar en el sumario en SourceForge y para las instrucciones de uso en sus páginas web

Saludos
n.

61
Inteligencia Artificial / Re: Sólo un comentario sobre la IA
« en: Lunes 16 de Febrero de 2004, 08:37 »
Buenas:

  Si quieres meterte en esto de la IA pillata un libro. Yo uso El Inteligencia Artificial:un enfoque moderno de Russell y Norvig pero si sabes inglés, mejor porque la versíon en castellano es horrorasa y no porque este traducida en mejicano (creo) sino porque está fatalmente traducida. Otro que también use fue el Pricipios de Inteligencia Artificial de Nilsson pero muchos dicen que está anticuado. Lo siento, pero creo que si quieres saber de que va esto tendrás que leer y estudiar bastante.

  En cuanto a programar IA en VB... pues lo mismo que programar cualquier cosa en VB y en IA ás aún. En VB te creas un GUI en dos patadas y te haces un programa en tres, pero como quieras optimizar un poco ya tienes que tirar de la API de Windows y ya no es VB, es otra cosa (puede que mejor). Yo creo que no deberías limitarte al VB. Por ejemplo, en Java, su biblioteca de Colecciones es muy util para realizar búsquedas en grafos o en árboles, más que las colecciones de VB 6.0.

  Tampoco estoy muy de acuerdo con que los "lenguajes IA" estén limitados al ámbito académico. Por ejemplo LISP es utilizado en USA con mucha frecuencia, creo que por los mismos motivos que se utilizaba Pascal en Europa: porque era el que se enseñaba en las facultades y luego era el elegido para trabajar porque era el que todos conocían.

Prolog está más extendido en Europa y puedes bajarte varios interpretes. Uno muy completo y muy usado en el ámbito académico pero me consta muy empleado en el "business" es SWI-Prolog que es Open Source y te lo puedes bajar de aquí. Otro prolog mucho más orientado a la programación profesional (no se como llamarlo) es amzi! Prolog del que también puedes bajarte una versión gratutita con licencia personal en www.amzi.com

Saludos
n.

62
Inteligencia Artificial / Re: Sólo un comentario sobre la IA
« en: Viernes 13 de Febrero de 2004, 09:57 »
Bueno

  Estamos hablando de otro problema de lo más controvertido. Porque hablar de la conciencia es más bien difícil. Un filósofo interesante en cuanto a estos temas es Davis Chlamers con el que estoy más o menos de acuerdo.

Creo que, a mi subjetivo juicio, estas separando la conciencia de tu hecho físico. Es decir, sigue siendo tu cerebro el que procesa información (o lo que quieras porque en esto también hay muchas opiniones) para decidir decir "Yo soy" o "Yo soy yo".

En cuanto a la libertad y el sacrificio solamente decir que muchos antropologos o zoologos podrán darte razones por las que un sacrificio de un individuo favorece la perpetuacion de la especie. No sólo los humanos se sacrifican por sus hijos. Se ha visto como algunas especies (algún tipo de ciervo, no recuerdo bien y creo que bastantes especies que viven en manada) se ponen a la vista del predador para que los más jóvenes puedan huir.

Por cierto, la robótica es una rama de la IA y la nanotecnología podría servir para lo que tu dices, nadie dice que no.  Y, ya que estamos, no se si te has dado cuenta de que nunca he dicho textualmente que las máquinas podrían ser tan "inteligentes", sensibles, etc. como los humanos.

saludos
n.

63
Inteligencia Artificial / Re: Sólo un comentario sobre la IA
« en: Jueves 12 de Febrero de 2004, 08:46 »
Hola

  De todas formas, no dices por que no podemos comparar la inteligencia humana con la de una máquina. De todas formas deberías entender "problemas" de una forma amplia no sólo como problema de supervivencia extrictamente hablando, no sólo comer o morir sino también como estar más a gusto o como mejorar tu posición social. Este argumento de no comparar ambas inteligencias es uno de los más usados pero nadie me cuenta cuales son las diferencias.

Cuando te refieres a un laboratorio biológico, ¿te refieres a procedimientos de clonación?  Eso no es un verdadera creación aunque puedo estar de acuerdo contigo. De todas formas ten en cuenta que la estructura del cerebro se basa en la conectividad entre neuronas. La limitacion de un circuito electrónico es que un circuito biologico también conduce neurotransmisores y otras sustancias químicas. Sin embargo, este efecto podría simularse electrónicamente ¿Por qué no?

De todas formas, la biología facilitaría mucho las cosas. De hecho, se están investigando circuitos electrónicos que incluyen elementos biológicos. A ver si miro esto un poco y te puedo pasar alguna referencia.

64
Inteligencia Artificial / Re: Sólo un comentario sobre la IA
« en: Miércoles 11 de Febrero de 2004, 13:54 »
Buenas:

Una posible definición a que es inteligencia es decir que es la capacidad que tiene un ente (de momento un ser vivo) para resolver problemas. Desde este punto de vista, la inteligencia tiene que ver con la capacidad de sobrevivir o de vivir lo mejor posible.

Muchas veces, como argumento contra la "inteligencia" de las máquinas, te dicen aquello de "¡Es que una máquina no podrá escribir nunca la 5ª sinfonía de Bethoven!". Claro, ni tu tampoco. O sea que estamos al mismo nivel que las máquinas en eso aunque entre el ser humano haya algún Bethoven de vez en cuando. Se podría argumentar que por lo menos mucha gente puede apreciar en todo o en parte lo que tiene de arte las sinfonias de Bethoven. ¿Seguro? Eso es porque desde muy pequeño te han enseñado, indirectamente, que la quinta de Bethoven es una obra de arte. ¿Como? Pues repitiendola continuamente, porque te hablan de ella, porque te enseñan donde está su maestría en el colegio, tus padres y... porque socialmente está bien visto lo que ayuda a prosperar y, por lo tanto a sobrevivir.

Cuando se habla de inteligencia en una máquina, se está hablando de que la solución buscada no está de forma explicita en el programa o en los datos que se manejan. Como ya mencione en otro post, una consulta SQL a una base de datos no es IA (Aunque en los algoritmos utilizados para realizar la búsqueda si podría haber inteligencia a la hora de buscar optimización de los tiempos de respuesta).

Un ejemplo que podría ser inteligente aunque no iempre se considera así, es un programa que resuelva el problema de los 3 misioneros y los 3 caníbales que deben cruzar un rio en una barca en la que solamente caben dos personas. El programa que sirve para reolver esto no tiene dentro de su código ni de los datos con los que cuenta la solución. sin embargo, no se le considera inteligente puesto que se limita a calcular las posibles soluciones por ensayo y error. Pero hay problemas similares que usan de métodos llamados heurísticos que indican de alguna forma cual es el camino más conveniente para hallar una solución. En este caso la búsqueda no se limita a ensayo y error sino que elige que nuevo paso va a dar siguiendo un criterio más o menos elaborado.

Muchos dicen que Deep Blue no era inteligente porque tenía una base de datos de partidas y movimientos dentro de él. Pero eso tampoco inica nada sobre su falta de inteligencia. Si conocieras a gente con un buen nivel de ajedrez verías que se saben aperturas de memoria, que los finales no los piensan porque se los saben y que se saben partidas enteras de memoria. Por eso Kasparov no jugó como jugaría contra un ser humano, intento que la máquina no pudiera recurrir a su base de datos y jugara con su "inteligencia". Pero eso también hacía que Kasparov jugara con su inteligencia porque él tampoco pudo recurrir a su base de datos "cerebral". Eso demostró aún más que en Deep Blue hay algo más que bases de datos y fuerza bruta de procesamiento. Y un indicativo más de eso es que Deep Blue también pierde.

Te cito:

Citar
Yo entiendo que, cuando aqui se habla de inteligencia, se refieren a combinacion de capacidades de un sistema para resolver problemas (*) y para incorporar datos a su base de conocimiento.

* Problemas previamente analizados por el hombre cuya solucion fue diseñada tambien por el hombre.

Si programas redes neuronales, en realidad el ser humano no analiza mucho. Lo que hace el programador en ese caso es presentar a su programa una serie de datos (en los que están incluidas unas soluciones) con los que se entrena a la red neuronal. Una vez que se termina este proceso de entrenamiento (muy parecido al aprendizaje humano) se le presentan a la red neuronal nuevos datos sin solución. El programa hará sus "cosas" y presentará las soluciones. No siempre acertará pero también es de humanos equivocarse.

Lo que tu defines como inteligencia en una máquina también podría definirse como inteligencia en un ser humano. Tienes un problema y lo solucionas o no y la experiencia te la guardas en tu "base de datos" para cuando se te presente otra vez una ocasión similar. ¿O es que tu partes cero siempre?

n.

65
Inteligencia Artificial / Re: Diferencia De Programacion
« en: Miércoles 11 de Febrero de 2004, 08:28 »
Hola:

  Perdona pero en el último párrafo de mi respuesta hay un error. Donde digo "Un ejemplo de programa de IA es una consulta SQL típica: ..." en realidad debo decir "Un ejemplo de programa que no se considera IA es una consulta SQL típica: ..."

66
Inteligencia Artificial / Re: Diferencia De Programacion
« en: Martes 10 de Febrero de 2004, 08:42 »
Buenas

En realidad no hay tanta diferencia. El hecho de que haya lenguajes con la etiqueta "especiales para IA", se debe, proncipalmente, a que ciertas características de dichos lenguajes facilitan ciertas tareas.

Por ejemplo. Prolog es uno de esos lenguajes "para IA". Esto se debe principalmente a la facilidad con la que se implementan problemas de busqueda usando el algoritmo de "backtracking". Pero los expertos en Prolog lo usan paa todo: programas de contabilidad, gestión, etc.

Y al reves. Es bastante sencillo implementar en Java algoritmos de búsqueda en árboles gracias a su librería de colecciones.

"Programar IA" es igual que programar cualquier otra cosa: Se tiene un problema, se analiza, se diseña y se implementa... y se prueba y se analiza y se diseña y se reescribe ... y se prueba y se analiza y etc.

Lo que realmente indica que algo es un programa IA es su capacidad de funcionar con datos insuficientes, es decir, que los datos implícitos en el programa no incluyan la solución. Un ejemplo de programa de IA es una consulta SQL típica: El resultado de la consulta ya está dentro de la base de datos.

67
Inteligencia Artificial / Re: Sólo un comentario sobre la IA
« en: Miércoles 17 de Diciembre de 2003, 10:24 »
Siguiendo con lo que es inteligencia decir que creo que el problema no es de definición sino de nivel. En realidad una definición de inteleigencia válida seria decir:

Inteligencia: Capacidad de "algo" para resolver problemas

De hecho, la Real Academia define inteligencia de la forma siguiente:
  • f. Facultad de conocer, analizar y comprender: destacaba por su inteligencia superior a la media. </li>
  • Habilidad, destreza y experiencia: si actúas con inteligencia conseguirás de él lo que te propongas. </li>
  • inteligencia artificial INFORM. Conjunto de técnicas que, mediante el empleo de la informática, permite la realización automática de operaciones hasta ahora exclusivas de la inteligencia humana.</li>
Según la segunda acepción, una hormiga que consigue sobrevivir es inteligente. Y un programa que vence al ajedrez también lo es.

En cuanto al tema de Big Blue decir que no es que no tenga una jugada registrada, es que no tiene ninguna. Bueno, eso es exagerado tiene y muchas ... igual que Kasparov que se debe saber de memoria cientos de aperturas hasta un nivel de profundidad alucinante. Por eso, una de las tácticas que empleó Gasparov contra Big Blue es salirse de la teoría para que la máquina no recurriera a su base de datos de aperturas y posiciones conocidas (Teoría de finales)

siento decirte johny que se nota que no eres un experto en este tema (yo tampoco) pero BlackTigerX tiene razón. Uno de los lenguajes usados en IA, PROLOG, tiene la capacidad de que sus programas pueden modificarse mientras se están ejecutando. Otro lenguaje, de uso más corriente, Java, puede generar código, compilarlo y cargarlo también en tiempo de ejecución

n.

68
Inteligencia Artificial / Simulación del mundo del aspirador
« en: Viernes 31 de Octubre de 2003, 13:38 »
Buenas:
Llevo un tiempo leyendo cosas sobre I.A. por motivo de mis estudios de Filosofía. Pero como soy de los que piensan que el movimiento se demuestra andando me he puesto a hacer mis pinitos. Llegó a mis manos el libro de Russell y Norvig, "Inteligencia Artificial: Un enfoque moderno y me puse manos a la obra y a hacer sus ejercicios.

Cuando llegué al ejercicio 2.5, pude comprobar que iba a tener que programar más de dos veces una simulación de la habitación o entorno para resolver el resto de los problemas. Como vago programador, creí conveniente crearme una librería que permitiera construir facilmente la simulación del entorno y concentrarme en la programación de los agentes... que es más interesante

Una vez hecha, la puse en SourceForge. El que quiera usarla o ver su código fuente que se pase por simasp o a bajarse simasp para bajarse los ejecutables y el código fuente (un tanto chapucero)

Saludos
n.

Páginas: 1 2 [3]