Conceptos Básicos de Programación

Slides:



Advertisements
Presentaciones similares
Comunicacion por medio de Sistemas Expertos en las Redes
Advertisements

IA e IA Distribuida Para Juegos SIN Jaime Barrachina Verdía.
SISTEMAS DE PROCESAMIENTO DE LA INFORMACION HISTORIA Y EVOLUCIÓN DEL SOFTWARE.
Software y conocimiento libres en la enseñanza de desarrollo de videojuegos Manuel Palomo Duarte Oficina de Software Libre y Conocimiento Abierto, Universidad.
 E Expresión de un problema de programación lineal  A Aplicaciones de la programación lineal  S Soluciones de un problema de programación lineal.
Capítulo IV: Análisis e Interpretación de los Datos Codificación y Tabulación de los Datos Técnicas de Presentación de los Datos Análisis Estadísticos.
MÉTODOS Y ELEMENTOS DE PROGRAMACIÓN MÉTODOS Y ELEMENTOS DE PROGRAMACIÓN.
OBJETIVOS PRIORIDADES E INTERCAMBIOS. MAXIMIZACION DE BENEFICIOS COMO UN OBJETIVO NO PROBABLE DE LA FIRMA La idea de maximizar beneficios tuvo su origen.
Prof. James McPhee Depto. Ingeniería Civil
FUNCIONAMIENTO BÁSICO
Ingreso , proceso y salida de datos
Margarita Diaz Ing. En Gestión Empresarial. El presente análisis describe la importancia de establecer una adecuada política de compras con el objetivo.
Vistazo a la Librería de Plantillas Estándar (STL) y una Introducción a Iteradores Lección 15: Repaso de la Librería de Plantillas Estándar (STL) y una.
PERIODO 1 – CLASE 2.
INTELIGENCIA ARTIFICIAL Aspectos basicos. Definición de IA  La Inteligencia Artificial es la parte de la Ciencia que se ocupa del diseño de sistemas.
PLANIFICACIÓN DE LAS RUTAS DE DISTRIBUCIÓN
“POLIMORFISMO PARAMETRICO”
simulacion Resumen unidad 1 Equipo Baldor Huerta Ocejo Ivan de Jesus
Conceptos Básicos de Programación
7ª Jornada sobre la Biblioteca Digital Universitaria JBDU2009 "La  biblioteca universitaria en la web" 5 y 6 de noviembre de 2009 Biblioteca Central de.
Conceptos Básicos de Programación
FUNCIONES EN EXCEL 2007.
¿ Qué tecnologías se usan en los sistemas de telecomunicaciones ?¿ Qué tecnologías se usan en los sistemas de telecomunicaciones.
Una competición para Robots Virtuales muy poco virtuosos
UNIVERSIDAD ICEP INTELIGENCIA ARTIFICIAL INGENIERÍA EN SISTEMAS COMPUTACIONALES Martes, 24 de Octubre de 2017 REPRESENTACIÓN DEL CONOCIMIENTO Y RAZONAMIENTO.
Vectors (Vectores)‏ Agustín J. González ELO329.
CREAR DIAGRAMA DE FLUJO
Ingeniería de Software Somerville
AVENTURA DIDACTICA.
Software Es intangible, existe como información, ideas, conceptos, símbolos, pero no ocupa un espacio físico, se podría decir que no tiene sustancia. Se.
LÓGICA DE PROGRAMACIÓN
MODELOS ADMINISTRATIVOS Sonia Martínez morales
DEFINICION Y FUNCIONES
ALGORITMOS es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos.
Diseñar y elaborar algoritmos
BUSCADORES DE INTERNET
INTELIGENCIA ARTIFICIAL
Introducción a las estructuras de datos
Algoritmo Capitulo Cinco.
Búsquedas en Internet ¿Qué es un buscador?
Nombre: Ana Dominique Espinoza Pavez Profesora: Ana Henríquez Orrego
Servicios de red e Internet Tema 3: DNS
ALEXA CAROLINA GOMEZ BOBADILLA
FUNDAMENTOS DE PROGRAMACION EN ENTORNO WEB. Rodrigo Cabello Ing. Informático Director de proyectos Think – Ideas in Motion FUNDAMENTOS.
APLICACIÓN DE NUEVAS TECNOLOGÍAS EN LA CONSERVACIÓN Y ANÁLISIS DEL PATRIMONIO CULTURAL Herramientas para la Investigación.
Devolución Psicopedagógica
Programación Lógica.
Árboles clase 6 Apoyo de Práctica. Resumen ●Árboles ○Concepto ○Características ○Dinámica ○Recorridos o barridos. ●Ejercicio Sugerido.
U NIVERSIDAD S AN P EDRO F ILIAL B ARRANCA F ACULTAD DE I NGENIERÍA E SCUELA P ROFESIONAL DE I NG. I NFORMÁTICA Y DE S ISTEMAS C URSO : ALGORITMOS Tema.
UNIVERSIDAD DEL VALLE Docente: MsC. Cinthya Irene Rosales Martinez Facultad de Ingeniería Lenguajes de Programación.
Agentes que planifican. 1. Introduccion En la actualidad todas la mayoría de actividades en un empresa o compañía, como en el hogar o el medio ambiente.
 La minería de datos o exploración de datos (es la etapa de análisis de "Knowledge Discovery in Databases" o KDD) es un campo de la estadística y las.
Punto 4 – Componentes del servicio DNS
ABSTRACCION DE DATOS   Estructura de Datos Básicos: En programación una estructurad de datos, es una forma particular de organizar datos en una computadora.
Inteligencia Artificial
DISEÑO DEL SOFTWARE EDUCATIVO
Funciones y Procedimientos(Pseudocódigo)
Vectors (Vectores)‏ Agustín J. González ELO329.
PROYECTO DE GRADUACIÓN
Luis Jesús Galindo Cáceres
Multiversidad latinoamericana campus tonalá
PROGRAMACIÓN ESTRUCTURADA Y POO La programación estructurada es un paradigma de programación orientado a mejorar la claridad, calidad y tiempo de desarrollo.
Desarrollo Organizacional Maestra: Verónica Alumnos: Cristian Gomes, Efrén Ceja, Eduardo Cronque Fecha: 06/Junio/2017 Universidad: Uvaza.
CONTROLES Y ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN  1. Algoritmos: conjunto de instrucciones programadas para resolver una tarea específica.  2. Datos:
Fases de la metodología de solución de problemas 1.Identificación del problema 2.Planteamiento de alternativas de solución 3.Elección de una alternativa.
Taller de grado I INFORMACIÓN GENERAL
PROYECTO DE GRADUACIÓN
Maestro: Oscar Medina Espinosa REDES CONVERGENTES Unidad II. Calidad de Servicio (QoS).
PROYECTO DE GRADUACIÓN
Estrategia algorítmica
Transcripción de la presentación:

Conceptos Básicos de Programación RoboSim Conceptos Básicos de Programación

Tecnologías en Robosim Comunicaciones TCP-IP Necesitamos utilizar cadenas alfanuméricas y las librerías de comunicaciones. Programación distribuida Necesitamos utilizar objetos de sincronismo y librerías para la gestión de threads. Inteligencia Artificial Necesitamos utilizar estructuras de datos y variables dinámicas.

¿Qué es la IA? En mi modesta opinión: Un conjunto de técnicas y tecnologías que resuelven problemas de programación complejos. La IA construye programas con los mismos elementos básicos de cualquier programa, pero de una manera más flexible y versátil.

Visión simplificada de las Tecnologías en IA Sistemas Expertos: Basados en la recopilación en forma de reglas condicionales de la resolución de un problema, generalmente adquirida de un experto. Redes Neuronales: Basados en componentes llamados neuronas que aplican una función específica sobre varias entradas. Útiles en sistemas de clasificación. Lógica Borrosa: Basada en establecer niveles de variables y hacer razonamientos sobre esos niveles. Algoritmos genéticos: Un sistema de búsqueda de soluciones basado en un modelo similar a la evolución. …

Técnicas útiles en nuestro caso Búsqueda heurística. Se denomina así a una búsqueda no completa dentro de un conjunto de posibilidades en busca de una “buena” alternativa, es decir, que intente optimizar una función objetivo. Se utiliza cuando el espacio de búsqueda es muy grande. Reglas. Un sistema de reglas se basa en la evaluación de condiciones (premisas) que, al cumplirse, provocan una acción (conclusión). Una buena opción es diseñar una “sintaxis” de reglas y construir un programa que sea capaz de leerlas y ejecutarlas.

Control del Robot en Robosim Aunque puede haber otros enfoques (seguro que muy eficaces) mi recomendación es: Control a largo plazo (es decir, búsqueda del camino más corto) mediante una búsqueda heurística mediante A* Control a corto plazo (es decir, resolución de problemas “locales”) mediante un sistema de reglas.

Datos Dinámicos En IA juega un papel destacado las estructuras de datos porque: Las estructuras representan como se relacionan los datos del problema Una buena estructura mejora el comportamiento de los algoritmos Estructuras dinámicas en C-C++. A base de struct, struct* (el puntero implica relación) Estructuras conocidas: vectores, listas, árboles.

Biblioteca Estándar: STL Es una biblioteca de tipos de estructuras de datos. Tiene: Vectores, listas y “árboles”. Iteradores. Algoritmos. Basada en Templates (plantillas). Su uso no es sencillo, pero su uso acaba siendo ventajoso. Existen distintos sitios en Internet con teoría y ejemplos en STL.

Uso simplificado de las STL Los tipos de STL se basan en templates por tanto es útil hacer: typedef vector<double> vector_double; vector_double v_1; Las operaciones básicas tienen como parámetros el tipo empleado en la definición, por ejemplo, insertar: v_1.push_back(3.4); Puede ser interesante emplear punteros a struct, pero debe liberarse la reserva de memoria.

Iteradores En cualquier tipo contenedor es válido: vector_double::iterador i; //Multiplica todos los elementos por 7 for ( i = v_1.begin(); i != v_1.end(); i++) { (*i) = (*i) * 7.0; } Los iteradores funcionan como un puntero auxiliar que recorre toda la estructura pasando de un elemento al siguiente.

Map Es un contenedor que se implementa como un árbol ordenado por un índice. Tiene funciones para inserción, borrado y, por supuesto, iteradores. Ejemplos: http://msdn2.microsoft.com/en-us/library/wwcahb6y(VS.80).aspx http://www.cplusplus.com/reference/stl/map/find.html ...

Algoritmos de Búsqueda Se basan en un árbol y en una función objetivo. Existen distintas manera de buscar en el espacio de posibilidades (Branch and Bound, Best First Search) El “mejor” algoritmo de búsqueda es el A*