~misterio/BSI-SCC0530

64aeab3810d74c885c7b76a057ff88632c44e419 — Gabriel Fontes 4 months ago
adiciona aula1
5 files changed, 126 insertions(+), 0 deletions(-)

A .gitignore
A flake.lock
A flake.nix
A src/0-titulo.md
A src/aula1.md
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).
```