A => .gitignore +4 -0
@@ 1,4 @@
+# nix build
+result
+# pandoc result
+*.pdf
A => flake.lock +43 -0
@@ 1,43 @@
+{
+ "nodes": {
+ "flake-utils": {
+ "locked": {
+ "lastModified": 1644229661,
+ "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
+ "nixpkgs": {
+ "locked": {
+ "lastModified": 1647800324,
+ "narHash": "sha256-rjwoxrk16zfrcO5Torh6CbAd5GHsHrXw+EwxOvh9AUI=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "9bc841fec1c0e8b9772afa29f934d2c7ce57da8e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "root": {
+ "inputs": {
+ "flake-utils": "flake-utils",
+ "nixpkgs": "nixpkgs"
+ }
+ }
+ },
+ "root": "root",
+ "version": 7
+}
A => flake.nix +52 -0
@@ 1,52 @@
+{
+ description = "Notas de aula de inteligência artificial - 2022/1";
+
+ inputs = {
+ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
+ flake-utils.url = "github:numtide/flake-utils";
+ };
+
+ outputs = { self, nixpkgs, flake-utils }:
+ let
+ name = "notas-ssc0530";
+ overlay = final: prev:
+ {
+ ${name} = final.stdenv.mkDerivation {
+ inherit name;
+ src = ./.;
+ buildInputs = with final; [ pandoc texlive.combined.scheme-small ];
+ buildPhase = ''
+ shopt -s globstar
+
+ # Build markdowns into pdf
+ pandoc src/**/*.md -o document.pdf
+ '';
+ installPhase = ''
+ mkdir -p $out
+ install -Dm644 *.pdf $out
+ '';
+ };
+ };
+ overlays = [ overlay ];
+ in
+ {
+ inherit overlay overlays;
+ } //
+ (flake-utils.lib.eachDefaultSystem
+ (system:
+ let
+ pkgs = import nixpkgs { inherit system overlays; };
+ in
+ rec {
+ # nix build
+ packages.${name} = pkgs.${name};
+ defaultPackage = packages.${name};
+
+ # nix develop
+ devShell =
+ pkgs.mkShell {
+ inputsFrom = [ defaultPackage ];
+ buildInputs = with pkgs; [ swiProlog ];
+ };
+ }));
+}
A => src/0-titulo.md +1 -0
@@ 1,1 @@
+# SSC0530 - Inteligência Artificial (2022/1)
A => src/aula1.md +26 -0
@@ 1,26 @@
+## Aula 1 - 22/03
+
+### Objetivos da disciplina
+- Prover entedimento de conceitos de auto nível envolvidos em programação declarativa (prolog)
+- Conceitos de aquisição e representação de conhecimento
+- Técnicas de desenvolvimento de algoritmos de busca cega e heurística
+- Técnicas básicas simbólicas e conexionistas de IA
+
+### Prolog
+Baseada em fatos e regras. Declarações.
+
+#### Fatos
+```prolog
+mulher(maria).
+filho(joao, maria).
+```
+
+#### Regras
+```prolog
+mae(x, y) :- mulher(x), filho(y, x).
+```
+
+#### Queries
+```prolog
+?- mae(maria, x).
+```