PROGRAMACIÓN ORIENTADA A LA INTELIGENCIA ARTIFICIAL

Documentos relacionados
1 Introducción al lenguaje PROLOG

CUADERNO DE CÁLCULO:

2).- Nombre de función. Para obtener una lista de funciones disponibles, haga clic en una celda y presione MAYÚSC+F3.

A B MIN C D E F MAX x E.T.S.I. INFORMÁTICA 4º CURSO. INTELIGENCIA ARTIFICIAL E INGENIERÍA DEL CONOCIMIENTO

FUNCIONES EN EXCEL III

PHP: Lenguaje de programación

FUNCIONES NUMÉRICAS EXCEL Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Operaciones básicas con hojas de cálculo

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática

Ejemplos y ejercicios de. Estadística Descriptiva. yanálisis de Datos. 2 Descripción estadística de una variable. Ejemplos y ejercicios.

JUNIO Opción A

Algoritmos y programas. Algoritmos y Estructuras de Datos I

19 a Competencia de MateClubes Primera Ronda Nivel Preolímpico

MATEMÁTICA DE CUARTO 207

4.- Leer tres números y escribirlos en orden decreciente

FICHA DE REPASO: ESTADÍSTICA

Unidad 2: Ecuaciones, inecuaciones y sistemas.

Matemáticas III. Geometría analítica

ALGORITMO MINIMAX. o Nodo: Representa una situación del juego. o Sucesores de un nodo: Situaciones del juego a las que se

UNIDAD: NÚMEROS Y PROPORCIONALIDAD. Los elementos del conjunto IN = {1, 2, 3, 4, 5, 6, 7,...} se denominan números

Sistemas de ecuaciones lineales

Guía de uso de DERIVE. 2) Botones de acceso rápido Al colocar el cursor sobre el botón aparece un recuadro con su función

Competencias TIC para profesionales Del Siglo 21

HOJA DE TRABAJO UNIDAD 3

Opuesto de un número +3 + (-3) = (+5) = 0. N = 0,1, 2,3,4, Conjunto de los números naturales

Eje temático: Álgebra y funciones Contenidos: Raíces cuadradas y cúbicas - Racionalización Ecuaciones irracionales. Nivel: 3 Medio

Enteros (Z):..., -3, -2, -1, 0, 1, 2, 3,... Números enteros (positivos o negativos), sin decimales. Incluye a los naturales.

TEMA 4. ESTRUCTURAS DE CONTROL

Programcaión Básica. Secuencias de Control y Repetición. Arturo Vega González.

GUÍAS DE TRABAJO. Matemáticas. Material de trabajo para los estudiantes UNIDAD 3. Preparado por: Héctor Muñoz

1. Sea A una matriz cuadrada n x n, conteniendo la siguiente información en cada fila i. para 1 j k n para k

Estadística Inferencial. Estadística Descriptiva


CUADERNO DE EJERCICIOS Y PRACTICAS EXCEL AVANZANDO

APUNTES ACERCA DE LA ECUACIÓN DE LA RECTA

Preparación para Álgebra 1 de Escuela Superior

1º ESO TEMA 9 ESTADÍSTICA Y PROBABILIDAD

Actividad introductoria: Algunas personas realizando actividades diarias

Con miras a conocer la metodología que se aplica en el Método SIMPLEX, tenemos a continiacion un ejemplo:

Algebra lineal y conjuntos convexos

Juega con los números Página 11

Estructura de Datos. Arreglos. Experiencia Educativa de Algorítmica ESTRUCTURA DE DATOS - ARREGLOS 1

Maribel Martínez y Ginés Ciudad-Real Fichas para mejorar la atención MATRIZ DE LETRAS

ULADECH Escuela Profesional de Contabilidad

Cursada Segundo Cuatrimestre 2012 Guía de Trabajos Prácticos Nro. 1

Problema de las N Reinas. Resolución paralela

Tema: Los Grafos y su importancia para la optimización de redes.

Guía del estudiante. Clase 16 Tema: Números racionales - orden en los racionales y representación decimal. Lectura. Colombia Biodiversa Amenazada

TEORÍA DE GRAFOS Ingeniería de Sistemas

EJERCICIO 13 DE EXCEL. FUNCIONES DE BÚSQUEDA: BUSCARV y BUSCARH. Estas funciones buscan en una tabla y devuelven la correspondencia con un determinado

Trabajo 2. Jonathan A. Trejos O. El primer problema es uno típico de teoría de números, en el cual se puede apreciar la simetría.

SISTEMAS DE ECUACIONES LINEALES. Método de reducción o de Gauss. 1º DE BACHILLERATO DPTO DE MATEMÁTICAS COLEGIO MARAVILLAS AUTORA: Teresa González.

El TAD Grafo. El TAD Grafo

UNIDAD DE APRENDIZAJE I

LABORATORIO Nº 8 FILTROS EN EXCEL

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

Estrategias en Juegos

Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011

Utilización de Funciones en OpenOffice.org Calc

Teoría de grafos y optimización en redes

Sistemas Numéricos Transversal de Programación Básica Proyecto Curricular de Ingeniería de Sistemas

Dos matrices son iguales cuando tienen la misma dimensión y los elementos que ocupan el mismo lugar en ambas son iguales

INSTRUCCIONES AJEDREZ

APÉNDICE: EJERCICIOS DE PROGRAMACIÓN JESÚS GONZÁLEZ BOTICARIO

4. Operadores Operador asignación

Estructuras de Repetición (Repita para)

Ajedrez. Posición inicial y objetivo del juego

Un grafo G = (V, E) se dice finito si V es un conjunto finito.

JUNIO Bloque A

ECUACIÓN DE LA RECTA

Práctica 2: Periodicidad

INSTITUCIÓN EDUCATIVA LICEO DEPARTAMENTAL ÁREA DE TECNOLOGÍA E INFORMÁTICA

Los números enteros. Dado que los enteros contienen los enteros positivos, se considera a los números naturales son un subconjunto de los enteros.

Soluciones - Primer Nivel Juvenil

Cifras significativas

CONJUNTO DE LOS NUMEROS ENTEROS

1. Progresiones aritméticas

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

PROBLEMAS DE PROBABILIDAD. 3. Calcula la probabilidad de que al lanzar dos dados la suma de sus puntos sea: a) igual a 5 b) mayor que 10

Las fórmulas de Excel siempre comienzan por un signo igual (=) lo cual indica que los caracteres siguientes constituyen una fórmula.

<tipo> Tipo de dato de los elementos del vector

Guía para maestro. Múltiplos y divisores. Compartir Saberes.

1.1. Instructivo Applet en Geogebra lanzamiento de una moneda n veces

5.3 CREAR FORMULARIOS

Matemáticas II Magisterio (Primaria) Curso Problemas de repaso

Problema nº 1: Dominó/Dominó triangular

Tema 3: El Método Simplex. Algoritmo de las Dos Fases.

Los números enteros Z = {,-3, -2, -1, 0, 1, 2, 3, }

2.- Tablas de frecuencias

EJERCICIOS DE LA UNIDAD 5: LA HOJA DE CÁLCULO

TEMA 3: DIVISIBILIDAD

TEORIA MUSICAL VALORES DE LAS NOTAS LAS NOTAS MUSICALES. Son siete: DO, RE, MI, FA, SOL, LA, SI

Funciones y Condicionales Introducción a la Programación

Contenido 1. Definición Tipos de fracciones Fracción igual a la unidad 9 4. Fracción propia Fracción impropia Frac

REGLAMENTO DEL AJEDREZ. Tablero cuadrado 8x8 de 64 casillas con colores alternados (típicamente blanco y negro).

Transcripción:

PROGRAMACIÓN ORIENTADA A LA INTELIGENCIA ARTIFICIAL Ejercicios de programación en LISP y PROLOG prog-ia@dia.uned.es Dpto. Inteligencia Artificial E.T.S.I. Informática (UNED) C/ Juan del Rosal 16 28040 Madrid

EJERCICIOS DE PROGRAMACIÓN EN LISP 1.Ejercicios Básicos 1.1Definir una función que calcule la entropía de un suceso aleatorio que representa k modos de realización de probabilidades P 1, P 2, P 3,, P k, cuyo valor viene dado por la expresión: K H = p log p i=1 i i 1.2Definir una función que dados tres números X, Y y Z, devuelva una lista con los números ordenados por orden creciente. 1.3Definir una función que devuelva verdadero (cualquier valor distinto de NIL) o falso (NIL) dependiendo de si el menor de sus argumentos sea par o impar. Resolverlo para dos argumentos y para un número variable de éstos. 1.4Definir una función que concatene un número variable de listas (algunas pueden ser listas vacías) y átomos, comprobando qué argumentos son listas y cuáles son átomos. En el resultado de dicha concatenación se deben excluir las listas vacías. 1.5Definir las funciones SUST1 y SUST2 que reciban como argumentos una lista de asociación y una expresión simbólica L. SUST1 debe sustituir en L los primeros elementos de las parejas de la lista de asociación por sus correspondientes segundos elementos; esta sustitución la hará de forma secuencias (una sustitución puede influir en le resultado de otra sustitución anterior). SUST2 opera de forma análoga pero todas las sustituciones en la lista L deben realizarse simultáneamente (no teniendo ninguna influencia el resultado de una sustitución en las sustituciones que se realicen posteriormente). Ejemplo: > (SUST1 ( (A B) (C D) (E F) (B K) (D L) ) (A C E B D M)) (K L F K L M) > (SUST2 ( (A B) (C D) (E F) (B K) (D L) ) (A C E B D M)) (B D F K L M) 1.6Definir una función recursiva AGRUPAR que reciba dos argumentos, compruebe cuál de ellos es un átomo y cuál una lista, y a continuación introduzca el átomo junto a los átomos iguales que hubiera en la lista o al final de la misma, en el caso de no encontrar semejantes. Por ejemplo: > (AGRUPAR (A A A B B B C C C) B) (A A A B B B B C C C ) 2

1.7Definir una función APLANAR que reciba como argumento una expresión simbólica y elimine todos los paréntesis que aparezcan en esa expresión, devolviendo como resultado una lista con todos los átomos que aparezcan en el argumento, de tal forma que todos los átomos numéricos aparezcan en primer lugar, ordenados y sin repeticiones, seguidos de los que sean literales, también sin repeticiones. Ejemplo: > (APLANAR ( (1 2 A) (9 (B C 4) ) ( ( ( ( 3 C ( 7 ) ) ) ) ) ) ) ( 1 2 3 4 7 9 A B C) 1.8Definir una macro MI-IF que reciba tres argumentos, siendo el tercero opcional; si el primero es cierto devuelve el segundo, si no devuelve el tercero o NIL si éste no existiera. 1.9Definir una macro MI-DO que tenga exactamente la misma funcionalidad que la macro DO, pero que además de devolver el valor correspondiente cuando se cumpla la condición de finalización, devuelva un segundo valor que indique el número de iteraciones que se han realizado. No se deben utilizar las primitivas DO, DO*, DOLIST, DOTIMES. 1.10Definir una matriz de 10 filas y 20 columnas, rellenarla, asignando a cada elemento el valor de la suma de su fila más su columna y obtener una lista de salida con los elementos de la diagonal. 2.Ejercicios avanzados 2.1Un móvil es un tipo de escultura abstracta construida por elementos que pueden tener un movimiento relativo unos respecto a otros. Puede definirse un tipo particularmente simple de móvil de forma recursiva como, o bien un objeto suspendido en el aire, o bien una barra con un submóvil colgando de cada extremo. Si se asume que cada barra está suspendida de su punto medio, puede representarse un móvil como un árbol binario. Los objetos suspendidos ser representarán como números que corresponderán al peso de cada objeto. Los móviles más complejos se representarán como listas de tres elementos; el primero de ellos será un número igual al peso de la barra, y los otros dos representan submóviles unidos a los extremos de la barra. Un móvil debe ser balanceado, es decir, los dos submóviles de los extremos de la barra deben tener el mismo peso. definir MOVILP, una función que determina si un móvil está o no balanceado. Devolverá NIL si no lo está y el peso total del móvil en caso contrario. > (MOVILP '(6 (4 (2 1 1) 4) (2 5 (1 2 2)))) 30 2.2El juego de la vida es un juego de simulación que se desarrolla en una cuadrícula, de modo que en cada casilla pueda haber un organismo. Cada casilla se puede encontrar ocupada o vacía. Dos organismos se consideran vecinos si sus casillas son contiguas en sentido horizontal, vertical o diagonal. Por tanto, cada casilla tiene ocho casillas vecinas. Las reglas del juego son: - En cada casilla vacía nace un nuevo organismo si dicha casilla tiene exactamente tres vecinos. 3

- Una casilla ocupada que tenga cero o un vecino muere por aislamiento. - Una casilla ocupada con cuatro o más vecinos muere por superpoblación. - Una casilla ocupada con dos o tres vecinos sobrevive. Todos los nacimientos y muertes ocurren simultáneamente y la aplicación de las leyes anteriores produce una nueva generación. El juego continúa hasta que suceda uno de los siguientes hechos: - La generación actual es igual que la generación inicial. - La generación actual es igual que dos generaciones anteriores. - Se ha alcanzado el número máximo de generaciones prefijado. 2.3Escribir REINAS, una función que devuelva la solución al problema de las ocho reinas. Se trata de situar a ocho reinas en un tablero de ajedrez, de manera que ninguna de ellas sea atacada por otra, es decir, no puede haber dos reinas en la misma fila, columna o diagonal. EJERCICIOS DE PROGRAMACIÓN EN PROLOG 3.Ejercicios básicos 3.1Una agencia matrimonial guarda por cada uno de sus solicitantes una ficha acorde a los siguientes hechos: hombre(n,t,c,e). mujer(n,t,c,e). donde n es el nombre del hombre o la mujer, t es su talla (grande, mediana, pequeña), c es el color de su pelo (rubio, moreno, pelirrojo, castaño) y e es su edad (joven, maduro, anciano). gustos(n,m,l,d)indica que a la persona n le gusta la música del tipo m (clásica, pop, jazz), la literatura del género l (aventuras, ciencia ficción, detectives) y el deporte de la variedad d (tenis, natación, yoga). busca(n,t,c,e) expresa que la persona n busca una pareja de talla t con color de pelo c y edad e. Se considera que dos personas x e y, de diferentes sexos, son compatibles si x es compatible con y e y es compatible con x. En primer lugar, x es compatible con y si x busca a alguien con las características físicas de y y si los gustos de x e y en las áreas de música, deporte y literatura coinciden. Diseñe un programa que determine la compatibilidad de una pareja. 4

3.2Defina predicados par(x) e impar(x) que determinen si un número natural es par o impar. Defina asimismo un predicado divide(x,y,z) que compute divisiones enteras utilizando la substracción repetida. 3.3Escriba un predicado substituye(x,y,xs,ys), donde Ys es la lista que resulta de substituir por Y todas las ocurrencias de X en la lista Xs. Idem para permutacion_par(xs,ys) y permutacion_impar((xs,ys), donde Xs, Ys son listas. 4.Avanzados 4.1Escriba dos versiones de un predicado que calcule derivadas de funciones de variable entera, de modo que una de ellas utilice cuts y la otra no. 4.2Escriba un programa que determine quién de entre 3 jugadores de póquer tiene la mejor jugada. 4.3Los vértices de un grafo se numeran de 0 a n. En una base de datos Prolog, a cada uno de los arcos del grafo corresponde un hecho arco(i,j), donde i es el origen y j el destino del arco. Diseñe un predicado que defina camino(x,y,l), donde L es la lista que representa un camino sin ciclos que conduce del vértice x al y. 5