Skip to content

naifmeh/smartbotjs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a993cdf · Apr 13, 2021

History

79 Commits
Feb 24, 2019
Feb 23, 2019
Feb 12, 2019
Feb 23, 2019
Dec 12, 2018
Nov 25, 2018
Feb 12, 2019
Jan 31, 2019
Apr 13, 2021
Dec 19, 2018
Feb 22, 2019
Feb 22, 2019

Repository files navigation

SMARTBOTJS

Smart crawler using reinforcement learning to avoid detection.

Program Flow Actions :

Actions classiques. L'action permettant de faker la réactivité à un Iframe sera peut être ajoutée.

Sérialisation

Les éléments à sérialiser sont les Q-values, les paramètres de l'algorithme, les sites webs et leurs attributs, les états, les actions, l'épisode auxquel nous nous somme arrêtés. Nous pouvons stocker tout ceci dans une fichier json. Les interruptions de programmes dûs aux signaux SIGINT ou SIGQUIT meneront à l'enregistrement de l'état du programme.

Fonctions d'approximations dans notre cas

Pour le moment, nos valeurs sont représentés par des tables de lookup. Cela cause des problèmes aux niveaux de larges MDPs, comme nous l'avons vu dans notre cas dès que nous ajoutons quelques attributs de plus, le nombre d'états explose, et s'ensuit une explosion du nombre de Q-values.

La solution est donc d'approximer ces derniers par une fonction, qui va être paramétrée par des poids.

Function approx

Types possibles :

  • Lineaires
  • Réseaux de neurones
  • Arbre de décision
  • Nearest Neighbour
  • Fourrier/Ondelettes

Les FA vont nous permettre d'avoir une définition plus vague d'un état et ainsi de pouvoir s'adapter à de nouveaux états.

On doit pouvoir implémenter un algorithme utilisant une fonction d'approximation après une documentation plus complète.

Update 19/12 : Réglé un soucis d'actions, ecriture q-learning, reglage de soucis de puppeteer mise a jour de la liste des proxies, debut de la reflection sur le multi bot