Escolar Documentos
Profissional Documentos
Cultura Documentos
Prctica0
Abordandolacreacindeunsistemainteligente
(ProfesorJoseJesusGarcaRueda)
1. Objetivos.
Objetivosdidcticos:
o Empezar a pensar en trminos de cmo abordar problemas que
involucreninteligenciaartificial.
o Provocar la necesidad de profundizar en nuevas tcnicas, ms all de las
conocidas.
Objetivosespecficos:
o Analizar mediante tcnicas de caja negra una aplicacin inteligente,
tratandodeaveriguarcmofunciona.
o Disear una aplicacin similar, valorando el empleo de distintas
estrategias.
Entregables:
o Informe(entre2y4pginas)querecoja:
Elanlisisdelaaplicacindepartida.
El proceso de diseo y de la nueva aplicacin y solucin
finalmenteadoptada.
Lasmejorasfinales.
Estaprcticahabrderealizarseporparejas.
2. AnlisisdeAkinator.
Vamosatratardeaveriguar,osuponer,cmofuncionaAkinator,unodelosadivinosms
popularesdelaRed.Podisencontrarloaqu:
http://es.akinator.com/
Jugadunratoconl,pensadentresocuatropersonajes,ycuandooshayisfamiliarizado
con la dinmica de la aplicacin, proponed vuestras propias respuestas a las siguientes
preguntas:
Porqulasprimeraspreguntasnosonsiemprelasmismas?
Apartirdequpreguntaparecequeempiezaadirigirsemsalobjetivo?
Son20preguntasmuchasopocasparadistinguiraunpersonaje?
Cuandonoloadivina,proponeunpersonajemuydistintoalbuscado?
Porquestinteresado,cuandofalla,ensaberqupersonajeera,peronopide
nuevaspreguntasparadistinguirlo?
Recordad que el nico medio del que disponis para responder a estas preguntas es
seguir jugando con la herramienta, pero de manera dirigida: vuestras interacciones con
ellanohandeserfortuitassinoorientadasaaveriguarlainformacinquenecesitispara
crearvuestropropioadivino.
3. Abordandoelproblemadediseo.
Enprimerlugar,trataremosdedefinirnuestroproblemadeunaformasimplificada,afin
depoderrazonarsobrelconmayorfacilidad:
Supongamos un nmero limitado y conocido, pero muy grande, de personajes, definidos
porunconjuntotambinlimitado,peromayorde20,decaractersticas(llevagafas?usa
sombrero?). Nuestro problema consiste en disear una arquitectura lgica capaz de
localizar a un personaje de nuestra coleccin a travs de 20 preguntas que puedan ser
respondidas como S o NO (adicionalmente, trataremos de contemplar tambin casos
dudosos,puedeques/puedequeno,opreguntasquenoapliquen).
Actividad: Plantead el algoritmo bsico de funcionamiento de la aplicacin (desde un
punto de vista funcional, no estructural, esto es, lo que es capaz de hacer, no cmo es
capazdehacerlo).Estoconsiste,bsicamente,endescribirsistematizadamenteelproceso
deinteraccindelusuarioconlaaplicacin.
Siosfijis,elprocesodediseodeunaherramientaquesecomportedelaformadescrita
anteriormenteconsistir,fundamentalmente,enresponderlassiguientespreguntas:
Cmoelijoqupreguntahaceracontinuacin?
Cmorelacionoelconjuntodepreguntasconeldepersonajes?
Cmo voy limitando el conjunto de personajes posibles, segn avanzan las
preguntas?
4. Primerintento:estrategiasdebsqueda.
Las primeras tcnicas que intentaremos aplicar para resolver nuestro problema son las
vistasenelprimertemadelaasignatura,porserlasmejorconocidaspornosotroshasta
lafecha:lastcnicasdebsqueda.
5. Segundointento:rbolesdedecisin.
6. Tercerintento:Tablacruzada.
Si nos damos cuenta, hay una asociacin bsica en el problema que cualquier solucin
adoptada debera abordar: la asociacin entre preguntas y personajes. Se puede pensar
envariasformasderesolveresaasociacin,siendounadelasmsdirectaslasiguiente:
Paracadapregunta,hedesaberqupersonajeslarespondenafirmativamente.
Estainformacinpodrarepresentarlamedianteunatablacomolasiguiente:
Personaje1 Personaje2 Personaje3 Personaje
m
Pregunta1 x x
Pregunta2 x x x
. x x x x
Preguntan x
En esta tabla, una casilla marcada con una x indica que un personaje respondera
afirmativamente a una pregunta: por ejemplo, la interseccin entre la pregunta Es
mujer?yelpersonajeIsabelAllendeestaramarcadaconunax.
Si nos fijamos, una tabla como sta no slo nos permite resolver la asociacin anterior
(Para cada pregunta, he de saber qu personajes la responden afirmativamente), sino
quetambinnosresuelvelaasociacincomplementaria,locualnosvaaresultarmuytil,
apocoquelopensemos: paracadapersonaje,podemosfcilmentesaber qupreguntas
responderaafirmativamente.
Actividad 1: Respuesta a las preguntas del apartado 3. De nuevo, la primera cuestin a
plantearnos es si esta estructura nos permitir encontrar una respuesta sencilla para las
cuestionesquedefinenlaesenciadenuestroproblema.Qurespuestasnosofreceesta
solucinalaspreguntasdeantes?
Cmoelijoqupreguntahaceracontinuacin?
Cmorelacionoelconjuntodepreguntasconeldepersonajes?
Cmovoylimitandoelconjuntodepersonajesposibles?
Actividad 2: Planteamiento de un algoritmo. Los pasos se repiten: una vez evaluada, de
manera inicial, la adecuacin de esta solucin a nuestro problema, la siguiente labor es
concebirunalgoritmoque,empleandolatabladedobleentradadescrita,consigaadivinar
el personaje pensado. Como siempre tambin, es muy posible que necesitis almacenar
informacinadicional.
Actividad 3: Problemas. De nuevo, toca completar el anlisis tratando de descubrir
posiblespuntosdbilesaestasolucin.Porejemplo,puedeserunproblema lalentitud
7. Propuestafinaldesolucin.
Tras analizar las tres posibles estrategias a seguir, llegar el momento de pararse un
momentoyelegirunaovarias.
Paraempezar,seosocurrealgunaotraestrategiaque,unavezconocidoenprofundidad
elproblema,podraresultaradecuadayquenosehayamencionadoaqu?
Si no es as, habr que seleccionar entre las ya analizadas, y seguir trabajando con ella
llegandoamayoresnivelesdedetalle.Aunquecomoacabamosdemencionarexisteotra
opcin: emplear varias. Por ejemplo, se puede pensar en utilizar una estrategia para las
primeraspreguntas(que,porejemplo,permitahacerunaseleccinentrevariosconjuntos
disjuntosdepersonajes),yotradiferenteparalasltimas(que,siguiendoconelejemplo
anterior,vayaorientadaabuscardentrodelconjuntopreseleccionado).
Pensad un poco sobre el asunto, e incluid en el entregable de la prctica una breve
descripcindevuestrasolucinfinal.
8. Otrosaspectosaincluir.
Hayunpardeelementosquesernmuydeseablesennuestroadivino,yalosquehabr
queprestarunadebidaatencinsiesquenosehahechoya.
El primero de estos aspectos es el aprendizaje: va a ser capaz nuestro sistema de
aprendersobrelamarcha,refinandosuspreguntas,personajes,etc.?
Actividad 1: Preguntas iniciales sobre el aprendizaje. Meditad un poco sobre las
siguientescuestiones:
Cuandonuestroadivinofalle,quinformacindeberapedirlealusuarioycmo
deberaemplearla?
Cundo debera nuestro adivino aadir un nuevo personaje? Es necesario que
pidapreguntasparacaracterizardeentradaadichonuevopersonaje?
Cundodeberaelsistemapedirnuevaspreguntas?
Actividad 2: Algoritmo de aprendizaje. A la luz de lo respondido a las anteriores
cuestiones, elaborad un pequeo algoritmo de aprendizaje para el adivino, enunciando
cadaunodesuspasos.
9. Paralosquenotenganbastantetodava