diff --git a/.gitignore b/.gitignore index 6e6ecc8..a40214e 100644 --- a/.gitignore +++ b/.gitignore @@ -217,3 +217,4 @@ TSWLatexianTemp* # expex forward references with \gathertags *-tags.tex +.Rproj.user diff --git a/agent-rationnel.dot b/agent-rationnel.dot new file mode 100644 index 0000000..a787930 --- /dev/null +++ b/agent-rationnel.dot @@ -0,0 +1,17 @@ +graph agentrationnel { + a [label="Agent Rationnel"]; + c1 [label="Perception"]; + c11 [label="Historique"]; + c2 [label="Action"]; + c3 [label="But"]; + c4 [label="Capacités"]; + c41 [label="Croyances"]; + c42 [label="Connaissances"]; + a -- c1; + c1 -- c11; + a -- c2; + a -- c3; + a -- c4; + c4 -- c41; + c4 -- c42; +} diff --git a/agentapprenant.png b/agentapprenant.png new file mode 100644 index 0000000..8af91ae Binary files /dev/null and b/agentapprenant.png differ diff --git a/agentapprenant.xml b/agentapprenant.xml new file mode 100644 index 0000000..7487a1a --- /dev/null +++ b/agentapprenant.xml @@ -0,0 +1 @@ +5Vpbc5s4FP41zD4lg1C4+NF23PRhM7ttZtrdRxlk0FYgVsixnV9fyQhzJ6TxpW7zkKCjgy7fOd+nIyYGnMfbB47S6JEFmBqWGWwNeG9YlgMt+VsZdrnBtkFuCDkJclPF8EResDaa2romAc5qjoIxKkhaN/osSbAvajbEOdvU3VaM1mdNUYhbhicf0bb1KwlElFs9yy3tHzEJo2Jm4EzynhgVznonWYQCtqmY4MKAc86YyJ/i7RxThV2BS/7eh57ew8I4TsSYF1znY/b5w+OXv7YZdjd+8DBFn27u8lGeEV3rDevFil2BAGfrJMBqEGDA2SYiAj+lyFe9GxlyaYtETHX3ilA6Z5Rx2U5YIp1megbMBd72Lh0cAJGJhFmMBd9JF/3CnYZQ51CB6KYMCLS1LaoEAzraiHQShIeRS5zkg4bqDbDZHbA5VCgs1FMo9vvOLcvCMA3VduVq0lRuHKnn3EMuYdl8S9qqQzViIqEUdeAzwdk33IC+IxqIkjCRTV+uBUv7TAWGyHyf6o6YBIGapjPSZS6Yx4ksMOuhBe3QHqJfDe3JImt5LbBxIBVBNxkXEQtZguiitDZgqUTlPyzETosaWgsmTeUIfzKWar98TjXRMI5yXWzNfTywAUeLJOIhFgN+wOoODMcUCfJcX0gXzPtXp5yjXcUhZSQRWWXkv5WhwmS3Hm+3oVkNd2tiD7jLh3z+MtyHjfx4BjgjuL1InglXJ06MazQeoGw9R94uoxHj5IUlAlE9RC9xjyG4DcUFsM1Lp4OWwD4ZL80WotfFS3ckL7130vJ9KLeT/7Mxh8Z0Io8X5AvCkhFnEccZeUHLvYMCXouC9LZnhn3/plOIoiWmM+R/C/fBLEhhWHC1/xnKd10T6pWUlVg1fAPJ1suOG/PWgh6oMeRGN98mn6XgFS5stcpkfjQDeQRdc/t1DRaqNedEkP9lf0XS4Mkk7QhC5dV1yrNbMgWss5YPoIXybK0ORDP4I6/7BMkydecoqkPeC+916Zs3Ut8mF9W3u98EZdCjYOeB2RshNY8sWEt4e4lxbdIDJu0S6cza0767X1dyT86V3D90dTkETgccglfuLg3/ot3nD81B/9NcdiYjmPqQV4BJ/ocjgddc8VaRN+VsSfcdXoyza+XuAfrLcRcek7sSBb77R9lv7aL5r3bbN+63tdZOty7A+eKDz+ukh5cgPbTqHyAgsE9PSqv9eXEurzKIZDftsjFDiV8y75cpJ0fnRc99WcfPvAWmB+sHtR75572pFSscWT/tdRjzFeOxyoWrEeFWBeW1VXhyThEG1/7tF1gjSeO+U0vfB/Pkd4H5MoVqUZgeeGW/UngO+5/mjCswrJ5xKFWlZdbODkpJmuGL6VTzY3hXtQg6hAqeTKjca2cQHMkg56JCBVs5ulitsK+z9PWK68J56zYvrB1fR4+Ut7JZ/idDrhHlv4PAxXc= \ No newline at end of file diff --git a/agentintelligent.dot b/agentintelligent.dot new file mode 100644 index 0000000..c612513 --- /dev/null +++ b/agentintelligent.dot @@ -0,0 +1,15 @@ +digraph agentintelligent { + G [label="Agent", shape=oval]; + E [label="Environnement", shape=rect]; + S [label="Capteurs", shape=parallelogram]; + A [label="Effecteurs", shape=parallelogram]; + P [label="Mesure de performance", shape=diamond] + P -> G + S -> G; + G -> A; + E -> S [label="Perception"]; + A -> E [label="Actions"]; + { rank=same; + E A S + } +} diff --git a/agentintelligent.png b/agentintelligent.png new file mode 100644 index 0000000..e0a64e7 Binary files /dev/null and b/agentintelligent.png differ diff --git a/agentrationnel.dot b/agentrationnel.dot new file mode 100644 index 0000000..49bff0c --- /dev/null +++ b/agentrationnel.dot @@ -0,0 +1,17 @@ +graph agentrationnel { + a [label="Agent Rationnel"]; + c1 [label="Perception"]; + c2 [label="Action"]; + c3 [label="But"]; + c31 [label="Mesure de performance"]; + c4 [label="Capacités"]; + c41 [label="Croyances"]; + c42 [label="Connaissances"]; + a -- c1; + a -- c2; + a -- c3; + c3 -- c31; + a -- c4; + c4 -- c41; + c4 -- c42; +} diff --git a/agentrationnel.png b/agentrationnel.png new file mode 100644 index 0000000..716ce54 Binary files /dev/null and b/agentrationnel.png differ diff --git a/bibliographie.bib b/bibliographie.bib new file mode 100644 index 0000000..e69de29 diff --git a/chapitre1.tex b/chapitre1.tex new file mode 100644 index 0000000..6470dd5 --- /dev/null +++ b/chapitre1.tex @@ -0,0 +1,113 @@ +\section{Chapitre 1: Introduction} +\label{sec:ch1} + +\subsection{Définition} +\label{sec:ch1definition} + +Il y a plusieurs définitions de l'intelligence artificielle. Elles peuvent se classer selon deux dualités: + +\paragraph{Dualité d'approche scientifique} + +\begin{enumerate} +\item Empirique: + \begin{itemize} + \item Basé sur des hypothèses et des expérimentations. + \item Fidélité aux performances humaines. + \end{itemize} +\item Théorique: + \begin{itemize} + \item Basé sur les mathématiques et l'ingénierie. + \item Conception idéalisée de l'intelligence humaine. + \end{itemize} +\end{enumerate} + +\paragraph{Dualité d'approche psychologique} + +\begin{enumerate} +\item Pensée et raisonnement +\item Comportement +\end{enumerate} + +\paragraph{4 définitions} + +À l'intersection de ces deux dualités, on retrouve 4 approches ou définitions (Figure \ref{fig:def-ia}) + +\begin{figure}[h] + \centering + \begin{tabular}{l|l|l} + &\textbf{Empirique}&\textbf{Théorique}\\ + \hline + \textbf{Pensée et raisonnement}&Penser comme des humains&Penser rationnellement\\ + \textbf{Comportement}&Agir comme des humains&Agir rationnellement\\ + \end{tabular} + \caption[Définitions]{Définitions de l'intelligence artificielle} + \label{fig:def-ia} +\end{figure} +\clearpage +\subsection{Capacités requises} +\label{sec:ch1capacite} + +\begin{enumerate} +\item Penser comme des humains + \begin{itemize} + \item Fonctionnement du cerveau: neurosciences cognitives + \item Expériences psychologiques: sciences cognitives + \end{itemize} +\item Agir comme des humains + \begin{itemize} + \item \textbf{Test de Turing}: + \item langage naturel; + \item représentation des connaissances; + \item raisonnement automatique; + \item apprentissage. + \end{itemize} +\item Penser rationnellement + \begin{itemize} + \item Logique formelle + \item Traduction des connaissances et états en équations logiques + \item Défi pour gérer l'incertitude + \end{itemize} +\item Agir rationnellement + \begin{itemize} + \item Faire la bonne chose selon les informations disponibles + \item Accomplissement d'un but + \item N'implique pas nécessairement un raisonnement + \end{itemize} +\end{enumerate} + +Dans ce cours, nous allons nous concentrer sur l'approche \textbf{Agir rationnellement} +\clearpage +\subsection{Agent rationnel} +\label{sec:ch1agentrationnel} + +\begin{mydef} + \textbf{Agent rationnel}: Pour chaque séquence possible de perception, un agent rationnel devrait choisir une action qui maximise sa mesure de performance, étant donné son historique de perception et ses connaissances inhérentes. +\end{mydef} + +Un agent rationnel (Figure \ref{fig:ch1agentrationnel}) explore, apprend et est autonome. Il n'est pas omniscient, clairvoyant et ne réaussit pas toujours. C'est un outil d'analyse de systèmes et non une caractérisation. + +\begin{figure}[h] + \centering + \includegraphics[height=5cm]{agentrationnel.png} + \caption{Agent Rationnel} + \label{fig:ch1agentrationnel} +\end{figure} + +\subsection{Histoire de l'intelligence artificielle} +\label{sec:histoireia} + +\begin{figure}[ht] + \centering + \includegraphics[height=250px]{prehistoire-ia.png} + \includegraphics[height=275px]{histoire-ia.png} + \caption{Histoire de l'IA} + \label{fig:ch1histoire} +\end{figure} + + + + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "notes_de_cours" +%%% End: diff --git a/chapitre2.tex b/chapitre2.tex new file mode 100644 index 0000000..4d9f900 --- /dev/null +++ b/chapitre2.tex @@ -0,0 +1,167 @@ +\section{Chapitre 2: Agents intelligents} +\label{sec:ch2} + +\subsection{Définition} +\label{sec:ch2definition} + +\begin{mydef} + \textbf{Objet}: Entité passive qui possède un état et sur lequel on peut effectuer des opérations +\end{mydef} + +\begin{mydef} +\textbf{Agent intelligent}: Entité autonome qui perçoit son environnement à l'aide de capteurs et agit sur ce dernier à l'aide d'effecteurs. Peut être constitué de plusieurs objets. +\end{mydef} + +\begin{mydef} + \textbf{Programmation orientée agents}: met en évidence l'autonomie et les interactions +\end{mydef} + +\begin{figure}[h] + \centering + \includegraphics[height=5cm]{agentintelligent.png} + \caption{Agent intelligent} + \label{fig:ch2agentintelligent} +\end{figure} + +\subsection{Mesure de performance} +\label{sec:ch2mesure} + +La mesure de performance est externe, fixée par le concepteur et propre à la tâche à accomplir. +Il faut faire attention aux comportements adverses. + +\subsection{Environnement de la tâche} +\label{sec:ch2peas} + +On définit l'environnment de la tâche à l'aide de l'acronyme PEAS: +\begin{itemize} +\item \textbf{P}erformance measure +\item \textbf{E}nvironment +\item \textbf{A}ctuators +\item \textbf{S}ensors +\end{itemize} + +Exemple: Taxi automatisé (Figure \ref{tab:ch2taxiautomatise}) + +\begin{table}[h] + \centering + \begin{tabular}{|l|l|} + \hline + Type d'agent&Chauffeur de taxi\\ + Mesure de performance&sécurité,vitesse,respect de la loi,confort,profits\\ + Environnement&Route, circulation, piétons, clients\\ + Effecteurs&Volant, accélérateur, freins, clignotants, klaxon\\ + Capteurs&Caméra, sonar, accélérometre, odomètre, GPS, capteurs du moteur, clavier\\ + \hline + \end{tabular} + \caption{Exemple d'agent intelligent: taxi automatisé} + \label{tab:ch2taxiautomatise} +\end{table} +\clearpage +\subsection{Propriétés de l'environnement} +\label{sec:ch2propriere} + +\begin{figure}[h] + \centering + \includegraphics[width=16.5cm]{environnementpropriete.png} + \caption{Propriétés} + \label{fig:ch2proprieresenv} +\end{figure} + + +\paragraph{Quelques précisions} + +\begin{itemize} +\item Complètement observable: Accès à l'état complet de l'environnement à tout instant +\item Déterministe: déterminé par l'état courant et l'action de l'agent +\item Stratégique: Déterministe et multi-agents +\item Épisodique: Séquence perception-action. Le prochain épisode ne dépend pas des actions effectuées dans les épisodes précédents +\item Semi-dynamique: La valeur de la mesure de performance change avec le temps même si l'environnement ne change pas +\item Dynamique: L'environnement change avec le temps +\end{itemize} + +\paragraph{Situation la plus difficile} + +\begin{itemize} +\item Partiellement observable +\item Stochastique +\item Séquentielle +\item Dynamique +\item Continue +\item Multiagent +\end{itemize} + +\subsubsection{Exemples} +\label{sec:ch2propexemples} + +\begin{table}[ht] + \begin{tabular}{|l|l|l|l|l|l|l|} + \hline + \textbf{Environnement} & \textbf{Observable} & \textbf{Déterministe} & \textbf{Épisodique} & \textbf{Statique} & \textbf{Discret} & \textbf{Agents} \\ + \hline + {\ul Mots-croisés} & Complètement & Déterministe & Séquentiel & Statique & Discret & Un \\ + {\ul Échec avec une horloge} & Complètement & Stratégique & Séquentiel & Semi & Discret & Multi \\ + {\ul Poker} & Partiellement & Stratégique & Séquentiel & Statique & Discret & Multi \\ + {\ul Backgammon} & Complètement & Stochastique & Séquentiel & Statique & Discret & Multi \\ + {\ul Conduire un taxi} & Partiellement & Stochastique & Séquentiel & Dynamique & Continu & Multi \\ + {\ul Diagnostique médical} & Partiellement & Stochastique & Séquentiel & Dynamique & Continu & Un \\ + {\ul Analyse d’image} & Complètement & Déterministe & Épisodique & Semi & Continu & Un \\ + {\ul Robot ramasseur de pièces} & Partiellement & Stochastique & Épisodique & Dynamique & Continu & Un \\ + {\ul Contrôleur de raffinerie} & Partiellement & Stochastique & Séquentiel & Dynamique & Continu & Un \\ + {\ul Enseignant interactif} & Partiellement & Stochastique & Séquentiel & Dynamique & Discret & Multi \\ + \hline + \end{tabular} + \label{tab:exemplesenv} +\end{table} +\clearpage +\subsection{Structure d'un agent} +\label{sec:ch2structure} +\begin{figure}[h!] + \centering + \smartdiagramset{ + descriptive items y sep=2.25cm, + description text width=9.75cm, + description title width=2cm, + description title font=\large, + description font=\large, + } + + \smartdiagram[descriptive diagram]{ + {{Simple réflexe},{Perceptions courantes}}, + {{État interne},{Un état peut contenir des perceptions précédentes}}, + {{Buts},{Les buts déterminent l'action suivante}}, + {{Utilité},{Ajout d'une fonction d'utilité pour chaque état\, utile lorsque les buts sont en conflit ou s'il y a plusieurs buts}}, + } + \caption[Structures]{Structures, de la plus simple à la plus complexe} + \label{fig:ch2proprieresenv} +\end{figure} + +\paragraph{Structure interne des agents} + +\begin{figure}[ht] + \centering + \includegraphics[height=345px]{structure-agents.png} + \caption{Structure interne} + \label{fig:ch2structinterne} +\end{figure} + +\subsection{Agent apprenant} +\label{sec:ch2agentapprenant} + +Il peut être difficile ou impossible de définir le comportement de l'agent à la conception. L'apprentissage permet de simplifier la conception, d'avoir plus de flexibilité, d'agir dans des environnement inconnus et de devenir meilleur avec le temps. + +\begin{figure}[ht] + \centering + \includegraphics[height=278px]{agentapprenant.png} + \caption{Agent apprenant} + \label{fig:ch2agentapprenant} +\end{figure} + +Les diférentes composantes de l'agent apprenant sont: + +\begin{itemize} +\item Module de performance: Connaissances et procédures pour choisir les actions +\item Critique: Observe l'agent et donne des informations au module d'apprentissage +\item Module d'apprentissage: Modifie le module de performance +\item Générateur de problèmes: Identifie les possibilités d'amélioration et suggère des expérimentations +\end{itemize} + diff --git a/environnementpropriete.dot b/environnementpropriete.dot new file mode 100644 index 0000000..f2b991a --- /dev/null +++ b/environnementpropriete.dot @@ -0,0 +1,60 @@ +digraph environnement { + E [label="Environnement"]; + P1 [label="Observable"]; + P1A [label="Complètement"]; + P1B [label="Partiellement"]; + P1C [label="Aucunement"]; + P2 [label="Aléatoire"]; + P2A [label="Déterministe"]; + P2B [label="Stochastique"]; + P2C [label="Stratégique"]; + P2B1 [label="Incertain"]; + P3 [label="Chronologie"]; + P3A [label="Épisodique"]; + P3B [label="Séquentiel"]; + P4 [label="Système"]; + P4A [label="Dynamique"]; + P4B [label="Statique"]; + P4C [label="Semi-statique"]; + P5 [label="Espace"]; + P5A [label="Discret"]; + P5B [label="Continu"]; + P6 [label="Interaction"]; + P6A [label="Un seul agent"]; + P6B [label="Multi agents"]; + P6B1 [label="Coopératif"]; + P6B2 [label="Compétitif"]; + P7 [label="Règles de l'environnement (lois)"]; + P7A [label="Connues"]; + P7B [label="Inconnues"]; + E -> P1; + E -> P2; + E -> P3; + E -> P4; + E -> P5; + E -> P6; + E -> P7; + P1 -> P1A; + P1 -> P1B; + P1 -> P1C; + P2 -> P2A -> P2C; + P2 -> P2B; + P2B -> P2B1; + P1B -> P2B1; + P3 -> P3A; + P3 -> P3B; + P4 -> P4A; + P4 -> P4B; + P4 -> P4C; + P5 -> P5A; + P5 -> P5B; + P6 -> P6A; + P6 -> P6B; + P6B -> P6B1 -> P2C; + P6B -> P6B2 -> P2C; + P7 -> P7A; + P7 -> P7B; + edge[style=invis]; + P1 -> P2 -> P3 -> P4 -> P5 -> P6; + P1A -> P1B -> P1C; +} diff --git a/environnementpropriete.png b/environnementpropriete.png new file mode 100644 index 0000000..078ff58 Binary files /dev/null and b/environnementpropriete.png differ diff --git a/histoire-ia.csv b/histoire-ia.csv new file mode 100644 index 0000000..148ab75 --- /dev/null +++ b/histoire-ia.csv @@ -0,0 +1,15 @@ +"event";"group";"start";"end" +"Neurones artificiels";"Gestation";1943;1955 +"Comp. Machinery";"Gestation";1950;1950 +"Dartmouth Conf.";"Naissance";1956;1956 +"General Problem Solver";"Espoirs";1959;1969 +"LISP";"Espoirs";1958;1962 +"Perceptron";"Espoirs";1957;1969 +"Micro-mondes";"Espoirs";1967;1970 +"Insolubilité";"Dose de réalité";1966;1973 +"Sys. base conn.";"Industrialisation";1969;1976 +"Sys. experts";"Industrialisation";1980;2020 +"Réseaux profonds";"Industrialisation";1986;2020 +"Agents intelligents";"Internet et données";1995;2005 +"Données massives";"Internet et données";2000;2020 +"Apprentissage profond";"Internet et données";2012;2020 diff --git a/histoire-ia.png b/histoire-ia.png new file mode 100644 index 0000000..36b98aa Binary files /dev/null and b/histoire-ia.png differ diff --git a/logo.png b/logo.png new file mode 100755 index 0000000..df2c3d8 Binary files /dev/null and b/logo.png differ diff --git a/makefile b/makefile new file mode 100644 index 0000000..4e25c23 --- /dev/null +++ b/makefile @@ -0,0 +1,27 @@ +build: notes_de_cours.pdf + +images-graphviz: + dot -Tpng agentrationnel.dot -o agentrationnel.png + dot -Tpng agentintelligent.dot -o agentintelligent.png + dot -Tpng environnementpropriete.dot -o environnementpropriete.png + +notes_de_cours.pdf: notes_de_cours.bbl + pdflatex notes_de_cours.tex + pdflatex notes_de_cours.tex + +notes_de_cours.bbl: notes_de_cours.tex chapitre1.tex chapitre2.tex images-graphviz + pdflatex notes_de_cours.tex + -bibtex notes_de_cours.aux + +run: notes_de_cours.pdf + -evince notes_de_cours.pdf & + +clean: + -rm *.aux + -rm *.bbl + -rm *.blg + -rm *.lof + -rm *.log + -rm *.out + -rm *.toc + -rm *.pdf diff --git a/notes_de_cours.tex b/notes_de_cours.tex new file mode 100644 index 0000000..f42b52d --- /dev/null +++ b/notes_de_cours.tex @@ -0,0 +1,102 @@ +\documentclass[11pt]{article} % Précise le type de document, et la taille de la police de caractère +\usepackage[square,sort,numbers]{natbib}% Pour pouvoir utiliser une bibliographie externe +\usepackage[french]{babel} % Pour préciser la langue du document +\usepackage[utf8]{inputenc} % Précise comment le texte est saisi : cela permet de tapper directement les accents +\usepackage[T1]{fontenc} % Précise la façon dont le document actuel est encodé +\usepackage{setspace} +\usepackage{datetime} +\usepackage[margin=2cm]{geometry} % Précise les marges du document +\title{IFT-7025 - Techniques avancées en intelligence artificielle}% N'affecte pas la page titre, mais défini le nom de votre projet +\author{François Pelletier} % N'affecte pas la page titre, mais défini le nom de l'auteur(e) du projet + +%Bibliographie +%---------------------------------------------------------------- +\bibliographystyle{plainnat} % Pour changer le style de bibliographie +\addto{\captionsfrench}{\renewcommand{\refname}{Bibliographie}} % Comme le langage défini est le français, "Références" aurait été le titre par défaut pour la bibliographie +\usepackage[nottoc]{tocbibind} % Ajoute la bibliographie dans la table des matières +%---------------------------------------------------------------- + +%Sections +%---------------------------------------------------------------- +%\usepackage{newclude} % Pour pouvoir utiliser l'étoile après \inculde pour éviter les sauts de page. Ce package a des problême de compatibilité avec la package natbib +%\renewcommand\thesection{} % Pour éviter la numérotation des sections +%---------------------------------------------------------------- + +%Informations destinées à la page de présentation +%---------------------------------------------------------------- +\newcommand{\titre}{Notes de cours} +\newcommand{\auteurs}{François Pelletier} +\newcommand{\matricules}{908144032} +\newcommand{\destinataire}{} +\newcommand{\cours}{IFT-7025 - Techniques avancées en intelligence artificielle\\Session Hiver 2019} +%---------------------------------------------------------------- + +%Autres packages et commandes utiles +%---------------------------------------------------------------- +\usepackage{amsmath,amsthm,amssymb,amsfonts,calc} % Pour pouvoir inclure certains symboles et environnements mathématiques +\usepackage[ + left = \flqq,% + right = \frqq,% + leftsub = \flqq,% + rightsub = \frqq% +]{dirtytalk} +\newtheorem{definition}{Définition} +\usepackage{array} +\usepackage{mathtools,amssymb} +\usepackage{float} +\usepackage{lscape} +\usepackage{enumerate} % Pour mieux gérer la commande enumerate dans les sections +\usepackage{graphicx} % Pour inclure des images +\usepackage{pstricks} +\usepackage{color} % Pour inclure du texte en couleur +\usepackage{units} % Pour pouvoir tapper les unités correctement +\usepackage{pgf,tikz} % Utilisation du module tikz, qui permet de tracer des belles images +\usepackage{tkz-graph} +\usepackage{smartdiagram} +\usetikzlibrary{shapes.geometric,arrows} % Quand on exporte une image GeoGebra, on a besoin de préciser cela +\usepackage[upright]{fourier} +\usepackage{hyperref} % Pour include des liens dans le document +\usepackage{amsthm} +\newtheorem{mydef}{Definition} +\usepackage[linesnumbered,vlined,boxruled,algosection,french,frenchkw]{algorithm2e} +\newcommand{\N}{\mathbb{N}} % Commande personnelle, plus rapide pour tapper les ensembles +\newcommand{\Z}{\mathbb{Z}} % Commande personnelle, plus rapide pour tapper les ensembles +\newcommand{\R}{\mathbb{R}} % Commande personnelle, plus rapide pour tapper les ensembles +\DeclareMathOperator*{\argmax}{arg\,max} +\DeclareMathOperator*{\argmin}{arg\,min} +\DeclarePairedDelimiter\ceil{\lceil}{\rceil} +\DeclarePairedDelimiter\floor{\lfloor}{\rfloor} +\usepackage{cprotect} % Pour pouvoir personaliser la légende des figures +\usepackage[normalem]{ulem} +\useunder{\uline}{\ul}{} +%---------------------------------------------------------------- + +%graph-colors------------------ + +\SetVertexNormal[Shape = circle, + FillColor = orange, + LineWidth = 2pt] +\SetUpEdge[lw = 1.5pt, + color = black, + labelcolor = white, + labeltext = blue, + labelstyle = {sloped,draw,text=blue}] + +%------------------------------ + +\begin{document} +\input{pagetitre} % Inclut le code contenu dans un fichier comme s'il était entré ici +\tableofcontents +\listoffigures +% Le package newclude mis en commentaire permet d'introduire une * pour éviter le saut de page entre les section +\include{chapitre1} +\include{chapitre2} +% Ajouter les autres chapitres au besoin + +\bibliography{bibliographie} +\end{document} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/pagetitre.tex b/pagetitre.tex new file mode 100755 index 0000000..5d6aa6c --- /dev/null +++ b/pagetitre.tex @@ -0,0 +1,18 @@ +\thispagestyle{empty} % Pour éviter d'avoir un en-tête et un pied de page sur la page couverture +\includegraphics[width=5cm]{logo.png} % Pour inclure le logo (on précise la largeur de l'image) +\vspace{4cm} % Espacement vertical +\begin{center} % On centre le texte +{\huge \bf \titre}\\ % \huge fait que le texte est gros, \bf fait que le texte est gras +\vspace{4cm} +\large Dans le cadre du cours \destinataire \\ \cours\\ +\vspace{4cm} +Réalisé par \\ \auteurs ;\\ \matricules +\vfill % On va jusqu'au bas de la page avant de mettre le texte ci-dessous +Dernière version produite le~\today~à~\currenttime +\pagebreak +\end{center} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "notes_de_cours" +%%% End: diff --git a/prehistoire-ia.R b/prehistoire-ia.R new file mode 100644 index 0000000..919eddd --- /dev/null +++ b/prehistoire-ia.R @@ -0,0 +1,15 @@ +library("readr") +library("vistime") +library("here") + +Sys.setenv('MAPBOX_TOKEN' = '') + +readr::read_delim("prehistoire-ia.csv",delim=";") %>% + mutate(start=ISOdate(start,1,1),end=ISOdate(end,12,31)) %>% + vistime() +rstudioapi::savePlotAsImage(file = "prehistoire-ia.png",format = "png",width = 800, height = 450) + +readr::read_delim("histoire-ia.csv",delim=";") %>% + mutate(start=ISOdate(start,1,1),end=ISOdate(end,12,31)) %>% + vistime() +rstudioapi::savePlotAsImage(file = "histoire-ia.png",format = "png",width = 950, height = 550) diff --git a/prehistoire-ia.csv b/prehistoire-ia.csv new file mode 100644 index 0000000..fafaa2f --- /dev/null +++ b/prehistoire-ia.csv @@ -0,0 +1,7 @@ +"event";"group";"start";"end" +"Économie";"Préhistoire";1776;2020 +"Neurosciences";"Préhistoire";1861;2020 +"Psychologie";"Préhistoire";1879;2020 +"Ingénierie informatique";"Préhistoire";1940;2020 +"Cybernétique";"Préhistoire";1948;2020 +"Linguistique";"Préhistoire";1957;2020 diff --git a/prehistoire-ia.png b/prehistoire-ia.png new file mode 100644 index 0000000..a89c66d Binary files /dev/null and b/prehistoire-ia.png differ diff --git a/structure-agents.png b/structure-agents.png new file mode 100644 index 0000000..b426692 Binary files /dev/null and b/structure-agents.png differ diff --git a/structure-agents.xml b/structure-agents.xml new file mode 100644 index 0000000..2e65e58 --- /dev/null +++ b/structure-agents.xml @@ -0,0 +1 @@ +7Vrfb5swEP5r0LaHSAEnNHkkafpjUqWqUdVnBwyxZjAzhqb762djk4Cha9Y1C9nShwJnc777fL7v7GCBeby5ZjBd39EAEcsZBhsLXFqOY9tDV1yk5EVJpu5YCSKGA91pJ1jiH0gLh1qa4wBljY6cUsJx2hT6NEmQzxsyyBh9bnYLKWmOmsIItQRLH5K29AkHfF355U53DTcIR2s99MTRDq+g/y1iNE/0eJYDwvJPNcew0qUdzdYwoM81EVhYYM4o5eou3swRkdhWsKn3rl5p3drNUML3ecG7vV/Mnp6+PtyNQ3J7PX30vWQw0s4UkOSo8sMlQuEslTbzF42T+z2Xhs5iyCKcWMATrcN0I/4LYemulA84TVXbqNbG0YYPIMGRfs8XFiO20ynuIn0tR15VAi+SvjlDhkKCNkjOeIF8qXcOLG/KoWzEUlmCqpcFACtToZClpmzNpH9VOFam2K9b9S48CAp5DZC2btl3DlOOcpZt/WfN9kUYisiv9+hy6HD2PZRwTyIi1mm5EAPMMU0G0JeX49gkTZqoCDiJOV4IUz2f54h8/nIcxBYFJbmcMGnKMYxQurMUJk3DvDKMljkuoFjKDcuanduro8sFp2G8UyDGsUj3nso/l2WGmulsdKmMnlHRKyRldg6xyJpgFtKEa7KyHf18BWNMJM3dIFIgqVXGGI+J7LQdWw6INq8maXub+gWlIhojzl5EF/3CSJOFJlMBtHp+3lHTVrausZLtaiHUdBhtVe8oQdxoVvgNhhjbLYZYJAVmko7jMj23p8WYgo+FyJm8jZHtdGA0ORhEoINEDQxQEniyWhFPPoFZhn25FjhkvC1u4YWCVg1joCXGojnz0R5UL8aMEH9zxtv41/Add8BbyRgikOOiaXAX5nqEe4pLktfTC9zm9I5GxrQpR/Vb9XrHUDSym4rA1FCkgGgpKkNg6/YfRMX4FEqrDMcpQfUa61xG9a6M6hHIx69jflEu/CtVgG1Q3KiD4dyuKsA5GMVdnALFVSm35xRnVjC2WZnsS3EAGIrAX6a4ySlQ3EqgUZ4XSJNymUpVBl7lvM4EZ7r7WPtmTXjPZwM95tSjnw1sYUgZyhTDn48o+lmcmOwFnHZ10n1GcbgN+PREeeiTWHQE80p85qID2ffYDfOZk86c1HtOkn2XYruRheqgoAfm/Adb8JFxEu8eneQqC3q+BZ+cxhbcPGU2d877bsEvjDgBY0PRgbfgbvvnmT5GRfVlx5tRMT1mVIzNc7f3RoVrHMwAMyu8OyrE4+6TEdV9910OWPwE \ No newline at end of file