GotAI.NET

Форум: Проблемы искусственного интеллекта

 

Регистрация | Вход

 Все темы | Новая тема Стр.1 (1)   Поиск:  
 Автор Тема: Я тут ИИ нарисовал...
гость
31.181.155.*
Я тут ИИ нарисовал...
Добавлено: 30 дек 14 11:02
#include <string.h>
#include <limits.h>
#include <stdio.h>

//Values and types needed friend to friend | Значения и типы зависят друг от друга
typedef unsigned char mbtc;
#define NUMBER UCHAR_MAX

typedef float mbtf;

struct NodeStruct{
mbtc I[NUMBER]; //Input association | Ассоциация входов
mbtf S; //Node signal value | Значение сигнала узла
mbtc O[NUMBER]; //Outs association | Ассоциация выходов
};

mbtc mc = 0; //Chronoilogy memory counter | Хронологический счётчик памяти

void mb_net_work(mbtc * I, mbtc * O, mbtc M, struct NodeStruct N[NUMBER]){ // mbtc M a variable for the signal mediation | M - переменная - медиатор сигнала
mbtc i, n;

for(n = 0; n < NUMBER; n++){
for(i = 0; i < NUMBER; i++){
N[n].S = (M + N[n].I[i] + I[i] + N[i].O[i] + O[i] + N[n].S + N[i].S) / 7.0; //Create the node signal from all data | Сигнал формируется из всех данных
}
for(i = 0; i < NUMBER; i++){
O[i] = (O[i] + N[i].O[i] + N[n].S) / 3.0; //Rebuild output from node signal and link weight | Формирование вывода по сигналу узла и весу связи
}
}
for(n = 0; n < NUMBER; n++){ //Remember | Запоминание
N[mc].I[n] = (N[mc].I[n] + I[n] + M) / 3.0;
N[mc].O[n] = (N[mc].O[n] + O[n] + M) / 3.0;
}
mc++;
}

int mb_write_file(struct NodeStruct N[NUMBER]){
FILE * fp = fopen("MB_BASE.mbb", "w");
if(fp == NULL){
return -1;
}
else{
if(fwrite(N, sizeof(struct NodeStruct), NUMBER, fp) <= 0)
return -1;
}
close(fp);

return 0;
}

int mb_read_file(struct NodeStruct N[NUMBER]){
FILE * fp = fopen("MB_BASE.mbb", "r");
if(fp == NULL){
return -1;
}
else{
if(fread(N, sizeof(struct NodeStruct), NUMBER, fp) <= 0)
return -1;
}
close(fp);

return 0;
}

int main(int argc, char * argv[]){
struct DataStruct{
mbtc I[NUMBER];
mbtc O[NUMBER];
mbtc M;
}Data;

struct NodeStruct N[NUMBER];
mb_read_file(N);

if(argc > 3){
memset(Data.I, 0 , NUMBER);
memset(Data.O, 0 , NUMBER);
memcpy(Data.I, argv[1], NUMBER);
memcpy(Data.O, argv[2], NUMBER);
sprintf(argv[3], "%d", Data.M);
mb_net_work(Data.I, Data.O, Data.M, N);
if(mb_write_file(N) == 0){
puts(Data.O);
}
else puts("\nFILE WRITE ERROR\n");
}

return 0;
}
[Ответ][Цитата]
гость
31.181.15.*
На: Я тут ИИ нарисовал...
+1
Добавлено: 01 янв 15 10:42
Рисунок 2, экономия пмяти
#include <string.h>
#include <limits.h>
#include <stdio.h>

//Values and types needed friend to friend | Значения и типы зависят друг от друга
typedef unsigned char mbtc;
#define NUMBER UCHAR_MAX

typedef float mbtf;

struct NodeStruct{
mbtc I[NUMBER]; //Input association | Ассоциация входов
mbtc O[NUMBER]; //Outs association | Ассоциация выходов
};

mbtc mc = 0; //Chronoilogy memory counter | Хронологический счётчик памяти

void mb_net_work(mbtc * I, mbtc * O, mbtc M, struct NodeStruct N[NUMBER]){ // mbtc M a variable for the signal mediation | M - переменная - медиатор сигнала
mbtc i, n;
mbtf S; //Node signal value | Значение сигнала узла

for(n = 0; n < NUMBER; n++){
for(i = 0; i < NUMBER; i++){
S = (M + N[n].I[i] + I[i] + N[i].O[i] + O[i]) / 5.0; //Create the node signal from all data | Сигнал формируется из всех данных
}
for(i = 0; i < NUMBER; i++){
O[i] = (O[i] + N[i].O[i] + S) / 3.0; //Rebuild output from node signal and link weight | Формирование вывода по сигналу узла и весу связи
}
}
for(n = 0; n < NUMBER; n++){ //Remember | Запоминание
N[mc].I[n] = (N[mc].I[n] + I[n]) / 2.0;
N[mc].O[n] = (N[mc].O[n] + O[n]) / 2.0;
}
mc++;
}

int mb_write_file(struct NodeStruct N[NUMBER]){
FILE * fp = fopen("MB_BASE.mbb", "w");
if(fp == NULL){
return -1;
}
else{
if(fwrite(N, sizeof(struct NodeStruct), NUMBER, fp) <= 0)
return -1;
}
close(fp);

return 0;
}

int mb_read_file(struct NodeStruct N[NUMBER]){
FILE * fp = fopen("MB_BASE.mbb", "r");
if(fp == NULL){
return -1;
}
else{
if(fread(N, sizeof(struct NodeStruct), NUMBER, fp) <= 0)
return -1;
}
close(fp);

return 0;
}

int main(int argc, char * argv[]){
struct DataStruct{
mbtc I[NUMBER];
mbtc O[NUMBER];
mbtc M;
}Data;

struct NodeStruct N[NUMBER];
mb_read_file(N);

if(argc > 3){
memset(Data.I, 0 , NUMBER);
memset(Data.O, 0 , NUMBER);
memcpy(Data.I, argv[1], NUMBER);
memcpy(Data.O, argv[2], NUMBER);
sprintf(argv[3], "%d", Data.M);
mb_net_work(Data.I, Data.O, Data.M, N);
if(mb_write_file(N) == 0){
puts(Data.O);
}
else puts("\nFILE WRITE ERROR\n");
}

return 0;
}
[Ответ][Цитата]
гость
31.181.111.*
На: Я тут ИИ нарисовал...
Добавлено: 09 янв 15 23:37
Рисунок 3, полная ассоциация

#include <string.h>
#include <limits.h>
#include <stdio.h>

//Values and types needed friend to friend | Значения и типы зависят друг от друга
typedef unsigned char mbtb;
#define NUMBER UCHAR_MAX

struct NodeStruct{
mbtb I[NUMBER]; //Input association | Ассоциация входов
mbtb N[UCHAR_MAX]; //Nodes associative memory | Ассоциация узлов
mbtb S; //Node signal value | Значение сигнала узла
mbtb O[NUMBER]; //Outs association | Ассоциация выходов
};

mbtb mc = 0; //Chronoilogy memory counter | Хронологический счётчик памяти

// mbtb M a variable for the signal mediation | M - переменная - медиатор сигнала
void mb_net_work(mbtb * I, mbtb * O, mbtb * M, struct NodeStruct N[NUMBER]){
mbtb i, n;

for(n = 0; n < NUMBER; n++){
for(i = 0; i < NUMBER; i++){
//Create the node signal from all data | Сигнал формируется из всех данных
N[n].S = (M[i] + N[n].N[i] + N[n].I[i] + I[i] + N[i].O[i] + O[i] + N[n].S + N[i].S) / 8.0;
}
for(i = 0; i < NUMBER; i++){
//Rebuild output from node signal and link weight | Формирование вывода по сигналу узла и весу связи
O[i] = (O[i] + N[i].O[i] + N[n].S) / 3.0;
}
}
for(n = 0; n < NUMBER; n++){ //Remember | Запоминание
N[mc].I[n] = (N[mc].I[n] + I[n]) / 3.0;
N[mc].N[n] = (N[mc].N[n] + N[n].S) / 2.0;
N[mc].O[n] = (N[mc].O[n] + O[n]) / 3.0;
}
mc++;
}

int mb_write_file(struct NodeStruct N[NUMBER]){
FILE * fp = fopen("MB_BASE.mbb", "w");
if(fp == NULL){
return -1;
}
else{
if(fwrite(N, sizeof(struct NodeStruct), NUMBER, fp) <= 0)
return -1;
}
close(fp);

return 0;
}

int mb_read_file(struct NodeStruct N[NUMBER]){
FILE * fp = fopen("MB_BASE.mbb", "r");
if(fp == NULL){
return -1;
}
else{
if(fread(N, sizeof(struct NodeStruct), NUMBER, fp) <= 0)
return -1;
}
close(fp);

return 0;
}

int main(int argc, char * argv[]){
struct DataStruct{
mbtb I[NUMBER];
mbtb O[NUMBER];
mbtb M[NUMBER];
}Data;

struct NodeStruct N[NUMBER];
mb_read_file(N);

if(argc > 3){
memset(Data.I, 0 , NUMBER);
memset(Data.O, 0 , NUMBER);
memcpy(Data.I, argv[1], NUMBER);
memcpy(Data.O, argv[2], NUMBER);
sprintf(argv[3], "%d", Data.M);
mb_net_work(Data.I, Data.O, Data.M, N);
if(mb_write_file(N) == 0){
puts(Data.O);
}
else puts("\nFILE WRITE ERROR\n");
}

return 0;
}
[Ответ][Цитата]
гость
96.44.189.*
На: Я тут ИИ нарисовал...
Добавлено: 09 янв 15 23:39
А слабо ИИ на бЭйсике?
[Ответ][Цитата]
NO.
Сообщений: 10700
На: Я тут ИИ нарисовал...
Добавлено: 10 янв 15 0:23
mb это "может быть"?
[Ответ][Цитата]
гость
185.53.163.*
На: Я тут ИИ нарисовал...
Добавлено: 10 янв 15 0:24
Не... Это мани бэк...
[Ответ][Цитата]
гость
31.181.111.*
На: Я тут ИИ нарисовал...
Добавлено: 10 янв 15 9:30
буль
[Ответ][Цитата]
гость
178.34.38.*
На: Я тут ИИ нарисовал...
Добавлено: 19 янв 15 9:27
буль
[Ответ][Цитата]
гость
94.233.243.*
На: Я тут ИИ нарисовал...
Добавлено: 22 янв 15 10:20
Ретро стайл. Он же конечный автомат обучаемый вручную.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define NEXT_ARG ++argn < argc - 1
#define PUTBUF printf("\n\nCOMMAND: %s\n\n", buf);

int main(int argc, char * argv[]){
int argn = 0;
char buf[1024];

struct Variables{
char type;
char name[32];
char value[32];
}Variable[32];

if(argc > 0){
if(argn < argc - 1){
argn++;
if(strcmp(argv[argn], "computer") == 0){
if(argn < argc - 1){
argn++;
if(strcmp(argv[argn], "delete") == 0){
if(argn < argc - 1){
argn++;
if(strcmp(argv[argn], "file") == 0){
if(argn < argc - 1){
argn++;
COMPUTER_DELETE_FILE:
sprintf(buf, "DEL %%CD%%\\");
strcat (buf, argv[argn]);
system(buf);
return 0;
}
return 0;
}
else if(strcmp(argv[argn], "directory") == 0){
if(argn < argc - 1){
argn++;
sprintf(buf, "RMDIR %%CD%%\\");
strcat (buf, argv[argn]);
system(buf);
return 0;
}
return 0;
}
else goto COMPUTER_DELETE_FILE;
return 0;
}
return 0;
}
else if(strcmp(argv[argn], "create") == 0){
if(argn < argc - 1){
argn++;
if(strcmp(argv[argn], "file") == 0){
if(argn < argc - 1){
argn++;
sprintf(buf, "echo >> %%CD%%\\");
strcat (buf, argv[argn]);
system(buf);
return 0;
}
return 0;
}
else if(strcmp(argv[argn], "directory") == 0){
if(argn < argc - 1){
argn++;
sprintf(buf, "MD %%CD%%\\");
strcat (buf, argv[argn]);
system(buf);
return 0;
}
return 0;
}
return 0;
}
return 0;
}
else if(strcmp(argv[argn], "search") == 0){
if(argn < argc - 1){
argn++;
sprintf(buf, "DIR /S /B %%CD%%\\ > search.tmp");
system(buf);
sprintf(buf, "FIND /I \"");
strcat (buf, argv[argn]);
strcat(buf, "\" search.tmp");
system(buf);
return 0;
}
return 0;
}
else if(strcmp(argv[argn], "copy") == 0){
if(argn < argc - 1){argn++;
if(strcmp(argv[argn], "from") == 0){
sprintf(buf, "XCOPY /I /Y %%CD%%\\");
if(argn < argc - 1){
argn++;
strcat (buf, argv[argn]);
if(argn < argc - 1){
argn++;
if(strcmp(argv[argn], "to") == 0){
if(argn < argc - 1){
argn++;
strcat (buf, " %CD%\\");
strcat (buf, argv[argn]);
PUTBUF
system(buf);
return 0;
}
return 0;
}
return 0;
}
return 0;
}
return 0;
}
return 0;
}
return 0;
}
else if(strcmp(argv[argn], "what") == 0){
if(argn < argc - 1){
argn++;
if(strcmp(argv[argn], "can") == 0){
if(argn < argc - 1){
argn++;
if(strcmp(argv[argn], "i") == 0){
if(argn < argc - 1){
argn++;
if(strcmp(argv[argn], "do") == 0 || strcmp(argv[argn], "do?") == 0){
puts("\n\n>> Fuck off!\n\n");
return 0;
}
return 0;
}
return 0;
}
return 0;
}
return 0;
}
return 0;
}
return 0;
}
else if(strcmp(argv[argn], "where") == 0){
}
else if(strcmp(argv[argn], "when") == 0){
}
else if(strcmp(argv[argn], "why") == 0){
}
else if(strcmp(argv[argn], "how") == 0){
if(argn < argc - 1){
argn++;
if(strcmp(argv[argn], "many") == 0){
if(argn < argc - 1){
argn++;
if(strcmp(argv[argn], "time?") == 0 || strcmp(argv[argn], "time") == 0){
sprintf(buf, "TIME /T");
system(buf);
return 0;
}
return 0;
}
return 0;
}
return 0;
}
return 0;
}
else if(strcmp(argv[argn], "show") == 0){
if(argn < argc - 1){
argn++;
if(strcmp(argv[argn], "systeminfo") == 0){
SHOW_SYSTEMINFO:
sprintf(buf, "SYSTEMINFO");
system(buf);
return 0;
}
else if(strcmp(argv[argn], "ip") == 0){
SHOW_IP:
sprintf(buf, "IPCONFIG");
system(buf);
return 0;
}
else if(strcmp(argv[argn], "me") == 0){
if(argn < argc - 1){
argn++;
if(strcmp(argv[argn], "ip") == 0){
goto SHOW_IP;
}
else if(strcmp(argv[argn], "your") == 0){
goto SHOW_YOUR;
}
return 0;
}
return 0;
}
else if(strcmp(argv[argn], "your") == 0){
SHOW_YOUR:
if(argn < argc - 1){
argn++;
if(strcmp(argv[argn], "ip") == 0){
if(argn < argc - 1){
argn++;
if(strcmp(argv[argn], "configuration") == 0){
goto SHOW_IP;
}
return 0;
}
goto SHOW_IP;
}
else if(strcmp(argv[argn], "systeminfo") == 0){
goto SHOW_SYSTEMINFO;
}
return 0;
}
return 0;
}
return 0;
}
return 0;
}
return 0;
}
return 0;
}
return 0;
}
return 0;
}
return 0;
}
[Ответ][Цитата]
 Стр.1 (1)