13
8 8 Aprendizaje computacional Aprendizaje computacional Nelson Becerra Correa Universidad Distrital Fundación FABBECOR.ONG Edgar Altamirano Carmona Universidad Autónoma de Guerrero Fundación FABBECOR.ONG Resumen En el presente artículo, se hace, el diseño de un programa; que utiliza aprendizaje computacional. Diseñamos una red neuronal que nos permite aprender un mate básico, Rey y Dama Vs Rey. Utilizaremos el aprendizaje supervisado, Basándonos en el al- goritmo de Zermelo. Los datos generales y la estructura de la red tienen como base el trabajo del autor Nelson Becerra Correa que se presenta en el libro Técnicas de inteligencia Artificial para juegos publicado por la Universidad Distrital. La base de datos se obtiene del trabajo de Eugenio Nalimov 1 . 1 http://www.chessbase.com/EvENts/events.asp?pid=155 machote final.indd 8 01/11/2012 03:58:50 p.m.

Aprendizaje computacional - 939Xrevistavinculos.udistrital.edu.co/...computacional-Nelson-Becerra.pdf · Aprendizaje computacional ... , Análisis de componentes principales ... putacional

  • Upload
    vancong

  • View
    224

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Aprendizaje computacional - 939Xrevistavinculos.udistrital.edu.co/...computacional-Nelson-Becerra.pdf · Aprendizaje computacional ... , Análisis de componentes principales ... putacional

88

Aprendizaje computacionalAprendizaje computacional

Nelson Becerra Correa

Universidad Distrital

Fundación FABBECOR.ONG

Edgar Altamirano Carmona

Universidad Autónoma de Guerrero Fundación FABBECOR.ONG

Resumen

Enelpresenteartículo,sehace,eldiseñodeunprograma;queutilizaaprendizajecomputacional.

Diseñamos una red neuronal que nos permite aprender unmatebásico,ReyyDamaVsRey.

Utilizaremoselaprendizajesupervisado,Basándonosenelal-goritmodeZermelo.

LosdatosgeneralesylaestructuradelaredtienencomobaseeltrabajodelautorNelsonBecerraCorreaquesepresentaenellibroTécnicasdeinteligenciaArtificialparajuegospublicadoporlaUniversidadDistrital.

LabasededatosseobtienedeltrabajodeEugenioNalimov1.

1 http://www.chessbase.com/EvENts/events.asp?pid=155

machote final.indd 8 01/11/2012 03:58:50 p.m.

Page 2: Aprendizaje computacional - 939Xrevistavinculos.udistrital.edu.co/...computacional-Nelson-Becerra.pdf · Aprendizaje computacional ... , Análisis de componentes principales ... putacional

99

N e l s o N B e c e R R a c o R R e a - e d g a R a l t a m i R a N o c a R m o N a

Revista viculos vol. # NúmeRo #

l o sE N E R o D E 2 0 1 2V o L U M E N 9 N Ú M E R o 1

ucnív

I. Aprendizaje

Elaprendizajecomputacionalserefierealastécnicas, empleadas en computación, paracrear programas que aprendan a realizarunatareademaneraeficiente.

Dentrodeestastécnicaspodemosmencionar:

LosÁrboles de decisión y regresión,Reglasdeclasificación,Reglasdeasociación,Progra-maciónlógicainductiva,Aprendizajebasadoengrafos,AprendizajebayesianoyRedesba-yesianas,Aprendizajebasadoeninstanciasycasos,Clustering,Aprendizajeporrefuerzo.

Existen otras técnicasdeaprendizaje talescomo:

Aprendizaje basado en Kernels y SupportVectorMachines,Ensamblesdeclasificado-res, Selección de atributos, Aprendizaje se-

Abstract

Inthispaper,wemakethedesignofaprogram,whichusescom-putationallearning.

Wedesignedaneuralnetworkthatallowsustolearnabasicmat-te,KingandQueenVsKing.

WeusethesupervisedlearningalgorithmBasedonZermelo.

Generaldataandnetworkstructurearebasedontheworkofau-thorNelsonBecerraCorreapresentedinthebookArtificialIntelli-genceTechniquesforgamespublishedbytheUniversityDistrict.

ThedatabaseisderivedfromtheworkofEugeneNalimov.

Key words: Learning computer, chess, neural networks, reinforcement learning, neuron

mi-supervisado,AlgoritmosgenéticosyRe-desneuronales.

O tras técnicas de aprendizaje computacio-nalhan sidopocoutilizadas dentrode lascualespodemosmencionarLascoloniasdehormigas (ant colony optimization oACO) yde enjambres (particle swarm optimization oPSO),Modelos lineales de regresión, Baye-sianos, Modelos lineales para clasificación(funciones discriminantes,modelos genera-tivos,modelosdiscriminativos,regresiónlo-gística),Modelosbasadosenmuestreo,Pro-cesosGaussianos,Análisisde componentesprincipales,Modelosparasecuencias.

Nosotrosenestetrabajonoscentraremoselaprendizaje supervisado, y mas específica-menteenlasRedesNeuronales.

machote final.indd 9 01/11/2012 03:58:50 p.m.

Page 3: Aprendizaje computacional - 939Xrevistavinculos.udistrital.edu.co/...computacional-Nelson-Becerra.pdf · Aprendizaje computacional ... , Análisis de componentes principales ... putacional

1010

I + D A P R E N D I z A J E C o M P U T A C I o N A L

Revista viculos vol. # NúmeRo #

II. Aprendizaje supervisado

Aprendizaje supervisado: El aprendiza-je supervisado, es una técnica utilizada enciencias de la computación, cuyo objetivoes lograr que las computadoras aprendan(Aprendizaje automático) a realizaruna ta-reasinlaintervencióndeunusuario.

Dentro del aprendizaje supervisado pode-mos mencionar el aprendizaje por correc-cióndeerror,elaprendizajeporrefuerzoyelaprendizajeestocástico.

Elaprendizajeporcorreccióndeerror,ajustalospesosapartirdelosdatosdesalidoylosdatos deseados, algoritmos como percep-tron,adalineymadalineylaregladeltage-neralizadautilizanestetipodeaprendizaje.

Elaprendizajeporrefuerzo,adiferenciadelaprendizajeporcorreccióndeerror.Noin-dicalasalidaexacta,sinoqueseutilizaunaseñal de refuerzo. Si la salida obtenida co-rrespondealadesea.Para el caso del aprendizaje estocástico, serealizar cambios aleatorios y se evalúa suefecto apartirdel objetivodeseadoyde ladistribucionesdeprobabilidad.LaBoltzman Machine, ideadaporHinton,AckleyySej-nowskien1984utilizanestetipodeaprendi-zaje igualmente Cauchy Machinedesarro-lladaporSzuen1986.

Elalgoritmodeaprendizajesupervisado,es-tableceuna funciónque relaciona losdatosdeentradaconlosdesalida.

Requieredeuntutorqueleindiquesilasa-lidaqueseobtuvoeslaesperadoono.Enelcasoqueno sea sedeberá corregir el errorhastaqueseobtengalasalidadeseada.

Fundamentalmenteelaprendizajesupervi-sadoseempleadoenproblemasdeclasifica-ción,enelcualseestablecencategorías.

Esterequierede:

•necesitaunprofesorquemidaelfunciona-mientodelsistema

•manejainformacióndeerrorodecontrol

•esta información se emplea para guiar alsistema.Hayvariosalgoritmosqueesta-blecencómoserealizaestaretroalimen-tación, elmás conocido o empleado eselbacktracking

Figura 1: Arquitecturaderedneuronal2

II. Estrategias en finales de juegos.

Tablas de finales, las tablas de finales seconstruyen a partir de lo que es conocidocomo“algoritmo de Inducciónhacia atrás”ore-

2 http://clustering.50webs.com/supervisadovsnosupervisado.htmlel28denoviembrede2011

machote final.indd 10 01/11/2012 03:58:51 p.m.

Page 4: Aprendizaje computacional - 939Xrevistavinculos.udistrital.edu.co/...computacional-Nelson-Becerra.pdf · Aprendizaje computacional ... , Análisis de componentes principales ... putacional

1111

N e l s o N B e c e R R a c o R R e a - e d g a R a l t a m i R a N o c a R m o N a

Revista viculos vol. # NúmeRo #

l o sE N E R o D E 2 0 1 2V o L U M E N 9 N Ú M E R o 1

ucnív

1111

trospectivo/retrogrado,enelcualseintentaexplicarquecombinacióndejugadasquelle-varonaunadeterminadaposición.

Enelajedrezporejemplo:paraconstruirlastablasdefinales,setrabajahaciaatrásapar-tirdeunaposicióndejaquemate.Lastablasdefinales han resuelto el problemapara elajedrezconfichasquevandesde6piezas,54,3incluyendolosreyes.

Paraalgunasposicionesquesedabancomotablasseprobómedianteestastécnicas,queestaseranganables,labasededatosdetablasvenlosmatesen100movimientosomás.

Enotraspalabrasseexplicalahistoriadelaposición3

Figura 1.MateRey( ),

Dama( )VsRey.

Paraprogramarunabasededatosdefinalessedeberá:

1. Elegir una métrica de optimalidad. Lacualdefineenquepuntodelapartidaeljugadorhaganado.

2. Generar todas las posiciones posibles:Procediendodelasiguientemanera:

a. Generarunasubbasededatosquese compongade todas lasposicio-nes en las cuales el jugador A, esganador.

b. Generarunasubbasededatosquese compongade todas lasposicio-nesellascualeseljugadorBseaelganador.

c. Generarunasubbasededatosenlacual el jugadorA sea ganador in-evitableendosmovimientos.

d. GenerarunasubbasededatosenlacualeljugadorBseaelganadorin-evitableendosmovimientos.

e. Luego se generan las subbases dedatosenlascualestantoeljugadorAcomoeljugadorB,songanadoresinevitablesen3,4,5,…,njugadas.

f. Porultimoestassubbasesdedatosseenlazanhaciaatrásobteniendolatablasdefinales.

Por ejemplo, generar una base dedatos detablasparaelfinaldereyydamacontrarey(RDR),haymenosde 262144configuracio-nesposibles, sinembargopodemosreducirel dichas configuraciones debido a ciertasrestricciones,porejemplo,losreyesnopue-denestarencasillascontiguas.Igualmenteelrey enemigonodebe estar en casilla conti-

3 http://es.wikipedia.org/wiki/Base_de_datos_de_tablas_de_finalesnoviembre28de2011

machote final.indd 11 01/11/2012 03:58:52 p.m.

Page 5: Aprendizaje computacional - 939Xrevistavinculos.udistrital.edu.co/...computacional-Nelson-Becerra.pdf · Aprendizaje computacional ... , Análisis de componentes principales ... putacional

1212

I + D A P R E N D I z A J E C o M P U T A C I o N A L

Revista viculos vol. # NúmeRo #

guaconladama.Deestaforma,hayalme-nos40.000posicioneslegales.

Luegodegenerarlabasededatosyseeva-luar cadaposición, el resultar tieneque serverificadoindependientemente.Elpropósitoescomprobarlaauto-consistenciadelosre-sultadosdelabasededatos.

Porejemplo,enlaFigura1,elprogramaeva-lúa“mateentres(Rc6)”.Entoncesseobser-valaposiciónenlaFigura2,despuésRc6yseve la evaluación “mate endos “. Estasdosevaluaciones son consistentes launa con laotra. Si la evaluación de la Figura 2 fueracualquierotra,sería inconsistenteconlaFi-gura1,conloquelabasededatosnecesita-ríasercorregida.

Figura 2:JueganNegras:mateendosjugadas(Rd8oRb8)

Figura 3:JueganBlancas:mateenunajugada(Dd7)

III. Redes neuronales artificiales

Lasredes de neuronas artificialessepuedendefinircomounmodelodeaprendizajecom-putacionalinspiradoensistemanerviosodelosanimales.[3]

Los componentes principales de las redesneuronalesartificiales

Neurona: conocidacomounidadprocesado-ra,esta constituida,porunconjuntodese-ñalesdeentradaalascualesselesasociaes-tán asociadospesos (en los cuales reside elaprendizaje, de acurdo a un ajuste). Dichaunidadprocesadoratransmiteunaseñalquepuedeserinhibidoraoexcitadoraestoesde-bidoasisepasaunnivelllamadoumbral[3].

machote final.indd 12 01/11/2012 03:58:52 p.m.

Page 6: Aprendizaje computacional - 939Xrevistavinculos.udistrital.edu.co/...computacional-Nelson-Becerra.pdf · Aprendizaje computacional ... , Análisis de componentes principales ... putacional

1313

N e l s o N B e c e R R a c o R R e a - e d g a R a l t a m i R a N o c a R m o N a

Revista viculos vol. # NúmeRo #

l o sE N E R o D E 2 0 1 2V o L U M E N 9 N Ú M E R o 1

ucnív

Figura 2:RedNeuronaldeMcCulloch-Pitts.

Figura 3:ImagenSistemaderedesneuronalesmulticapa

Endondewi=sonlospesosdelaneuronaXi=lasentradasYi=Lasalida+=correspondeadexi*wiUmbral= indicaun limitequepermitea laneuronaproducirunaseñalinhibidora,exci-tadoraoinexistente

IV. Diseño de una red neuronal para el aprendizaje del un mate basico en ajedrez

En este apartado se propone del diseño deunaredneuronalpara unafinaldeajedrezdetrespiezasRey,DamacontraRey.Figura4.

Para ello se tomo como base el trabajo deNelsonBecerraCorrea,descrito en el libro:Técnicasdeinteligenciaartificialparajuego.4

Figura 4. ProblemamateDama,ReyVsRey4

5

Pasos para construir la red.

Formalizar el problema

• Serequieredeunarreglode8posicionesparaidentificarlasfilasyotrode8paralascolumnasparaladama

• Serequieredeunarreglode8posicionesparaidentificarlasfilasyotrode8paralascolumnasparaelrey

4 Técnicasdeinteligenciaartificialparajuegos,UniversidadDistritalFranciscoJosédeCaldas,Pagina...

6 Figura tomada de http://translate.google.com/translate?hl=es&langpair=en%7Ces&u=http://chess.about.com/od/tipsforbeginners/ss/KQvsK.htmDiciembre2de2011

machote final.indd 13 01/11/2012 03:58:53 p.m.

Page 7: Aprendizaje computacional - 939Xrevistavinculos.udistrital.edu.co/...computacional-Nelson-Becerra.pdf · Aprendizaje computacional ... , Análisis de componentes principales ... putacional

1414

I + D A P R E N D I z A J E C o M P U T A C I o N A L

Revista viculos vol. # NúmeRo #

• Serequieredeunarreglode8posicionesparaidentificarlasfilasyotrode8paralascolumnasparaelrey.

• Se requiere un arreglo de 2 posicionesparaidentificar

-quefichasejuega -queacciónseprodujo

Definición de la arquitectura de red.

Se opto por una red neuronalmulticapa elperceptronporsusencillez,paraeldiseñoeimplementacióndelared.

Diseño de las entradas

Laredneuronaltendrá24neuronasdeentra-da, lascuales indican laposiciónparacadaunadelasfichasRey,DamayRey.

Diseño de salidas

18neuronasde salida indicandoa cualpo-sición se deberá mover y que acción seproduce.

11 jaquemate,01muevenblancas,10mue-vennegras,11tablas

Construcción de la base de datos:

Zérmelo en 1912, demostró que todo juegobipersonaldesumaceroycon informaciónperfecta,tieneunaestrategiaganadora,estese conoce como análisis retrogrado. el cualestadadodelasiguienteforma:

Algoritmo:oanálisisretrogrado

1. M=Numerodemovimientosvalidos.

2. Mb = Secuencia de movimientos, me-diante los cuales el blanco obtiene untriunfodespuésdenmovimientos

3. Mn = Secuencia de movimientos, me-diante los cuales el negro obtiene untriunfodespuésdenmovimientos

4. Md=Lapartidaterminaentablas.

SiMd=M/(MnUMb)Lapartida terminaentablas.M=(MbUMnUMd)

Construir una base de datos completa parajuegoscomoelajedrez,go,mancala;Resultaimprobable,paraelajedrezporejemploélnu-merode jugadasvalidas esdelordende10ala120númeroimpensable.Portalrazónesaconsejabledesarrollarlaúnicamenteparafi-nalesoaperturasoproblemasenparticular.

Se inicia el desarrollo de la base de datosparaelmateenelcualdesdelaposiciónini-cialmencionadaanteriormentesequierelle-garaReyblancoenF3fijo(nosemuevedu-rantelapartida),DamablancaenE7oenH6yReynegroenH4.

LuegodesarrollamosotrapartedelabasededatosparaelmateReyblancoenF3fijo(Nosemuevedurante lapartida),DamablancaenE7oenH6yReynegroenH4.Porultimosedesarrollo lapartede labasededatoslacualpermite,colocarelreynegrosobrecualquiercasillade laoctavafilay ladamaencualquierpartedeltablero.

A continuación se presenta una estrategia ganadora parcial . Cada casilla contiene la información si la posición indica Mate, Jaque, A cual casilla jugar la dama, o si la jugada es ilegal o tablas.

machote final.indd 14 01/11/2012 03:58:53 p.m.

Page 8: Aprendizaje computacional - 939Xrevistavinculos.udistrital.edu.co/...computacional-Nelson-Becerra.pdf · Aprendizaje computacional ... , Análisis de componentes principales ... putacional

1515

N e l s o N B e c e R R a c o R R e a - e d g a R a l t a m i R a N o c a R m o N a

Revista viculos vol. # NúmeRo #

l o sE N E R o D E 2 0 1 2V o L U M E N 9 N Ú M E R o 1

ucnív

Base de datos:

Posicióninicialparaelproblemadeajedrez

Dama Rey

F5 G5 G6 G8 H4 H5 H6 H7 H8D6 E6-4E5 E7-7 F6-8 F6+3E6 H6++ G4-3E7 D6-5 G7-1 F7-5 G5-10F5 F6 G7-1 F8-7F7 E6-4 F8 E7-6G4 G8-2G5 E5-9G7 H6++G8 G7-1 F7-5

Tabla 1. Estrategiaganadoraparaelmate,apartirdelaposiciónREYBLANCOENF3(RBf3),DAMABLANCAENE7(De7)y

REYNEGROENH8(RNKh8).

machote final.indd 15 01/11/2012 03:58:53 p.m.

Page 9: Aprendizaje computacional - 939Xrevistavinculos.udistrital.edu.co/...computacional-Nelson-Becerra.pdf · Aprendizaje computacional ... , Análisis de componentes principales ... putacional

1616

I + D A P R E N D I z A J E C o M P U T A C I o N A L

Revista viculos vol. # NúmeRo #

Dama Posición Rey negroa8 b8 c8 d8 e8 f8 g8 h8

a1 ilegal tablas a7-15 g7-16 a7-16 a7-15 f6-9 ilegala2 ilegal tablas a7-15 f7-17 a7-16 a7-15 ilegal a7-13a3 ilegal tablas a7-15 tablas a7-16 ilegal e7-12 a7-9a4 ilegal tablas a7-15 tablas ilegal d7-13 f4-13 a7-13a5 ilegal tablas a7-15 ilegal c7-14 a7-15 c7-15 g5-12a6 ilegal a6??? ilegal b7-15 a7-16 a7-15 f6-9 f6-13a7 ilegal tablas tablas b7-15 c7-14 d7-13 e7-12 e7-10a8 ilegal tablas ilegal ilegal ilegal ilegal ilegal ilegalb1 tablas ilegal tablas b7-15 h7-16 b7-16 b7-14 b7-13b2 tablas ilegal tablas b7-15 h7-16 b7-16 b7-14 ilegalb3 tablas ilegal tablas b7-15 h7-16 b7-16 ilegal b7-13b4 tablas ilegal tablas b7-15 h7-16 ilegal b7-14 b7-13b5 tablas ilegal ??? b7-15 ilegal b7-16 b7-14 b7-13b6 tablas ilegal a7-15 ilegal c7-14 b7-16 f6-9 b7-13b7 tablas ilegal ilegal f7-17 c7-14 d7-13 e7-12 e7-10b8 tablas ilegal ilegal ilegal ilegal ilegal ilegal ilegalc1 tablas tablas ilegal c6-19 c7-14 c7-17 c7-14 g5-9c2 tablas tablas ilegal h7-16 c7-14 h7-15 c7-14 c7-13c3 tablas tablas ilegal g7-16 c7-14 c7-17 f6-9 ilegalc4 tablas tablas ilegal f7-16 c7-14 c7-17 ilegal c7-13c5 tablas tablas ilegal c6-19 c7-14 ilegal e7-12 e7-11c6 ilegal tablas ilegal b7-15 ilegal d7-13 f6-9 c7-13c7 tablas ilegal ilegal ilegal a7-16 d7-13 e7-12 e7-12c8 ilegal ilegal ilegal ilegal ilegal ilegal ilegal ilegald1 tablas tablas tablas ilegal d6-19 d7-13 d7-16 d7-13d2 tablas tablas tablas ilegal d6-19 d7-13 d7-16 d7-13d3 tablas tablas tablas ilegal h7-16 d7-13 d7-16 d7-13d4 tablas tablas tablas ilegal a7-16 d7-13 f6-9 ilegald5 ilegal tablas tablas ilegal d6-19 d7-13 ilegal d7-13d6 tablas ilegal tablas ilegal c7-14 ilegal f6-9 e7-10d7 tablas tablas ilegal ilegal ilegal a7-15 e7-12 e7-9d8 ilegal ilegal ilegal ilegal ilegal ilegal ilegal ilegale1 tablas tablas tablas c3????? ilegal e6-12 e7-12 e7-12e2 tablas tablas tablas c4????? ilegal e6-12 e7-12 e7-12e3 tablas tablas tablas c5????? ilegal e6-12 e7-12 e7-12e4 ilegal tablas tablas b7-15 ilegal e6-12 e7-12 e7-12e5 tablas ilegal tablas g7-17 ilegal e6-12 f6-10 ilegale6 tablas tablas ilegal f7-17 ilegal d7-13 ilegal e7-12e7 tablas tablas tablas ilegal ilegal ilegal f6-10 1raWq. g5-10e8 ilegal ilegal ilegal ilegal ilegal ilegal ilegal ilegalf1 tablas a6??? b5?? c4????? d3???? e2?? e2?? g2-12f2 tablas tablas a7-16 c5????? a7-16 a7-15 a7-14 g2-12f3 ilegal ilegal ilegal ilegal c7-14 ilegal ilegal ilegalf4 tablas ilegal b4??? f7-17 h7-15 ilegal f6-10 g3-12f5 tablas tablas ilegal f7-17 g7-16 ilegal f6-10 g4-12f6 tablas a6??? b6?? ilegal ilegal ilegal e7-12 ilegalf7 tablas tablas a7-16 b7-15 ilegal ilegal ilegal e7-10f8 ilegal ilegal ilegal ilegal ilegal ilegal ilegal ilegalg1 tablas tablas tablas c5????? g7-16 a7-15 ilegal g4-12g2 tablas tablas b2?? g7-17 g7-16 e2?? ilegal g4-12g3 tablas ilegal tablas g7-17 g7-16 c7-17 ilegal g4-12g4 tablas tablas ilegal g7-17 g7-16 d7-13 ilegal g3-12g5 tablas tablas b5?? ilegal g7-16 e5?? ilegal g3-12g6 tablas tablas b6?? g7-17 ilegal e6?? ilegal g3-12g7 tablas tablas a7-16 b7-15 c7-14 ilegal ilegal ilegalg8 ilegal ilegal ilegal ilegal ilegal ilegal ilegal ilegalh1 tablas tablas b1?? h7-17 h7-16 h7-15 e1?? ilegalh2 tablas ilegal b2?? h7-17 h7-16 h7-15 c7-14 ilegalh3 tablas tablas ilegal h7-17 c7-14 d7-13 d7-16 ilegalh4 tablas tablas b4?? ilegal h7-16 h7-15 f6-10 ilegalh5 tablas Tablas b5?? h7-17 ilegal h7-15 f4-15 ilegalh6 tablas Tablas b6?? h7-17 h7-16 ilegal f6-10 ilegalh7 tablas Tablas a7-16 a7-16 c7-14 d7-13 ilegal ilegalh8 ilegal Ilegal ilegal ilegal ilegal ilegal ilegal ilegal

Tabla 2. BasedeDatosparaelmate,apartirdelaposiciónREYBLANCOENF3(RBf3),DAMABLANCAENE7(De7)yREYNEGROENCUALQUIERPOCISIONDELTABLERO.

machote final.indd 16 01/11/2012 03:58:54 p.m.

Page 10: Aprendizaje computacional - 939Xrevistavinculos.udistrital.edu.co/...computacional-Nelson-Becerra.pdf · Aprendizaje computacional ... , Análisis de componentes principales ... putacional

1717

N e l s o N B e c e R R a c o R R e a - e d g a R a l t a m i R a N o c a R m o N a

Revista viculos vol. # NúmeRo #

l o sE N E R o D E 2 0 1 2V o L U M E N 9 N Ú M E R o 1

ucnív

Estructura de la red neuronal

Parapoderidentificarlaposicióndelafichadentrodeltableroseestructuraunarreglodeochoposicionesparaidentificar,lafilaenlacual esta lafichay otropara las columnas,elcontenidodecadaarregloseinicializaenceroylaposiciónquecorrespondaalafichaseledaelvalordeuno,porconsiguienteelarreglo tendrá valores boléanos.Adicional-mente,serequiereotroarreglodedosposi-cionesparaindicar,elresultadodelajugada,tablas,ilegal,mateojaque,codificadasasi:

000Juegannegras001Jueganblancas010Jaque100Jugadailegal111JaqueMate

Setomacomoreferenciauntableroestructu-radodelasiguientemanera.

Arregloparalasfilas

0 0 0 0 0 0 0 0A B C D E F G H

Arregloparalascolumnas

0 0 0 0 0 0 0 0A B C D E F G H

Para indicarqueunafichaestaen lacasillaF3.

Tendríamos,

0 0 1 0 0 0 0 00 0 0 0 0 1 0 0

Se requieredosarreglosunoque indica lasfilasyotrolascolumnasporcadafichapre-senteenlafinaldeljuegodeajedrez.Por consiguiente, la codificación para elmate

Seria:

Figura 6. Estrategiaganadoraparaelmaterey,damavsrey

machote final.indd 17 01/11/2012 03:58:54 p.m.

Page 11: Aprendizaje computacional - 939Xrevistavinculos.udistrital.edu.co/...computacional-Nelson-Becerra.pdf · Aprendizaje computacional ... , Análisis de componentes principales ... putacional

1818

I + D A P R E N D I z A J E C o M P U T A C I o N A L

Revista viculos vol. # NúmeRo #

1. Seleccióndelmodeloderedneuronal.

Paraimplementarelproblemaanteriorsees-cogióunaredconlassiguientescaracterísticas.

• Topología, multicapaconconexiónha-ciadelante(Feedforward)

• Mecanismodeaprendizajesupervisado.

UnmodeloderedquereúneestascaracterísticaseselPERCEPTRONMULTICAPA,paratalefec-toseescogióunareddesarrolladaporValluruRaoyHayagrivaRao,enellibroC++NeuronalNetworksandFuzzyLogic,SegundaEdición.

A este programa se le hizo unamigraciónaC++Builderyseadaptoelmodograficoparaquepermitiráaunadversariohumanojugarcontraelcomputador.

4.3 Resultados Experimentales

La tabla 1.muestra el resultadodel entrena-mientodelaredneuronalparaelmatemencio-nada,enelproblemainiciandoenlaposición:

Comoseapreciaenlatabla1.lamejorconfi-guraciónsepresentacuandosetiene32neu-

ronasde entrada, 24neuronas ocultas y 18de salida conunparámetrode aprendizajede0.5.sinembargobastatenerunaconfigu-raciónde32neuronasdeentrada,6ocultasy18desalidaparaquelaredadquieraunco-rrectoaprendizaje.LaZonademarcadaconAzulmuestra que la red esta lo suficiente-mente entrenadapara solucionar elproble-maylazonarojaeslaconfiguraciónideal.

primeracapa.

-0.720000Pesodeconexiónentrelaprimeraneuronadelaprimeracapaylaprimeraneu-ronade lasegundacapa, -0.680000Pesodeconexiónentrelaprimeraneuronadelapri-meracapaylasegundaneuronadelasegun-dacapa,...,0.840000Pesodeconexiónentrelaprimeraneuronade laprimeracapay laultimaneuronadelasegundacapa,.

LuegodeentrenarlaRedNeuronal,yponer-laenejecuciónmedianteunarchivodejuga-dasseobtuvieronlossiguientesresultados.

Enlatabla3seapreciaelvectordeentrada,paralaredneuronalyelvectordesalidaosealarespuestadelaredneuronal.

Paraelvectordeentrada:

0.0000000.0000000.0000001.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000001.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000001.0000000.0000000.0000000.0000000.0000000.0000001.0000000.0000000.0000000.000000

Elvectordesalidaes

0.0000320.0000090.0000070.0003650.9993600.0000270.0000130.0000900.0000110.0000070.0000170.0000010.0000000.9997910.0001840.0000010.0000670.000041

Tabla 3. Resultadosfinalesdelaredneuronal

machote final.indd 18 01/11/2012 03:58:54 p.m.

Page 12: Aprendizaje computacional - 939Xrevistavinculos.udistrital.edu.co/...computacional-Nelson-Becerra.pdf · Aprendizaje computacional ... , Análisis de componentes principales ... putacional

1919

N e l s o N B e c e R R a c o R R e a - e d g a R a l t a m i R a N o c a R m o N a

Revista viculos vol. # NúmeRo #

l o sE N E R o D E 2 0 1 2V o L U M E N 9 N Ú M E R o 1

ucnív

Son32neuronasdeentrada,distribuidasasí:

0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.0000000.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.0000000.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000

LaprimerfilacorrespondealaubicacióndelaDamaBlancaenlaColumnadeltablero.

0.000000 0.000000 0.000000 1.000000 0.0000000.0000000.0000000.000000

La segundafila corresponde a la ubicacióndelaDamaBlancaFiladeltablero.

0.000000 0.000000 0.000000 0.000000 0.0000001.0000000.0000000.000000

En donde, ladamablancaseubica la co-lumnaDy fila6(D6).

LaprimerfilacorrespondealaubicacióndeelReyNegroenlaColumnadeltablero.

0.000000 0.000000 0.000000 0.000000 0.0000000.0000001.0000000.000000

La segundafila corresponde a la ubicacióndelReyNegroenlaFiladeltablero.

0.000000 0.000000 0.000000 0.000000 1.0000000.0000000.0000000.000000

Endonde,elReyNegroseubicala colum-naGyfila5(G5).

LuegolaRedNeuronalrespondecon:

LocualindicaquelaDamaBlancadebeco-locarseenlaColumnaE,0.999360,pueseselvalormascercanoauno.

LaFilacorrespondienteserá4,0.999791va-lorpróximoauno.Por lo cualdebemovera4.

Lasdosultimasneuronasindicanporsuva-lorpróximoacero,quedebenjugarNegras0.0000670.000041

ComparandoconlaBasedeDatos7tenemosquepara laposiciónDamaBlancaEnD6yReyNegroenG5.LarespuestadebeserE6.

Unanálisissimilarsedebehacerseparalosdemáselementosdelatabla.

Modificaciones respecto a la red anterior

4.5 Conclusiones

Paraimplementarunjuegomedianteredneu-ronal, deberá primero utilizarse una red sinaprendizajesupervisadopuesesimposibledi-señarunabasededatosparaunjuegoentotal.

Se requiere un arreglo de 16 neuronas porcadafichapresentedentrodeltablerodejue-go,ochoparaindicarlafilaenlacualseen-cuentra la ficha y ocho para las columnas,además se requieredeunaneuronaadicio-

0.0000320.0000090.0000070.0003650.9993600.0000270.0000130.0000900.0000110.0000070.0000170.0000010.0000000.9997910.0001840.0000010.0000670.000041

7 BasedeDatosdiseñadaparaelmateymostradaenlaTabla1.

machote final.indd 19 01/11/2012 03:58:54 p.m.

Page 13: Aprendizaje computacional - 939Xrevistavinculos.udistrital.edu.co/...computacional-Nelson-Becerra.pdf · Aprendizaje computacional ... , Análisis de componentes principales ... putacional

2020

I + D A P R E N D I z A J E C o M P U T A C I o N A L

Revista viculos vol. # NúmeRo #

nalparaindicarelcolordelafichaydosparalaacciónatomar.

Por consiguientepara las 32figurasdel ta-bleroserequeriríanuntotalde256neuronasdeentradamas1para indicar el colory2paraindicarlaacciónatomar.Parauntotalde259Neuronas,deentrada.

Para entrenar una red neuronal para un jue-gocomoelajedrez,esbastanteimprobableporconsiguiente su utilización debe dedicarse aaperturasyfinalesdejuego,locualahorratiem-popuesseevitagenerarunárboldejuegos.

Trabajos futuros

Ensayar laaperturaRuyLópez.Generandounabasededatos.

Como trabajo adicional seria la creaciónde un programa de juegos bipersonales desumacero,informaciónperfecta.Utilizandocualquieradelassiguientestécnicas.

Programación molecular, Programacióncon ADN, Bio-computacion, Computacióncuántica.

Bibliografía:

[1]NelsonBecerraCorrea.Técnicasdeinte-ligenciaartificialenJuegos,UniversidadDistritalFranciscoJosédeCaldas(2003).

[2] D.Patterson.ArtificialNeuralNetworks.Theory and Applications. Prentice HallInc.(1995).

Neuronasdeentrada

Neuronasocultas

NeuronasSalida

Parámetroaprendizaje

Promedioerrorporciclo

Errordespuésdelultimo

ciclo

Errorporparámetrodespuésdelultimo

ciclo

Totalciclos

TotaldeParámetros

32 1 18 0.5 3.640406 4.492844 1.00463 1000 2400032 2 18 0.5 3.033418 7.493486 1.675594 1000 2400032 4 18 0.5 1.880221 1.328615 0.297087 1000 2400032 6 18 0.5 0.494747 0.021927 0.004903 1000 2400032 8 18 0.5 0.410736 0.009835 0.002199 1000 2400032 10 18 0.5 0.421034 0.007328 0.0011639 1000 2400032 24 18 0.5 0.496901 0.004465 0.000998 451 83032 1 18 0.25 2.909894 3.127119 0.699245 1000 2400032 2 18 0.25 2.839579 2.830108 0.632831 1000 2400032 4 18 0.25 1.258927 0.61162 0.136762 1000 2400032 6 18 0.25 0.69099 0.038017 0.008501 1000 2400032 8 18 0.25 0.490276 0.023047 0.005153 1000 2400032 10 18 0.25 0.499981 0.013703 0.003064 1000 2400032 24 18 0.25 0.336127 0.004494 0.001005 1000 24000

Tabla 3. ResultadodelentrenamientodelaRedNeuronal,paraelaprendizajedelmate.

machote final.indd 20 01/11/2012 03:58:54 p.m.