Академический Документы
Профессиональный Документы
Культура Документы
JAVA
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
}
FEREASTRA.JAVA
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Scanner;
for(j=0;j<N;j++)
{
int nrButonCrt=N*i+j;
jb[nrButonCrt]=new JButton("");
jb[nrButonCrt].addActionListener(ab);
jp[i].add(jb[nrButonCrt]);
}
vectorPattern = new int[nb];
for(int k=0;k<N;k++)
{
vectorPattern[i]=0;
}
}
JPanel jpFinal = new JPanel();
jpFinal.setLayout(new GridLayout(N+1,1));
for(i=0;i<N;i++) jpFinal.add(jp[i]);
jtf = new JTextField(5);
jtf.setEditable(false);
JLabel jl = new JLabel("Butoul : ");
JPanel jtfPanel = new JPanel();
jtfPanel.add(jl);
jtfPanel.add(jtf);
jpFinal.add(jtfPanel);
jtfPanel.add(jbSave);
jtfPanel.add(jbReset);
jtfPanel.add(jbRN);
jbSave.addActionListener(sp);
jbReset.addActionListener(rp);
jbRN.addActionListener(rn);
Container c = this.getContentPane();
c.add(jpFinal,"South");
}
@Override
public void actionPerformed(ActionEvent ev) {
Object sursa = ev.getSource();
int i;
for(i=0;i<nb;i++)
{
if((JButton)sursa==jb[i])
{
jtf.setText(i+"");
jb[i].setBackground(Color.red);
vectorPattern[i]=1;
nrElementeSelectate++;
break;
}
}
}
}
String line;
int dim = 0;
int ndx = 0;
int [][]matrice = null;
while((line=br.readLine()) != null)
{
if(line.contains("Dimensiune Matrice : "))
{
dim = Integer.parseInt(stripNonDigits(line));
matrice = new int[dim][dim];
}
else if((line.contains("0")||(line.contains("1")))&&!line.contains("Numar
Sablon : "))
{
System.out.println(line + "**");
char[] linea = line.replaceAll("\\s+", "").toCharArray();
for(int i=0;i<dim;i++)
{
matrice[ndx][i]=Character.getNumericValue(linea[i]);
}
ndx++;
}
@Override
public void actionPerformed(ActionEvent ev) {
Object sursa = ev.getSource();
int nrLinii=(int)Math.sqrt(nb);
System.out.println("Numar Linii : " + nrLinii);
System.out.println("Numar Elemente Selectate : "+ getNrElementeSelectate());
int value = (int)Math.sqrt(nb);
for(int i=0;i<vectorPattern.length;i++)
{
System.out.println(vectorPattern[i]);
}
}
bw.newLine();
bw.write("Numar Sablon : " + ++nrSabloane);
bw.close();
System.out.println("Done");
int[][] matriceCititaDinFisier = readTo2DArray();
for(int l=0;l<matriceCititaDinFisier.length;l++)
{
for(int m=0;m<matriceCititaDinFisier[0].length;m++)
{
System.out.println(matriceCititaDinFisier[l][m]);
}
}
listaSabloane.add(matriceCititaDinFisier);
System.out.println("Sabloane in lista : " + listaSabloane.size());
//-----------------------------------------------------
System.out.println("Sabloane in lista XS: " + xS.length);
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
@Override
public void actionPerformed(ActionEvent ev) {
for(int i = 0;i<nb;i++)
{
jtf.setText(i+"");
jb[i].setBackground(Color.white);
vectorPattern[i]=0;
}
}
}
@Override
public void actionPerformed(ActionEvent ev) {
int NI,NH,NO;
Scanner sc = new Scanner(System.in);
System.out.println("Ni=");
NI=sc.nextInt();
System.out.println("NH=");
NH=sc.nextInt();
System.out.println("NO=");
NO=sc.nextInt();
double w1[][] = new double[NH][NI];
double w2[][] = new double[NO][NH];
double yH[]=new double [NH];
double yO[]=new double [NO];
final int NS=8;
int xS[][]={
{1,1,1,1,1,
0,0,1,0,0,
0,0,1,0,0,
0,0,1,0,0,
0,0,1,0,0},
{1,1,1,1,1,
0,0,1,0,0,
0,0,1,0,0,
0,0,1,0,0,
0,0,0,0,0},
{0,0,0,0,1,
0,0,0,0,1,
1,1,1,1,1,
0,0,0,0,1,
0,0,0,0,1},
{0,0,0,0,1,
0,0,0,0,1,
0,1,1,1,1,
0,0,0,0,1,
0,0,0,0,1},
{0,0,1,0,0,
0,0,1,0,0,
0,0,1,0,0,
0,0,1,0,0,
1,1,1,1,1},
{0,0,0,0,0,
0,0,1,0,0,
0,0,1,0,0,
0,0,1,0,0,
1,1,1,1,1},
{1,0,0,0,0,
1,0,0,0,0,
1,1,1,1,1,
1,0,0,0,0,
1,0,0,0,0},
{1,0,0,0,0,
1,0,0,0,0,
1,1,1,1,0,
1,0,0,0,0,
1,0,0,0,0}};
int yS[][]={{1,0,0,0},{1,0,0,0},
{0,1,0,0},{0,1,0,0},
{0,0,1,0},{0,0,1,0},
{0,0,0,1},{0,0,0,1}};
final double E_Limita = 0.001;
int i,j,k;
double e[]=new double[NS];
int nrEpoci=0;
for(i=0;i<NH;i++)
for(j=0;j<NI;j++)
w1[i][j]=Math.random()-0.5;
for(i=0;i<NO;i++)
for(j=0;j<NH;j++)
w2[i][j]=Math.random()-0.5;
for(;;){
for(i=0;i<NS;i++)
{
for(j=0;j<NH;j++)
{
double a = 0;
for(k=0;k<NI;k++)
a=a+xS[i][k]*w1[j][k];
yH[j]=1/(1+Math.exp(-a));
}
for(j=0;j<NO;j++)
{
double a=0;
for(k=0;k<NH;k++)
a+=yH[k]*w2[j][k];
yO[j]=1/(1+Math.exp(-a));
}
e[i]=0;
for(j=0;j<NO;j++)
e[i]=0.5*(yO[j]-yS[i][j])*(yO[j]-
yS[i][j]);
delta_O[j]=(yO[j]-yS[i]
[j])*yO[j]*(1-yO[j]);
for(j=0;j<NO;j++)
for(k=0;k<NH;k++)
w2[j][k]-
=yH[k]*delta_O[j];
suma+=w2[k]
[j]*delta_O[k];
deltaH[j]=suma * yH[j]*(1-yH[j]);
}
for(j=0;j<NH;j++)
for(k=0;k<NI;k++)
w1[j]
[k]-=xS[i][k]*deltaH[j];
}//i
nrEpoci++;
double E=0;
for(i=0;i<NS;i++)
E+=e[i];
System.out.println("epoca : " + nrEpoci + " eroare = " + E);
if(E<E_Limita)
break;
}//for(;;)
}//main