Merge pull request 'final touches' (#10) from final_touches into master

Reviewed-on: #10
This commit is contained in:
Chris Cromer 2022-03-09 15:27:17 -03:00
commit 6a1999561a
2 changed files with 22 additions and 18 deletions

BIN
main.pdf (Stored with Git LFS)

Binary file not shown.

View File

@ -97,14 +97,16 @@ Diseño e Implementación de una inteligencia artificial en video juegos con enf
\section{Descripción del Problema}
Se va utilizar un lenguaje lógico de programación para poner en funcionamiento una inteligencia artificial autónoma\
desarrollado en un motor de video juegos.
Se va a utilizar un lenguaje lógico de programación para poner en funcionamiento una inteligencia artificial autónoma\
desarrollada en un motor de video juegos.
Un lenguaje lógico es una manera de asimilar la toma de desiciones de un ser humano en como resolver un dificultad, con la diferencia de elegir que problema queremos solucionar y trabaja haciendo relaciones entre objetos (agentes y/o obstáculos).
Un lenguaje lógico es una manera de asimilar la toma de decisiones de un ser humano en como resolver un dificultad, con la diferencia\
de poder elegir que problema queremos solucionar y desarrollando relaciones entre objetos (agentes y/o obstáculos).
Todo esto es creando un cerebro o ''ente pensante'' que hará este trabajo de abordar estos problemas y superarlos. Este ente es llamado ''Inteligencia Artificial'', una combinación de programación y lógica, que tiene las mismas capacidades que un ser humano.
Todo esto es creando un cerebro o ''ente pensante'' que hará este trabajo de abordar estos problemas y superarlos. Este ente es llamado\
''Inteligencia Artificial'', una combinación de programación y lógica, que tiene las mismas capacidades racionales de un ser humano.
Por tanto, se va a abordar un típico problema que incluye toma de decisiones para superar obstáculos.
Por tanto, se va a abordar un típico problema que incluye la toma de decisiones para superar obstáculos.
\section{Objetivos de la Actividad}
@ -131,34 +133,36 @@ implementar una inteligencia artificial que permita evitar ciertos obstáculos.
\item Se estudiará la información recopilada para posible implementación en el software.
\item Se creará un lenguaje de programación lógico basado en Prolog.
\item Se implementará el lenguaje de programación lógico en el motor de videojuegos Godot.
\item Se desarrollará un videojuego estilo plataforma con despliegue de la inteligencia artificial basada en Prolog
\item Se desarrollará un videojuego estilo plataforma con despliegue de la inteligencia artificial basada en Prolog.
\end{enumerate}
\section{Justificación del Proyecto}
El beneficio de usar un lenguaje lógico en vez de funcional es poder programar una inteligencia artificial que tome decisiones\
de la\
misma forma que una persona real piensa usando datos basado en el entorno.
de la misma forma que una persona real piensa usando datos basado en el entorno.
Es necesario para así simular de manera mas realista el comportamiento humano de una inteligencia artificial y poder ser\
adaptado a otros tipos de juegos y motores.
Adicionalmente, al utilizar un lenguaje de programación compilado en vez de scripting, se puede desarrollar una inteligencia artificial\
que sea capaz de tomar decisiones complejas con mayor rapidez.
\section{Análisis de los Principales Trabajos Realizados en el área o tema de la propuesta }
\begin{enumerate}
\item En el Short Paper Prolog-Scripted Tactics Negotiation and Coordinated Team Actions for Counter-Strike Game Bots \cite{Prolog-Scripted2016}, se implementa un script de prolog para controlar los agentes presentes en el juego.
En el Short Paper Prolog-Scripted Tactics Negotiation and Coordinated Team Actions for Counter-Strike Game Bots \cite{Prolog-Scripted2016},\
se implementa un script de prolog para controlar los agentes presentes en el juego.
Una de las características del lenguaje de scripting usado en el paper es que se interpreta a medida que va ejecutándose, lo que provoca que el rendimiento del software sea peor, acentuándose mas en inteligencias artificiales mas complejas.
En cambio, el lenguaje compilado tiene mejor rendimiento y se pueden encontrar errores de compilación antes de ejecutarse, lo que facilita la corrección y el feedback para evitar problemas futuros.
\end{enumerate}
Una de las características del lenguaje de scripting usado en el paper es que se interpreta a medida que va ejecutándose, lo que provoca que\
el rendimiento del software sea peor, acentuándose mas en inteligencias artificiales mas complejas.
En cambio, el lenguaje compilado tiene mejor rendimiento y se pueden encontrar errores de compilación antes de ejecutarse, lo que facilita\
la corrección y el feedback para evitar problemas futuros.
\section{Resultados Esperados de la investigación (INV) o Descripción del ambiente de Software esperado (SW)}
Esencialmente se espera que un agente en el video juego pueda evitar obstáculos a través de la toma de decisiones utilizando\
la inteligencia artificial implementada y así llega a la meta.
la inteligencia artificial implementada y así llegar a la meta.
\section{Planificación del trabajo a desarrollar: Carta Gantt}
@ -171,7 +175,7 @@ En esta sección se presenta la carta gantt del plan de trabajo a desarrollar pa
\textbf{Actividad} & \textbf{Duración} & \textbf{I/F} \\ \hline
Revisión y descarte de bibliografia & 1 mes & Marzo \\ \hline
Estudio de información recopilada & 1 mes & Abril \\ \hline
Creación de lenguage tipo Prolog & 3 meses & Mayo- Julio \\ \hline
Creación de lenguage tipo Prolog & 3 meses & Mayo-Julio \\ \hline
Implementación de lenguaje tipo Prolog en Godot & 1 mes & Agosto \\ \hline
Desarrollo de videojuego con I.A. & 3 meses & Septiembre-Noviembre \\ \hline
\end{tabular}