Documentos de Académico
Documentos de Profesional
Documentos de Cultura
POR
i
LINEAMIENTOS GENERALES
El curso se lleva a cabo los sábadoa de 7:00 a 10:00. La bibliografía de
referencia que se utilizará en este curso (la cual será entregada a los alumnos
en archivos *.pdf), se encuentra en idioma inglés. Las exposiciones y clases se
llevarán en español.
Con fines ilustrativos y académicos, se realizarán clases prácticas, en las cuales
se desarrollarán ejemplos numéricos ejecutados en Microsoft EXCEL y
Matlab. De ahí que el conocimiento de esta herramienta computacional es un
requisito para el desarrollo de esta asignatura.
La evaluación de los alumnos se realizará, tanto en el primer como en el
segundo bimestre, mediante deberes, una prueba y un trabajo. Un mínimo de
asistencia del 80% del total de las clases es requerido.
Los deberes que se envíen en una clase, deberán ser entregados al profesor, vía
e-mail en archivo WORD, hasta un día antes de la siguiente clase.
Cada trabajo bimestral consiste en la presentación de un informe (en Microsoft
WORD) referente a la resolución de un problema específico de ingeniería
eléctrica, mediante la aplicación de una herramienta computacional diseñada
por el alumno, sobre la base de lo explicado en clases. La estructura del trabajo
deberá contener obligatoriamente: el planteamiento del problema, la
metodología de resolución propuesta, el algoritmo desarrollado,
Contacto:
e-mail: pvasquezm@gmail.com
celular: 0995395389
ii
MARCO CONCEPTUAL
“Programming is like sex, one mistake and you have to support it for the rest
of your life”
La Inteligencia Artificial, IA, con orientación al campo de la Ingeniería
Eléctrica, es una materia fundamental en la formación académica de los
estudiantes de la carrera de posgrado de la Facultad de Ingeniería Eléctrica ya
que la gran mayoría de las tareas a ser enfrentadas, en la práctica, por los
ingenieros, requieren herramientas computacionales que tengan distintos
grados de conocimiento del problema, (conocimiento ya sea cargado por el
usuario o adquirido por la herramienta como consecuencia de la realización de
múltiples experimentos). Las técnicas para incorporar dicho conocimiento se
basan en distintas características de los seres humanos y en general de los seres
vivos (agente inteligente). En efecto, se considera la presencia de IA cuando
un agente inteligente presenta uno o varios de estos atributos:
Tiene actitudes mentales tales como creencias e intenciones.
Tiene la capacidad de obtener conocimiento, es decir, aprender.
Puede resolver problemas, incluso particionando problemas complejos en
otros más simples.
Entiende. Posee la capacidad de crearle sentido, si es posible, a ideas
ambiguas o contradictorias.
Planifica, predice consecuencias, evalúa alternativas (como en los juegos
de ajedrez)
Conoce los límites de sus propias habilidades y conocimientos.
Puede distinguir a pesar de la similitud de las situaciones.
Puede ser original, creando incluso nuevos conceptos o ideas, y hasta
utilizando analogías.
Puede generalizar.
Puede percibir y modelar el mundo exterior.
Puede entender y utilizar el lenguaje y sus símbolos.
Por tanto, se puede decir que la IA incluye características de los seres humanos
tales como el aprendizaje, la adaptación, el razonamiento, la autocorrección, el
mejoramiento implícito, y la percepción del mundo.
Diversas combinaciones de los atributos expuestos anteriormente pueden estar
presentes al mismo tiempo en un agente inteligente. Así, modelos
computacionales con múltiples habilidades pueden construirse, dependiendo
de los requerimientos del problema a ser resuelto.
A continuación se mencionan algunos tópicos que se consideran campos de la
IA:
Aprendizaje Automático (Machine Learning)
Ingeniería del conocimiento (Knowledge Engineering)
Lógica difusa (Fuzzy Logic)
Redes neuronales artificiales (Artificial Neural Networks)
Sistemas reactivos (Reactive Systems)
Sistemas multi-agente (Multi-Agent Systems)
Sistemas basados en reglas (Rule-Based Systems)
Razonamiento basado en casos (Case-Based Reasoning)
Sistemas expertos (Expert Systems)
Redes Bayesianas (Bayesian Networks)
Vida artificial (Artificial Life). La VA no es un campo de la IA, sino que
la IA es un campo de la VA.
o Computación evolutiva (Evolutionary Computation)
o Estrategias evolutivas
o Algoritmos genéticos (Genetic Algorithms)
Técnicas de Representación de Conocimiento
o Redes semánticas (Semantic Networks)
o Frames
Lingüística computacional
Minería de datos (Data Mining)
Abordar en detalle la totalidad de campos de la inteligencia artificial, es una
tarea que en un solo curso no puede llevarse a cabo satisfactoriamente. Por tal
motivo, en este curso se abordará con profundidad el campo de la vida artificial
en relación con el desarrollo de algoritmos de búsqueda aplicados en la
resolución de problemas combinatorios con la ayuda de inteligencia
computacional evolutiva.
DEBER No. 1
Presentar en archivo word, una breve conceptualización y las principales
características, alcances y aplicaciones de los tópicos considerados como
campos de la Inteligencia Artificial. Profundizar en aquel campo que sea de
interés del alumno y detallar las perspectivas de aplicación de dicha técnica
dentro de la ingeniería eléctrica.
iv
Aprendizaje Automático:
El aprendizaje es un factor primordial para satisfacer las necesidades de la
inteligencia artificial.
El objetivo del Aprendizaje Automático o Máquinas de Aprendizaje es
desarrollar técnicas que permitan a las computadoras aprender. De forma más
concreta, se trata de crear programas capaces de generalizar comportamientos
a partir de una información no estructurada suministrada en forma de ejemplos.
Es, por lo tanto, un proceso de inducción del conocimiento. En muchas
ocasiones el campo de actuación del Aprendizaje Automático se solapa con el
de la Estadística, ya que las dos disciplinas se basan en el análisis de datos. Sin
embargo, el Aprendizaje Automático se centra más en el estudio de la
Complejidad Computacional de los problemas. El Aprendizaje Automático
puede ser visto como un intento de automatizar algunas partes del Método
Científico mediante métodos matemáticos.
Algunos sistemas de Aprendizaje Automático intentan eliminar toda necesidad
de intuición o conocimiento experto de los procesos de análisis de datos,
mientras otros tratan de establecer un marco de colaboración entre el experto
y la computadora. De todas formas, la intuición humana no puede ser
reemplazada en su totalidad, ya que el diseñador del sistema ha de
especificar la forma de representación de los datos y los métodos de
manipulación y caracterización de los mismos.
Varias son las dificultades que dan una producción tan baja a esta metodología:
vi
La naturaleza especializada del dominio hace que el IC deba aprender unas
nociones básicas para que pueda establecerse una comunicación
(Vocabulario básico, elementos que intervienen en el dominio,
formalismos que utilizan los expertos, etc.).
Los expertos se encuentran más cómodos pensando en términos de
ejemplos típicos que razonando en términos generales, que son de los que
realmente se podría hacer una mejor abstracción.
La búsqueda de un formalismo de representación que se adapte
adecuadamente al problema y que sea fácil de interpretar y adoptar por el
experto. Este formalismo ha de ser susceptible de ser transformado en algo
computable.
Por lo general, a los expertos les es muy difícil explicitar los pasos que
utilizan para resolver los problemas. Es la que se ha denominado paradoja
del experto. Cuanta más experiencia, menos explícitos son los
razonamientos del experto y más ocultos los métodos de resolución.
Si observamos cómo un experto resuelve un problema, éste omite muchas
cadenas de razonamiento e información que da por supuesta, y a la que no
asigna importancia dentro de la resolución, pero que si se quiere abordar
de manera sistemática sí es necesaria.
Para cada conjunto difuso, existe asociada una función de pertenencia para sus
elementos, que indican en qué medida el elemento forma parte de ese conjunto
difuso. Las formas de las funciones de pertenencia más típicas son
trapezoidales, lineales y curvas.
Los métodos de inferencia para esta base de reglas deben ser simples, veloces
y eficaces. Los resultados de dichos métodos son un área final, fruto de un
conjunto de áreas solapadas entre sí (cada área es resultado de una regla de
inferencia). Para escoger una salida concreta a partir de tanta premisa difusa,
el método más usado es el del centroide, en el que la salida final será el centro
de gravedad del área total resultante.
viii
En cuanto a las aplicaciones generales, la lógica difusa se utiliza cuando la
complejidad del proceso en cuestión es muy alta y no existen modelos
matemáticos precisos para procesos altamente no lineales y cuando se
envuelven definiciones y conocimiento no estrictamente definido (impreciso o
subjetivo).
Como principal ventaja, cabe destacar los excelentes resultados que brinda un
sistema de control basado en lógica difusa: ofrece salidas de una forma veloz
y precisa, disminuyendo así las transiciones de estados fundamentales en el
entorno físico que controle. Por ejemplo, si el aire acondicionado se encendiese
al llegar a la temperatura de 30º, y la temperatura actual oscilase entre los 29º-
30º, nuestro sistema de aire acondicionado estaría encendiéndose y apagándose
continuamente, con el gasto energético que ello conllevaría. Si estuviese
regulado por lógica difusa, esos 30º no serían ningún umbral, y el sistema de
control aprendería a mantener una temperatura estable sin continuos apagados
y encendidos.
xii
Los sistemas reactivos son inherentemente no deterministas.
P;
Q; P Q R
R;
Sistemas Multiagente:
Hay que notar que los agentes no son necesariamente inteligentes. Existen
como en todo el resto del dominio de la inteligencia artificial, dos enfoques
para construir sistemas multiagentes:
xiv
GAIA de Michael Wooldridge y Nick Jennings de la Univ. de
Southampton, propone cómo realizar un análisis basado en roles del
sistema multi-agente.
MASE de Scott A. Deloach propone agentes como extensiones de
objetos y proporciona la herramienta AgentTool para análisis, diseño
e implementación.
AgentUML de James Odell, propone una notación, extendiendo
UML, para especificar protocolos de comunicación entre agentes.
MADKiT es una herramienta de desarrollo, propuesta por Jacques
Ferber, basada en el paradigma Agente-Role-Organización de la
metodología Aalaadin.
ADELFE del grupo IRIT de la Universidad de Toulouse, trata
especialmente los temas de cooperación entre agentes.
INGENIAS del grupo GRASIA de la UCM, extiende la metodología
MESSAGE y proporciona un conjunto de herramientas para modelar
y generar código de sistemas multiagente.
Mas-CommonKADS de Carlos Iglesias en la UPM extiende la
metodología CommonKADS, para sistemas expertos, a agentes,
utilizando estructuración orientada a objetos y lenguajes de
especificación de protocolos como SDL.
SemanticAgent del grupo LIRIS de la Universidad de Lyon. Basada
en el SWRL
Dendral.- Fue ideado a finales de los años 1970 para generar una
representación estructural de las moléculas orgánicas a partir de los datos de
un espectrógrafo de masas. Tal solución tiene los siguientes pasos:
xvi
los mismos síntomas está usando razonamiento basado en casos. Un abogado
que apela a precedentes legales para defender alguna causa está usando
razonamiento basado en casos. También un ingeniero cuando copia elementos
de la naturaleza, está tratando a esta como una “base de datos de soluciones”.
El Razonamiento basado en casos es una manera de razonar haciendo
analogías. Se ha argumentado que el razonamiento basado en casos es más que
un método poderoso para el razonamiento de computadoras, sino que es usado
por las personas para solucionar problemas cotidianos. Más radicalmente se ha
sostenido que todo razonamiento es basado en casos porque está basado en la
experiencia previa.
RETENER las partes de esta experiencia que puedan ser útiles para la
resolución de futuros problemas.
Para que un sistema experto sea herramienta efectiva, los usuarios deben
interactuar de una forma fácil, reuniendo dos capacidades para poder
cumplirlo:
Ventajas:
Limitaciones
Redes Bayesianas:
Las redes bayesianas son un tipo de modelos de minería de datos que pueden
ser utilizados en cualquiera de las siguientes actividades de negocio:
Vida Artificial:
Por otra parte están las simulaciones "software". Éstas tienen la ventaja de que
permiten construir un gran número de seres vivos y entornos en los que estos
existen, de manera que es más fácil estudiar comportamientos sociales.
De esta forma, se puede considerar la Vida Artificial (VA) como un paso más
allá después de la Programación Orientada a Objetos (POO), y sin embargo,
siendo la VA un caso particular de la POO. Es decir, si un objeto es un
elemento que encapsula datos y procedimientos, una entidad artificial es un
elemento que encapsula un objetivo, unos sentidos, unas acciones y unas
creencias. A esto le podemos llamar Programación Orientada a Agentes.
Algoritmos Genéticos:
En los años 1970, de la mano de John Henry Holland, surgió una de las líneas
más prometedoras de la inteligencia artificial, la de los algoritmos genéticos.
Son llamados así porque se inspiran en la evolución biológica y su base
genético-molecular. Estos algoritmos hacen evolucionar una población de
individuos sometiéndola a acciones aleatorias semejantes a las que actúan en
la evolución biológica (mutaciones y recombinaciones genéticas), así como
también a una Selección de acuerdo con algún criterio, en función del cual se
decide cuáles son los individuos más adaptados, que sobreviven, y cuáles los
menos aptos, que son descartados. También es denominado algoritmos
evolutivos, e incluye las estrategias evolutiva, la programación evolutiva y la
programación genética. Dentro de esta última se han logrado avances curiosos:
xxiv
Un algoritmo genético es un método de búsqueda dirigida basada en
probabilidad. Bajo una condición muy débil (que el algoritmo mantenga
elitismo, es decir, guarde siempre al mejor elemento de la población sin hacerle
ningún cambio) se puede demostrar que el algoritmo converge en probabilidad
al óptimo. En otras palabras, al aumentar el número de iteraciones, la
probabilidad de tener el óptimo en la población tiende a 1 (uno).
Estrategia Evolutiva:
Redes Semánticas:
Frames:
Lingüística Computacional:
xxviii
La lingüística computacional se ha dividido en dos ramas:
Mineria de Datos:
xxx
Un proceso típico de minería de datos consta de los siguientes pasos generales:
La relación entre todas estas fases sólo es lineal sobre el papel. En realidad, es
mucho más compleja y esconde toda una jerarquía de subfases. A través de la
experiencia acumulada en proyectos de minería de datos se han ido
desarrollando metodologías que permiten gestionar esta complejidad de una
manera más o menos uniforme.
http://es.wikipedia.org/wiki/L%C3%B3gica_difusa
DEBER No. 2
Presentar en archivo word, un reporte detallado de las perspectivas de
aplicación en el campo de la ingeniería eléctrica de uno de los siguientes
tópicos: lógica difusa, redes neuronales, procesamiento paralelo, ant colony
optimisation, simulated annealing ó tabú search. Al final del documento
enlistar las referencias bibliográficas.
xxxiv
CONTENIDO
LINEAMIENTOS GENERALES ............................................................. II
MARCO CONCEPTUAL....................................................................... III
Ventajas: ............................................................................................. xix
Limitaciones ........................................................................................ xx
Lingüística computacional teórica .................................................... xxix
Lingüística computacional aplicada .................................................. xxix
REFERENCIAS ...................................................................................... XXXIV
xxxviii
TS Transmission System
VOLL Value of Lost Load
Capítulo 1.
INTELIGENCIA COMPUTACIONAL
EVOLUTIVA
"La vida es una carrera de relevos. Puedes ganarla en otra generación"
(Valeriu Butulescu)
1
2 Inteligencia Artificial – Paúl Vásquez
sujeto a:
g1(X ) b1
g2 (X ) b2
gm (X ) bm
x1 0, x 2 0, x 3 0...xn 0
Donde,
FO es la función objetivo. La FO puede ser lineal, no-lineal, derivable, no
derivable, convexa o cóncava.
x1, x2, … xn son las variables de decisión. Las variables de decisión pueden ser
continuas o discretas.
g1, g2, gm son las restricciones las cuales pueden ser igualdades o desigualdades
lineales.
Aquella solución que satisfaga todas las restricciones es una solución factible.
La solución que, en el caso de la ecuación (1.1), minimice la Función Objetivo
FO, será la solución óptima.
1.2.1 Formulaciones y métodos matemáticos
Bajo la perspectiva de los procedimientos matemáticos, es indispensable
considerar la forma y propiedades de la FO, restricciones y variables de
decisión. En efecto, cuando la FO y todas las restricciones son lineales, el
problema de optimización se denomina de programación lineal.
Cuando ya sea la FO o las restricciones incluyen una o varias funciones no-
lineales, el problema de optimización se denomina de programación no-
lineal.
Tanto la programación lineal como la no-lineal por convención asumen que las
variables de decisión son continuas.
Cuando las variables de decisión son variables discretas, en ese caso el
problema de optimización es un problema de programación entera.
4 Inteligencia Artificial – Paúl Vásquez
Inicio
Generación
Población
Inicial
Evaluación
de Función
Objetivo
Ordenar
individuos
NO
Categorizar
Fin individuos
Aplicar
operaciones
de búsqueda
Formación
de nueva
Población
FOu (y ) FO f (x ) (1.4)
x f (y ) (1.5)
1
Para profundizar en este tema, consultar sobre “Baldwin effect”- Whitely et al., 1996
10 Inteligencia Artificial – Paúl Vásquez
Cómo deben los candidatos repartir los USD 10 millones para maximizar sus
posibilidades de ganar el concurso?
DEBER No. 3
1. Formule matemáticamente el problema de optimización (función
objetivo, restricciones y variables de decisión).
2. Qué tipo de problema de optimización es? (lineal, no-lineal, entero,
entero-mixto…).
3. Proponga un camino de resolución para el problema. Explique.
4. Cómo deben los candidatos repartir los USD 10 millones para
maximizar sus posibilidades de ganar el concurso?
sujeto a:
x1 x 2 x 3 x 4 10
x1 0, x 2 0, x 3 0, x4 0
1,6
1,4
1,38
Beneficio (MUSD)
1,2 1,32
1,23
1,13
1 1,02
0,8 0,9
0,78
0,6 0,65
0,4 0,45
Bco = -0,0085x12 + 0,2173x1 + 0,0403
0,2 0,28
0
0 2 4 6 8 10 12
Inversión (MUSD)
1
0,9 0,9
0,85 0,88 0,9
0,8 0,8
Beneficio (MUSD)
0,75
0,7
0,6 0,65
0,5 0,55
0,4
0,3 0,41
Bec = -0,0115x22 + 0,1989x2 + 0,038
0,2
0,1 0,25
0
0 2 4 6 8 10 12
Inversión (MUSD)
1,2
1
0,96 1
Beneficio (MUSD)
0,9
0,8 0,82
0,73
0,6
0,62
0,5
0,4 0,4
0,2 0,25
Bpe = -0.0048x32 + 0.1499x3 - 0.0077
0,15
0
0 2 4 6 8 10 12
Inversión (MUSD)
0,7
0,6
0,6 0,6 0,6
0,56 0,58
Beneficio (MUSD)
0,5 0,53
0,48
0,4
0,42
0,3
0,33
0,2
Bcl = -0,0091x42 + 0,1436x4 + 0,0452
0,2
0,1
0
0 2 4 6 8 10 12
Inversión (MUSD)
function f = Beneficio(x)
Es decir, las variables de decisión, las cuales sumadas dan un total de 10 M$,
que es la cantidad que se requiere invertir, son:
x1 = 4.921 M$
x2 = 2.837 M$
x3 = 1.693 M$
x4 = 0.548 M$
Si bien mediante la aplicación de esta herramienta analítica, se pueden
encontrar soluciones este hecho no necesariamente implica que dicha solución
sea la óptima. En efecto, en este problema específico, las variables son enteras
y únicamente puede tomar valores discretos. Además la función objetivo es
únicamente una aproximación impregnada de un error importante lo cual
nuevamente implica que la solución encontrada no necesariamente sea óptima.
De ahí que la aplicación de técnicas matemáticas tradicionales basadas en
gradiente para resolver problemas de optimización tiene amplia aplicación en
problemas donde la función objetivo puede ser expresada en forma
18 Inteligencia Artificial – Paúl Vásquez
DEBER No. 5
Desarrollar un algoritmo en Matlab para la resolución del problema de la
sección 1.6 mediante búsqueda aleatoria en el que el usuario pueda manejar las
restricciones ya sea con pena de muerte o con penalización. Las variables de
decisión se codificarán como números enteros. Para evaluar la FO, hacer uso
del método de penalización, asumiendo Q(∆Bi)= k. (Bi-10)i , donde k=500.
1.7 REFERENCIAS
Sarker R., Mohammadian M., Yao X. et. al, Evolutionary Optimization,
Kluwer´s International Series, ISBN: 0-7923-7654-4, USA 2003.
Capítulo 2.
ALGORITMOS GENÉTICOS
“Natural species are the library from which genetic engineers can work.”
(Thomas E. Lovejoy)
22
Algoritmos Genéticos 23
v1 v2 vn
g1 g2 g3 g4 gn g1 g2 g3 g4 gn g1 g2 g3 g4 gn
0 1 1 0 0 0 1 1 1 0 0 1 0 0 1
CROMOSOMA
Fig. 2.1 Codificación binaria de variables de decisión
DEBER No. 6
Elaborar un algoritmo que resuelva el problema de la sección 1.6 con el método
de búsqueda aleatoria mediante la codificación de individuos en forma
binomial.
24 Inteligencia Artificial – Paúl Vásquez
% Algoritmo de búsqueda aleatoria básico para resolver
% con codificación binaria el Ejercicio propuesto en la sección 1.6
% de los apuntes del Curso de Inteligencia Artificial
%% Datos de entrada
% B : matriz de beneficios sin considerar los beneficios iguales a cero
B = [...
0.28 0.25 0.15 0.2;
0.45 0.41 0.25 0.33;
0.65 0.55 0.40 0.42;
0.78 0.65 0.50 0.48;
0.90 0.75 0.62 0.53;
1.02 0.80 0.73 0.56;
1.13 0.85 0.82 0.58;
1.23 0.88 0.90 0.60;
1.32 0.90 0.96 0.60;
1.38 0.90 1.00 0.60];
for i=1:p
f0(i,:) = unidrnd(7,1,length(B(1,:)));
% Generación aleatoria de 4 númeross del 1 al 7
error = 10-sum(f0(i,:));%error si la suma no es igual a 10 M$
s(j,:) = f0 (i,:);
for kk=1:length(s(j,:))
chain(j,4*kk-3:4*kk)=dec2bin(s(j,kk),4);%conv dec a bin
end
for rr=1:length(chain(j,:))
binary(j,rr) = str2double(chain(j,rr)); %conv char a
núme
end
b(j,length(binary(j,end)+1)) = (B(f0(i,1),1)+B(f0(i,2),2)...
+B(f0(i,3),3)+B(f0(i,4),4))/(1+abs(error)*500);
% el denominador es la
penalización
T(j,:) = [binary(j,:) b(j,end)];
j=j+1;
end
2.1.2 Selección
Se utiliza para evaluar el desempeño de los cromosomas y marcar la evolución.
Así, cromosomas con un buen desempeño, tienen una mayor oportunidad de
vivir.
Dentro del proceso de selección existe un criterio conocido como elitismo el
cual consiste básicamente en la preservación de los cromosomas con mejor
Algoritmos Genéticos 25
z=2
z = unidrnd(n/2) x = u([a,b])
Fig. 2.2 Operación de cruzamiento en el gen z
26 Inteligencia Artificial – Paúl Vásquez
2.1.4 Mutación
A diferencia de la operación de cruzamiento, para la operación de mutación se
requiere un solo cromosoma padre. El mecanismo de este operador consiste en
reemplazar uno o varios de los genes del cromosoma padre, por otros genes
aleatoriamente generados, para obtener un cromosoma hijo.
Cuando la mutación se produce en un solo gen del cromosoma padre, esta
operación se conoce como mutación uniforme.
Si la mutación toma lugar en varios genes del cromosoma padre, esta operación
se conoce como mutación uniforme múltiple.
Finalmente, si la mutación toma lugar en todos los genes del cromosoma padre,
de acuerdo a una función Gaussiana de probabilidad, la operación se conoce
como mutación Gaussiana.
De acuerdo a la bibliografía consultada, el número de cromosomas que sufrirán
mutación en un AG se encuentra entre el 5 al 10% de la población.
z
a g1ai g2ai g3ai g4ai gnai Ii
=
f(g2i) = unidrnd(g2i)
a = unifrnd(S);
Fig. 2.2 Operación de mutación uniforme en el gen z
2.2 BIBLIOGRAFÍA
Chambers L. D., The Practical Handbook of Genetic Algorithms -
Applications, Chapman & Hall /CRC, ISBN: 1-58488-2409-9, USA - 2001.
Michalewicz Z., Genetic Algorithms + Data Structures = Evolution Programs,
Springer, ISBN: 3-540-60676-9, USA - 1996.
Capítulo 3.
ALGORITMOS EVOLUTIVOS
“Like dreams, statistics are a form of wish fulfilment”
(Jean Baudrillard, 1929)
To reasonably accomplish the challenging task of facing the TEP problem from
a non-deterministic perspective, demands incorporating and modeling a variety
of data of diverse nature. Moreover, due to the large scale of the problem,
which is clearly defined by its stochastic, multi-period, multi-criteria and
combinatorial nature, very special efforts are required in order to sustain the
viability of the proposed models. In this sense, an adequate treatment of the
different types of the problem’s information is one of the most important stages
to be carefully carried out before formulating a non-deterministic TEP model.
27
28 Inteligencia Artificial – Paúl Vásquez
v1 v2 vn
g1 g2 g3 g4 gn g1 g2 g3 g4 gn g1 g2 g3 g4 gn
CROMOSOMA
Fig. 3.1 Codificación binaria de variables de decisión
x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x
E
x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x
S
x x x x x x x x x x x x x x x
P x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x
x x x x x x x x x x x x x x x W
x x x x x x x x x x x x x x x
z=2
=
c gn-1b gnb g3a gn-1a gna Ici+1
z = unidrnd(n/2) x = u([a,b])
Fig. 3.3 Operación de cruzamiento en el gen z
3.1.4 Mutación
A diferencia de la operación de cruzamiento, para la operación de mutación se
requiere un solo cromosoma padre. El mecanismo de este operador consiste en
reemplazar uno o varios de los genes del cromosoma padre, por otros genes
aleatoriamente generados, para obtener un cromosoma hijo.
Cuando la mutación se produce en un solo gen del cromosoma padre, esta
operación se conoce como mutación uniforme.
Si la mutación toma lugar en varios genes del cromosoma padre, esta operación
se conoce como mutación uniforme múltiple.
Finalmente, si la mutación toma lugar en todos los genes del cromosoma padre,
de acuerdo a una función Gaussiana de probabilidad, la operación se conoce
como mutación Gaussiana.
De acuerdo a la bibliografía consultada, el número de cromosomas que sufrirán
mutación en un AG se encuentra entre el 5 al 10% de la población.
¡Error! No se encuentra el origen de la referencia. 31
z
a g1ai g2ai g3ai g4ai gnai Ii
=
b g1ai f(g2i) g3ai g4ai gnai Ii+1
z = unidrnd(n)
f(g2i) = unidrnd(g2i)
a = unifrnd(S);
Fig. 3.4 Operación de mutación uniforme en el gen z
3.1.5 Recombinación
Junto con el cruzamiento son las operaciones más importantes en los
algoritmos evolutivos y de acuerdo a la literatura existente se conocen como
reproducción. La escencia de estas operaciones es la herencia en la
información trasladada desde uno o más padres hacia uno o más individuos
hijos.
Existen diversos criterios para efectuar las citadas operaciones de
reproducción, los cuales dependen principalmente del tipo de variables de
decisión. En este curso se propone la operación conocida como recombinación
aleatoria, donde, a partir de dos padres, se obtendrá un único hijo (ver Fig. 3.5).
La penetración recomendada de esta operación es del 20%.
32 Inteligencia Artificial – Paúl Vásquez
Combinación Aleatoria
=
c L1a L2b L3b L4a Lna
Ici+1=u.Iai+(1-u).Ibi ; i = iteración
u(1, i ) distribución de probabilidad binaria uniforme
e L1i
= L2i L3i Ln-1i Lni Ii
=
a L 1i L2i L3i L(n-1)i Lni
Ii+1
+Δ1 +Δ2 +Δ3 +Δ(n-1) +Δn
i Lni Lnj
1; 0
j i e
e
i Lni Lnj
n 0; 0 ; n [1, 2,..., n ]
j i e
e
e Lni Lnj
1; 0
j i e
e
a = unifrnd(P – E – W);
Fig. 3.6 Operación de movimiento completo basado en memoria
34 Inteligencia Artificial – Paúl Vásquez
=
a L3i
L1i L2i Ln-1i Lni Ii+1
+Δ
i Lzi Lzj
1; 0
j i e
e
i Lzi Lzj
0; 0 z = unidrnd(n/2)
j i e
e
e Lzi Lzj
1; 0
j i e
e
a = unifrnd(P – E – W);
Fig. 3.7 Operación de movimiento por variable basado en memoria
3.2 BIBLIOGRAFÍA
Chambers L. D., The Practical Handbook of Genetic Algorithms -
Applications, Chapman & Hall /CRC, ISBN: 1-58488-2409-9, USA - 2001.
Capítulo 4.
35
36 Inteligencia Artificial – Paúl Vásquez
comparación con otros. Dentro del ACM y por tanto en el PSO, los individuos
se comparan con sus vecinos, imitando únicamente a aquellos vecinos que son
superiores a ellos.
4.2.3 Imitar
A priori se observa que la imitación se encuentra en toda la naturaleza. En
efecto, imitar es una efectiva manera de aprender a hacer las cosas y clave en
la adquisición y mantenimiento de habilidades mentales. Sin embargo, muy
pocos animales son capaces de efectuar una imitación real. Estrictamente
hablando, únicamente los humanos y unas cuantas aves son capaces de hacerlo.
4.3 MODELO BÁSICO DE PSO
Dos tipos importantes de información se encuentran disponibles para cada
individuo. La primera, es la experiencia propia, es decir, un individuo ha
atravesado varios estados y sabe exactamente cual ha sido el mejor hasta el
momento y que tan bueno es. Este criterio se conoce como pbest. La segunda
consideración es, cómo los individuos cercanos (vecinos) y los individuos a
nivel de toda la población se han desempeñado.
Estos criterios, que influencian las velocidades de los individuos, se conocen
como aprendizaje individual y transmisión cultural respectivamente,
propuestos por Boyd y Richerson.
Dentro del segundo tipo de información, los individuos van a estar
influenciados por el éxito momentáneo de cualquier individuo miembro de su
vecindario sociométrico. Si bien existen una infinidad de formas en las que los
indiviuods pueden estar conectados socialmente unos con otros, la mayoría de
implementaciones de PSO se basan en los siguientes dos criterios:
El primero, conocido como gbest, conceptualmente conecta entre sí a
todos los miembros de la población (g = global) de tal manera que la
velocidad de las partículas se encuentra influenciada por la partícula
con el mejor desempeño de toda la población.
1. k = 0;
2. Generar aleatoriamente la población inicial, P(k). Las partículas p poseen
posiciones aleatorias y vectores de velocidad;
3. Evaluar la función de aptitud para cada partícula de P(k).
4. Identificar gbest.
5. Verificar criterio de parada
6. Si la FO(p) es mejor que FO(pbest), entonces pbest = p;
7. Calcular la nueva velocidad de cada partícula vk; calcular la nueva
posición de cada partícula, Sk
8. k = k+1;
9. Regresar al paso 3.
40 Inteligencia Artificial – Paúl Vásquez
sk+1
vk
vk+1 vgbest
vpbest
sk
Fig. 4.4 Concepto de modificación de punto de búsqueda
4.4 REFERENCES
[TPGW-06] Wickramarathna M. T. A. P., Wickramaarachchi N.,
“Transmission Network Planning using Genetic Algorithm,” IEEE
Transmission and Distribution Conference and Exposition Latin America
Venezuela, Aug. 2006.
[TPUS-06] Silva I, Rider M., Romero R., Murari C., “Transmission Network
Expansion Planning Considering Uncertainties in Demand,” Transactions on
Power Systems IEEE, vol. 21, N°4, Nov. 2006, pp. 1565-1573.