KINEMATICS SOLVER DIAGRAMA DE FLUJO PRINCIPAL
|
|
- Vicente Sáez del Río
- hace 8 años
- Vistas:
Transcripción
1 Cristóbal Miranda Puente Universidad Carlos III de Madrid 5º Ingeniería de Telecomunicaciones KINEMATICS SOLVER Adrián Hurtado González Universidad Carlos III de Madrid 5º Ingeniería de Telecomunicaciones 1. INTRODUCCIÓN En este paper se describe el funcionamiento del Kinematics Solver. Es conocida por todos la dificultad que supone resolver un problema de matemáticas, física o química de los cursos de bachiller cuando nos encontramos estudiándolos. Además, una de los métodos mas recomendados para la compresión y aprendizaje, así como para la obtención de habilidad para resolver estos problemas, es mediante la realización de ejercicios. Pero cuantos de los problemas que necesitamos vienen resueltos para poder comprobar si nuestro resultado es correcto?, y que hacemos cuando nos quedamos atrancados en un punto del problema y no sabemos continuar? La respuesta a todas estas preguntas es KINEMATICS SOLVER. Es un programa que a partir de los datos iniciales de un problema y los resultados que se desean obtener, es capaz de hacer un desarrollo matemático completo en el que se muestran tanto los resultados numéricos como los pasos de la resolución seguida. Es tan sencillo como introducir los datos en una interfaz grafica que función bajo Matlab. Una vez hecho esto el planificador será el encargado de proporcionar el desarrollo seguido y Matlab los resultados numéricos y simbólicos. 3. FUNCIONAMIENTO El funcionamiento principal y mas general del programa es el que se pude ver en el diagrama de flujo de la figura 1, que se muestra a continuación. DIAGRAMA DE FLUJO PRINCIPAL Inicializar Solicitar Problema Generar Fichero PDDL Ejecutar Panificador 2. ESTRUCTURA El programa consta de dos parte principales: Un planificador que proporciona los pasos para llegar a los resultados pedidos a partir de los datos dados en el enunciado. Los pasos y las ecuaciones necesarias para la resolución se muestran tanto por pantalla como en un fichero para posibles consultas posteriores. Esto facilita tanto la revisión de problemas ya resueltos como su utilización para crear colecciones de problemas resueltos. Además la presentación es lo suficientemente clara como para que todo sea entendido correctamente. Un conjunto de funciones en Matlab que se encargan de hacer el calculo numérico y que además permiten continuar profundizando en el problema a través de nuevas operaciones y consultas que facilitan la comprensión, tales como representaciones graficas, maximizaciones, derivadas, integrales, etc Además también presenta una interfaz grafica en Matlab, que permite introducir los datos de forma muy cómoda en función del tipo de problema que se desee resolver. Página 1 Resolver Plan Figura 1. Diagrama de flujo principal del programa Toda la funcionalidad principal esta descrita en el fichero kinematics_solver.c, que es por tanto el encargado de hacer las llamadas y pasar los datos al planificador, a Matlab y a las funciones exteriores. A continuación se muestra mas detalladamente los diagramas de flujo de cada una de las fases del programa principal.
2 DIAGRAMA DE INICIALIZAR DIAGRAMA DE GENERAR FICHERO PDDL Abrir el fichero del dominio Abre la definición de conocimiento base Obtener las localizaciones de las acciones Copia la seccion delimitada por (:objects. Agragarlas a la lista de locaclizaciones Desarrolla los predicados de la seccion (:init. Agregar la operación correspondiente a la lista de operaciones Página 1 Genera las secciones tengo con los datos iniciales, y goals con los buscados. Página 1 Figura 2. Diagrama de flujo de la fase de inicializar. DIAGRAMA DE SOLICITAR PROBLEMA Figura 4. Diagrama de flujo de la fase de generar fichero PDDL. DIAGRAMA DE FLUJO EJECUTAR PLANIFICADOR Llamada a Matlab Generación automática del script de llamada al planificador Activación de la interfaz de datos Llamada al planificador El usuario inserta los datos iniciales y los que necesita calcular Ejecutar Panificador Generación de la salida del planificador Página 1 Volcado de datos en el fichero datos.txt Figura 3. Diagrama de flujo de la fase de solicitar problema. Página 1 Creación de una lista de comando para Matlab a partir del fichero de salida anterior Figura 5. Diagrama de flujo de la fase de ejecutar el planificador.
3 DIAGRAMA DE RESOLVER PLAN Página 1 Apertura de una comunicación con Matlab Copia y transferencia de todos los datos en forma simbólica a Matlab Copia y transferencia solo de los datos iniciales con su valor numérico a Matlab Evaluacion de todas las variables finales e intermedias Expresión de todas las variables con su valor numérico, despejadas de la función origen y en función de los datos iniciales. Figura 6. Diagrama de flujo de la fase resolver plan. 4. COMPOSICIÓN DE FICHEROS DEL PROGRAMA El programa esta compuesto por los siguientes ficheros todo escrito en código C: aux_functions.c Es un fichero de funciones auxiliares para el tratamiento de ficheros y de strings. Han sido desarrolladas para facilitar el manejo de funciones mas complejas. generate_pddl_domain.c Se encarga de traducir el código (o pseudocódigo en el que esta definido el problema al código en PDDL que entiende el planificador. Como se puede ver, hemos diseñado un nuevo lenguaje de definición de dominios, con el que se pueden definir de forma sencilla y automáticamente, convirtiendo esta herramienta, en algo muy útil desde el punto de vista docente. kinematics_solver.h y kinematics_solver.c Estos ficheros son el núcleo de la práctica. Son los encargados de hacer todas las llamadas al resto de programas, al planificador y a matlab. Vamos a ver el contenido de estos fichero mas detalladamente, describiendo las funciones mas relevantes de cada uno de ellos e indicando para que se emplean: 4.1 aux_functions.c Como ya se ah dicho es una librería que contiene funciones auxiliares que se emplean en su mayor parte para tratamiento de ficheros y string en general, simplificando funciones posteriores mas complejas Hay que saber que el concepto de localización hace referencia a instrucción de un fichero con el formato (:. Las funciones principales de este fichero son: lookfornewlocation Esta función se encarga de encontrar nuevas localizaciones en un fichero especificado. ptnword (pointer to next Word Es una función que se encarga de buscar palabras. wrdlen Esta función devuelve la longitud de la palabra sin espacios iniciales ni finales. readtonexttoken Lee el fichero carácter a carácter hasta encontrar un token. Un token es todo el texto contenido entre los símbolo (. copytoendtoken Copia un token desde una posición dada hasta cerrar todos los paréntesis que estén abiertos hasta el momento. Este numero de paréntesis abiertos se indica por parámetro. Además se copia el resultado en un fichero que también se pasa por parámetro. copyinbuffertoendtoken Es igual que copytoendtoken, pero en este caso se copia el resultado en un buffer para su tratamiento posterior. copyfrombuffer Vuelva el contenido de un buffer en un fichero que se le indica por parámetro. nextword Es igual que ptnword pero en vez de buscar palabras en ficheros lo hace en strings, y además devuelve el puntero a la posición en la que se encuentra, y guarda el resultado en otro string que se le pase como parámetro. 4.2 generate_pddl_domain.c Este fichero se encarga de traducir el pseudocódigo en el que esta definido el problema a lenguaje PDDL. Las acciones que lleva a cabo son las siguientes: Abre el fichero de pseudocódigo. Copia la sección (define (domain literalmente. También copia la sección (:requeriments si existe, y sino genera una por defecto automáticamente. Copia literalmente la sección (:types. La sección (:predicates tiene un poco de complejidad, porque además de copiar los predicados del fichero de pseudocódigo puede encontrarse con funciones especiales. En el caso de encontrar la función (generate-predicates, genera unos predicados especiales que salen de estudiar las acciones y añade (pred-nombre_accion parametros. Y por ultimo para cada acción, guarda el nombre y los parámetros y genera las precondiciones con todas las combinaciones que se especifiquen en la sección correspondiente de esa acción. Además de todo esto, el sistema también permite crear un fichero PDDL en función de su pseudocódigo correspondiente y de otro pseudocódigo que utiliza como ampliación, es decir, importando documentos. Hay que saber que los documentos que son importados son traducidos previamente de pseudocódigo a lenguaje pddl.
4 El comando que se utiliza para llevar a cabo esta funcionalidad es import nombre_fichero. Para agregar los tipos del fichero importado en el nuevo hay que escribir (:types (add_imported_types.... Para agregar los predicados del fichero importado en el nuevo hay que escribir (:predicates (add_imported_predicates.... Para agregar las acciones del fichero importado en el nuevo hay que escribir (:actions add_imported_actions. Las precondiciones las copia literalmente, pero en el caso de encontrarse con la instrucción (generate-basicprecondition, añade además las precondiciones estándar que agregaría si no hubiese habido precondiciones. Esto lo hace muy flexible, ya que puedes agregar las precondiciones básicas y otras mas especificas con pocas instrucciones. Con los efectos se hace los mismo que en las precondiciones cuando se encuentra con el comando (generate-basiceffects. La formula se copia literalmente, salvo en el caso de encontrarse con la instrucción interference-rule. En este caso, significa que la formula no puede ser transmitida a Matlab, sino que solo va a ser utilizada por el planificador. 4.3 Kinematics_solver.c Realiza todas las llamadas al resto de programas, al planificador y a matlab. Tiene la siguiente estructura interna. Inicializar En esta sección se realizan la siguiente secuencia de procesos: o Abre el fichero que define el dominio. o Obtiene las localizaciones de las acciones y las agrega una por una en la lista de localizaciones. o Para cada una de las localizaciones también agrega una operación en la lista de operaciones. Solicitar Problema En esta sección se realizan la siguiente secuencia de procesos: o Se hace una llamada a Matlab para activar la interfaz de entrada de datos. o El usuario inserta los datos del enunciado y los resultados que desea obtener en cada problema. o Toda esta información se vuelca en un fichero llamado datos.txt que será leído desde C para mayor comodidad en el intercambio de información. Generar Fichero PDDL En esta sección se realizan la siguiente secuencia de procesos: o Abre la definición del conocimiento base. o Copia literalmente la sección delimitada por (:objects. o Con la sección delimitada por (:init, la lee y desarrolla los predicados que vienen enunciados, generando los que pueden ser leídos por el planificador. o Por ultimo añade una sección tengo donde irán todos los datos iniciales que haya introducido el usuario, y una sección goals donde irán los datos que el usuario desea calcular. o Como se pude ver, esa sección es un traductor de código de usuario a lenguaje PDDL, lo que facilita ampliamente el desarrollo de nuevos dominios de planificación y tipos de problemas. Ejecutar Planificador El planificador que hemos utilizado es el SGPLAN. En esta sección se realizan la siguiente secuencia de procesos: o o Se realiza una llamada al planificador anteriormente indicado, generando un script capaz de ser interpretado por la consola y haciendo una llamada la sistema. Así se genera la salida del planificador llamada out.soln. Con esta salida, el programa es capaz de coger el identificador de cada acción, su correspondiente cálculo para ser enviado a Matlab y los argumentos que deberá sustituir en dicho cálculo, y así generar una lista de strings ( evalstrings, que posteriormente serán enviados como comandos a Matlab. Resolver Plan Aquí se hace la llamada a Matlab. En esta sección se realizan la siguiente secuencia de procesos: o Copian en un string con todos los datos simbólicos, y otro que solo contiene los datos iniciales introducidos por el usuario. o o o Abre la comunicación con Matlab. Conociendo el listado de comandos que resuelven el problema almacenados anteriormente en un conjunto de strings ( evalstrings, evalúa en matlab la planificación con un determinado orden y añadiendo otros comandos auxiliares hasta obtener almacenados en el workspace de Matlab todas y cada una de las variables finales e intermedias en formato numérico, simbólico en función de los datos iniciales y simbólico en función de la fórmula de la que proviene dicha variable. Imprime por pantalla y en un fichero los siguientes datos y realiza las siguientes funciones: El dominio y el problema que se planifica y resuelve. Listado de los datos previamente conocidos. El resultado de la planificación, es decir, paso a paso la resolución del problema. Indicando para ello la fórmula de origen de cada paso, y el valor simbólico (despejando dicha formula y numérico del dato que se obtiene en cada paso. Listado de los resultados pedidos en formato numérico. Deja abierto Matlab en modo background para que el usuario pueda seguir realizando operaciones con los resultados obtenidos. Cuando el usuario termina, cierra esta comunicación y libera la memoria. 5. FICHEROS DE ENTRADA Y SALIDA Además de estos ficheros de código, también son necesarios otros denominados de entrada y salida, aquellos que son transformado o modificados por la aplicación.
5 Los mas importantes son los ficheros del planificador, que en nuestro caso van a ser tres (la explicación de esto se vera mas adelante en la sección 6. Fichero de dominio Define el mundo en el que se va a desarrollar el problema, es decir, sus normas y sus reglas. A continuación se muestra un ejemplo de definición de una regla en PDDL que representa una formula: EJEMPLO DE REGLA PDDL s = vi*t + (1/2*a*t^2 (:action s-vt-1-2-at-2 :parameters (?s - esp?vi - vel-inic?t - t?ai - acel-inic :precondition (and (pred-s-vt-1-2-at-2?s?vi?t?ai (and (not (tengo?s (tengo?vi (tengo?t (tengo?ai (and (tengo?s (not (tengo?vi (tengo?t (tengo?ai (and (tengo?s (tengo?vi (not (tengo?t (tengo?ai (and (tengo?s (tengo?vi (tengo?t (not (tengo?ai :effect (and (tengo?s (tengo?vi (tengo?t (tengo?ai EJEMPLO FICHERO DE DOMINIO (define (domain cinematica-basica-1 (:action iguales :parameters (?o1?o2 :formula '#1 = #2' (:action incremento :parameters (?incr?final?inicial :formula '#1 = #2 - #3' (:action s-vt-1-2-at-2 :parameters (?s - esp?vi - vel-inic?t - t?ai - acel-inic :formula '#1 = #2*#3 + (1/2*#4*#3^2' (:action v-at :parameters (?v - vel?ai - acel-inic?t - t :formula '#1 = #2*#3' (:action vf2-vi2-2as :parameters (?vf - vel-fin?vi - vel-inic?ai - acel-inic?s - esp :formula '#1^2 - #2^2 = 2*#3*#4' (:types cuerpo - object tiempo - object t t-inic t-fin - object vector - object espacio - vector esp esp-inic esp-fin - vector esp-mod esp-x esp-y - esp esp-inic-mod esp-inic-x esp-inic-y - esp-inic esp-fin-mod esp-fin-x esp-fin-y - esp-fin velocidad - vector vel vel-inic vel-fin - velocidad vel-mod vel-x vel-y - vel vel-inic-mod vel-inic-x vel-inic-y - vel-inic vel-fin-mod vel-fin-x vel-fin-y - vel-fin aceleracion - vector acel acel-inic acel-fin - aceleracion acel-mod acel-x acel-y - acel acel-inic-mod acel-inic-x acel-inic-y - acel-inic acel-fin-mod acel-fin-x acel-fin-y - acel-fin (:action triang-rect-pitagoras :parameters (?v?vx?vy - vector :formula '#1^2 = #2^2 + #3^2' (:action triang-rect-tangente :parameters (?th - angulo?vy?vx - vector :formula 'tan(#1 = #2/#3' (:action triang-rect-coseno :parameters (?th - angulo?vx?v - vector :formula 'cos(#1 = #2/#3' (:action triang-rect-seno :parameters (?th - angulo?vy?v - vector :formula 'sin(#1 = #2/#3' (:predicates angulo - object theta alpha - angulo (tengo?o (symbol?parametro (generate-predicates Fichero de problema Aquí se definen los datos del problema en particular, que dependerá de cada caso concreto, y que deberá pertenecer al dominio en el que este descrito. Es interno y no es de entrada. Fichero de conocimiento básico Es un fichero que define un conocimiento base complementario al dominio, es decir, todos los objetos de los que dispongo y sus relaciones entre ellos. Esto es algo genérico y ha de ir siempre junto con el domino para que tenga sentido. A continuación se muestra un ejemplo:
6 EJEMPLO FICHERO DE CONOCIMIENTO BÁSICO (define (problem problema1 (:domain basic-kinematics (:objects t - t ti - t-inic tf - t-fin s - esp-mod sx - esp-x sy - esp-y si - esp-inic-mod six - esp-inic-x siy - esp-inic-y sf - esp-fin-mod sfx - esp-fin-x sfy - esp-fin-y v - vel-mod vx - vel-x vy - vel-y vi - vel-inic-mod vix - vel-inic-x viy - vel-inic-y vf - vel-fin-mod vfx - vel-fin-x vfy - vel-fin-y a - acel-mod ax - acel-x ay - acel-y ai - acel-inic-mod aix - acel-inic-x aiy - acel-inic-y af - acel-fin-mod afx - acel-fin-x afy - acel-fin-y 6. PLANIFICADOR 6.1 Idea de qué es un planificador Un planificador es un programa que a partir de un fichero con el dominio del problema y otro con los datos del problema el estado de partida y el de llegada, es capaz de trazar la ruta mas corta desde el estado inicial al final. 6.2 Arquitectura La arquitectura del planificador es la que se muestra en la figura 7. th_af th_s th_si th_sf th_v th_vi th_vf th_a th_ai - theta Figura 7. Estructura de la arquitectura del planificador SGPLAN. (:init (pred-iguales a ai,a af,ax aix,ax afx,ay aiy,ay afy (pred-incremento t tf ti,sx sfx six,sy sfy siy,vx vfx vix,vy vfy viy,ax afx aix,ay afy aiy (pred-s-vt-1-2-at-2 sx vix t aix,sy viy t aiy (pred-v-at vx aix t,vy aiy t (pred-vf2-vi2-2as vfx vix aix sx,vfy viy aiy sy (pred-p-m-v cantx m vx,canty m vy,cantix m vix,cantiy m viy,cantfx m vfx,cantfy m vfy (pred-cartesiano-polar sx sy s th_s,six siy si th_si,sfx sfy sf th_sf (pred-cartesiano-polar vx vy v th_v,vix viy vi th_vi,vfx vfy vf th_vf (pred-cartesiano-polar ax ay a th_a,aix aiy ai th_ai,afx afy af th_af Este planificador lo que hace es coger particiones muy grandes y dividirlas en otras mas pequeñas, cada una de las cuales es un nuevo objetivo de planificación. Este planificador generaliza las submetas para explotar de manera mas eficiente las nuevas características de los anteriores planificadores. Se han desarrollado técnicas para que este planificador pueda resolver las restricciones, optimizándolas preferencias de los objetivos, y alcanzando submetas en una representación multivalor. Esta implementación que hemos usado, utiliza una modificación de la métrica básica del panificador FF 6.3 Lenguaje de planificación PDDL PDDL es un lenguaje de planificación. Se utiliza para la representación del conocimiento.
7 Para el funcionamiento de PDDL son necesarios dos ficheros: Uno para definir el dominio, es decir, como se comporta el mundo, que tipos de objetos hay, las posibles relaciones entre ellos (predicados y las reglas que rigen dicho mundo (acciones. En nuestro caso va a ser el mundo de la física y as matemáticas. Y otro para definir un problema concreto definido para un dominio determinado, en el se especifican el dominio al que pertenece, los objetos de los que partimos y sus tipos, y lo mas importante, la definición de un estado inicial y otro final. Todo estado viene representado por un conjunto de predicados y un planificador, que lo que hace es buscar una sucesión de acciones que permitan ir saltando de estado a estado, partiendo del inicial y buscando la meta, mientras pasa por otros intermedios. Además un planificador intenta siempre que puede encontrar una solución con el menor numero de transiciones posibles, es decir, una solución de un planificador no es mas que una sucesión de acciones (lo mas corta posible que permiten llegar al estado final a partir del inicial. Todo esto que hemos visto sirve para un sistema de planificación generalizado. PDDL no es mas que un lenguaje para la definición de esos dominós y problemas. Para el caso que nos ocupa, que no es mas que resolver problemas con formulas, vemos que PDDL se ajusta muy bien a nuestro propósito, ya que no hay mas que poner todas las combinaciones posibles y siempre nos dará una solución. Ahora bien, esto puede resultar un labor realmente tediosa desde le punto de vista de programación, ya que existen numerosas combinaciones par una única formula, y con toda seguridad se dispondrá de varias. En general lo que ocurre y para lo que se utilizan los planificadores es para casos en los que hay muy pocos objetos y muchas reglas y predicados, lo que conlleva una solución muy larga en la mayoría de los casos. En nuestro caso, lo que ocurre es que además de tener muchas reglas, también tenemos muchos objetos (planificadores menos potentes como el caso de Prodigy no eran capaces de dar una solución de implementación a nuestro problema. Por eso este tipo de representación no era el adecuado. La solución es dar la vuelta a esta idea, que aunque parece mas complicada en realidad es mucho mas eficaz. Lo que se hace es asignar con predicados cada una de las posibilidades para una formula, es decir, en lugar de definir en las precondiciones de una regla que un objeto Vix sea del tipo velocidad, del eje-x y del instante inicial y tener después en el problema definir también estos predicados, lo que hacemos es definir un único predicado, por ejemplo (pred-v-at?v?a?t, y decir que todo aquel conjunto de variables que cumplan eso, pueden usarse para dicha formula ("v = a*t". Eso si, hay que especificar en el problema cada una de las combinaciones, por ejemplo: (pred-v-at vx aix t (pred-v-at vy aiy t Por ese motivo nos inclinamos por la creación de PSPDDL. 6.4 Lenguaje de planificación PSPDDL Este lenguaje ha sido desarrollado por nosotros con el fin de hacer mas flexible y sencilla la programación de nuevos dominios para la solución de problemas. Vistas las limitaciones que nos impone PDDL, debido a que para la resolución de una ecuación con n parámetros, necesitábamos n combinaciones, decidimos desarrollar PSPDDL. PSPDDL no es mas que un traductor. Esta basado en PDDL, pero por su condición, pertenece a un nivel de programación superior a este. Con este nuevo lenguaje ya no hace falta repetir cada una de las combinaciones manualmente, sino que las generar él automáticamente. Solo con indicar el nombre de la acción ya seria suficiente en un primer momento. Ahora bien, además de esto, PSPDDL tiene algunos complementos que facilitan a un mas si cabe, la flexibilidad y sencillez a la hora de programar. Da la opción de añadir precondiciones, de sustituirlas completamente sin mas que escribiéndolas, permite poner tus propias precondiciones y efectos o bien añadir los estándares, etc Pero lo mas importante es que permite la definición matemática de la formula, que en principio no es relevante para el planificador, pero nos sirve para pasarlas como comandos a Matlab e ir teniendo un desarrollo matemático de todo el proceso. Hemos visto que un planificador genérico siempre utiliza dos ficheros, el que define el dominio y el que define el problema. Sin embargo ahora se van a usar 2+1 ficheros. Esto quiere decir que además de los dos habituales que eran externos, se va a usar uno mas de tipo interno que se va a generar a partir de los datos iniciales. En lo respectivo al dominio, éste se va a ver simplificado gracias a la nueva instrucción para la importación de otros ficheros, y como gran parte del código es repetitivo, también existe la opción de generarse automáticamente. Es decir, tenemos un predicado especial para cada una de las reglas y se va generando automáticamente usando la instrucción (generate-predicates dentro de la definición de los predicados. Lo que hacemos con esto es tener un fichero de dominio mucho mas organizado, mas claro, mas simplificado, y mas flexible. Con la importación de ficheros ahorramos escribir muchísimo código. Digamos que nuestro lenguaje permite la definición de dominios utilizando la idea de herencia, por ello permite la herencia de la definición de tipos de objetos, de predicados y/o acciones, sin implicar que haya que heredarlo todo Por otro lado el fichero de definición de problema, ahora tiene dos funciones, la general y la de crear el fichero interno del problema ya en lenguaje PDDL y no en PSPDDL. Las acción y formulas que se definen en un dominio son generales, pero necesitan unos predicados especiales, sin los cuales no funcionaria nada, es decir, en un mundo donde solo supongamos tiros parabólicos sea cual sea el problema a resolver,
8 las reglas y las combinaciones siempre van a ser las mismas, solo variaran los valores del estado inicial y final. Por eso creamos un fichero que define un conocimiento base complementario al dominio, es decir, todos los objetos de los que dispongo y sus relaciones entre ellos. Esto es algo genérico y ha de ir siempre junto con el domino para que tenga sentido. Por ultimo vamos a ver el porqué de existen tantos tipos de objetos. Lo que ocurre es que hay una gran limitación de los planificadores porque requieren muchísima memoria. El consumo de esta es exponencial, ya que necesita almacenar todos y cada uno de los estados (con todos los predicados en cada momento hasta llegar al final. Y no solo hasta llegar el final, porque ha de buscar otras posibilidades por si encuentra otra mas corta. Entonces, el planificador, ante una regla, lo que hace es probar todas las posibilidades para ver cual cumple la precondición. Por supuesto esto es muy lento. Por eso cuando implementaron PDDL2, ya incluyeron la definición de tipos, que añade la ventaja que en lugar de probar con todos los objetos en todas las posibilidades, solo lo hace con aquellos objetos del tipo que se define en los parámetros de la acción o regla BNF de PSPDDL Domains <import> ::= (import <name> <domain> ::= (define (domain <name> [<require-def>] [<typesdef>] :typing [<predicatesdef>] <structure-def> <require-def> ::= (:requirements <require-key> + <require-key> ::= ver sección de requirements <types-def> ::= (:types [(add-imported-types] <typed list (name> <predicates-def> ::= (:predicates <atomic formula skeleton> + <atomic formula skeleton> ::= (add-imported-predicates <atomic formula skeleton> ::= (generate-predicates <atomic formula skeleton> ::= (<predicate> <typed list (variable> <predicate> ::= <name> <variable> ::=?<name> <structure-def> ::= <action-def> <typed list (x> ::= x :typing + <typed list (x> ::= x - <type> <typed list(x> <primitive-type> ::= <name> <type> ::= (either <primitive-type> + <type> ::= <primitive-type> <emptyor (x> ::= ( <emptyor (x> ::= x <action-def> ::= (:action add-imported-actions <action-def> ::= (:action <action-symbol> :parameters (<typed list (variable> <action-def body> <action-symbol> ::= <name> <action-def body> ::= [:precondition <emptyor (pre-gd>] [:effect <emptyor (effect>] [:formula <formula> + ] <pre-gd> ::= (generate-basic-precondition <pre-gd> ::= <pref-gd> <pre-gd> ::= (and <pre-gd> <pre-gd> ::= :universalzpreconditions (forall (<typed list(variable> <pre-gd> <pref-gd> ::= <GD> <pref-name> ::= <name> <GD> ::= <atomic formula(term> :negativezpreconditions <GD> ::= <literal(term> <GD> ::= (and <GD> :disjunctivezpreconditions <GD> ::= <GD> <GD> ::= :disjunctivezpreconditions (not <GD> :disjunctivezpreconditions <GD> ::= (imply <GD> <GD> :existentialzpreconditions <GD> ::= (exists (<typed list(variable> <GD> :universalzpreconditions <GD> ::= (forall (<typed list(variable> <GD> <literal(t> ::= <atomic formula(t> <literal(t> ::= (not <atomic formula(t> <atomic formula(t> ::= (<predicate> t <term> ::= <name> <term> ::= <variable> <f-exp> ::= <number> <effect> ::= (and <c-effect> <effect> ::= <c-effect> <c-effect> ::= (generate-basic-effect <c-effect> ::= :conditionalzeffects (forall (<typed list (variable> <effect> <c-effect> ::= :conditionalzeffects (when <GD> <cond-effect> <c-effect> ::= <p-effect> <p-effect> ::= (not <atomic formula(term> <p-effect> ::= <atomic formula(term>
9 <cond-effect> ::= (and <p-effect> <cond-effect> ::= <p-effect> <formula> ::= ' <caracter> + ' <formula> ::= <caracter> + Knowledge_bases <knowledge> ::= (define (knowledge <name> (:domain <name> <object declaration> <knowledge> <object declaration> ::= (:objects <typed list (name> Por el contrario, alguien que quiera utilizar el programa, lo único que tendrá que hacer es rellenar los datos que una interfaz grafica le ira facilitando, de forma que solo tendrá que indicar que datos se dan en el enunciado del problema y sus respectivos valores, y cuales son los que se poden calcular. Una vez hecho esto, lo que aparecerá por pantalla, y también se escribirá en un fichero de texto, será el resultado de la planificación paso a paso, y los resultado numéricos de las variables pedidas. La interfaz es la que se muestra en la figura 8. <knowledge> ::= (:knowledge <know-el> <know-el> ::= <literal(name> <know-el> ::= (<predicate> <combination> [, <combination>] <combination> ::= <name> + Allowed requirements Requirement :strips :typing :negative-preconditions :disjunctive-preconditions :equality :existential-preconditions :universal-preconditions Description Basic STRIPS-style adds and deletes Allow type names in declarations of variables Allow not in goal descriptions Allow or in goal descriptions Support = as built-in predicate Allow exists in goal descriptions Allow forall in goal descriptions :quantified-preconditions = :existential-preconditions + :universal-preconditions :conditional-effects Allow when in action effects :adl = :strips + :typing + :negative-preconditions + :disjunctive-preconditions + :equality + :quantified-preconditions + :conditional-effects 7. MANEJO Y UTILIZACIÓN DE LA APLICACIÓN Este programa ha sido desarrollado con la idea de hacer muy sencillo para el usuario su utilización. El programa hace todos los cálculos, traducciones de código, y cambios en los ficheros internamente y en una única ejecución, con lo que se consigue que el usuario no perciba ninguna de estas actividades. Figura 8. Captura de la interfaz de entrada de datos del programa. 8. PRESTACIONES Hemos creado un nuevo lenguaje de definición de dominios para planificación basada en PDDL, de forma que permite introducir ecuaciones de forma muy sencilla. Con esto conseguimos crear dominios para nuevos problemas de una manera rápida y sencilla. Además la estructura de este nuevo lenguaje es muy flexible, ya que permite importar ficheros, utilizar generación automática de predicados y acciones y en muchos casos no importa el orden en el que e desarrollen las cosas, porque automáticamente lo ordena. Permite, a partir de un dominio y un conocimiento bases, obtener una solución a un problema (que pertenezca al dominio definido, de forma detallada. No solo resuelve el problema (cosa que podría hacerse con Matlab directamente, sino que además proporciona los pasos y las formulas utilizadas para dicha resolución, utilizando una lógica similar a la humana, lo que lo convierte en una herramienta muy eficaz desde el punto de vista docente Una vez resulto el problema, el usuario tiene varias posibilidades: Puede consultar el resultado numérico de los datos que pidió resolver tantas veces como desee. Puede también consultar los resultados de forma simbólica, de forma que se expresen despejados en una formula. O puede pedir que el resultado simbólico se exprese en una formula en función de los datos iniciales.
10 Además permite utilizar otras funciones que también definimos para profundizar mas en la solución: o Integrar. o Derivar. o Maximizar. o Minimizar. o Representar gráficamente Todo esto vale para tanto para los valores finales como para todos los intermedios. 9. ANEXO.- EJEMPLO DE FICHERO PDDL (define (domain cinematica-basica-1 (:requirements :adl (:types cuerpo - object tiempo - object t t-inic t-fin - object vector - object espacio - vector esp esp-inic esp-fin - vector esp-mod esp-x esp-y - esp esp-inic-mod esp-inic-x esp-inic-y - esp-inic esp-fin-mod esp-fin-x esp-fin-y - esp-fin velocidad - vector vel vel-inic vel-fin - velocidad vel-mod vel-x vel-y - vel vel-inic-mod vel-inic-x vel-inic-y - vel-inic vel-fin-mod vel-fin-x vel-fin-y - vel-fin aceleracion - vector acel acel-inic acel-fin - aceleracion acel-mod acel-x acel-y - acel acel-inic-mod acel-inic-x acel-inic-y - acel-inic acel-fin-mod acel-fin-x acel-fin-y - acel-fin angulo - object theta alpha - angulo (:predicates (tengo?o (symbol?parametro (pred-iguales?o1?o2 (pred-incremento?incr?final?inicial (pred-s-vt-1-2-at-2?s - esp?vi - vel-inic?t - t?ai - acel-inic (pred-v-at?v - vel?ai - acel-inic?t - t (pred-vf2-vi2-2as?vf - vel-fin?vi - vel-inic?ai - acel-inic?s - esp (pred-triang-rect-pitagoras?v?vx?vy - vector (pred-triang-rect-tangente?th - angulo?vy?vx - vector (pred-triang-rect-coseno?th - angulo?vx?v - vector (pred-triang-rect-seno?th - angulo?vy?v - vector (:action iguales :parameters (?o1?o2 :precondition (and (pred-iguales?o1?o2
11 (and (not (tengo?o1 (tengo?o2 (and (tengo?o1 (not (tengo?o2 :effect (and (tengo?o1 (tengo?o2 ;:formula '#1 = #2' (:action incremento :parameters (?incr?final?inicial :precondition (and (pred-incremento?incr?final?inicial :effect (and (tengo?incr (tengo?final (tengo?inicial ;:formula '#1 = #2 - #3' (:action s-vt-1-2-at-2 :parameters (?s - esp?vi - vel-inic?t - t?ai - acel-inic :precondition (and (pred-s-vt-1-2-at-2?s?vi?t?ai :effect (and (tengo?s (tengo?vi (tengo?t (tengo?ai ;:formula '#1 = #2*#3 + (1/2*#4*#3^2' (:action v-at :parameters (?v - vel?ai - acel-inic?t - t :precondition (and (pred-v-at?v?ai?t :effect (and (tengo?v (tengo?ai (tengo?t ;:formula '#1 = #2*#3' (and (not (tengo?incr (tengo?final (tengo?inicial (and (tengo?incr (not (tengo?final (tengo?inicial (and (tengo?incr (tengo?final (not (tengo?inicial (and (not (tengo?s (tengo?vi (tengo?t (tengo?ai (and (tengo?s (not (tengo?vi (tengo?t (tengo?ai (and (tengo?s (tengo?vi (not (tengo?t (tengo?ai (and (tengo?s (tengo?vi (tengo?t (not (tengo?ai (and (not (tengo?v (tengo?ai (tengo?t (and (tengo?v (not (tengo?ai (tengo?t (and (tengo?v (tengo?ai (not (tengo?t (:action vf2-vi2-2as :parameters (?vf - vel-fin?vi - vel-inic?ai - acel-inic?s - esp :precondition (and (pred-vf2-vi2-2as?vf?vi?ai?s :effect (and (tengo?vf (tengo?vi (tengo?ai (tengo?s ;:formula '#1^2 - #2^2 = 2*#3*#4' (and (not (tengo?vf (tengo?vi (tengo?ai (tengo?s (and (tengo?vf (not (tengo?vi (tengo?ai (tengo?s (and (tengo?vf (tengo?vi (not (tengo?ai (tengo?s (and (tengo?vf (tengo?vi (tengo?ai (not (tengo?s (:action triang-rect-pitagoras :parameters (?v?vx?vy - vector :precondition (and (pred-triang-rect-pitagoras?v?vx?vy :effect (and (tengo?v (tengo?vx (tengo?vy ;:formula '#1^2 = #2^2 + #3^2' (and (not (tengo?v (tengo?vx (tengo?vy (and (tengo?v (not (tengo?vx (tengo?vy (and (tengo?v (tengo?vx (not (tengo?vy (:action triang-rect-tangente :parameters (?th - angulo?vy?vx - vector :precondition (and (pred-triang-rect-tangente?th?vy?vx
12 (and (not (tengo?th (tengo?vy (tengo?vx (and (tengo?th (not (tengo?vy (tengo?vx (and (tengo?th (tengo?vy (not (tengo?vx :effect (and (tengo?th (tengo?vy (tengo?vx ;:formula 'tan(#1 = #2/#3' (:action triang-rect-coseno :parameters (?th - angulo?vx?v - vector :precondition (and (pred-triang-rect-coseno?th?vx?v :effect (and (tengo?th (tengo?vx (tengo?v ;:formula 'cos(#1 = #2/#3' (and (not (tengo?th (tengo?vx (tengo?v (and (tengo?th (not (tengo?vx (tengo?v (and (tengo?th (tengo?vx (not (tengo?v (:action triang-rect-seno :parameters (?th - angulo?vy?v - vector :precondition (and (pred-triang-rect-seno?th?vy?v :effect (and (tengo?th (tengo?vy (tengo?v ;:formula 'sin(#1 = #2/#3' (and (not (tengo?th (tengo?vy (tengo?v (and (tengo?th (not (tengo?vy (tengo?v (and (tengo?th (tengo?vy (not (tengo?v
GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B)
APRENDERAPROGRAMAR.COM GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B) Sección: Cursos Categoría: Tutorial básico del programador web: HTML desde cero Fecha
Más detallesCASO PRÁCTICO DISTRIBUCIÓN DE COSTES
CASO PRÁCTICO DISTRIBUCIÓN DE COSTES Nuestra empresa tiene centros de distribución en tres ciudades europeas: Zaragoza, Milán y Burdeos. Hemos solicitado a los responsables de cada uno de los centros que
Más detallesLa ventana de Microsoft Excel
Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft
Más detallesEn cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.
Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa
Más detallesPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS Clase 1. Introducción Profesor: Diego Sánchez Gómez Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases
Más detallesGUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES
GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES Tema: Cartas de Servicios Primera versión: 2008 Datos de contacto: Evaluación y Calidad. Gobierno de Navarra. evaluacionycalidad@navarra.es
Más detallesIntroducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual
Introducción Algunas de las personas que trabajan con SGBD relacionales parecen preguntarse porqué deberían preocuparse del diseño de las bases de datos que utilizan. Después de todo, la mayoría de los
Más detallesCentro de Capacitación en Informática
Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.
Más detallesLEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F)
APRENDERAPROGRAMAR.COM LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F) Sección: Cursos Categoría: Curso básico de programación en lenguaje C desde
Más detallesPara ingresar a la aplicación Microsoft PowerPoint 97, los pasos que se deben seguir pueden ser los siguientes:
Descripción del ambiente de trabajo Entrar y salir de la aplicación Para ingresar a la aplicación Microsoft PowerPoint 97, los pasos que se deben seguir pueden ser los siguientes: A través del botón :
Más detallesUN PROBLEMA CON INTERÉS Y CALCULADORA
UN PROBLEMA CON INTERÉS Y CALCULADORA José Antonio Mora Sánchez. Alacant Las calculadoras ofrecen la posibilidad de modificar la óptica desde la que se abordan ciertos problemas matemáticos, esto hace
Más detallesFORMACIÓN DE EQUIPOS DE E-LEARNING 2.0 MÓDULO DE DISEÑO Y PRODUCCIÓN DE MATERIALES UNIDAD 6 B
141 1 FORMACIÓN DE EQUIPOS DE E-LEARNING 2.0 Unidad 6 B 142 2 Índice SEGUIMIENTO DE PERSONAS 1 INFORMES 2 143 3 SEGUIMIENTO DE PERSONAS E INFORMES EN MOODLE El seguimiento de los participantes en Moodle
Más detallesPrograma Presupuestos de Sevillana de Informática.
Programa Presupuestos de Sevillana de Informática. Introducción. En sus inicios, el programa Presupuestos estaba pensado únicamente para escribir e imprimir presupuestos, facilitando el trabajo con un
Más detallesEjercicio 1. Desarrollar un pequeño juego para practicar mecanografía.
Examen Curso 2001-2002. Convocatoria de Febrero Página 1 Ejercicio 1. Desarrollar un pequeño juego para practicar mecanografía. Este ejercicio se divide en dos partes con el fin de que el alumno no intente
Más detallesGUÍA BÁSICA DE USO DEL SISTEMA RED
SUBDIRECCIÓN GENERAL DE INSCRIPCIÓN, AFILIACION Y RECAUDACIÓN EN PERIODO VOLUNTARIO GUÍA BÁSICA DE USO DEL SISTEMA RED Marzo 2005 MINISTERIO DE TRABAJO Y ASUNTOS SOCIALES TESORERÍA GENERAL DE LA SEGURIDAD
Más detallesNemoTPV SAT Manual de usuario 1. NemoTPV SAT APLICACIÓN DE GESTIÓN DE SERVICIO TÉCNICO PARA PUNTOS DE VENTA DE EUSKALTEL
NemoTPV SAT Manual de usuario 1 NemoTPV SAT APLICACIÓN DE GESTIÓN DE SERVICIO TÉCNICO PARA PUNTOS DE VENTA DE EUSKALTEL NemoTPV SAT Manual de usuario 2 Ante un problema, lo importante no es saber solucionarlo,
Más detallesElementos de Microsoft Word
Contenido 1. Distintas formas de iniciar Word 2007... 2 2. Ayuda de Word... 2 3. Las barras de herramientas... 3 4. Funcionamiento de las pestañas. Cómo funcionan?... 4 5. Personalizar barra de acceso
Más detallesCapitulo V Administración de memoria
Capitulo V Administración de memoria Introducción. Una de las tareas más importantes y complejas de un sistema operativo es la gestión de memoria. La gestión de memoria implica tratar la memoria principal
Más detallesDCU Diagramas de casos de uso
DCU Diagramas de casos de uso Universidad de Oviedo Departamento de Informática Contenidos Introducción Elementos básicos Más sobre los actores Más sobre los casos de uso Más sobre las asociaciones Otros
Más detallesManual de Introducción a SIMULINK
Manual de Introducción a SIMULINK Autor: José Ángel Acosta Rodríguez 2004 Capítulo Ejemplo.. Modelado de un sistema dinámico En este ejemplo se realizará el modelado de un sistema dinámico muy sencillo.
Más detallesMANUAL DEL PROGRAMA DE ASESORAMIENTO (Asesores) Navegador y limpiar caché/cookies...2 Acceso al programa de Asesoramiento... 7
MANUAL DEL PROGRAMA DE ASESORAMIENTO (Asesores) Índice Pasos previos a la visualización del programa: Navegador y limpiar caché/cookies...2 Acceso al programa de Asesoramiento... 7 Conceptos e información
Más detallesManual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL
Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL Índice 1 Introducción... 5 1.1 Perfil de la aplicación... 5 1.2 Requisitos técnicos... 5 2 Manual de usuario... 7 2.1 Instalación del certificado...
Más detallesManual de usuario. Tramitación de inspecciones periódicas de ascensores: La visión de las empresas conservadoras
Tramitación de inspecciones periódicas de ascensores: La visión de las empresas conservadoras 7 de Enero de 2008 Índice 1. INTRODUCCIÓN 3 2. SECUENCIAS PRINCIPALES A REALIZAR 4 2.1. FLUJO BASICO DE SECUENCIAS
Más detallesCorrespondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech
Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech Resumen Todo documento XBRL contiene cierta información semántica que se representa
Más detallesMicrosoft Office: EXCEL. Objetivos curso
Objetivos curso Conocer las aplicaciones ofimáticas de Microsoft Office y las utilidades a las que se orientan cada una de ellas, con el objetivo que cada formado descubra las posibilidades concretas de
Más detallesInstrucción IrA (GoTo). Saltos no naturales en el flujo normal de un programa. Pseudocódigo y diagramas de flujo. (CU00182A)
aprenderaprogramar.com Instrucción IrA (GoTo). Saltos no naturales en el flujo normal de un programa. Pseudocódigo y diagramas de flujo. (CU00182A) Sección: Cursos Categoría: Curso Bases de la programación
Más detallesTEMA 3: EN QUÉ CONSISTE?
Módulo 7 Sesión 3 5/16 TEMA 3: EN QUÉ CONSISTE? La metodología seguida para aplicar correctamente la técnica de RGT se basa en cuatro fases (Figura 1). En la primera de ellas, se seleccionan los elementos
Más detallesEste programa mueve cada motor de forma independiente, y cuando termina una línea pasa a la siguiente.
1 Programa 1 Utilizando el icono añadimos un movimiento a por cada línea de programa. Podremos usar 8 posibles líneas de programa (Base, Hombro, Codo, Muñeca, Pinza, Salida 1, Salida 2 y línea en blanco).
Más detallesAproximación local. Plano tangente. Derivadas parciales.
Univ. de Alcalá de Henares Ingeniería de Telecomunicación Cálculo. Segundo parcial. Curso 004-005 Aproximación local. Plano tangente. Derivadas parciales. 1. Plano tangente 1.1. El problema de la aproximación
Más detallesVamos a ver las dos formas básicas de arrancar PowerPoint.
Iniciar Powerpoint Vamos a ver las dos formas básicas de arrancar PowerPoint. 1) Desde el botón Inicio situado, normalmente, en la esquina inferior izquierda de la pantalla. Coloca el cursor y haz clic
Más detallesEn esta unidad añadiremos información sobre EXT3 y trabajaremos con aspectos visibles que nos proporcionan estos sistemas de archivos.
ESTRUCTURA DEL SISTEMA DE ARCHIVOS 1. Introducción. En la unidad anterior se esbozó mediante la explicación de los formatos del disco duro, distintos tipos de sistemas de archivos: FAT16, FAT32, NTFS y
Más detallesPara crear formularios se utiliza la barra de herramientas Formulario, que se activa a través del comando Ver barra de herramientas.
Formularios TEMA: FORMULARIOS. 1. INTRODUCCIÓN. 2. CREACIÓN DE FORMULARIOS. 3. INTRODUCIR DATOS EN UN FORMULARIO. 4. MODIFICAR UN FORMULARIO 5. MANERAS DE GUARDAR UN FORMULARIO. 6. IMPRIMIR FORMULARIOS.
Más detallesAdaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie.
Adaptación al NPGC Introducción Nexus 620, ya recoge el Nuevo Plan General Contable, que entrará en vigor el 1 de Enero de 2008. Este documento mostrará que debemos hacer a partir de esa fecha, según nuestra
Más detallesGUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS.
GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS. 1 Direcciones o Ubicaciones, Carpetas y Archivos Botones de navegación. El botón Atrás permite volver a carpetas que hemos examinado anteriormente. El botón Arriba
Más detallesManual de OpenOffice Impress
Manual de OpenOffice Impress. Capítulo 4. Trabajando con gráficos, esquemas y plantillas 1 Manual de OpenOffice Impress Capítulo 4: Trabajando con gráficos, esquemas y plantillas Este material es una adaptación
Más detallesMódulo II - PowerPoint
Módulo II - PowerPoint Índice Copiando diapositivas Menú Edición... 2 Copiando diapositivas utilizando la barra de herramientas... 3 Copiando diapositivas utilizando el menú contextual... 3 Copiando diapositivas
Más detallesBase de datos en Excel
Base de datos en Excel Una base datos es un conjunto de información que ha sido organizado bajo un mismo contexto y se encuentra almacenada y lista para ser utilizada en cualquier momento. Las bases de
Más detallesEl proceso de edición digital en Artelope y CTCE
El proceso de edición digital en Artelope y CTCE Carlos Muñoz Pons Universitat de València carlos.munoz-pons@uv.es Introducción Una de las cuestiones más importantes a la hora de trabajar en proyectos
Más detallesMódulo 8: Ofimática básica. Unidad didáctica 4: Como obtener ayuda en Word. Procesador de textos: Word
Módulo 8: Ofimática básica Unidad didáctica 4: Como obtener ayuda en Word Procesador de textos: Word UNIDAD DIDÁCTICA 4 Cómo obtener ayuda en Word Créditos Autor/es: Fuentes Innovación y Cualificación
Más detallesCaso práctico de Cuadro de Mando con Tablas Dinámicas
1 Caso práctico de Cuadro de Mando con Tablas Dinámicas Luis Muñiz Socio Director de SisConGes & Estrategia Introducción Hay una frase célebre que nos permite decir que: Lo que no se mide no se puede controlar
Más detallesMANEJANDO FICHEROS Y CARPETAS
Tutorial 1 MANEJANDO FICHEROS Y CARPETAS 1.1.- Creando carpetas Para organizar la información que almacenamos en nuestros ordenadores, tenemos una elemento denominado carpeta. Vamos a ver cómo, usando
Más detallesLABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL
OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar formulas en Microsoft Excel 2010. 1) DEFINICIÓN Una fórmula de Excel es un código especial que introducimos
Más detallesRecursos para el Estudio en Carreras de Ingeniería 2006 UNIDAD TEMÁTICA Nº 4 LA TOMA DE APUNTES
UNIDAD TEMÁTICA Nº 4 LA TOMA DE APUNTES En esta unidad te invitamos a que: Adviertas la importancia de los apuntes como un recurso para iniciar el estudio de un tema. Te apropies de algunas estrategias
Más detallesCurso Internet Básico - Aularagon
Antes de empezar es necesario que tengas claro algunas cosas: para configurar esta cuenta de correo, debes saber que el POP y el SMTP en este caso son mail.aragon.es; esta cuenta de correo hay que solicitarla
Más detallesLección 24: Lenguaje algebraico y sustituciones
LECCIÓN Lección : Lenguaje algebraico y sustituciones En lecciones anteriores usted ya trabajó con ecuaciones. Las ecuaciones expresan una igualdad entre ciertas relaciones numéricas en las que se desconoce
Más detallesUsuarios y Permisos. Capítulo 12
Capítulo 12 Usuarios y Permisos La gente simplemente intenta utilizar el sitio web Joomla! que has creado - ya sea de forma activa o pasiva. Cuanto mejor sea la experiencia que tenga al hacerlo, mejor
Más detalles3º Grado Educación Infantil Bilingüe Números. Método Singapur y F. Bravo E R
MATEMÁTICAS PARA EDUCACIÓN INFANTIL N Enseñamos y aprendemos llos números:: Método Siingapur y Fernández Bravo,, Porr Clarra Garrcí ía,, Marrtta Gonzzál lezz y Crri isstti ina Lattorrrre.. Ú M E R O S
Más detallesTutorial de Introducción a la Informática Tema 0 Windows. Windows. 1. Objetivos
1. Objetivos Este tema de introducción es el primero que debe seguir un alumno para asegurar que conoce los principios básicos de informática, como el manejo elemental del ratón y el teclado para gestionar
Más detallesRegión de Murcia Consejería de Educación, Ciencia e Investigación. Manual Usuario FCT
. Manual Usuario FCT Murcia, 9 de Julio de 2007 Manual de Usuario FCT v1.0 pág. 2 de 73 ÍNDICE Manual Usuario FCT...1 1. Tipos de usuarios... 4 2. Modelo de navegación... 5 3. Servicios... 6 3.1. Convenios...
Más detallesTema : ELECTRÓNICA DIGITAL
(La Herradura Granada) Departamento de TECNOLOGÍA Tema : ELECTRÓNICA DIGITAL.- Introducción. 2.- Representación de operadores lógicos. 3.- Álgebra de Boole. 3..- Operadores básicos. 3.2.- Función lógica
Más detallesH E R R A M I E N T A S D E A N Á L I S I S D E D A T O S HERRAMIENTAS DE ANÁLISIS DE DATOS
H E R R A M I E N T A S D E A N Á L I S I S D E D A T O S HERRAMIENTAS DE ANÁLISIS DE DATOS Una situación que se nos plantea algunas veces es la de resolver un problema hacia atrás, esto es, encontrar
Más detallesEsta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro
USAR MYSQL EN PHP PHP tiene una librería de funciones nativas para conectarse a las base de datos MySQL. Por un lado reconoce la librería mysql y por otro mysqli. Se recomienda el uso de mysqli dado que
Más detallesEcuaciones de primer grado con dos incógnitas
Ecuaciones de primer grado con dos incógnitas Si decimos: "las edades de mis padres suman 120 años", podemos expresar esta frase algebraicamente de la siguiente forma: Entonces, Denominamos x a la edad
Más detallesServicio de resolución de nombres (DNS)
Servicio de resolución de nombres (DNS) La funcionalidad de DNS (Domain Name System) es convertir nombres de máquinas, legibles y fáciles de recordar por los usuarios, en direcciones IP y viceversa. El
Más detallesSu éxito se mide por la pertinencia y la oportunidad de la solución, su eficacia y eficiencia.
APUNTES PARA EL CURSO PROCESOS COGNITIVOS: RESOLUCIÓN DE PROBLEMAS Y TOMA DE DECISIONES Elaborado por Vicente Sisto Campos. Se trata de la confluencia de la capacidad analítica del equipo de identificar
Más detallesUnidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)
Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.
Más detallesHoja1!C4. Hoja1!$C$4. Fila
CAPÍTULO 6......... Cálculo y funciones con Excel 2000 6.1.- Referencias De Celdas Como vimos con anterioridad en Excel 2000 se referencian las celdas por la fila y la columna en la que están. Además como
Más detallesLa Gestión Operativa: La Clave del Éxito.
La Gestión Operativa: La Clave del Éxito. Objetivos Contenidos 1. Ser capaces de planificar y seguir, de una forma operativa, programas y proyectos. 2. Conocer las técnicas adecuadas para la gestión eficaz
Más detallesColegio Alexander von Humboldt - Lima. Tema: La enseñanza de la matemática está en un proceso de cambio
Refo 07 2004 15 al 19 de noviembre 2004 Colegio Alexander von Humboldt - Lima Tema: La enseñanza de la matemática está en un proceso de cambio La enseñanza de la matemática debe tener dos objetivos principales:
Más detallesMANUAL DE USUARIO ARCHIVO
MANUAL DE USUARIO ARCHIVO ÍNDICE Páginas 1. INTRODUCCIÓN... 1 2. MENÚ PRINCIPAL... 2 2.1 TABLAS... 2 2.1.1. Localización... 4 2.1.2. Tipos de Documentos... 4 2.1.3. Tipos Auxiliares... 6 2.2. DOCUMENTOS...
Más detallesPrograma diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L.
Manual de Usuario Programa diseñado y creado por Contenido 1. Acceso al programa... 3 2. Opciones del programa... 3 3. Inicio... 4 4. Empresa... 4 4.2. Impuestos... 5 4.3. Series de facturación... 5 4.4.
Más detallesPráctica del paso de generación de Leads
Práctica del paso de generación de Leads La parte práctica de este módulo consiste en poner en marcha y tener en funcionamiento los mecanismos mediante los cuales vamos a generar un flujo de interesados
Más detallesPROPUESTAS COMERCIALES
PROPUESTAS COMERCIALES 1. Alcance... 2 2. Entidades básicas... 2 3. Circuito... 2 3.1. Mantenimiento de rutas... 2 3.2. Añadir ofertas... 5 3.2.1. Alta desde CRM... 5 3.2.2. Alta desde el módulo de Propuestas
Más detallesManual de uso básico de la aplicación
Manual de uso básico de la aplicación Autor del documento Centro de Apoyo Tecnológico a Emprendedores, Fundación Parque Científico y Tecnológico de Albacete Datos de contacto E-Mail: bilib@bilib.es Página
Más detallesEXTRACTO Descripción del uso y manejo de SIRAIS 1.2
Manual de usuario EXTRACTO Descripción del uso y manejo de ELABORADO POR Dr. Javier Rodríguez Suárez Director General de Difusión e Investigación Ing. José Joel Lucero Morales Jefe de Enseñanza de la Dirección
Más detallesManual de ayuda para crear y gestionar Tareas, como actividad evaluable
Manual de ayuda para crear y gestionar Tareas, como actividad evaluable Contenido TAREAS.... 3 CONFIGURACIÓN.... 3 GESTIÓN Y CALIFICACIÓN DE TAREAS.... 8 TAREAS. Mediante esta herramienta podemos establecer
Más detallesProblemas fáciles y problemas difíciles. Cuando a los niños les planteamos problemas de suma y resta, Laura dejó sin resolver el siguiente problema:
Problemas fáciles y problemas difíciles Alicia Avila Profesora investigadora de la Universidad Pedagógica Nacional Cuando a los niños les planteamos problemas de suma y resta, Laura dejó sin resolver el
Más detallesCAPÍTULO I: UNA PRESENTACIÓN EN POCOS MINUTOS
CAPÍTULO I: UNA PRESENTACIÓN EN POCOS MINUTOS El objetivo de este primer capítulo es enseñar los comandos y operaciones básicas de PowerPoint, desde la creación del archivo hasta su presentación propiamente
Más detallesMANUAL DE USUARIO DE LA HERAMIENTA CONFIGURACION DE PRESUPUESTOS PARA DISTRIBUIDORES
MANUAL DE USUARIO DE LA HERAMIENTA CONFIGURACION DE PRESUPUESTOS PARA DISTRIBUIDORES Joma ha creado una herramienta con la cual, usted, como distribuidor, podrá generar presupuestos de las agrupaciones
Más detalles5.8. REGISTRO DE FACTURAS.
5.8. REGISTRO DE FACTURAS. Una factura es un documento probatorio de la realización de una operación económica que especifica cantidades, concepto, precio y demás condiciones de la operación. Este módulo
Más detallesNOVEDADES Y MEJORAS. datahotel versión 9.00 TRABAJAR CON I.V.A INCLUIDO
NOVEDADES Y MEJORAS Continuando con nuestra política de mejora, innovación y desarrollo, le presentamos la nueva versión 9.00 de datahotel que se enriquece con nuevas funcionalidades que aportan soluciones
Más detallesModelos y Bases de Datos
Modelos y Bases de Datos MODELOS Y BASES DE DATOS 1 Sesión No. 10 Nombre: Álgebra Relacional Contextualización En qué consiste el álgebra relacional? Se ha planteado hasta el momento cada uno de los procesos
Más detallesHERRAMIENTAS DE ACCESS ACCESS 2010. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE
HERRAMIENTAS DE ACCESS ACCESS 2010 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE HERRAMIENTAS DE ACCESS En esta unidad veremos algunas de las herramientas incorporadas de Access que
Más detallesPatrones de Diseño Orientados a Objetos 2 Parte
Patrones de Diseño Orientados a Objetos 2 Parte Patrón Observador Observer (Patrón de Comportamiento) Patrón Observador Observer Observador (en inglés: Observer) es un patrón de diseño que define una dependencia
Más detallesTUTORIAL SOBRE EL MANEJO DE LA OFICINA VIRTUAL PARA LA REMISIÓN DE INFORMES DE DOCENCIA VIRTUAL VÍA ADMINISTRACIÓN ELECTRÓNICA
TUTORIAL SOBRE EL MANEJO DE LA OFICINA VIRTUAL PARA LA REMISIÓN DE INFORMES DE DOCENCIA VIRTUAL VÍA ADMINISTRACIÓN ELECTRÓNICA. COORDINADORES DE MÓDULOS/MATERIAS/ ASIGNATURAS VIRTUALES DE POSGRADOS CON
Más detallesInstructivo Asesoría Básica Comunidad Virtual SharePoint 2010
Instructivo Asesoría Básica Comunidad Virtual SharePoint 2010 CONTENIDO 1. Qué es? 2. Cómo crear y acceder a la Comunidad Virtual en Microsoft SharePoint 2010? Ejemplo. 3. Qué tengo en la página de inicio
Más detallesDISENO DE CURSOS AUTOGESTNOS. Mana del Socorro Perez Alcala
DISENO DE CURSOS AUTOGESTNOS Mana del Socorro Perez Alcala La metodología que seguimos en el Centro de Educación Continua, Abierta y a Distancia (CECAD) cuando a nosotros llega un maestro o un experto
Más detallesSEGUIMIENTO EDUCATIVO. Comunicaciones
SEGUIMIENTO EDUCATIVO Comunicaciones Diciembre 2013 Índice 1.INTRODUCCIÓN...1 2.ACCESO...1 3.MENSAJERÍA...2 3.1 Grupos a los que pertenezco...3 3.2 Enviar mensaje...4 3.3 Mis mensajes...7 3.4 Papelera
Más detallesManual de operación Radix Spot Manager v3
Manual de operación Radix Spot Manager v3 Todos los derechos reservados Copyright 2005 Soluciones Radix, S.A. de C.V. Página 1 Tabla de contenidos Tabla de contenidos...2 Pantalla principal...3 Uso de
Más detallesConclusiones. Particionado Consciente de los Datos
Capítulo 6 Conclusiones Una de las principales conclusiones que se extraen de esta tesis es que para que un algoritmo de ordenación sea el más rápido para cualquier conjunto de datos a ordenar, debe ser
Más detallesManual Usuario Manual Usuario
Manual Usuario Con la colaboración de : TABLA DE CONTENIDOS 1 Introducción... 7 2 Consideraciones generales... 8 2.1 Perfiles de acceso... 8 2.1.1 Administrador Intress... 8 2.1.2 Administrador entidad...
Más detallesMANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO
MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO Fecha última revisión: Marzo 2016 INDICE DE CONTENIDOS HERRAMIENTA DE APROVISIONAMIENTO... 2 1. QUÉ ES LA HERRAMIENTA DE APROVISIONAMIENTO... 2 HERRAMIENTA
Más detallesCÓMO CREAR NUESTRO CATÁLOGO
CÓMO CREAR NUESTRO CATÁLOGO Mediante la aplicación (http://www.prensasoft.com/programas/conline) podemos crear nuestros propios catálogos. Para crear un catálogo necesitamos: - Varios productos que mostrar,
Más detallesMATERIAL 2 EXCEL 2007
INTRODUCCIÓN A EXCEL 2007 MATERIAL 2 EXCEL 2007 Excel 2007 es una planilla de cálculo, un programa que permite manejar datos de diferente tipo, realizar cálculos, hacer gráficos y tablas; una herramienta
Más detallesBase de datos en la Enseñanza. Open Office
1 Ministerio de Educación Base de datos en la Enseñanza. Open Office Módulo 1: Introducción Instituto de Tecnologías Educativas 2011 Introducción Pero qué es una base de datos? Simplificando mucho, podemos
Más detallesInside. Gestión de Expedientes y Documentos Electrónicos
Inside Gestión de Expedientes y Documentos Electrónicos Documento de Integración Sistemas Desarrollo Versión 1.0 Fecha de revisión 25/02/2013 Realizado por Sistemas Desarrollo Inside v_1.0 / 1 ÍNDICE 1
Más detallesDominios y Subtipos en Geodatabase
Dominios y Subtipos en Geodatabase En el ámbito de los Sistemas de Información Geográfica podemos concretar dos tipos de validación de los datos geográficos y alfanuméricos, por un lado la validación Topológica
Más detallesCENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES, BILIB RECETA TECNOLÓGICA REALIZACIÓN DE COPIAS DE SEGURIDAD CON GSYNC
CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES, BILIB RECETA TECNOLÓGICA REALIZACIÓN DE COPIAS DE SEGURIDAD CON GSYNC Fecha: 11 de Abril de 2012 Licencia Autor del documento: Centro de Apoyo Tecnológico a
Más detallesQué es y para qué sirve Excel2007?
Excel es un programa del tipo Hoja de Cálculo que permite realizar operaciones con números organizados en una cuadrícula. Es útil para realizar desde simples sumas hasta cálculos de préstamos hipotecarios.
Más detallesPrefDataImporter Manual de Usuario Noviembre de 2013
PrefDataImporter Manual de Usuario Noviembre de 2013 Ronda Guglielmo Marconi, 9 Parque Tecnológico 46980 Paterna Valencia Spain T +34 96 338 99 66 ventas@preference.es Por favor, recicle Documento PrefSuite
Más detallesSISTEMA ETAP en línea Estándares Tecnológicos para la Administración Pública
JEFATURA DE GABINETE DE MINISTROS SISTEMA ETAP en línea Estándares Tecnológicos para la Administración Pública Manual para los Organismos Índice Índice... 2 Descripción... 3 Cómo solicitar la intervención
Más detallesLiderazgo se genera en el lenguaje
Liderazgo se genera en el lenguaje Para nosotros, un buen punto de partida para comprender el liderazgo está en el reconocimiento de que éste se da en el lenguaje. El liderazgo es un fenómeno producido
Más detallesOperación de Microsoft Excel. Guía del Usuario Página 79. Centro de Capacitación en Informática
Manejo básico de base de datos Unas de las capacidades de Excel es la de trabajar con listas o tablas de información: nombres, direcciones, teléfonos, etc. Excel puede trabajar con tablas de información
Más detallesInterpolación polinómica
9 9. 5 9. Interpolación de Lagrange 54 9. Polinomio de Talor 57 9. Dados dos puntos del plano (, ), (, ), sabemos que ha una recta que pasa por ellos. Dicha recta es la gráfica de un polinomio de grado,
Más detallesGRABACIÓN DE DATOS Apuntes de mecanografía
GRABACIÓN DE DATOS Apuntes de mecanografía Página 1 El arte de la mecanografía Convertirse en un buen mecanógrafo es sólo cuestión de tiempo, entrenamiento y práctica. No requiere ninguna habilidad especial.
Más detallesUF0320: Aplicaciones informáticas de tratamiento de textos
UF0320: Aplicaciones informáticas de tratamiento de textos TEMA 1. Conceptos generales y características fundamentales del programa de tratamiento de textos TEMA 2. Introducción, desplazamiento del cursor,
Más detallesLectura: LA PIRÁMIDE DE KEOPS. Consideraciones didácticas y soluciones
Lectura: LA PIRÁMIDE DE KEOPS Consideraciones didácticas y soluciones 1 El tema de las pirámides nos parece atractivo y motivador para el alumnado y, por ello, nos sirve como excelente punto de partida
Más detallesPráctica 2 de Microsoft Access
Práctica 2 de Microsoft Access Israel González Carrasco (israel.gonzalez@uc3m.es) María Belén Ruiz Mezcua (mbelen.ruiz@uc3m.es) 1. FORMULARIOS 1) En primer lugar se creará una base de datos con el nombre
Más detallesQUÉ ES UN SERVIDOR Y CUÁLES SON LOS PRINCIPALES TIPOS DE SERVIDORES? (PROXY, DNS, WEB, FTP, SMTP, ETC.) (DV00408A)
APRENDERAPROGRAMAR.COM QUÉ ES UN SERVIDOR Y CUÁLES SON LOS PRINCIPALES TIPOS DE SERVIDORES? (PROXY, DNS, WEB, FTP, SMTP, ETC.) (DV00408A) Sección: Divulgación Categoría: Herramientas Informáticas Fecha
Más detalles