informe/main.tex

186 lines
6.7 KiB
TeX

\documentclass[
spanish,
12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage[
backend=biber,
style=apa
]{biblatex}
\addbibresource{references.bib}
\usepackage{csquotes}
\usepackage{graphicx}
\usepackage{mathptmx}
\usepackage{array}
\usepackage{float}
\usepackage{listings}
\usepackage[table,xcdraw]{xcolor}
\usepackage{setspace}
\usepackage{caption}
\usepackage[left=3.3cm,
right=2.3cm,
top=3.5cm,
bottom=3.0cm,
letterpaper]{geometry}
\usepackage{ragged2e}
\justifying
\usepackage{hyperref}
\hypersetup{
colorlinks=true,
linkcolor=blue,
citecolor=blue,
allcolors=blue,
pdftitle={Propuesta Anteproyecto de título}
}
\usepackage{hypcap}
\begin{document}
\title{Propuesta\\Anteproyecto de título}
\maketitle
\section{Identificación}
\subsection{Estudiantes}
\begin{itemize}
\item NOMBRE : Martin Araneda Acuña
\item DIRECCIÓN : Psje Veintidós, \#85, La Floresta IV, Hualpén
\item TELÉFONO : +56983828885
\item CARRERA : Ingeniería Civil en Informática
\item E-MAIL : martin.araneda1501@alumnos.ubiobio.cl
\end{itemize}
\vspace{2mm}
\begin{itemize}
\item NOMBRE : Christopher Cromer
\item DIRECCIÓN : Roberto Matta 204, Departamento 625, Concepción
\item TELÉFONO : +56990864256
\item CARRERA : Ingeniería Civil en Informática
\item E-MAIL : christopher.cromer1501@alumnos.ubiobio.cl
\end{itemize}
\subsection{Profesor Guía}
\begin{itemize}
\item NOMBRE : Clemente Rubio
\item E-MAIL : clrubio@ubiobio.cl
\end{itemize}
\subsection{Personas, Instituciones O Empresas En Que Se Solicitará Apoyo Y Asesoría}
\begin{itemize}
\item NOMBRE: Clemente Rubio
\item Rubro:
\item Email: clrubio@ubiobio.cl
\item Firma:
\end{itemize}
\subsection{Nombre De La Persona Responsable De La Empresa Que Supervisara Al Alumno}
\begin{itemize}
\item NOMBRE: Clemente Rubio
\item Cargo:
\item Email: clrubio@ubiobio.cl
\end{itemize}
\section{Título Anteproyecto}
Diseño e Implementación de una inteligencia artificial en video juegos con enfoque en lenguaje lógico y compilado.
\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.
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).
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.
Por tanto, se va a abordar un típico problema que incluye toma de decisiones para superar obstáculos.
\section{Objetivos de la Actividad}
\subsection{Objetivo General:}
La finalidad de esta actividad de titulación es el desarrollo de un lenguaje de programación de tipo Prolog para poder\
implementar una inteligencia artificial que permita evitar ciertos obstáculos.
\subsection{Objetivos Específicos:}
\begin{enumerate}
\item Revisar bibliografía sobre Prolog, el motor Godot y programación de video juegos.
\item Analizar la información recopilada de la bibliografía investigada.
\item Crear el lenguaje de programación tipo Prolog.
\item Implementar el lenguaje de programación en el motor Godot.
\item Desarrollar un videojuego usando inteligencia artificial basado en el lenguaje tipo Prolog.
\end{enumerate}
\section{Descripción de las actividades (Plan de trabajo)}
\begin{enumerate}
\item Se hará una revisión y descarte de bibliografía relacionada al desarrollo de videojuegos con implementación de inteligencia artificial basado en Prolog y motor Godot.
\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
\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.
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.
\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.
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}
\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.
\section{Planificación del trabajo a desarrollar: Carta Gantt}
En esta sección se presenta la carta gantt del plan de trabajo a desarrollar para el software
\begin{table}[!h]
\begin{center}
\begin{tabular}{|l|l|l|}
\hline
\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 & 2 meses & Mayo- Junio \\ \hline
Implementación de lenguaje tipo Prolog en Godot & 1 mes & Julio \\ \hline
Desarrollo de videojuego con I.A. & 3 meses & Agosto-Octubre \\ \hline
\end{tabular}
\end{center}
\end{table}
\section{Referencias}
\printbibliography[
heading=none]
\end{document}