Busqueda con información
Busqueda avariciosa (heurísticas)
Utiliza la búsqueda avariciosa para llegar a Bucarest desde Dobreta (toma los datos del ejemplo visto en clase). Dibuja el árbol correspondiente.
Programación de sistemas adaptativos
#include <stdio.h> struct stuff { double vector[3]; double desired; }; double const threshold = 0, learning_rate = 0.1; double weights[] = {1, 0, 0}; struct stuff training_set[4]; void createTrainingSet() { training_set[0].vector[0] = -1; training_set[0].vector[1] = 0; training_set[0].vector[2] = 0; training_set[0].desired = 0; training_set[1].vector[0] = -1; training_set[1].vector[1] = 0; training_set[1].vector[2] = 1; training_set[1].desired = 0; training_set[2].vector[0] = -1; training_set[2].vector[1] = 1; training_set[2].vector[2] = 0; training_set[2].desired = 0; training_set[3].vector[0] = -1; training_set[3].vector[1] = 1; training_set[3].vector[2] = 1; training_set[3].desired = 1; } double sum_function(double *values) { auto unsigned short index; auto double sum = 0; for(index = 0; index < 3; index++) sum += values[index] * weights[index]; return sum; } int main(int argc, char *argv[]) { auto signed short i, error_count, result, index; auto double *input_vector, *desired_output, error; createTrainingSet(); printf("Logic Operator Simulation... AND\n\n"); while(1) { for(i = 0; i++ < 63;) printf("-"); printf("\n"); error_count = 0; for(i = 0; i < 4; i++) { input_vector = &training_set[i].vector[0]; desired_output = &training_set[i].desired; printf("[%1.17f, %1.17f, %1.17f]\n", weights[0], weights[1], weights[2]); result = (sum_function(input_vector) >= threshold)?1:0; error = *desired_output - result; if(error != 0) { error_count += 1; for(index = 0; index < 3; index++) weights[index] += learning_rate * error * input_vector[index]; } } if(error_count == 0) break; } for(i = 0; i++ < 63;) printf("-"); printf("\n"); return 0; }
threshold = 0 learning_rate = 0.1 weights = [1, 0, 0] training_set = [((-1, 0, 0), 0), ((-1, 0, 1), 0), ((-1, 1, 0), 0), ((-1, 1, 1), 1)] def sum_function(values): return sum(value * weights[index] for index, value in enumerate(values)) while True: print '-' * 60 error_count = 0 for input_vector, desired_output in training_set: print weights result = 1 if sum_function(input_vector) >= threshold else 0 error = desired_output - result if error != 0: error_count += 1 for index, value in enumerate(input_vector): weights[index] += learning_rate * error * value if error_count == 0: break
/ * Este es un programa verdaderamente una tontería, ya que se basa en mi propia conocimientos médicos. Pregunte: ¿la comezón. o? de la lesión. o?-ayuda. para ponerlo en marcha. * / ayudar a: - print ('Diagnóstico de los siguientes temas:'), nl, print ('Itch.'), nl, print ('lesión'). pica: - print ('¿Es el ambiente seco:?'), "Decir sí", print ('No tome duchas tantos. El uso de vaselina.'). pica: - print ('¿El paciente tiene un historial de alergias:?'), "Decir sí", no (fiebre), impresión ("Considere la posibilidad de dermatitis atópica. '). fiebre: - print ('¿El paciente tiene fiebre? ")," Decir sí ". "No infecciosa": - el acné, "el acné severo. "No infecciosa": - el acné, "acné quístico". "No infecciosa": - el acné. "No infecciosa": - "severo acné rosácea. "No infecciosa": - "rosácea". lesión: - No (fiebre), "no infecciosa". el acné: - print ('¿Es la piel grasa?'), "Decir sí", print ('¿Hay un montón de granos? ")," Decir sí ", imprimir ("La condición es probable que el acné. '). "Acné quístico": - print ('¿Hay muchos quistes amarillentos?), "Decir sí", print ('La condición es el acné quístico.'). "Acné severo ': - imprimir ( "¿Hay grandes abscesos elevados azulado con cicatrices deformantes? ), "Decir sí". "Rosácea": - print ('¿Está el paciente a una mujer? ")," Decir sí ", "Acné rosácea". "Acné rosácea": - "severo". "Acné rosácea": - "suave". "Severo": - print ('¿Tiene el paciente una nariz inflamada y con crecimientos? ")," Decir sí ", print ('El diagnóstico es severo acné rosácea.'). "Suave": - print ('¿Es la piel grasa, con tendencia a la seborrea? ")," Decir sí ", print ('¿Hay pústulas rodeada por una zona rojiza?'), "Decir sí", imprimir ("Pero, ¿son más grandes que las erupciones de acné común?"), "Decir sí", print ('El diagnóstico es el acné rosácea.'). "Decir sí": - lectura (Ans), sí (Ans), nl. sí (yes). Sí (Y). sí (sí).
Sí (sí)..
#include <ctime> using namespace std; void delay(int secs) { for(int i = (time(NULL) + secs); time(NULL) != i; time(NULL)); } int main() { int i=2000; int x=0; while(true){ // ================= time_t tSac = time(NULL); // instante actual tm tms = *localtime(&tSac); if (x==0){ cout << "hh:mm:ss " << tms.tm_hour << ":" << tms.tm_min << ":"<< tms.tm_sec << endl; x++; } if (tms.tm_hour>=0 && tms.tm_hour<=6){ printf("el ventilador esta en el nivel 1\n"); } if (tms.tm_hour==7) printf("esta cambiando el nivel del ventilador\n"); if (tms.tm_hour>=8 && tms.tm_hour<=11){ printf("el ventilador esta en el nivel 3\n"); } if (tms.tm_hour==12) printf("esta cambiando el nivel del ventilador\n"); if (tms.tm_hour>=13 && tms.tm_hour<=18){ printf("el ventilador esta en el nivel 4\n"); } if (tms.tm_hour==19) printf("esta cambiando el nivel del ventilador\n"); if (tms.tm_hour>=20 && tms.tm_hour<=23){ printf("el ventilador esta en el nivel 2\n"); } delay(i); } getchar(); return 0; }
// detection.C #include <iostream> #include <opencv2/objdetect/objdetect.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> using namespace cv; string title = "Sistemas adaptativos, reconocimiento facial"; String fcn = "detect_faces_bitch.xml"; CascadeClassifier fc; void detectFaces(Mat frame) { Mat frame_gray; std::vector<Rect> faces; cvtColor(frame, frame_gray, CV_BGR2GRAY); equalizeHist(frame_gray, frame_gray); fc.detectMultiScale(frame_gray, faces, 1.1, 2, 0, Size(80, 80)); for(int i = 0; i < faces.size(); i++) { Mat faceROI = frame_gray(faces[i]); Point pt1(faces[i].x, faces[i].y); Point pt2(faces[i].x + faces[i].width, faces[i].y + faces[i].height); Point org(faces[i].x + faces[i].width * 0.5 - 50, faces[i].y + faces[i].height + 50); rectangle(frame, pt1, pt2, Scalar(0, 0, 0), 10, 8, 0); putText(frame, "Desconocido", org, 1, 1.5, Scalar(0, 0, 0), 2, 8, 0); } imshow(title, frame); } int main(int argc, const char *argv[]) { Mat frame; CvCapture* capture; if(!fc.load(fcn)) { std::cout << "Error cargando cascada de clasificacion..." << std::endl; return -1; } capture = cvCaptureFromCAM(-1); if(capture) { while(true) { frame = cvQueryFrame(capture); if(!frame.empty()) detectFaces(frame); else { std::cout << "Error al capturar video..." << std::endl; break; } int q = waitKey(10); if((char)q == 'q' || (char)q == 'Q') break; } } return 0; }