domingo, 20 de febrero de 2011

UNIDAD I. PANORAMA GENERAL DE LAS APLICACIONES DISTRIBUIDAS

1.1 EVOLUCION DE LAS APLICACIONES INFORMATICAS.
La evolución de las aplicaciones informáticas se dio debido a los siguientes factores:

1. Trabajo a distancia.
2. Compartir información.
3. Accesibilidad.
4. Seguridad en la protección de la información (tener la base de datos particionada en dos o más nodos).
5. Independencia lugares.

En la actualidad cualquier aplicación cuenta generalmente con tres partes diferenciadas:

1. Una interfaz de usuario: Elemento con el que interacciona el usuario de la aplicación, ejecutando acciones, introduciendo u obteniendo información.

2. Lógica ó Reglas de negocio: Son las que procesan la información para generar los resultados que persiguen, siendo el elemento fundamental que diferencia unas aplicaciones de otras.

3. Gestión de datos: Se ocupa del almacenamiento y recuperación de la información.
1.1.1 APLICACIONES MONOLITICAS

Son aquellas en las que el software se estructura en grupos funcionales muy acoplados, involucrando los aspectos referidos a la presentación, procesamiento y almacenamiento de la información.

En este rubro están considerados las distintas aplicaciones para escritorio: sistemas operativos, ofimática, juegos mono usuario, etc.
En una aplicación monolítica las tres partes forman un todo y se ejecutan en la misma máquina.

- Datos
- Lógica de negocio
- Interface de usuario


Ejemplo:
Resulta caro y los costos de mantenimiento son también altos.
Una aplicación monolítica duplica en cada computadora todos sus elementos: interfaz de usuario, lógica o reglas de negocio y acceso a datos.

• Fácil de desarrollar.
• Precisa de cierta potencia de proceso.
• Requieren más y mejor HW en las estaciones de trabajo.
• Son infinitamente más lentos en el procesamiento de peticiones sencillas Ocupan mayor ancho de banda, provocando congestionamiento en la Red Local Requieren habilitar el acceso real a la carpeta de datos para todos los usuarios de la aplicación
• Su actualización es más costosa.
• No permiten el acceso en línea desde fuera de la Red Local ó requieren de implementaciones de soluciones de conectividad muy costosas.

1.1.2 APLICACIONES CLIENTE/SERVIDOR

Esta arquitectura consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor) que le da respuesta. Aunque esta idea se puede aplicar a programas que se ejecutan sobre una sola computadora es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras.

En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño del sistema.

La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. Los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. Mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma.

Cliente: Se le representa por un software de aplicación y lo utilizan los usuarios de Internet para acceder a un determinado servicio.

Servidor: En cambio un servidor tiene un software de servidor que lo utiliza para ofrecer al cliente toda la funcionalidad utilizada por el cliente. El cliente y el servidor se comunican a través de Internet por un protocolo que ellos mismos definen.


1.1.3 APLICACIONES DE 2, 3 Y N CAPAS.

Esta arquitectura consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor) que le da respuesta. Aunque esta idea se puede aplicar a programas que se ejecutan sobre una sola computadora es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras.

En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño del sistema.

La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. Los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. Mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma.

APLICACIONES DE 2 CAPAS.

La arquitectura de dos capas en la actualidad es muy utilizada, aunque con muchas fallas, todavía no se ha podido dejar de usar. Estas arquitecturas fueron las primeras en aprovecharse de la estructura cliente-servidor.

Aplicación de dos capas.

Las capas que esta arquitectura presenta son las siguientes:

• Nivel de aplicación: Este nivel es en el que se encuentra toda la interfaz del sistema y es la que el usuario puede disponer para realizar su actividad con el sistema.

• Nivel de la base de datos: Este nivel de la Base de Datos también llamado el Repositorio de Datos, es la capa en donde se almacena toda la información ingresada en el sistema y que se deposita en forma permanente.

Existen herramientas para el desarrollo en dos capas por ejemplo Visual Basic, Access y SQL.

APLICACIONES DE TRES CAPAS

La arquitectura de dos capas si bien ayudó en unos años atrás, se vio la necesidad de crear una nueva arquitectura ya que en dos capas se tenía algunos problemas en la capa de aplicación ya que la principal desventaja de esta era el peso que tenia para el cliente, como se mencionó anteriormente.

Aplicación de tres capas.
Por estas razones, existe una fuerte y bien avanzada tendencia a adoptar una arquitectura de tres capas.

Y es así que se creó la arquitectura de tres capas las cuales son:

• Nivel de Aplicación
La diferencia de este nivel aplicado ahora en una arquitectura de tres capas es que solo tiene que trabajar con la semántica propia de aplicación, sin tener que preocuparse de cómo esta implementado este ni de su estructura física.

• Nivel de Dominio de la aplicación.
En cambio este nivel se encarga de toda la estructura física y el dominio de aplicación. Algo muy importante y que es la mayor ventaja de esta arquitectura es que ahora únicamente se cambia la regla en el servidor de aplicación y esta actuará en todos los clientes, cosa que ni sucedía con la arquitectura en dos capas que si alguna regla se la cambia, se tenía que ir a cada cliente a realizar el cambio.

• Nivel de Repositorio.
Sigue siendo la capa en donde se almacenan los datos y toda la información.

Las herramientas para el desarrollo de tres capas son:

• Visual Basic en lo que se refiere a la capa de Aplicación
• SQL Server en lo que se refiere al repositorio de datos.
• MTS en lo que se refiere al nivel del dominio de Aplicación

APLICACIONES DE N CAPAS

En una aplicación distribuida en n-capas los diferentes procesos están distribuidos en diferentes capas no sólo lógicas, sino también físicas. Los procesos se ejecutan en diferentes equipos, que pueden incluso residir en plataformas o sistemas operativos completamente distintos. Cada equipo posee una configuración distinta y está optimizado para realizar el papel que le ha sido asignado dentro de la estructura de la aplicación, de modo que tanto los recursos como la eficiencia global del sistema se optimicen.

Aplicación n capas.
El surgimiento de la tecnología de componentes distribuidos es la clave de las arquitecturas de n-capas. Estos sistemas de computación utilizan un número variable de componentes individuales que se comunican entre ellos utilizando estándares predefinidos y frameworks de comunicación como:
• CORBA: (Common Object Request Broker Architecture) del Object Management Group (OMG).
• DNA: (Distributed Network Applications) de Microsoft (incluye COM/DCOM y COM+ además de MTS, MSMQ, etc.
• EJB : (Enterprise Java Beans) de Sun Microsystems
• XML : (eXtensible Markup Language) del World Wide Web Consortium (W3
• .NET: de Microsoft que incluye nuevos lenguajes como Visual Basic.net, C#.

1.1.4 APLICACIONES DISTRIBUIDAS

El diseño de aplicaciones modernas involucra la división de una aplicación en múltiples capas; la interfaz de usuario, la capa media de objetos de negocios, y la capa de acceso a datos. Puede ser útil identificar los tipos de procesamiento que podemos esperar que una aplicación realice.

Muchas aplicaciones pueden, al menos, hacer lo siguiente:
• Cálculos u otros procesos de negocios.
• Ejecución de reglas de negocios.
• Validación de datos relacionados al negocio.
• Manipulación de datos.
• Ejecución de las reglas de datos relacional.
• Interactuar con aplicaciones externas o servicios.
• Interactuar con otros usuarios.

Nosotros podemos tomar estos tipos de servicios y generalizarlos dentro de los tres grupos o capas que a continuación se resumen:
o Interfase de usuario (Capa de Presentación)
o Interactuar con otros usuarios.
o Interactuar con aplicaciones externas o servicios.
o Procesos de negocios (Capa de Negocios)
o Cálculos u otros procesos de negocios.
o Ejecución de reglas de negocios.
o Validación de datos relacionados al negocio.
o Procesos de datos (Capa de Servicios de Datos).
o Manipulación de datos.
o Ejecución de las reglas de datos relacional.
Atendiendo al papel que los distintos elementos juegan dentro de la aplicación, distinguimos con claridad tres grupos lógicos en los que podemos agrupar elementos según su funcionalidad:
• La capa de servidor incluye aquellos elementos que se encargan de recibir las peticiones de datos o de acceso a servicios básicos del sistema y de suministrar a otros elementos la información solicitada.
•La capa de negocios encapsula las reglas de acceso a datos y la gestión de procesos internos de la aplicación.
•La capa de presentación se encarga de la lógica

1.2 EVOLUCION DE LAS TECNOLOGIAS PARA EL DESARROLLO DE APLCIACIONES DISTRIBUIDAS.

Hoy en día las compañías no pueden ignorar el grave problema que implica desarrollar y adaptar software al ritmo que imponen los negocios. Los requisitos varían con mucha frecuencia y las aplicaciones no logran ser desarrolladas y/o adaptadas al ritmo requerido. La globalización y fusión de empresas, el crecimiento de Internet, entre otros factores, han acentuado aún más estos problemas llevando el software desarrollado, que normalmente había sido desarrollado para una plataforma específica, a un ambiente distribuido heterogéneo. Esto involucra, en consecuencia, La necesidad de considerar una amplia gama de aspectos como lo son la integración de datos heterogéneos, la interacción entre diversos sistemas, los distintos sistemas operativos, el middleware, las tecnologías web, cuestiones de escalabilidad y performance, por citar algunos de ellos.

La evolución de las tecnologías cliente/servidor sumada al advenimiento de nuevas tecnologías como XML, web services , la plataforma J2EE, la comunicación asíncrona por medio de mensajes, el uso de application servers , son algunos de los conocimientos que permiten llevar a cabo el desarrollo de aplicaciones modernas.

La evolución de las aplicaciones distribuidas se dio de la siguiente forma:
• De interfaz de usuario
• De aplicación
• De base de datos
• De comunicación de datos
• De conexión entre capas

1.2.1 DE INTERFAZ DE USUARIO.

Aquí es donde su aplicación presenta información a los usuarios y acepta entradas o respuestas del usuario para usar por su programa. Idealmente, la IU no desarrolla ningún procesamiento de negocios o reglas de validación de negocios. Por el contrario, la IU debería relegar sobre la capa de negocios para manipular estos asuntos. Esto es importante, especialmente hoy en día, debido a que es muy común para una aplicación tener múltiples IU, o para sus clientes o usuarios, que le solicitan que elimine una IU y la remplace con otra.

Ejemplo de una interfaz de usuario.
Algunas tecnologías de interfaz de usuario son:
• API Win 32.
• HTMAL.
• Dell HTML.
• Lenguajes de scripts.

1.2.2 DE APLICACION.

La adopción de un diseño distribuido de aplicaciones empresariales, aumenta la reusabilidad, reduce la cantidad de recursos, y los costes necesarios de desarrollo y mantenimiento.

Este nuevo enfoque de diseño pone en manos de los desarrolladores no solo la funcionalidad que demandan las aplicaciones, sino también la seguridad, rapidez y flexibilidad.

Algunas tecnologías de aplicación son:
• CORBA.
• DNA.
• EJB.
• XML

1.2.3 DE BASES DE DATOS

La evolución de las bases de datos distribuidas se debe por una parte a razones organizacionales las cuales han demandado que mayores capacidades sean incorporadas a las bases de datos, tales como la integración de información desde distintos sitios donde se encuentre la empresa distribuida hacia algún sitio por ejemplo, para una consulta. Por otra parte, el desarrollo de las tecnologías de comunicación han permitido enlazar datos con aplicaciones que se encuentran en sitios distintos y remotos, por ejemplo las transacciones bancarias realizadas en máquinas-cajeros automáticos (ATM) que se encuentran ubicados en centros comerciales, empresas y escuelas, no serían posibles si no tuviéramos sistemas de comunicación para enlazarnos a bases de datos localizadas en diferentes sitios financieros.
Algunas tecnologías de base de datos son:

• OLEB
• ADO.
• XML.
• SQL.
• Herramientas para modelado (UML)

1.2.4 DE COMUNICACION DE DATOS.

La construcción de aplicaciones distribuidas ha emergido como la arquitectura predominante para la construcción de aplicaciones multiplataforma en la mayor parte de las empresas.

Este cambio radical en los modelos de computación, desde los sistemas monolíticos basados en mainframe y los tradicionales sistemas cliente-servidor, hacia sistemas distribuidos multiplataforma altamente modularles, representa el desarrollo rápido y avance de la investigación en el mundo del desarrollo de aplicaciones, tal y como se pone de manifiesto en las últimas tendencias de las grandes empresas de tecnología, como Sun con su estrategia Sun One, o Microsoft con DotNET (.Net).

Algunas tecnologías de comunicación de datos son:

Intranet: La Intranet, que quiere decir red interna, lleva un par de décadas siendo utilizada ampliamente en las empresas. Principalmente, ya que las tecnologías existentes, décadas atrás, no lo permitían. Lo central de la Intranet, es la utilización de esta, en el ambiente de los negocios y también, a veces, en el académico. Ya que la Intranet, provee de un especio común, para el desarrollo de estrategias, información, memorandos, entre otras aplicabilidades, las cuales son utilizadas por toda la empresa u establecimiento educativo.
En palabras técnicas, una Intranet, es una red de Área Local o LAN. La cual tiene la característica, de ser de exclusivo uso, de la empresa u organización que la ha instalado. Debido a ello, es que utiliza protocolos HTML y el TCP/IP. Protocolos que permiten la interacción en línea de la Intranet, con la Internet. Cualquier Intranet, lleva consigo, distintos niveles de seguridad, según el usuario. Estos niveles de seguridad, son asignados, según la relevancia del puesto dentro de la organización, del usuario. Claro que existen niveles compartidos por todos. Ahora, los niveles básicos de seguridad, impiden la utilización de la Intranet, por parte de personas foráneas a la empresa o establecimiento educativo.

Internet: Podemos definir a Internet como una "red de redes", es decir, una red que no sólo interconecta computadoras, sino que interconecta redes de computadoras entre sí. Una red de computadoras es un conjunto de máquinas que se comunican a través de algún medio (cable coaxial, fibra óptica, radiofrecuencia, líneas telefónicas, etc.) con el objeto de compartir recursos.
De esta manera, Internet sirve de enlace entre redes más pequeñas y permite ampliar su cobertura al hacerlas parte de una "red global". Esta red global tiene la característica de que utiliza un lenguaje común que garantiza la intercomunicación de los diferentes participantes; este lenguaje común o protocolo (un protocolo es el lenguaje que utilizan las computadoras al compartir recursos) se conoce como TCP/IP.

1.2.5 DE CONEXION ENTRE CAPAS

Como tecnología, las arquitecturas de capas proporcionan una gran cantidad de beneficios para las empresas que necesitan soluciones flexibles y fiables para resolver complejos problemas inmersos en cambios constantes.

Todas las aplicaciones basadas en capas permitirán trabajar con clientes ligeros, tal como navegadores de Internet, WebTV, Teléfonos Inteligentes, PDAs (Personal Digital Assistants o Asistentes Personales Digitales) y muchos otros dispositivos preparados para conectarse a Internet.

De este modo, las arquitecturas de capas se están posicionando rápidamente como la piedra angular de los desarrollos de aplicaciones empresariales y las compañías están adoptando esta estrategia a una velocidad de vértigo como mecanismo de posicionamiento en la economía emergente que tiene su base en la red (lo que se ha venido a denominar "Nueva Economía").

Actualmente, la Red (Internet, intranets y extranets) es el ordenador o, como diría Sun Microsystems, el ordenador es la Red. Este paradigma está creando un cambio fundamental en los modelos de computación que, a su vez, proporciona desafíos y oportunidades como nunca antes había se habían producido.

Una tecnología de conexión de capas es:
• Arquitectura DAO.


1.3 ESCENARIOS DE UTILIZACION DE APLCACIONES DISTRIBUIDAS

Algunas de las aplicaciones distribuidas más conocidas son remote login, correo electrónico, navegación Web, streaming, telefonía IP y compartición de ficheros (P2P).
Algunos escenarios que utilizan aplicaciones distribuidas son:

- PHP
- ASP

1.4 PROBLEMAS COMUNES EN EL DESARROLLO Y USO DE APLICACIONES DISTRIBUIDAS.

Hay una serie de problemas comunes en el diseño de las aplicaciones distribuidas:

• La compatibilidad de los Tipos de Datos: Distintos sistemas operativos tienen diferentes tipos de datos que no son siempre compatibles entre sí.

• Fallas del Servidor: Debido a que los componentes pueden ser remotos, una falla de cualquiera de ellos puede hacer que toda la aplicación falle.

• Fallas del Cliente: El servidor debe saber cómo responder a las fallas del cliente.

• Reintento de llamadas: Si por ejemplo, se hace una llamada a un método en un servidor para generar una orden de compra muy grande, y el servidor responde pero se pierde la respuesta por fallas de red, no es muy eficiente volver a enviar la orden de compra.

• Seguridad: En aplicaciones distribuidas los problemas de seguridad se multiplican. Por ejemplo, se debe considerar como: Autenticar a los usuarios Autorizarlos a acceder a los recursos, encriptar la información que viaja por la red, evitar ataques de denegación de servicio.

• Sincronización de la hora: Hay operaciones que dependen de la fecha y la hora. Por ejemplo, no es lógico en una aplicación procesar un envío de mercadería antes de haber recibido la orden de compra. Si el cliente y el servidor tienen fechas distintas, se debe generar un mecanismo de sincronización de hora para evitar este problema.

• La arquitectura basada en RPC: RPC son llamadas a procedimientos o funciones en sistemas remotos, es decir en máquinas distintas a la máquina local. Transparencia de localización: El desarrollador utiliza los componentes sin necesidad de saber su ubicación física. Con RPC tanto en el cliente como en la máquina donde reside el componente hay subsistemas que se ocupan de la comunicación y el intercambio de datos.


sábado, 20 de junio de 2009

PRESENTACION FINAL

ENLACE A LA PRESENTACION DEL PROYECTO FINAL

http://www.megaupload.com/?d=ZNTNGV8Q

miércoles, 3 de junio de 2009

RECURSOS FINANCIEROS Y HUMANOS NECESARIOS

RECURSOS FINANCIEROS
Antes de realizar la investigacion debemos asegurarnos de que contamos con el recurso economico suficiente para poderla llevar acabo, y mas que nada para lograr nuestros objetivos planteados previamente.
Los factores económicos necesarios que tomariamos en cuenta para poder llevar a cabo esta investigacion serian:
  • Renta del servicio de internet.
  • Tambien se necesitaría servicio de transporte para trasladarnos a los diferentes lugares durante la investigacion.
  • Renta de servicio de hospedaje y alimentacion en caso de ser necesario.
  • Entre otros.
RECURSOS HUMANOS
Los recursos humanos en esta investigacion serian todas las personas involucradas o interesadas en el tema, todas las personas a las cuales les motive el tema. Incluso podría hacerse una encuesta para saber si este tema es de interes para las personas y que tanto saben del mismo.

ADOPCION DE UNA TEORIA

La adopcion de una teoria esta basada en el marco teorico. Lo cual realiza el analisis sobre dichas teorias y enfoques que se basan con el problema.

A continuacion se presentaran algunos puntos importantes para llevar a cabo la investigacion:

= Recopilar informacion consultando diferentes fuentes como son el internet, libros, entre otros centros de informacion.

= Llevar un control de las diferentes fuentes bibliograficas consultadas durante la investigacion.

= Consultar informacion de diferentes autores.


Para poder lograr el objetivo de esta investigacion será necesario apegarse a estos tres puntos, entre otros.

martes, 2 de junio de 2009

VALIDACION

Por medio de este tema de investigacion, despues de haber analizado los puntos anteriores llegamos a las conclusiones de que esta ciencia es muy importante ya que por medio de esta podemos realizar distintas tareas que podrian resultar complicadas para el ser humano y en muchas de las ocaciones peligrosas.

domingo, 31 de mayo de 2009

HIPOTESIS

La hipótesis es na suposición de lo que posiblemente se obtendrá en el proceso de la investigacion.
De acuerdo a la investigacion que estoy realizando lo que pretendo que suceda como resultado es que la humanidad esté consiente de la importancia de la inteligencia artificial, como es que ésta nos beneficia al tenerla a la mano.
La inteligencia artificial podría ser la ciencia del futuro, el ser humano podría llegar a depender completamente de ella para realizar las diferentes tareas, sobre todo en trabajos peligrosos o que requieran de gran precision.
VARIABLES
Unas de las variables de las que se tomarian en cuenta son:
  • Que el ser humano llegue a depender completamente del la inteligencia artificial, esto provocaría que la inteligencia artificial tomara el dominio de nuestra vida por asi decirlo, el ser humano quedaria rezagado, dependiendo totalmente de la inteligencia artificial.
  • Que el tema propuesto no le interese a las personas, esto provocaría que no se lograra el los objetivos previamente propuestos.

miércoles, 20 de mayo de 2009

MARCO TEORICO

INTRODUCCION
La Inteligencia Artificial "nació" en 1943 cuando Warren McCulloch y Walter Pitts propusieron un modelo de neurona del cerebro humano y animal. Estas neuronas nerviosas abstractas proporcionaron una representación simbólica de la actividad cerebral.

Más adelante, Norbert Wiener elaboró estas ideas junto con otras, dentro del mismo campo, que se llamó " cibernética", de aquí nacería , sobre los años 50, la Inteligencia Artificial.
Los primeros investigadores de esta innovadora ciencia, tomaron como base la neurona formalizada de McCulloch y postulaban que :

" El cerebro es un solucionador inteligente de problemas, de modo que imitemos al cerebro".
Pero si consideramos la enorme complejidad del mismo, esto es ya practicamente imposible, ni que mencionar que el hardware de la época ni el software estaban a la altura para realizar semejantes proyectos.

Se comenzó a considerar el pensamiento humano como una coordinación de tareas simples relacionadas entre sí mediante símbolos. Se llegaría a la realización de lo que ellos consideraban como los fundamentos de la solución inteligente de problemas, pero lo difícil estaba todavía sin empezar, unir entre sí estas actividades simples.

Por lo tanto podemos decir a grandes rasgos que la Inteligencia Artificial es una ciencia que intenta la creación de programas para máquinas que imiten el comportamiento y la comprensión humana, que sea capaz de aprender, reconocer y pensar.
La Inteligencia Artificial es una combinación de la ciencia del computador, fisiología y filosofía, tan general y amplio como eso, es que reune varios campos (robótica, sistemas expertos, por ejemplo), todos los cuales tienen en común la creación de máquinas que pueden pensar.La de idea construir una máquina que pueda ejecutar tareas percibidas como requerimientos de inteligencia humana es un atractivo.
Las tareas que han sido estudiadas desde este punto de vista incluyen juegos, traducción de idiomas, comprensión de idiomas, diagnóstico de fallas, robótica, suministro de asesoría experta en diversos temas.Es así como los sistemas de administración de base de datos cada vez más sofisticados, la estructura de datos y el desarrollo de algoritmos de inserción, borrado y locación de datos, así como el intento de crear máquinas capaces de realizar tareas que son pensadas como típicas del ámbito de la inteligencia humana, acuñaron el término Inteligencia Artificial en 1956.
La Inteligencia Artificial trata de conseguir que los ordenadores simulen en cierta manera la inteligencia humana. Se acude a sus técnicas cuando es necesario incorporar en un sistema informático,conocimiento o características propias del ser humano.Podemos interrogar a algunas bases de datos de Internet en lenguaje natural, o incluso charlar con ellas nuestro idioma, porque por detrás se está ejecutando un programa de Inteligencia Artificial.
Otras herramientas inteligentes pueden utilizarse para escrutar entre los millones de datos que se generan en un banco en busca de patrones de comportamiento de sus clientes o para detectar tendencias en los mercados de valores.
¿Alguna vez pensarán las máquinas?

Allá por el año 1950, Alan Turing, un matemático británico, propuso un experimento: En un cuarto (A) y en un cuarto (B) estarían una máquina y un hombre, afuera una persona estaría haciendo una serie de preguntas que responderían indistintamente los ocupantes de los cuartos A y B. Las preguntas serán por algún teletipo para que no se detecten declinaciones de voz. Cuando la persona que pregunta, no sepa distinguir quien es la máquina y quién es el hombre, entonces se habrá conseguido una máquina inteligente.
Alan Turing aventuraba a decir que dicha máquina se conseguiría realizar en unos 50 años. Pues bien, han pasado ya poco más de 50 años desde que lo mencionó y no se ha logrado superar la prueba.
La Inteligencia Artificial (IA), también conocida, aplicada o involucrada a términos como Robótica, Autómatas, Sistemas Expertos, etcétera, es una disciplina que envuelve a varias ramas de estudio: la ingeniería, la computación, la psicología, la física, la medicina, la filosofía, la teología y lo que se acumule.
¿Cómo podríamos hacerle para que una máquina piense?
Alguna vez un investigador mencionó que el cerebro no es mas que una máquina de carne. Tomando esta declaración, entonces porqué no lo podrá hacer el Silicio o el Germanio que son los materiales con los que se fabrican los chips.

El cerebro, en funcionamiento, está procesando información que se transmite por medio de impulsos electroquímicos activados por las neuronas que son las células de las cuales está constituido el cerebro y que almacenan la información y la difunden a otros sectores del cerebro donde sea requerido.

Existen unas 100 mil millones de neuronas en el cerebro humano aunque no todas se ocupan, de hecho a diario desde que cumplimos 20 años, se pierden unas 50 mil. Pero las neuronas tienen acciones propias, ¿cómo es que se las arreglan para diferenciar o dirigirse a algún lugar del cerebro y procesar un recuerdo, hacer un cálculo, mantener el latido del corazón, subir unas escaleras, sentir dolor, etcétera, etcétera?.

Dentro de cada chip o circuito integrado, existen los semiconductores en diferentes arreglos con los cuales nos dan una función específica. El fundamental, es el DIODO.
Este dispositivo permite que fluya o no, un impulso eléctrico, puede ser dicho impulso, lo que conocemos como (Bit), prendido o apagado, cero o uno.
La disposición de diodos en un circuito electrónico nos puede dar un transistor, con el cual podemos tener por lo menos tres alternativas para que fluya un par de impulsos eléctricos. El transistor encapsula a los diodos y por eso está constituido como un solo dispositivo. Con un par de transistores ya se pueden hacer por lo menos efectos de luces secuenciales de Leds como los que vemos en adornos para autos.
Ahora bien, un conjunto de transistores conectados de determinadas formas y encapsulados nos dá una compuerta lógica. La compuerta lógica, es un dispositivo que constituye una serie de operaciones condicionadas para los impulsos eléctricos. Es decir, podemos tener muchos unos y ceros, prendidos y apagados, pasa o no pasa. Con una o dos compuertas lógicas ya se pueden hacer contadores de tiempo o sumadoras básicas, incluso chapas de seguridad electrónicas.
Un conjunto de compuertas lógicas a gran escala y de pequeña integración de encapsulado digamos de 4 X 4 cm, ya nos dá un microprocesador que puede realizar millones de instrucciones por segundo (MIPS), es decir, millones de encendidos y apagados, de unos y ceros, millones de bits procesándose.
Con un microprocesador ya podemos hacer computadoras, máquinas que realizan una tarea especifica en la superficie de un planeta como recoger material de su suelo envolverlo y analizarlo, viajar al espacio sin perder la dirección, detectar dónde hay luz y seguirla o dónde hay una colina y darle la vuelta o graduar el combustible necesario para expulsarlo por los inyectores de un auto, un avión o una nave espacial.
Pues bien, si el cerebro tuviera que hacerse con los microprocesadores, compuertas, transistores, diodos, etc, con los que actualmente contamos, tendría el tamaño de una central eléctrica y tardaría varios miles de años en terminarse.

¿Se tendrá alguna vez una máquina que sea igual que el hombre?

Esto es algo muy difícil de responder. Nunca podremos llegar con una máquina y preguntarle: ¿Qué sientes?, es probable que nos responda cualquier cosa pero esa respuesta fue programada por los diseñadores. Si es difícil saber qué piensa otra persona incluso uno mismo, entonces es mucho más difícil saber si una máquina sentirá algo o tendrá conciencia de saber que es lo que está pensando o sintiendo.
En los juegos de ajedrez por computadora se tiene un modelo de lo que puede ser un desarrollo de variantes de procesamiento de la información. La computadora está “pensando” que jugada hará, pero nunca se comparará con un hombre porque el hombre está procesando la jugada que realizará pero en su entorno, tiene la presión del público, de sus preocupaciones personales, de su estado de ánimo. La máquina solo está pensando su próxima mejor jugada. Pero atención: una computadora ya le ganó a Gary Kasparov campeón mundial de ajedrez, cosa que ya preocupa a los que no son entusiastas de la IA.
Fuentes consultadas:

martes, 19 de mayo de 2009

IMPACTO SOCIAL, ECONOMICO, TECNOLÓGICO Y AMBIENTAL

IMPACTO SOCIAL


Esta investigacion en el ámbito social es muy importante pues ayudará a la sociedad a conocer mas acerca de este tema muy importante y a desarrollar sus propias deducciones.


IMPACTO ECONOMICO


En este caso como estoy realizando mi investigacion utilizando como medio de busqueda el internet y como me sale gratis no hay gasto alguno.


IMPACTO TECNOLOGICO


Esta investigacion tendria un gran impacto tecnologico en la sociedad, en las empresas, fabricas etc. Pues al estar informados del beneficio que nos trae la inteligencia artificial, esta podria utilizarse en los diferentes "quehaceres" obteniendo resultados favorables como son mayor calidad, rapidez, precision, etc.


IMPACTO AMBIENTAL


En este caso yo creo que esta investigacion no dañaria al medio ambiente, puesto que no utilizo ningun material que dañe ni beneficie al medio ambiente.

VIABILIDAD

Antes que nada comenzare por definir la Viabilidad

Ser viable, significa que tiene probabilidad o es factible desarrollar algún tema, para obtener un fin que es mejor conocimiento científico. Dicese de lo que reúne las condiciones necesarias para realizarse o llevarse a cabo.
La realizacion de esta investigacion no impone muchas dificultades pues la inteligencia artificial es un tema muy extenso y no es dificil encontrar la iformacion que se necesita. Existen diferentes fuentes de informacion principalmente el Internet, que nos dan la facilidad de realizar la invstigacion de dicho tema. Por esta razon se podria decir que esta investigacion es viable o factible, poes es posible realizarla.

domingo, 26 de abril de 2009

DEFINICION, JUSTIFICACION Y OBJETIVO DE INVESTIGACION

DEFINICION
La inteligencia artificial es un tema de gran importancia para la humanidad. Realmente lo que la I.A. quiere lograr es crear agentes inteligentes no vivos, esto con la finalidad mas que nada de facilitar el trabajo a los seres humanos, de crear agentes capaces de realizar tareas peligrosas o incomodas para el ser humano. A continuacion veremos su definicion.
Se denomina inteligencia artificial a la rama de la ciencia informática dedicada al desarrollo de agentes racionales no vivos.

Para explicar la definición anterior, entiéndase a un agente como cualquier cosa capaz de percibir su entorno (recibir entradas), procesar tales percepciones y actuar en su entorno (proporcionar salidas). Y entiéndase a la racionalidad como la característica que posee una elección de ser correcta, más específicamente, de tender a maximizar un resultado esperado.
La inteligencia artificial es la ciencia que enfoca su estudio a lograr la comprensión de entidades inteligentes. Es evidente que las computadoras que posean una inteligencia a nivel humano (o superior) tendrán repercusiones muy importantes en nuestra vida diaria.
Una de las grandes razones por la cuales se realiza el estudio de la IA es él poder aprender más acerca de nosotros mismos y a diferencia de la psicología y de la filosofía que también centran su estudio de la inteligencia, IA y sus esfuerzos por comprender este fenómeno están encaminados tanto a la construcción de entidades de inteligentes como su comprensión.
JUSTIFICACION
El empleo de la IA esta orientado a aquellas profesiones que, ya sea por lo incomodo, peligroso o complicado de su trabajo necesitan apoyo de un experto en la materia. Las ventajas que trae el disponer de un asistente artificial no son mas que las de solucionar los errores y defectos propios del ser humano; es decir, el desarrollo de sistemas expertos que hoy en día se están utilizando con éxito en los campos de la medicina, geología y aeronáutica aunque todavía están poco avanzados en relación con el ideal del producto IA completo.
OBJETIVO
Dar a conocer la importancia de la Inteligencia Artificial para entender como ifluye en nuestra vida diaria.
Referencias Bibliograficas:

viernes, 24 de abril de 2009

DESARROLLO DE UN PROTOCOLO DE INVESTIGACION

ESTRUCTURA DE UN PROTOCOLO DE INVESTIGACION
PROTOCOLO DE ENCUESTA DESCRIPTIVA
Es una guia para los estudios observacionales retrospectivos, transversales y descriptivos. la calidad en la presentacion es muy importante para su evaluacion.

1. Titulo
2. Antecedentes
3. Objetivos
4. Definición de la población
5. Características generales
6. Criterios de inclusión
7. Criterios de exclusión
8. Ubicación espacio temporal
9. Diseño estadístico
10. Cuando muestrear
11. Que muestrear
12. Como muestrear
13. Métodos de muestreo
14. Especificación de variables y escalas de medición
15. Proceso de capacitación de la información
16. Análisis e interpretación de la información
17. Calculo del tamaño de la muestra
18. Recursos
19. Ética de estudio y procedimientos peligrosos
20. Referencias
¿QUE ES UN SISTEMA SISTEMA?
Es un conjunto universal y puede ser pequeño o grande.
Por ejemplo:Una institucion educativa como el ITCA, Una empresa como la Coca-cola, bodega aurrera, etc.
¿QUE ES UN SUBSISTEMA?
Es una parte del sistema, un sistema puede estar conformado por varios subsistemas como el numero de elementos que lo integran supongase : Considerese como sistema el Tecnologico de Ciudad Altamirano, el subsistema sería recursos financieros, recursos materiales todos los departamentos.
PLANTEAMIENTO DEL PROBLEMA
Es aquel que tiene su genesis en la necesidad prioritaria del sistema o subsistema.
ESTRUCTURA
De acuerdo a la necesidad prioritaria se describe el problema, motivo de estudio. Se delimita el problema y se enuncia la relacion que existe entre la variable dependiente e independiente. Variable independiente(x) supuesta CAUSA entre una relacion de variables y la variable dependiente (y) es el efecto provocado por dicha causa.

sábado, 21 de marzo de 2009

INTELIGENCIA ARTIFICAL

Antes que nada empezaré por definir ¿que es la I.A.?


Bueno pues se le denomina inteligencia artificial a la rama de la ciencia informática dedicada al desarrollo de agentes racionales no vivos.


Entenderemos a un agente como cualquier cosa capaz de percibir su alrededor (recibir entradas), procesarlas y actuar en su entorno (proporcionar salidas). Y entenderemos a la racionalidad como la característica que posee una elección de ser correcta, más específicamente, de tender a maximizar un resultado esperado.


La inteligencia artificial es la disciplina que se encarga de construir procesos que al ser ejecutados sobre una arquitectura física producen acciones o resultados que maximizan una medida de rendimiento determinada, basándose en la secuencia de entradas percibidas y en el conocimiento almacenado en tal arquitectura.


Breve historia de la Inteligencia Artificial


La IA fue introducida a la comunidad científica en 1950 por el inglés Alan Turing en su artículo "Maquinaria Computacional e Inteligencia." A pesar de que la investigación sobre el diseño y las capacidades de las computadoras comenzaron algún tiempo antes, fue hasta que apareció el artículo de Turing que la idea de una máquina inteligente cautivó la atención de los científicos.


El trabajo de Turing, fue continuado por John Von Neumann . La contribución central de Neumann fue la idea de que las computadoras deberían diseñarse tomando como modelo al cerebro humano. Von Neumann, construyó una serie de máquinas utilizando lo que hasta ese entonces se conocía sobre el cerebro humano, y diseñó los primeros programas almacenados en la memoria de una computadora.


A principios de los sesentas, la IA comienzo una fase distinta de su desarrollo. En 1962, McCarthy y Raphael inician sus trabajos sobre el diseño y la construcción de un robot móvil que llamarían "Shakey". La diferencia fundamental entre este robot y los programas en computadora utilizados hasta ahora por la IA, es que "Shakey" tendría que enfrentar el reto de interactuar con el mundo real en términos de espacio, tiempo, movimiento, etc. En otras palabras, el robot tendría que tener alguna forma de "conocimiento" del mundo que lo rodeaba.


Este reto inició una fuerte preocupación en la IA por el estudio de la epistemología y los procesos cognoscitivos. La idea básica de Raphael era la de reunir, en una sola, distintas máquinas con capacidad de aprender por experiencia, de reconocer patrones visuales, de modelar, de manipular símbolos, etc., y esperar que el todo fuera mayor que la suma de las partes.


El resultado del experimento no fue el éxito que Raphael esperaba, fue un logro sin precedente que hizo posibles avances muy importantes. El aprendizaje más importante de esta experiencia fue la comprensión de que el problema más difícil por resolver en IA era el de construir una máquina capaz de funcionar con altos niveles de incertidumbre, como lo hace un ser humano. Se hizo claro que construir una máquina que no lidiara efectivamente con la incertidumbre sería una de dos: o trivial, por la simpleza de la tarea, o imposible por la complejidad de la misma.


Los logros y avances han sido tan importantes que, en unos cuantos años, las teorías sobre la inteligencia y sus fenómenos relacionados serán literalmente incomprensibles para el psicólogo que no esté familiarizado con el desarrollo teórico, los métodos y los logros de la IA. Su influencia en la psicología ha sido y será tan grande que enseñar cursos universitarios sobre psicología cognoscitiva sin hacer referencia a la IA será un grave acto de ignorancia o de irresponsabilidad.



Ahora bien, con respecto al objetivo último, no alcanzado, de la IA, el de entender y reproducir al ser humano, vale la pena mencionar de nuevo las palabras del profesor Sloman:



"Puede ser que la mente humana sea demasiado compleja para ser comprendida por la misma mente humana. Pero el deseo de intentar lo imposible parece ser una de sus características más persistentes".
(Sloman, 1978:20)

martes, 17 de marzo de 2009

IMPORTANCIA DE LA COMUNICACIÓN CIENTÍFICA Y TECNOLÓGICA

La comunicacion cientifica es el mecanismo básico para la existencia y el desarrollo de la ciencia. Es fundamental que esa comunicacion se realice de manera adecuada y comprensible para la comunidad cientifica. puede definirse como el proceso de presentacion, distribucion y recepcion de la informacion cientifica en la sociedad.
La comunicación científica es un fenómeno social, una necesidad humana y un servicio público. Los atributos sociales que algunos autores confieren a la comunicación, como vigilancia del entorno, actitud favorable al cambio, enseñanzas para la adaptación del individuo, creación de un clima propicio para el desarrollo, son perfectamente asumibles en el caso de la comunicación científica.
La comunicación científica es básica en el mundo en el que vivimos ya que sin esta no se podrían transmitir todos los avances que hay en la vida científica y claro está que todavía estuviéramos en un gran atraso científico, tecnológico y humano. Este blog, se desarrolla por la necesidad de que nosotros los alumnos aprendamos a expresar los avances que tenemos de una forma más formal y que podamos avanzar en el campo científico.
La comunicación científica, ocupa un lugar clave en el desarrollo de la sociedad. La ciencia influye en todos los aspectos de la vida humana: en el ámbito profesional, intelectual, de la salud, ambiental, del bienestar, lúdico, etc. Resulta imprescindible comprender el alcance de las nuevas tecnologías y los avances en el conocimiento: de este modo aumenta la capacidad crítica de los ciudadanos, tanto en las pequeñas decisiones cotidianas como en los distintos ámbitos profesionales, sin olvidar el debate ético y sus relaciones con los grandes retos de futuro. La forma mediante la cual se difunden los nuevos conocimientos y los agentes responsables de dicha comunicación son determinantes en la configuración de las opiniones y actitudes públicas respecto a la ciencia.
La importancia de la comunicacion cientifica radica en que gracias a su estudio se pueden distinguir los distintos tipos de textos así como su clasificación, y el modo de redacción que debe de llevar cada tipo de texto. Así como los tecnicismos empleados para su mejor comprensión, así como su correcta redacción, tomando en cuenta los pasos a seguir para una correcta estructura, tomando como base los pasos del método científico.
También para esta hay diversos tipos que se explicarán a continuación:
  • El folleto
  • La revista
  • El video
  • El documental
  • El ensayo

LOS INSTRUMENTOS DE LA COMUNICACIÓN CIENTIFICA

  • Escritura y pensamiento racional.
  • La odisea del manuscrito.
  • Copistas, traductores y comentaristas.
  • La Revolución del libro, y de la ciencia.
  • El surgimiento de la imprenta.
  • La Revolución científica y las nuevas formas de organización y comunicación del saber.
    La correspondencia científica.
  • Academias y memorias.
  • El periodismo científico.
  • Estructura y función de la primera prensa científica.
  • Especialización y profesionalización.
  • El periodismo científico en la actualidad.
  • El artículo científico como género.
  • El razonamiento crítico y la estructura del trabajo científico.
  • El "mito" del método científico. Patentes y comunicación de conocimientos técnicos


FUNCIONAMIENTO DE LA COMUNICACIÓN CIENTIFICA

El sistema de comunicación científica funciona de la siguiente manera:

Un investigador o grupo de investigadores, pertenecientes a una o varias instituciones científicas, realizan un trabajo con objeto de publicarlo en una revista determinada, normalmente aquella que más se ajusta a las características de su trabajo, y obtener así mérito intelectual y difusión entre la comunidad científica. Siguiendo las normas de publicación de la misma, envían su trabajo.

Una vez publicado el trabajo, la misma institución científica que ha subvencionado la investigación productora del artículo en cuestión, de la materia prima de la revista, debe comprar esta revista para poder difundir entre sus miembros los resultados.

La comunicación tecnológica ha venido revolucionando los avances de la sociedad en la que actualmente nos desenvolvemos, la relación entre las tecnologías, la comunicación y la educación tiene dos vertientes: Por un lado, los ciudadanos se ven abocados a conocer y aprender sobre las tecnologías, Por otro, las tecnologías pueden aplicarse al proceso educativo. La comunicación de las tecnologías es de mucha importancia para conocerlas y utilizarlas adecuadamente en las diversas actividades de la sociedad.

La tecnología es justamente el medio que ha permitido responder cada vez mejor a las necesidades humanas facilitando y simplificando procesos. Se expresa al respecto que la tecnología es la que precisamente ayuda al progreso de la humanidad. Gracias a la tecnología avanzamos más y tenemos más tiempo para nosotros mismos. Cada revolución tecnológica provoca transformaciones fundamentales que conllevan al mejoramiento de la vida de los seres humanos.

LA DIFUSIÓN CIENTÍFICA Y TECNOLÓGICA

el conocimiento científico y sus derivados tecnológicos son un producto eminentemente social, entonces es fácil reconocer la importancia que adquieren las tareas de difusión y divulgación de la ciencia. Difundir el conocimiento científico sería hacerlo llegar a ciertos grupos o sectores sociales para su aprovechamiento directo, en tanto que divulgar la ciencia sería hacer accesibles las teorías y métodos de las diversadiversas ciencias, así como sus aplicaciones concretas, a un público muy extenso.

La difusión y la divulgación de la ciencia pueden clasificarse en diversas categorías según el público al que están dirigidas, el nivel de profundidad técnica o su temática, aquí, con el objeto de ir resumiendo mis propias conclusiones, propongo una clasificación de la divulgación en dos categorías:

  • La divulgación que llamaré aséptica
  • La divulgación comprometida

La divulgacion aséptica orientada solamente a proporcionar información en un lenguaje no técnico; esta forma de divulgar la ciencia asume que el sujeto que la produce debe esconderse lo más que pueda tras los "hechos" científicos o técnicos que pretende comunicar, haciendo a un lado sus propias valoraciones, prejuicios e ideología.

En la divulgacion comprometida la comunicación científica no se limita a relatar o a describir "hechos" sino que está matizada por las opiniones, las valoraciones, la ideología de quien la emite, apareciendo el sujeto en una posición en efecto comprometida, puesto que todo juicio que rebase los criterios lógicos y metodológicos de la ciencia será objeto de debate extracientífico.

Se torna sumamente necesario difundir los logros y avances obtenidos, esto con el único objetivo de hacer participes a todos de dichos adelantos, permitiéndose así mejorar las formas de hacer las cosas, y con ello eficientar el uso de recursos en la realización de las tareas especializadas y cotidianas; todo ello traerá consigo una nueva forma de pensamiento, inculcando el pensamiento innovador, dejando latente la necesidad en las personas de conocer más mediante investigaciones ajenas y porque no, mediante investigaciones propias.