Este documento resume cinco lecciones sobre optimización de código. Explica los conceptos de generación de código y optimización, así como los objetivos, tipos y técnicas de optimización como la reducción de frecuencia, propagación de constantes y optimización de bucles. También describe la construcción del grafo de flujo de ejecución para permitir la optimización global.
Los métodos de búsquedas mas conocido en Inteligencia Artificial.
Búsquedas Sin Información del Dominio (A Ciegas)
· Búsqueda en Amplitud o Anchura
· Búsqueda en Profundidad
Búsquedas Informadas (Heurísticas)
· Búsqueda “Primero el Mejor”
· Búsqueda en Haz
· Algoritmo A*
Búsqueda con Adversario
· Método Minimax
· Método de Poda
Los métodos de búsquedas mas conocido en Inteligencia Artificial.
Búsquedas Sin Información del Dominio (A Ciegas)
· Búsqueda en Amplitud o Anchura
· Búsqueda en Profundidad
Búsquedas Informadas (Heurísticas)
· Búsqueda “Primero el Mejor”
· Búsqueda en Haz
· Algoritmo A*
Búsqueda con Adversario
· Método Minimax
· Método de Poda
Este trabojo de investigacion incluye el contenido de toda la unidad uno de la materia de lenguajes de interfaz. Se maneja informacion clara y sencilla, dando importancia a los puntos mas importantes de esta primera unidad de la materia ya mencionada.
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...Hugo Alberto Rivera Diaz
Conceptos Unidad 1 Lenguajes Autómatas
1 Introducción a la
Teoría de Lenguajes
Formales.
1.1 Alfabeto.
1.2 Cadenas.
1.3 Lenguajes
1.4 Tipos de lenguajes
1.5 Herramientas computacionales ligadas
con lenguajes
1.6 Estructura de un traductor
1.7 Fases de un compilador
Definición de la tabla de símbolos
Objetivos de la tabla de símbolos
Compilador de una pasada
Compilador de varias pasadas
Contenidos de la tabla de símbolos
Operaciones de la tabla de símbolos
Operación con lenguajes estructurados de bloques.
Tutorial de JFLAP en español que explica paso a paso todas las funcionalidades de la herramienta y al final contiene varias prácticas que van de un nivel de dificultad bajo hacia uno más alto.
Este trabojo de investigacion incluye el contenido de toda la unidad uno de la materia de lenguajes de interfaz. Se maneja informacion clara y sencilla, dando importancia a los puntos mas importantes de esta primera unidad de la materia ya mencionada.
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...Hugo Alberto Rivera Diaz
Conceptos Unidad 1 Lenguajes Autómatas
1 Introducción a la
Teoría de Lenguajes
Formales.
1.1 Alfabeto.
1.2 Cadenas.
1.3 Lenguajes
1.4 Tipos de lenguajes
1.5 Herramientas computacionales ligadas
con lenguajes
1.6 Estructura de un traductor
1.7 Fases de un compilador
Definición de la tabla de símbolos
Objetivos de la tabla de símbolos
Compilador de una pasada
Compilador de varias pasadas
Contenidos de la tabla de símbolos
Operaciones de la tabla de símbolos
Operación con lenguajes estructurados de bloques.
Tutorial de JFLAP en español que explica paso a paso todas las funcionalidades de la herramienta y al final contiene varias prácticas que van de un nivel de dificultad bajo hacia uno más alto.
34. Ejemplo de Optimización Global Variables Vivas A(1)<0 J>0 L:=2 L:=1 J:=2 K:=1 A(K+1):=A(K)+A(K+1); I:=J; L:=K*I K:=K+2 K<J {J,K} {J,K} {J,K} {A(1),J} {J}
35. Ejemplo de Optimización Global Eliminación de Variables Innecesarias A(1)<0 J>0 L:=2 L:=1 J:=2 K:=1 A(K+1):=A(K)+A(K+1); I:=J; L:=K*I K:=K+2 K<J {J,K} {J,K} {J,K} {A(1),J} {J} Se puede eliminar L e I Las A(K),A(K+1) no se eliminan pues no se han podido considerar en el cálculo de variables vivas
36. Ejemplo de Optimización Global Propagación de Constantes A(1)<0 J>0 J:=2 K:=1 A(K+1):=A(K)+A(K+1); K:=K+2 K<2 {A(1),J} {J:=2} Eliminar J>0 por no utilizarse y saltar al mismo bloque básico Eliminar A(1)<0 después de eliminar J>0 Se puede expandir el bucle
37. Ejemplo de Optimización Global Expandir el Bucle J:=2 K:=1 A(1+1):=A(1)+A(1+1); A(2+1):=A(2)+A(2+1); A(2):=A(1)+A(2); A(3):=A(2)+A(3); Eliminar J y k por que no se utilizan y realizar los cálculos entre constantes