Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
bbe0391
Primeros Pasos
FranciscoAtondo Jan 17, 2025
74df4a2
Actualizacion minima, aun no se prueba
FranciscoAtondo Jan 21, 2025
554f4d2
Rename .vscode/settings.json to Tarea 1/.vscode/settings.json
FranciscoAtondo Jan 22, 2025
f223174
Rename .DS_Store to Tarea 1/.DS_Store
FranciscoAtondo Jan 22, 2025
983363d
Rename .gitignore to Tarea 1/.gitignore
FranciscoAtondo Jan 22, 2025
4a2d476
Rename README.md to Tarea 1/README.md
FranciscoAtondo Jan 22, 2025
c538b42
Rename doscuartos_f.py to Tarea 1/doscuartos_f.py
FranciscoAtondo Jan 22, 2025
840abdc
Rename doscuartos_o.py to Tarea 1/doscuartos_o.py
FranciscoAtondo Jan 22, 2025
8da733b
Rename entornos_f.py to Tarea 1/entornos_f.py
FranciscoAtondo Jan 22, 2025
21b3467
Rename entornos_o.py to Tarea 1/entornos_o.py
FranciscoAtondo Jan 22, 2025
6d498c2
Rename ia.png to Tarea 1/ia.png
FranciscoAtondo Jan 22, 2025
4781ce3
Rename tarea_1.py to Tarea 1/tarea_1.py
FranciscoAtondo Jan 22, 2025
7fe7980
Create README.md
FranciscoAtondo Jan 22, 2025
cb6dab6
Primer Avance
FranciscoAtondo Jan 22, 2025
420a2dd
Merge branch 'master' of https://github.com/FranciscoAtondo/Inteligen…
FranciscoAtondo Jan 22, 2025
bf21194
Limpia el primer piso.
FranciscoAtondo Jan 22, 2025
157f130
Intento de implementacion de Agente Aleatorio
FranciscoAtondo Jan 22, 2025
825ea75
Create semana01.md
FranciscoAtondo Jan 23, 2025
aeda44c
Update semana01.md
FranciscoAtondo Jan 23, 2025
905238d
Create semana02.md
FranciscoAtondo Jan 23, 2025
42ae036
Intento de ajustes, restauracion de tarea_1.py a version anterior por…
FranciscoAtondo Jan 23, 2025
952783a
Merge branch 'master' of https://github.com/FranciscoAtondo/Inteligen…
FranciscoAtondo Jan 23, 2025
4255ee4
Update tarea_1.py
FranciscoAtondo Jan 23, 2025
6dedb88
Update semana02.md
FranciscoAtondo Jan 23, 2025
f8a26fe
Mensajes para identificar problemas agregados, limpieza de comentario…
FranciscoAtondo Jan 24, 2025
4eb76da
Update tarea_1.py
FranciscoAtondo Jan 25, 2025
33111db
Create semana03.md
FranciscoAtondo Jan 27, 2025
078ec01
Update semana03.md
FranciscoAtondo Jan 29, 2025
e273330
Update semana03.md
FranciscoAtondo Jan 31, 2025
311a89f
Created using Colab
FranciscoAtondo Feb 11, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,110 changes: 1,110 additions & 0 deletions Introducción a Numpy y Matplotlib.ipynb

Large diffs are not rendered by default.

45 changes: 1 addition & 44 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,44 +1 @@
![](ia.png)
# Desarrollo de entornos y agentes
**Evaluación de competencias 1**

## Desarrollo de entornos y agentes

### Objetivo de la tarea

Esta tarea tiene como objetivo revisar y dejar claro el desarrollo de las técnicas que se estudiarán en el curso como el desarrollo de programas de agentes racionales, y se revisará en forma superficial el desarrollo de agentes *reactivos* y *reactivos basados en modelo*, así como las peculiaridades de diferentes tipos de entornos.

### Trabajo a realizar

**Importante:** Todo el desarrollo que se realice para la tarea debe de ser incluido en el archivo `tarea_1.py`. Recuerda que los *commits* que hagas de tus avances son importantes para que como profesor pueda medir lo que vas haciendo.

En esta tarea realiza las siguiente acciones:

1. Desarrolla un entorno similar al de los dos cuartos (el cual se encuentra en el módulo `doscuartos_o.py` o el modulo `doscuartos_f.py`, como prefieras), pero con tres cuartos en el primer piso, tres cuartos en el segundo piso y tres cuartos en el tercer piso.

El entorno se llamará `NueveCuartos`.

Las acciones totales serán

```
["ir_Derecha", "ir_Izquierda", "subir", "bajar", "limpiar", "nada"]
```

La acción de `"subir"` solo es legal en los primeros dos pisos, en los cuartos de la derecha, mientras que la acción de `"bajar"` solo es legal en los dos pisos de arriba de arriba y en el cuarto de la izquierda.

Las acciones de subir y bajar son mas costosas en término de energía que ir a la derecha y a la izquierda, por lo que la función de desempeño debe de ser de tener limpios todos los cuartos, con el menor numero de acciones posibles, y minimizando subir y bajar en relación a ir a los lados. El costo de limpiar es menor a los costos de cualquier acción.

2. Diseña un Agente reactivo basado en modelo para este entorno y compara su desempeño con un agente aleatorio después de 200 pasos de simulación.

3. A este modelo de `NueveCuartos`, modifícalo de manera que el agente solo pueda saber en que cuarto se encuentra pero no sabe si está limpio o sucio. Utiliza la herencia entre clases para no escribir código redundante.

A este nuevo entorno llámalo `NueveCuartosCiego`.

Diseña un agente racional para este problema, pruébalo y compáralo con el agente aleatorio.

4. Al modelo original de `NueveCuartos` modifícalo para que cuando el agente decida aspirar, el 80% de las veces limpie pero el 20% (aleatorio) deje sucio el cuarto. Igualmente, cuando el agente decida cambiar de cuarto, se cambie correctamente de cuarto el 80% de la veces, el 10% de la veces se queda en su lugar y el 10% de las veces realiza una acción legal aleatoria. Diseña un agente racional para este problema, pruébalo y compáralo con el agente aleatorio.

A este entorno llámalo `NueveCuartosEstocástico`.

**Todos los incisos tienen un valor de 25 puntos sobre la calificación de la tarea.**

Repositorio de Francisco Javier Atondo Nubes para la clase de Inteligencia Artificial 2025-1
File renamed without changes.
2 changes: 1 addition & 1 deletion .gitignore → Tarea 1/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
.idea*
.idea/*
*.*~
__pycache__/
__pycache__/
2 changes: 1 addition & 1 deletion .vscode/settings.json → Tarea 1/.vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"python.pythonPath": "/Users/juliowaissman/anaconda/bin/python"
}
}
44 changes: 44 additions & 0 deletions Tarea 1/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
![](ia.png)
# Desarrollo de entornos y agentes
**Evaluación de competencias 1**

## Desarrollo de entornos y agentes

### Objetivo de la tarea

Esta tarea tiene como objetivo revisar y dejar claro el desarrollo de las técnicas que se estudiarán en el curso como el desarrollo de programas de agentes racionales, y se revisará en forma superficial el desarrollo de agentes *reactivos* y *reactivos basados en modelo*, así como las peculiaridades de diferentes tipos de entornos.

### Trabajo a realizar

**Importante:** Todo el desarrollo que se realice para la tarea debe de ser incluido en el archivo `tarea_1.py`. Recuerda que los *commits* que hagas de tus avances son importantes para que como profesor pueda medir lo que vas haciendo.

En esta tarea realiza las siguiente acciones:

1. Desarrolla un entorno similar al de los dos cuartos (el cual se encuentra en el módulo `doscuartos_o.py` o el modulo `doscuartos_f.py`, como prefieras), pero con tres cuartos en el primer piso, tres cuartos en el segundo piso y tres cuartos en el tercer piso.

El entorno se llamará `NueveCuartos`.

Las acciones totales serán

```
["ir_Derecha", "ir_Izquierda", "subir", "bajar", "limpiar", "nada"]
```

La acción de `"subir"` solo es legal en los primeros dos pisos, en los cuartos de la derecha, mientras que la acción de `"bajar"` solo es legal en los dos pisos de arriba de arriba y en el cuarto de la izquierda.

Las acciones de subir y bajar son mas costosas en término de energía que ir a la derecha y a la izquierda, por lo que la función de desempeño debe de ser de tener limpios todos los cuartos, con el menor numero de acciones posibles, y minimizando subir y bajar en relación a ir a los lados. El costo de limpiar es menor a los costos de cualquier acción.

2. Diseña un Agente reactivo basado en modelo para este entorno y compara su desempeño con un agente aleatorio después de 200 pasos de simulación.

3. A este modelo de `NueveCuartos`, modifícalo de manera que el agente solo pueda saber en que cuarto se encuentra pero no sabe si está limpio o sucio. Utiliza la herencia entre clases para no escribir código redundante.

A este nuevo entorno llámalo `NueveCuartosCiego`.

Diseña un agente racional para este problema, pruébalo y compáralo con el agente aleatorio.

4. Al modelo original de `NueveCuartos` modifícalo para que cuando el agente decida aspirar, el 80% de las veces limpie pero el 20% (aleatorio) deje sucio el cuarto. Igualmente, cuando el agente decida cambiar de cuarto, se cambie correctamente de cuarto el 80% de la veces, el 10% de la veces se queda en su lugar y el 10% de las veces realiza una acción legal aleatoria. Diseña un agente racional para este problema, pruébalo y compáralo con el agente aleatorio.

A este entorno llámalo `NueveCuartosEstocástico`.

**Todos los incisos tienen un valor de 25 puntos sobre la calificación de la tarea.**

2 changes: 1 addition & 1 deletion doscuartos_f.py → Tarea 1/doscuartos_f.py
Original file line number Diff line number Diff line change
Expand Up @@ -129,4 +129,4 @@ def test():


if __name__ == "__main__":
test()
test()
2 changes: 1 addition & 1 deletion doscuartos_o.py → Tarea 1/doscuartos_o.py
Original file line number Diff line number Diff line change
Expand Up @@ -188,4 +188,4 @@ def test():


if __name__ == "__main__":
test()
test()
1 change: 0 additions & 1 deletion entornos_f.py → Tarea 1/entornos_f.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,4 +114,3 @@ def imprime_simulacion(historial, s_0):
str(s_i).center(25) +
str(c_i).rjust(12))
print('_' * (10 + 40 + 25 + 15) + '\n\n')

2 changes: 1 addition & 1 deletion entornos_o.py → Tarea 1/entornos_o.py
Original file line number Diff line number Diff line change
Expand Up @@ -122,4 +122,4 @@ def simulador(entorno, agente, pasos=10, verbose=True):

print('_' * (10 + 40 + 25 + 15) + '\n\n')

return historial_estados, historial_acciones, historial_costo
return historial_estados, historial_acciones, historial_costo
File renamed without changes
Loading