Алгоритм k-внутрішніх групових середніх.

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
Не вказано
Кафедра:
Системи автоматизованого проектуваня

Інформація про роботу

Рік:
2008
Тип роботи:
Лабораторна робота
Предмет:
Системи штучного інтелекту
Група:
КН-3

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” іНСТИТУТ КОМП’ютерних НАУК та ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ Кафедра “Системи автоматизованого проектування”  ЗВІТ до лабораторної роботи №3 на тему «Алгоритм k-внутрішніх групових середніх» з курсу «Системи штучного інтелекту» Виконав: ст. гр. КН.-3 Львів-2008 Текст програми: Program K_VNUTR; Uses CRT; const q = 12 ; kl = 3; type dis = record v:array [1..q] of real; t:array [1..q] of integer; end; var x : array [1..q] of integer; y : array [1..q] of integer; j,i,k:integer; d: array [1..kl] of dis; serx,sery:real; centre: array [1..kl] of integer; centrex: array [1..kl] of real; centrey: array [1..kl] of real; cx: array [1..kl] of real; cy: array [1..kl] of real; min:real; ok:boolean; Label next,quit; BEGIN clrscr;writeln; x[1]:= 0 ; y[1]:=4;x[2]:= 1 ; y[2]:=2; x[3]:= 2 ; y[3]:=3;x[4]:= 2 ; y[4]:=4; x[5]:= 5 ; y[5]:=0;x[6]:= 6 ; y[6]:=0; x[7]:= 7 ; y[7]:=0;x[8]:= 8 ; y[8]:=4; x[9]:= 8 ; y[9]:=5;x[10]:=9 ; y[10]:=4; x[11]:=9 ; y[11]:=5;x[12]:=11; y[12]:=11; writeln; textcolor(15); { For i:=1 to kl do begin centre[i]:=i; } centrex[1]:=x[1]; centrey[1]:=y[1]; centrex[2]:=x[6]; centrey[2]:=y[6]; centrex[3]:=x[12]; centrey[3]:=y[12]; For i:=1 to kl do writeln('Z',i,'(',centrex[i]:1:1,';',centrey[i]:1:1,');'); {end; } readln; NEXT:; clrscr; writeln; readln; textcolor(14); write(' Z1(',centrex[1]:1:1,';',centrey[1]:1:1,') '); For i:=2 to kl do if i=kl then writeln('Z',i,'(',centrex[i]:1:1,';',centrey[i]:1:1,')') else write('Z',i,'(',centrex[i]:1:1,';',centrey[i]:1:1,')',' '); textcolor(15); writeln; For i:=1 to kl do For j:=1 to q do d[i].v[j]:=sqrt(sqr((centrex[i]-x[j]))+sqr((centrey[i]-y[j]))); For i:=1 to q do begin if i<10 then write(' X',i,' (',x[i],';',y[i],')',' ') else if i>=13 then write(' X',i,'(',x[i],';',y[i],')',' ') else write(' X',i,'(',x[i],';',y[i],')',' '); For j:=1 to kl do begin textcolor(j*2); if j=kl then writeln(d[j].v[i]:2:1) else write(d[j].v[i]:2:1,' '); textcolor(15); end; end; writeln; For i:=1 to kl do For j:=1 to q do d[i].t[j]:=0; For i:=1 to q do begin min:=d[1].v[i]; k:=1; For j:=1 to kl do begin if min>d[j].v[i] then begin min:=d[j].v[i]; k:=j; end; end; d[k].t[i]:=1; end; For i:=1 to kl do begin serx:=0; sery:=0; k:=0; For j:=1 to q do if d[i].t[j]=1 then begin serx:=serx+x[j]; sery:=sery+y[j]; k:=k+1; end; if k<>0 then begin cx[i]:=serx/k; cy[i]:=sery/k; end; end; textcolor(3); For i:=1 to kl do writeln('Z(',i,') (x=',cx[i]:3:2,' y=',cy[i]:3:2,')'); textcolor(15); ok:=true; For i:=1 to kl do if (cx[i]<>centrex[i])and(cy[i]<>centrey[i]) then ok:=false; textcolor(4); if ok=false then begin writeln('***Potribno vykonaty shche odnu iteraciju***'); readln; end else writeln('***Obrahunok zaversheno***'); textcolor(15); if ok=false then begin For i:=1 to kl do begin centrex[i]:=cx[i]; centrey[i]:=cy[i]; end; goto next; end; quit:; readln; END. Результат виконання програми Z1(0.0;4.0); Z2(6.0;0.0); Z3(11.0;11.0); Z1(0.0;4.0) Z2(6.0;0.0) Z3(11.0;11.0) X1 (0;4) 0.0 7.2 13.0 X2 (1;2) 2.2 5.4 13.5 X3 (2;3) 2.2 5.0 12.0 X4 (2;4) 2.0 5.7 11.4 X5 (5;0) 6.4 1.0 12.5 X6 (6;0) 7.2 0.0 12.1 X7 (7;0) 8.1 1.0 11.7 X8 (8;4) 8.0 4.5 7.6 X9 (8;5) 8.1 5.4 6.7 X10(9;4) 9.0 5.0 7.3 X11(9;5) 9.1 5.8 6.3 X12(11;11) 13.0 12.1 0.0 Z(1) (x=1.25 y=3.25) Z(2) (x=7.43 y=2.57) Z(3) (x=11.00 y=11.00) ***Potribno vykonaty shche odnu iteraciju*** Z1(1.3;3.3) Z2(7.4;2.6) Z3(11.0;11.0) X1 (0;4) 1.5 7.6 13.0 X2 (1;2) 1.3 6.5 13.5 X3 (2;3) 0.8 5.4 12.0 X4 (2;4) 1.1 5.6 11.4 X5 (5;0) 5.0 3.5 12.5 X6 (6;0) 5.8 2.9 12.1 X7 (7;0) 6.6 2.6 11.7 X8 (8;4) 6.8 1.5 7.6 X9 (8;5) 7.0 2.5 6.7 X10(9;4) 7.8 2.1 7.3 X11(9;5) 7.9 2.9 6.3 X12(11;11) 12.5 9.2 0.0 Z(1) (x=1.25 y=3.25) Z(2) (x=7.43 y=2.57) Z(3) (x=11.00 y=11.00) ***Obrahunok zaversheno*** Висновок На цій лабораторній роботі я вивчив принципи роботи алгоритму k-внутрішніх групових середніх розпізнавання образів. Написав програму реалізації алгоритму.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!