Mini Proyecto IA
Mini Proyecto IA
Explicar a los estudiantes los problemas básicos de la representación del conocimiento y la lógica para poder construir
motores de inferencia.
Para revisar las diferentes etapas de desarrollo del campo de la IA, desde el comportamiento humano hasta
Agentes racionales.
Teoría:
En cada etapa, estamos adivinando la letra (no previamente adivinada) que ocurre en la mayor cantidad.
número de palabras posibles restantes. Hay cierta motivación para gustar de este algoritmo - estamos
siempre mínimamente propenso a perder una vida. Pero, me parece que esta no es necesariamente la mejor solución:
si estamos tratando de adivinar la palabra (dentro de un cierto número de vidas), no es necesariamente siempre la
caso en que la letra que ocurre con mayor frecuencia es la letra más útil para distinguir entre el
palabras disponibles restantes.
Poda alfa-beta:
La poda alfa-beta es unaalgoritmo de búsquedaque busca disminuir el número de nodos que están
evaluado por elalgoritmo minimaxen suárbol de búsqueda.Es un algoritmo de búsqueda adversarial utilizado
comúnmente para el juego de dos jugadores por máquina. Deja de evaluar un movimiento cuando al menos uno
se ha encontrado una posibilidad que prueba que el movimiento es peor que un movimiento examinado previamente.
Tales movimientos no necesitan ser evaluados más. Cuando se aplican a un árbol minimax estándar, devuelve el
el mismo movimiento que minimax haría, pero poda ramas que no pueden influir en el resultado final
decisión.
La poda Alpha-Beta no es en realidad un nuevo algoritmo, sino una técnica de optimización para minimax.
algoritmo. Reduce el tiempo de cálculo en un gran factor. Esto nos permite buscar mucho más rápido.
y incluso profundizar en niveles más profundos en el árbol del juego. Corta ramas en el árbol del juego que necesitan
2
3
4
Código Fuente:-
importar aleatorio
importar os
hangmanpics = ['''
+---+
| |
|
|
|
|
|
=========== ''','''
+---+
| |
O
|
|
|
|
=========== ''','''
+---+
| |
O
| |
|
|
|
=========== ''','''
+---+
| |
O
/| |
|
|
|
=========== ''','''
+---+
| |
O |
/|\ |
|
|
|
=========== ''','''
+---+
| |
O
/|\ |
/ |
|
|
=========== ''','''
+---+
| |
O
/|\ |
/\|
|
|
=========== ''']
def Países():
tendrás que adivinar el nombre de un País
devolver País
def Ciudades():
Deberás adivinar el nombre de una ciudad
devolver Ciudad
def Famoso():
Tendrás que adivinar esta personalida famosa
retornar Famoso
def err():
Recibirás una palabra aleatoria de las 3 anteriores.
regresar País + Ciudad + Famoso
def NotaDeBienvenida():
{
Países
Ciudades
Famoso
elegir = entrada()
retornar elección.get(elige, err)().dividir()
def obtenerPalabraAleatoria(listaDePalabras):
índice_de_palabra = random.randint(0,len(lista_de_palabras)-1)
devuelve wordlist[wordindex]
para i en rango(len(palabrasecreta)):
si secretword[i] en correctletters:
blanks = blanks[:i] + secretword[i] + blanks[i+1:]
imprimir()
imprimir()
def jugarDeNuevo():
print('¿Quieres jugar de nuevo? (Sí o No)')
return input().lower().startswith('y')
hecho
mientras True:
mostrar(hangmanpics, letras perdidas, letras correctas, palabra secreta)
suposición = obtener_suposición(letras_perdidas + letras_correctas)
si se encuentra:
si hecho:
si jugarotravez():
os.system('cls')
NotaDeBienvenida()
missedletters
correctletters
done = False
obtenerPalabraAleatoria(palabras)
sino:
descanso
Conclusión:
Pudimos ejecutar el código y preparar un juego utilizando Python IDLE y la poda Alpha-beta.
algoritmo donde la computadora es configurada para hacer cada movimiento y así ganar el juego.
Resultados de laboratorio:
Alcanza la capacidad de representar diversos dominios de problemas de la vida real utilizando técnicas basadas en la lógica.
Adquirir la capacidad de representar varios dominios de problemas de la vida real utilizando técnicas basadas en la lógica