Está en la página 1de 129

INGENIERÍA DE

SISTEMAS
COMPUTACIONALES
BIENVENIDOS AL CURSO DE SISTEMAS INTELIGENTES

Mi nombre:
Alexanders Valqui Sipirán

Formación:
➢ Ingeniero Electrónico
Especialidad en Telecomunicaciones - Automatización (2002) UPAO – PERÚ.
➢ MASTER EN DOCENCIA UNIVERSITARIA (2017) UCV – PERÚ.

Trabajo actual:
➢ Ingeniero Especialista en Infraestructura - Audio y Video (Ministerio Público –
DF La Libertad ) (2007 hasta la actualidad)

Mail:
➢ alexandersvalqui@gmail.com
CURSO: SISTEMAS
INTELIGENTES
“Algunas personas llaman a esto inteligencia artificial,
pero la realidad es que esta tecnología nos mejorará.
Entonces, en lugar de inteligencia artificial, creo que
aumentaremos nuestra inteligencia «.
Autor: Ginni Rometty
LOGRO

• Al finalizar la unidad, el estudiante desarrolla la


programación de ciertos procesos autónomos
aplicando conceptos de inteligencia artificial que
permita proporcionar diversas tareas y toma de
decisiones en un entorno de coordinación, despliegue
y medio ambiente de manera autónoma
Planificación

➢ Videoconferencias: clases de cada uno de los temas


➢ Actividades guiadas o actividades aplicativas:
➢ Preguntas para contestar relacionadas con el material de la asignatura y/o
relacionado con la materia.
➢ Cualquier duda será respondida por el profesor a través del correo
CÓMO SERÁ EL TRANSCURSO DE LAS CLASES
➢ Durante la videoconferencia, el alumno podrá exponer las dudas que le surjan,
mediante la herramienta de chat o mediante intervención con micrófono.
➢ Cualquier duda que surja posteriormente o en el momento, pero que prefiera
resolverla en privado, podrá contactar conmigo a través de la dirección de
correo: alexandersvalqui@gmail.com
TEMAS : SISTEMAS INTELIGENTES

1.- FUNDAMENTOS DE INTELIGENCIA ARTIFICIAL

2.- ARQUITECTURA DE SOFTWARE PARA SISTEMAS AUTÓNOMOS

3.- AGENTES INTELIGENTES (Sensores y actuadores en agentes


inteligentes).

4.- ANÁLISIS EN LA TOMA DE DECISIONES DECISIONES BASADO EN


VARIABLES CONTINUAS
TEMAS : SISTEMAS INTELIGENTES

5.- GENERACIÓN DE PROYECCIONES: DISTRIBUCIONES PROBABILÍSTICAS

6.- FUNDAMENTOS DE PROCESAMIENTO DE SEÑALES DIGITALES

7.- REPRESENTACIÓN DEL CONOCIMIENTO Y DEL RAZONAMIENTO.

8.- INTERACCIÓN Y COMUNICACIÓN ENTRE AGENTES PROGRAMACIÓN


PARALELA DE SISTEMAS CON MÚLTIPLES AGENTES
TEMAS : SISTEMAS INTELIGENTES

➢ Proyecto de Investigación Científica Experimental.


➢ EVALUACIÓN
INTELIGENCIA ARTIFICIAL
Subtitulo 2

El sistema electrónico de
la ingeniería.

Permite el desarrollo y la Es el cerebro de la


fabricación masiva de automatización de
computadoras personales, la electrónica
robots, equipos biomédicos y
toda una generación de aparatos
inteligentes de uso domestico,
comercial, industrial, automotriz
INTELIGENCIA
ARTIFICIAL
INTELIGENCIA ARTIFICIAL
INTELIGENCIA ARTIFICIAL
INTELIGENCIA ARTIFICIAL
INTELIGENCIA ARTIFICIAL
INTELIGENCIA ARTIFICIAL
INTELIGENCIA ARTIFICIAL
INTELIGENCIA ARTIFICIAL
INTELIGENCIA ARTIFICIAL
INTELIGENCIA ARTIFICIAL – ING. BIOMEDICA
TECNICAS DE IMÁGENES – BIOMEDICA (imageJ)
INTELIGENCIA ARTIFICIAL

DEFINICIONES
➢ Es una disciplina académica relacionada con la teoría de la
computación cuyo objetivo es emular algunas de las facultades
intelectuales humanas en sistemas artificiales. Raúl Benítez
➢ Es la ciencia de hacer que las máquinas hagan cosas que
requerirían inteligencia si las hubiera hecho un humano”, decía.
Marvin Minsky.
➢ Es la disciplina científica y tecnológica cuyo objetivo es crear
procesos de la mente y su conexión con el cuerpo a través de la
metáfora computacional. Alan Turing
FUNDAMENTOS DE LA INTELIGENCIA RTIFICIAL

➢ Se trata de las disciplinas que han contribuido con ideas, puntos


de vista y técnicas al desarrollo de la IA.
FILOSOFÍA (desde el año 428 a.C. hasta el presente)

Muestra como los filósofos facilitaron el poder imaginar la


inteligencia artificial, al pensar que la mente funciona como
una maquina a partir del conocimiento codificado en un
lenguaje interno, además al suponer que el pensamiento
servía para seleccionar la acción a llevar a cabo (Russell
y Norvig, 2004).
MATEMÁTICAS (aproximadamente desde el año 800 al presente)

Según Russell y Norvig (2004), los filósofos delimitaron las


ideas más importantes de la IA, puesto que para pasar a ser
una ciencia se necesita una formulación matemática en
tres áreas la lógica, la complejidad y la probabilidad.
ECONOMÍA (desde el año 1776 hasta el presente)

La mayoría de las personas cree que la economía se trata solo de


dinero pero los economistas realmente estudian cómo la gente toma
decisiones que les llevan a obtener los beneficios esperados. Por
consiguiente se podría afirmar que los bienes económicos son
condición necesaria pero no suficiente para que la persona alcance
sus fines, como la felicidad y la realización personal (Resico, 2011).
Esta disciplina se basa en las teorías de la toma de decisiones, la
teoría de juegos y la investigación operativa.
NEUROCIENCIA (desde el año 1861 hasta el presente)

Busca saber y entender cómo es que el cerebro puede procesar toda la información.
NEUROCIENCIA (desde el año 1861 hasta el presente)

➢ Las neuronas son células que forman el cerebro


humano y animal. Con un tamaño variable y
comprendido entre 3 y 1000 µ son células
excitables al exhibir la propiedad de transmisión de
señales de una a otra.

➢ Una de las características es su organización,


diferenciado el soma, el axón y las dendritas de
esta manera se puede considerar un modelo
general de neuronas incluyendo las características
input y output (Lahoz, 2004).
PSICOLOGÍA (desde el año 1879 hasta el presente)

➢ Trata de entender cómo piensan y actúan las personas.


INGENIERÍA COMPUTACIONAL (desde el año 1940 Hasta el presente)

Esta rama es la encargada del software y hardware. Para


que la inteligencia artificial pueda llegar a ser una realidad
se necesitan dos cosas: inteligencia y un artefacto.
TEORÍA DE CONTROL Y CIBERNÉTICA
(desde el año 1948 hasta el presente)

➢ Se basa en la
construcción de
sistemas autónomos
es decir sistemas que
maximizan una
función objetivo en
el tiempo.
LINGÜÍSTICA (desde el año 1957 hasta el presente)

No es más que la representación del conocimiento en forma de


gramática de la lengua. Uno de los acontecimientos mas
destacados en esta disciplina fue en 1957, B. F. Skinner
publico la obra que presentaba una visión extensa y detallada
desde el enfoque conductista al aprendizaje del lenguaje , y
estaba escrita por los expertos más destacados de este
campo (Russell y Norvig, 2004).
HISTORIA DE LA INTELIGENCIA ARTIFICIAL

➢ En los años 30 con Alan Turing, considerado padre de la inteligencia


artificial, se considera que el punto de partida es el año 1950,
precisamente, cuando Turing publica un artículo con el
título «Computing machinery and intelligence» en la revista Mind, e
se hacía la pregunta: ¿pueden las máquinas pensar?.
➢ En dicho artículo y que pasó a denominarse Test de Turing, y mediante
cuya superación por una máquina se podía considerar que sería capaz
de pasar por un humano en una charla ciega.
HISTORIA DE LA INTELIGENCIA ARTIFICIAL

➢ Numerosos investigadores e historiadores consideran que el punto de


partida de la moderna inteligencia artificial fue el año 1956, cuando
los padres de la inteligencia artificial moderna, John McCarty,
Marvin Misky y Claude Shannon usarón el término «la ciencia e
ingenio de hacer máquinas inteligentes, especialmente programas de
cálculo inteligente».
HISTORIA DE LA INTELIGENCIA ARTIFICIAL

➢ Se les reconoce como los primeros en realizar el un trabajo de


Inteligencia Artificial son Warren McCulloch y Walter Pitts.

➢ Propusieron un modelo constituido por neuronas artificiales, en el que


cada una de ellas se caracterizaba por estar en uno de dos estados
activada o desactivada cuando el estado se encontraba activo se
producía una respuesta a la estimulación producida por neuronas
vecinas.
HISTORIA DE LA INTELIGENCIA ARITIFICIAL

Partieron de tres fuentes:


1. Conocimientos sobre la fisiología básica y funcionamiento de las
neuronas en el cerebro.
2. El análisis formal de la lógica preposicional de Russell y Whitehead.
3. La teoría de la computación de Turing.
➢ Sugirieron que redes adecuadamente definidas podrían aprender,
mediante la regla de actualización para modificar las intensidades de
las conexiones entre neuronas también llamadas actualmente
aprendizaje.
HISTORIA DE LA INTELIGENCIA ARITIFICIAL -1997

El supercomputador Deep Blue de IBM ganó en 1997 al campeón mundial


de ajedrez Gari Kasparov, después de un fracaso previo en 1996 donde ganó
Kasparov. El año 1997 es considerado por algunos historiadores de la IA
como el punto de inflexión donde comenzó a oírse de la inteligencia artificial
fuera de los ámbitos académicos y de investigación.
Sin embargo, es en la segunda década del siglo XXI cuando comienzan a
aparecer los acontecimientos de impacto para llevar la IA al punto de
despegue donde se encuentra en este momento.
HISTORIA DE LA INTELIGENCIA ARITIFICIAL - 2011

En febrero de 2011, el supercomputador Watson de IBM -el modelo de


computador cognitivo, como lo denomina su creador IBM- gana en el
concurso televisivo de Estados Unidos Jeopardy¡, en el que se realizan
preguntas y cuestiones diferentes de todo tipo, cultura y conocimiento, a los
dos mejores concursantes del programa, Brad Ruttler y Ken Jennings.

Watson es una computadora capaz de aprender a medida que trabaja y


acumula información y que puede interactuar con el lenguaje humano en un
lenguaje natural. Watson va aprendiendo con las interacciones con el usuario.

La computadora cognitiva Watson está disponible y accesible desde la nube y


tiene clientes en numerosos países del mundo; en el caso de
España, CaixaBank y Repsol trabajan con Watson.
HISTORIA DE LA INTELIGENCIA ARITIFICIAL (2011 -2014)

➢ Presentación de Apple del asistente virtual Siri integrado en el teléfono


móvil iPhone 4S en el año 2011 y donde comenzaron las primeras
experiencias de aprendizaje automático y los primeros indicios de
aprendizaje profundo.
➢ El año 2012 es considerado como el año clave de la segunda generación de
inteligencia artificial, con el lanzamiento de asistentes virtuales apoyados en
IA con algoritmos de aprendizaje profundo. En junio de
2012 Google presentó su asistente virtual, Google Now, y en abril de
2014 Microsoft presentó su propio asistente virtual, Cortana.
HISTORIA DE LA INTELIGENCIA ARITIFICIAL (2016)

El 9 de marzo de 2016, el software de inteligencia artificial Alpha


Go de Google se enfrentó al surcoreano Se-Dol, campeón mundial de
Go -un juego milenario de estrategia muy complejo- en una partida a
cinco juegos. Alpha Go ganó los tres primeros juegos limpiamente y
solo en el último quinto juego Se-Dol ganó, gracias a un movimiento
inicial que hizo y donde se comprobó que la máquina estaba poco
entrenada para enfrentarse a situaciones inesperadas.
HISTORIA DE LA INTELIGENCIA ARITIFICIAL (2017)

El algoritmo Libratus de Inteligencia Artificial desarrollado por la Universidad


Carnegie Mellon venció claramente a cuatro de los mejores jugadores profesionales
de póquer en un Casino de Estados Unidos. La partida se realizó en enero-febrero de
2017 durante 20 días en un torneo de póquer con sesiones de 11 horas diarias en
el Casino Rivers de Pittsburgh (Estados Unidos) dentro del Torneo Cerebros vs.
Inteligencia Artificial (Brains vs. Artificial Intelligence). La modalidad del juego
elegida fue mano-a-mano, enfrentando a la máquina con los cuatro jugadores
profesionales y ganó Alpha Go por abrumadora mayoría.
HISTORIA DE LA INTELIGENCIA ARITIFICIAL (2018)

La Inteligencia Artificial se asienta en sectores importantes del


tejido productivo como la automoción, produciéndose avances
relevantes en la conducción autónoma por parte de Tesla o Audi
entre otros.
HISTORIA DE LA INTELIGENCIA ARITIFICIAL (2019)

Se intensifica la utilización de soluciones basadas en IA por parte de


otras industrias como Turismo, Movilidad o Seguros, utilizando
algoritmos de reconocimiento de imagen y modelos predictivos sobre el
comportamiento de los conductores para evaluar la probabilidad de
sufrir un accidente.
HISTORIA DE LA INTELIGENCIA ARITIFICIAL (2020 -2021)

La situación de pandemia favorece también los avances de la Inteligencia Artificial


en el ámbito de la Salud, utilizándose sensores térmicos automatizados
o aplicando herramientas de Big Data para la detección temprana de pacientes cero y
el control de los focos de contagio.
Crece por otro lado el uso del “Low Code”, tecnología que permite a usuarios sin
formación técnica desarrollar de forma intuitiva aplicaciones sencillas que
aprovechen la inteligencia artificial y cuyo incremento de uso estimado durante 2021
llegará al 30%.
HISTORIA DE LA INTELIGENCIA ARITIFICIAL (2022 -2024)

Se incrementará el uso del IoT y los dispositivos controlados por voz,


no sólo por la mayor entrada de los asistentes de voz de Google,
Amazon o Apple en el ámbito doméstico sino por el crecimiento
esperado de su implantación en oficinas y áreas de trabajo.

Con todo, se estima que la Inteligencia Artificial genere más de 300 mil
millones de dólares anuales de negocio en todo a lo largo de 2024.
PRINCIPALES AMBITOS DE APLICACIÓN DE LA INTELIGENCIA ARTIFICIAL
ESTADO DEL ARTE – APLICACIONES DE LA INTELIGENCIA ARTIFICIAL
VIDEOS

➢ DISPENSADOR FARMACIA

➢ ARMEO POWER

➢ ROBOTIC HOME ASISTENT


ARQUITECTURA DE
SOFTWARE PARA
SISTEMAS
AUTONOMOS
LOGRO DE SESIÓN DE APRENDIZAJE

“Al finalizar la sesión, el estudiante desarrolla la


programación de ciertos procesos autónomos aplicando
conceptos de inteligencia artificial que permita
proporcionar diversas tareas y toma de decisiones en un
entorno de coordinación, despliegue y medio ambiente de
manera autónoma”
ARQUITECTURA DE SOFTWARE
PARA SISTEMAS AUTONOMOS

“Es el diseño de más alto nivel de la estructura de un sistema”.


“Se refiere a un grupo de abstracciones y patrones que brindan un
esquema de referencia útil para el desarrollo de software dentro de
un sistema informático”.
“Es la organización fundamental de un sistema encarnada en sus
componentes, las relaciones entre ellos y el ambiente y los
principios que orientan su diseño y evolución."
SISTEMAS AUTONOMOS

➢ Grupo de redes IP que poseen una política de rutas propia


e independiente”.

➢ Realiza su propia gestión del tráfico que fluye entre él y los


restantes Sistemas Autónomos que forman Internet.
SISTEMAS AUTONOMOS (AS)

Se trata de un conjunto de redes IP y routers que se encuentran


bajo el control de una misma entidad (en ocasiones varias) y que
poseen una política de enrutamiento similar a Internet.
TOPOLOGIA DE SISTEMAS AUTONOMOS

• Los sitios con varios


enrutadores y redes
normalmente administran su
topología de red como
dominio de enrutamiento
único, o sistema autónomo
(SA). La figura siguiente
muestra una topología de
red típica que podría
considerarse un pequeño
SA. En los ejemplos de esta
sección se hace referencia a
esta topología.
TIPOS DE SISTEMAS AUTONOMOS

➢ SA stub: se conecta únicamente con un sistema autónomo.

➢ SA de tránsito: se conecta con varios sistemas autónomos y


además permite que se comuniquen entre ellos.

➢ SA multihomed: se conecta con varios sistemas autónomos,


pero no soporta el tráfico de tránsito entre ellos.
SISTEMA AUTONOMO DEL CUERPO
HUMANO

➢ El sistema nervioso autónomo es la parte de su sistema nervioso que


controla las acciones involuntarias, tales como los latidos cardíacos y el
ensanchamiento o estrechamiento de los vasos sanguíneos. Cuando algo malo
ocurre en este sistema, puede causar problemas serios, entre ellos:
Problemas con la presión arterial.

➢ El sistema nervioso autónomo está compuesto por dos partes:


el sistema nervioso simpático y el sistema nervioso parasimpático.

➢ Está integrado por varios nervios que nacen del encéfalo y otros que surgen de
la médula espinal a nivel de las raíces sacras S2 a S4.
sistemas autónomos y sistemas no autónomos

➢ Se caracterizan por la capacidad de actuar con independencia


del control humano directo, mientras que los sistemas
automatizados no.

➢ Cuando se trata de sistemas autónomos en la industria, un


objetivo justo y alcanzable es aspirar al Nivel 3 de la NHTSA.
PLATAFORMAS

➢ Es un sistema operativo, un gran software que sirve como


base para ejecutar determinadas aplicaciones
compatibles con este.
➢ Es un lugar de Internet, que sirve para almacenar diferentes
tipos de información tanto personal como a nivel de
negocios.

➢ También son plataformas la arquitectura de hardware, los


lenguajes de programación y sus librerías en tiempo de
ejecución, las consolas de videojuegos, etc.
PLATAFORMAS

➢ Funcionan con determinados tipos de sistemas operativos y ejecutan

programas o aplicaciones con diferentes contenidos, como pueden ser

juegos, imágenes, texto, cálculos, simulaciones y vídeo, entre otros, que

una organización utiliza para desarrollar una estrategia digital.


PLATAFORMAS

Sistemas que pueden ser programados y personalizados por


desarrolladores externos, como los usuarios, y de esta forma
pueden ser adaptados a innumerables necesidades y asuntos
que ni siquiera los creadores de la plataforma original habían
contemplado, resultando un tipo de redes sociales, lo que
permite mantener el contacto con amigos, familiares, usuarios en
general, lo que incentiva la participación y su uso.
PLATAFORMAS VIRTUALES

➢ Son espacios en Internet que permiten la ejecución de


diversas aplicaciones o programas en un mismo lugar para
satisfacer distintas necesidades.
➢ Es un sistema que permite la ejecución de diversas
aplicaciones bajo un mismo entorno, dando a los usuarios la
posibilidad de acceder a ellas a través de Internet.
➢ Es un sistema que permite ejecutar multiples aplicaciones en
un mismo entorno.
TIPOS DE PLATAFORMAS

•Plataformas educativas.
•Plataformas de comercio electrónico.
•Plataformas bancarias.
•Plataformas de pago.

EDUCATIVAS VIRTUALES
•Plataformas educativas comerciales. Han sido creadas por empresas
o instituciones educativas con fines lucrativos. ...
•Plataformas de software libre. Son creadas sin fines lucrativos. ...
•Plataformas de desarrollo propio.
PLATAFORMAS DE PROGRMACIÓN
PLATAFORMA
PLATAFORMA

La plataforma permite el desarrollo de aplicaciones en diferentes


lenguajes de programación, frameworks, librerías y recursos diversos.
Los más comunes a elegir son: Arduino(en lenguaje C++), Esp-
idf(Espressif IoT Development Framework) desarrollado por el
fabricante del chip, Simba Embedded Programming Platform(en
lenguaje Python), RTOS's(como Zephyr Project, Mongoose OS, NuttX
RTOS), MicroPython, LUA, Javascript (Espruino, Duktape, Mongoose
JS), Basic.
FRAMEWORK

➢ Es un esquema o marco de trabajo que ofrece una estructura base para elaborar un

proyecto con objetivos específicos, una especie de plantilla que sirve como punto de

partida para la organización y desarrollo de software.

➢ Es un marco o esquema de trabajo generalmente utilizado por programadores para

realizar el desarrollo de software. Utilizar un framework permite agilizar los procesos

de desarrollo ya que evita tener que escribir código de forma repetitiva, asegura unas

buenas prácticas y la consistencia del código.


¿QUE ES LO QUE HACE QUE EL FRAMEWORK ESP-OMS
SEA BASTANTE INTERESANTE?

Que está construido sobre el framework de desarrollo de IoT (ESP-IDF), un


framework de desarrollo oficial para el chip de Espressif , que está destinado a
la detección y reconocimiento facial.
FRAMEWORKS DE ARQUITECTURA DE SOFTWARE

➢ Se definen como un conjunto de herramientas de soporte, que


proporcionan directrices sobre cómo describir o documentar
arquitecturas, permiten la comunicación de los stakeholders de una
arquitectura empresarial.

➢ Sirve para acometer un proyecto en menos tiempo, y en el sector de


la programación, con un código más limpio y consistente, de manera
rápida y eficaz. El framework ofrece una estructura base que los
programadores pueden complementar o modificar según sus objetivos.
FRAMEWORK PARA LA WEB

Es una herramienta de desarrollo web que, por lo general, se define como una
aplicación o conjunto de módulos que permiten el desarrollo ágil de aplicaciones
mediante la aportación de librerías y/o funcionalidades ya creadas.

FREMOWORK PHP PARA EL DESARROLLO WEB


➢ Laravel.
➢ CodeIgniter.
➢ Symfony.
➢ Zend.
➢ Phalcon.
➢ CakePHP.
➢ Yii.
➢ FuelPHP.
FRAMEWORKS DE DESARROLLO WEB

➢ Django – Python Framework. Es un framework que funciona alrededor


de la calidad de las aplicaciones web. ...
➢ Spring. Es un framework de Modelo-Vista-Controlador para aplicaciones
basadas en Java. ...
➢ Laravel. ...
➢ React. ...
➢ Angular. ...
➢ Express. ...
➢ Vue.
FRAMEWORK PARA DESARROLLO WEB Y PROGRAMACIÓN

➢ Framework JavaScript asíncrono y XML (AJAX) ...

➢ Framework multimedia. ...

➢ Framework Content Management. ...

➢ Framework para aplicaciones web y móviles. ...

➢ Framework.net.
CREACIÓN DE FRAMEWORK

Para crear un framework de diseño que funcione bien, comience


configurando una sólida jerarquía visual. Diseñe los componentes más
omnipresentes, como el color y la tipografía primero. Luego trabaje hacia
abajo a los más pequeños, como botones y componentes de entrada.
FRAMEWORKS DE DISEÑO

➢ Ofrecen un esqueleto basado en columnas que facilita


la tarea de construir webs que se adapten a todo tipo
de dispositivos.

➢ Además, ofrecen una serie de clases CSS y funciones


de JavaScript que se pueden utilizar directamente y
que nos ahorran tiempo a la hora de crear código.
ELEMENTOS QUE COMPONEN UN FRAMEWORK

NET Framework consta


de dos componentes
principales:

➢ Common Language
Runtime (CLR).

➢ Biblioteca de clases de .
NET Framework
EJEMPLOS DE FRAMEWORKS

➢ Net: es Framework de Microsoft y uno de los más utilizados.

➢ Symphony: proyecto PHP de software libre.

➢ Zend Framework: framework de código abierto para desarrollar aplicaciones web y con servicios
web PHP.

➢ Laravel: uno de los frameworks de código abierto más fáciles de asimilar para PHP.

➢ Django: framework de desarrollo web de código abierto escrito en Python.

➢ Ruby on Rails: framework de aplicaciones web de código abierto escrito en el lenguaje de


programación Ruby.

➢ Angular: framework de código abierto desarrollado en TypeScript y mantenido por Google.


VENTAJAS

➢ El programador ahorra tiempo ya que dispone ya del esqueleto sobre el que desarrollar
una aplicación.

➢ Facilita los desarrollos colaborativos, al dejar definidos unos estándares de programación.

➢ Al estar ampliamente extendido, es más fácil encontrar herramientas, módulos e


información para utilizarlo.

➢ Proporciona mayor seguridad, al tener gran parte de las potenciales vulnerabilidades


resueltas.

➢ Normalmente existe una comunidad detrás, un conjunto de desarrolladores que pueden


ayudar a responder consultas.
HERRAMINETAS DE PROGRAMACIÓN

Las herramientas de programación, o herramienta de


desarrollo de software, son programas informáticos que los
desarrolladores de software utilizan para crear, depurar,
mantener, encontrar solución de errores, o apoyar programas y
aplicaciones.
HERRAMINETAS DE PROGRAMACIÓN

Sistema de información: Es un conjunto de elementos que interactúan entre sí con el fin de apoyar las

actividades de una empresa o negocio.

Procesamiento de Información: Es la capacidad de los Sistemas de Información para realizar cálculos

con base en secuencias de operaciones preestablecidas. Estos cálculos pueden efectuarse con datos

introducidos recientemente en el sistema o bien con datos que están almacenados. Esta característica de

los sistemas permite la transformación de datos fuente en información que puede ser utilizada para la toma

de decisiones, lo que hace posible, entre otras cosas, que un tomador de decisiones genere una proyección

financiera a partir de los datos que contiene un estado de resultados o un balance general de un año base1.

Procesamiento de Datos: es cualquier ordenación o tratamiento de datos, o los elementos básicos de

información, mediante el empleo de un sistema. Procesar datos es generar información para la toma de

decisiones.
HERRAMIENTAS DE PROGRAMACIÓN – DESARROLLO DE SOFTWARE

➢ Escribir un programa para resolver un problema involucra una


serie de pasos desde su análisis hasta llegar a su implementación.
Estos pasos se conocen como Desarrollo de Software y algunas
veces como Ingeniería de Software o Ciclo de Vida de un Sistema.
➢ El desarrollo de software se puede definir como la aplicación
práctica del conocimiento científico al diseño y construcción de
programas de computadora y a la documentación asociada
requerida para desarrollar, operar y mantenerlos.
LENGUAJE DE PROGRAMACIÓN

➢ Es un conjunto de símbolos y reglas sintácticas y semánticas que se utiliza para escribir los
programas de computadoras.

➢ Permite a uno o más programadores especificar la forma precisa en que los datos van a ser
operados en una computadora, cómo van a ser almacenados o transmitidos y qué acciones
tomar ante ciertas circunstancias o problemas que se deben resolver.

➢ El programador debe ser capaz de seleccionar el lenguaje de programación apropiado para


resolver un problema bajo ciertas circunstancias específicas, de manera óptima. Una
característica relevante de los lenguajes de programación es precisamente que más de un
programador puedan tener un conjunto común de instrucciones que puedan ser comprendidas
entre ellos para realizar la construcción del programa de forma colaborativa.
INTERPRETES Y COMPILADORES

Los compiladores, los interpretes y ls ensambladores se


encargan de traducir lo que haya escrito en los lenguajes de alto
nivel (código fuente) y lo convierten en código objeto (casi
ejecutable).
Tipos principales de traductores de los lenguajes de
programación de alto nivel

➢ Compilador, que analiza el programa fuente y lo traduce a otro equivalente


escrito en otro lenguaje (por ejemplo, en el lenguaje de la máquina). Su función
es similar a la de un traductor humano, que toma un libro lo analiza
completamente y produce otro equivalente escrito en una lengua diferente.

➢ Intérprete, que analiza el programa fuente y lo ejecuta directamente, sin


generar ningún código equivalente. Su acción equivale a la de un intérprete
humano, que traduce las frases que oye sobre la marcha, sin producir ningún
escrito permanente.
Intérpretes y compiladores - ventajas e inconvenientes
(complementarios)

➢ Con el intérprete es más fácil la búsqueda de errores, pues la ejecución del programa se puede interrumpir en cualquier momento
para estudiar el entorno (valores de las variables, etc.). El intérprete va analizando instrucción por instrucción y al momento en que
detecta un error se detiene permitiendo su modificación o corrección. Además, el programa puede modificarse sobre la marcha, sin
necesidad de volver a comenzar la ejecución.

➢ El compilador genera programas más rápidos y eficientes, pues este analiza todo el código de una sola vez y luego genera un archivo
objeto, por lo cual el análisis del lenguaje fuente se hace una sola vez, durante la generación del programa equivalente. Se tarda
analizando solamente la primera vez, pero luego lo que se ejecuta es el código objeto, por lo cual las demás ejecuciones son más
rápidas. En cambio, un intérprete como no genera el código objeto, siempre se tarda realizando el análisis pues lo hace instrucción
por instrucción hasta que termina y no hayan más errores detectados. El tiempo de ejecución se irá reduciendo cuando se vayan
depurando todos los errores encontrados.

➢ Un intérprete permite utilizar funciones y operadores más potentes, como por ejemplo ejecutar código contenido en una variable en
forma de cadenas de caracteres. Usualmente, este tipo de instrucciones es imposible de tratar por medio de compiladores. Los
lenguajes que incluyen este tipo de operadores y que, por tanto, exigen un intérprete, se llaman interpretativos. Los lenguajes
compilativos, que permiten el uso de un compilador, prescinden de este tipo de operadores. [1]
LENGUAJES COMPILADOS

Es un programa que traduce un programa escrito en un lenguaje


de alto nivel, en un programa en lenguaje de máquina que la
computadora es capaz de entender y ejecutar directamente.
lenguajes que usan compilador:
➢ Pascal
➢ Cobol
➢ Fortran
•Ada
•Modula 2
•C , C++
LENGUAJES COMPILADOS

Involucra dos pasos en su operación:

1.Convertir código fuente a objeto

2.Ejecutar el código objeto


FASES DE COMPILACIÓN
ENLAZADOR (LINKER)

El enlazador realiza la tarea de enlazar la funcionalidad de las teclas


y funciones con el código objeto generado a través de la
compilación de un programa.
Una librería es la colección de varias teclas y sus funciones, las
cuales son creadas por programadores expertos y almacenadas en
lugares especiales para que se puedan utilizar por otros
programadores. También pueden ser algunas funciones estándar
como raíz cuadrada, logaritmo, random y otras.
Para poder utilizar estas funciones predefinidas que están
guardadas en las librerías, el programador tiene que hacer
referencia a dicha librería, que es un archivo que se llama en la
cabecera del programa.
PROCESO DE ENLACE
AGENTES
INTELIGENTES
AGENTES INTELIGENTES

DEFINICIONES FUNDAMENTALES
El genio se hace con un 1% de
talento, y un 99% de trabajo.

Albert Einstein
LOGRO

Al finalizar la unidad, el estudiante desarrolla la programación de ciertos


procesos autónomos aplicando conceptos de inteligencia artificial que
permita proporcionar diversas tareas y toma de decisiones en un entorno
de coordinación, despliegue y medio ambiente de manera autónoma
AGENTE INTELIGENTE

➢ Es una entidad capaz de tomar decisiones DIAGRAMA DE AGENTE


de forma autónoma de acuerdo a las
INTELIGENTE
variaciones que surgen en su entorno,
SENSORES
procesar tales percepciones y responder o
actuar en su entorno de manera racional.

➢ Es capaz de percibir su medio ambiente


con la ayuda de sensores y actuar en ese
medio utilizando actuadores (elementos
que reaccionan a un estímulo realizando ACTUADORES
una acción).
ESTRUCTURA DE AGENTES INTELIGENTES
ESTRUCTURA DE AGENTES INTELIGENTES

El propósito de la inteligencia artificial es el diseño de un programa de agente: una


función que permita implantar el mapeo del agente para pasar de percepciones a acciones.
Se da por sentado que este programa se ejecutará en algún tipo de dispositivo de cómputo,
al que se denominará arquitectura. Desde luego, el programa elegido debe ser aquel que la
arquitectura acepte y pueda ejecutar.

La arquitectura puede ser una computadora sencilla o hardware especial para la ejecución
de ciertas tareas, como sería el procesamiento de imágenes de una cámara, o el filtrado de
señales de entrada de audio. Podría incluir también un software que ofrezca cierto grado de
aislamiento entre la computadora y el programa de agente, lo que permitiría la
programación a un nivel superior.
AGENTE RECATIVO

CARACTERÍSTICAS
➢ Tiene acciones predefinidas para cada sensor.
➢ Tiene una representación interna de su entorno.
➢ No tiene historial de percepciones.
➢ Tiene un sistema de reglas.
PROBLEMAS:
➢ Cada situación se registra en el sistema de reglas.
➢ No tiene aprendizaje continuo.
➢ No razona. No planea a largo plazo.
DIAGRAMA AGENTE REACTIVO
EJEMPLO
AGENTE DELIBERATIVO O COGNITIVO

CARACTERÍSTICAS
➢ Representación del mundo.
➢ Toma decisiones a través de razonamiento lógico.
➢ Planes a largo plazo . Cumple sus objetivos.
PROBLEMAS
➢ Dificultad de representar posibles estados.
➢ Mantenimiento de la base de reglas.
➢ Carencia de respuesta en tiempo real.
AGENTE HIBRIDO

CARACTERÍSTICAS

➢ Tiene características de agentes cognitivos y reactivos.

➢ Complementan unas cualidades con otras.

➢ Inteligencia, emociones, sensaciones, aprendizaje, planeación, etc.


AGENTE BASADO EN MODELOS

CARACTERÍSTICAS.

➢ Tiene un estado interno

➢ Sabe "cómo funciona el mundo Implementa “

➢ Tiene la función " updatestate ".


DIAGRAMA DE AGENTE BASADO EN MODELOS
EJEMPLO
AGENTE BASADO EN METAS

CARACTERÍSTICAS

➢ Descripción del estado actual.

➢ Tiene metas. Tiene acciones elegidas en base a sus metas.

➢ Se pregunta ¿qué pasa si hago tal o tal cosa? Y ¿qué me hará feliz?
Puede razonar.

➢ Es flexible.
DIAGRAMA DEL AGENTE BASADO EN METAS
AGENTE BASADO EN SU UTILIDAD

➢ Tiene una medida de rendimiento.


➢ Tiene una medida de utilidad.
➢ Funciona de la siguiente manera:
La medida de rendimiento determina
la utilidad Analiza la utilidad interna y externa.
➢ Cuando tiene muchos objetivos por cumplir, la utilidad cumple los que
conduzcan aun mayor éxito.
DIAGRAMA DEL AGENTE BASADO EN SU UTILIDAD
AGENTE DE APRENDIZAJE

➢ Tiene un elemento de aprendizaje, encargado de hacer mejoras.


➢ Tiene un elemento de rendimiento.
➢ Tiene una parte crítica, que indica el éxito del agente.
➢ Generador del problema, éste realiza las acciones mas
convenientes.
➢ Como consecuencia el agente es capaz de trabajar en entornos
desconocidos.
DIAGRAMA DEL AGENTE DE APRENDIZAJE
AGENTE EBDI

CARACTERÍSTICAS
➢ Las emociones son el elemento principal para modelar las funciones del cerebro humano.

➢ El proceso cognitivo junto con las emociones son los encargados de resolver problemas y tomar
decisiones.

➢ Representar emociones por medio de sensores, algoritmos y dispositivos de hardware


sofisticados.

PROBLEMAS:

➢ Las emociones afectan las habilidades cognitivas (toma de decisiones).


AGENTE EBDI

➢ Funciona mediante la manipulación de estructuras de datos.

➢ Reflejan el razonamiento del humano.

➢ Influyen las emociones primarias y secundarias.

➢ Mayor rendimiento que un agente racional. Flexibilidad y habilidad para adaptarse en


entornos dinámicos.
TIPOS DE AMBIENTES

Totalmente observable: Se presenta un entorno de este tipo cuando los sensores del
agente detectan todas las situaciones de importancia que lo rodean.
Parcialmente observable: Un ambiente de este tipo puede presentarse por diversas
causas ; ser que los agentes no tienen suficientes puede sensores, posiblemente
existen factores que alteran el funcionamiento de los sensores o los poca capacidad de
detección.
Agente único vs Multiagente: Este entorno depende de cuantos agentes se
encuentran dentro del ambiente, si es uno se dice que es agente único, por el
contrario si existen dos o más agentes se dice que es un entorno multiagente.
TIPOS DE AMBIENTES

Determinista: el próximo estado del entorno está determinado por el estado actual y la o las
acciones que realiza el agente.

Estocástico: el entorno no es completamente observable, como consecuencia está presente


la incertidumbre en los posibles resultados que se obtendrán de las acciones.

Episódico: en este ambiente se divide cada experiencia del agente en episodios, cada
episodio es formado por una percepción recibida asigna una acción.

Secuencial: en este entorno a la que las se le decisiones tomadas a corto plazo afectan a las
decisiones a largo plazo. Este tipo de ambiente es más complejo que el episódico.
TIPOS DE AMBIENTES

Estático: no busca persistentemente cambios en el ambiente mientras está


tomando una decisión y tampoco le es relevante el paso del tiempo.
Dinámico: el entorno cambia constantemente mientras el agente está
tomando una decisión, como consecuencia el agente se interesa por los
cambios constantes en su amiente preguntándose frecuentemente que es lo
que quiere hacer y si no hay respuesta es tomado por el ambiente como que
el agente no quiere hacer nada.
Discreto: cuando hay un número finito de percepciones, acciones y estados.
Continuo: al contrario del discreto este tiene un número infinito de estados,
percepciones y acciones
ARQUITECTURAS DE AGENTES

➢ La necesidad de la interacción social entre agentes obliga a definir y desarrollar arquitecturas


que soporten esta dimensión social.
➢ Eso implica una capa intermedia entre los agentes que permita la
interconexión/organización/comunicación.
➢ En ocasiones este software intermediario se denomina plataformas de agentes
➢ FIPA ( Foundation for Intelligent Physical ) es un grupo de estandarización de IEEE que
definió un conjunto de estándares sobre Agents agentes.
➢ FIPA definió una arquitectura abstracta que debería seguir toda implementación de una
plataforma multiagente (igual que hace SOA).
ARQUITECTURA DE AGENTES

FIPA como arquitectura abstracta está compuesta POR:


➢Un directorio de agentes
➢Un directorio de servicios
➢Un mecanismo de transporte de mensajes
➢Un lenguaje de comunicación de agentes (ACL)
ARQUITECTURA DE AGENTES

➢Directorio de agentes (páginas blancas): Se encarga de registrar a los


agentes y la dirección/ruta a donde enviarles mensajes.
➢Directorio de servicios (páginas amarillas): Se encarga de registrar las
capacidades que los agentes ponen a disposición (servicios ).
➢Mecanismo de transporte de mensajes ( routing ): Se encarga del envío de
los mensajes entre agentes dentro y fuera de una plataforma.
➢Lenguaje de comunicación de agentes (ACL): Define los mensajes que
pueden utilizar los agentes para comunicarse.
ARQUITECTURA DE AGENTES

También podría gustarte