(*Annexe*)
let concat t1 t2 =
let n1 =vect_length t1 and n2=vect_length t2 in
let res=make_vect (n1+n2) t2.(0) in
for i=0 to (n1-1) do
res.(i)<-t1.(i)
done;
for j= n1 to (n1+n2-1) do
res.(j)<-t2.(j-n1)
done;
res;;
let pluspetite_abs t=
let min=ref 0 in
for i=1 to (vect_length t)-1 do
if t.(i)<t.( !min) then min:= i
done;
! min;;
let max t=
let max=ref t.(0) in
for i=1 to (vect_length t)-1 do
if t.(i)>(! max) then max:=t.(i)
done;
! max;;
let low_abs tab n=
let t=copy_vect tab in
let l=ref [] in
let maxi=(max t)+1 in
for i=1 to n do
l:=(pluspetite_abs t):
!l);
t.(hd( !l))<-maxi;
done;
let longliste=(list_length (! l))in
let rep=make_vect longliste 0 in
for i=0 to longliste -1 do
rep.(i)<-hd( !l);
l:=tl (!l);
done;
rep;;
let copy_tab tab =
let n= vect_length tab in
let tab2 =ref [||] in
for i=0 to (n-1) do
tab2:= concat (!tab2) [| (tab.(i))|]
done;
!tab2;;
let copy_neurone neur=
{poids=neur.poids;tab_entres=list_of_vect (copy_tab (vect_of_list neur.tab_entres));seuil= neur.seuil};;
let copy_tabneurone tab =
let n= vect_length tab in
let tab2 =ref [||] in
for i=0 to (n-1) do
tab2:= concat (!tab2) [|copy_neurone (tab.(i))|]
done;
!tab2;;
let copy_couche couch=
{tab_neurones= list_of_vect (copy_tabneurone (vect_of_list couch.tab_neurones)) ; tab_results=[]};;
let copy_tabcouch tab =
let n= vect_length tab in
let tab2 =ref [||] in
for i=0 to (n-1) do
tab2:= concat (!tab2) [|copy_couche (tab.(i))|]
done;
!tab2;;
let copy_cerveau brain=
{tab_couches=copy_tabcouch brain.tab_couches;tab_coeffs= copy_tab brain.tab_coeffs};;