%---------------------------------------------------------------------------- % INTELIGENCIA ARTIFICIAL - 2024 - TP01 %---------------------------------------------------------------------------- % 6. Script 2. Dada la siguiente matriz booleana, diseñar un script que: % a) Dada la matriz booleana simbolizada en la figura adjunta, diseñar % un script que genere 15 matrices booleanas, del miso tamño, conteniendo % cada una 15 “unos” dispuesto en forma aleatoria. % a1) Comparar las 15 matrices con la matriz de muestra e identifcar % las matrices de mayor y menor similitud. % a2) Por cada comparacion realizada generar un indice de similitud % (IS pertenece a R) entre 0 y 1 (un valor IS=1 significa que las % matrices son iguales). Orientacion: investigar el indice de Jaccard % Comparar imagenes % https://la.mathworks.com/help/images/ref/imshowpair.html % Convertir imagen en matriz, viceversa % https://la.mathworks.com/help/images/ref/mat2gray.html#d126e91831 % InitialMagnification % https://la.mathworks.com/help/images/ref/imshow.html?searchHighlight=imshow&s_tid=srchtitle_support_results_2_imshow#bvmnrxi-1-Reduce %---------------------------------------------------------------------------- % Variables clc matrixAND=zeros(10,10); successN=0; booleanMatrix=zeros(10,10); IS=0; %---------------------------------------------------------------------------- % Matriz Original booleanMatrixOriginal=zeros(10,10); booleanMatrixOriginal(2,7)=1; booleanMatrixOriginal(3,[5 6 8])=1; booleanMatrixOriginal(4,[4 9])=1; booleanMatrixOriginal([5 6],[3 10])=1; booleanMatrixOriginal(7,[2 10])=1; booleanMatrixOriginal(8,3)=1; booleanMatrixOriginal(9,4)=1; booleanMatrixOriginal(10,5)=1; %---------------------------------------------------------------------------- % Comparo for i=1:15 booleanMatrixOriginal booleanMatrix=booleanMatrixRandom() matrixAND=booleanMatrixOriginal & booleanMatrix successN=size((find(matrixAND)),1); switch successN case {1,2,3} disp('La similitud es baja') disp('INDICE DE SIMILITUD: ') IS=successN/15 case{4,5,6,7} disp('La similitud sigue siendo baja') disp('INDICE DE SIMILITUD: ') IS=successN/15 case {8,9,10,11,12,13,14} disp('Son casi identicas: ') disp('INDICE DE SIMILITUD: ') IS=sucessN/15 case 15 disp('FELICITACIONES!!!...') disp('Son identicas') disp('INDICE DE SIMILITUD: ') IS=1 otherwise disp('Ambas matrices son distintas') disp('INDICE DE SIMILITUD: ') IS end scriptGraphicOptional(booleanMatrixOriginal,booleanMatrix,matrixAND) fprintf('----------------------------------- \n') pause close end