En este curso cubrimos dos formalismos para razonar correctamente: lógica y teorías de la probabilidad. Vimos tres lógicas. La menos expresiva es la lógica proposicional, nos llevó a ilustrar el concepto de problemas "NP-completos", que son problemas por excelencia tratados con técnicas de inteligencia artificial. Pasamos, después, a una lógica temporal que se usa en verificadores de modelos. Estos verificadores, parcialmente realizan el ideal ingenuo de los años 60, de que con computadoras, íbamos a poder hacer búsqueda exhaustiva en espacios muy grandes. Por último, la más expresiva que cubrimos es la lógica de predicados, se ha empleado en varios aspectos de la inteligencia artificial. Ha habido intentos de basar toda la inteligencia artificial en lógica de predicados, y también se ha usado para formalizar el razonamiento de robots. Vimos tres modelos probabilísticos. Las redes bayesianas representan un solo estado de un sistema. Continuamos con cadenas de Márkov en las que hay tiempo. Seguimos con procesos de decisión de Márkov en los que alternamos una decisión tomada por la naturaleza con una decisión tomada por un agente. Por último, dijimos unas palabras sobre lo que sucede cuando hay más de un agente que nos condujo a la teoría de juegos.