DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Звіт до лабораторної роботи №3 на тему «Алгоритм k-внутрішніх групових середніх»

Оригінальна назва роботи

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

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

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

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

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

Про що ця робота

У документі наведено звіт до лабораторної роботи з реалізації алгоритму k-внутрішніх групових середніх на мові Pascal. Робота містить програмний код та результати його виконання.

У роботі розглядаються

  • Алгоритм k-внутрішніх групових середніх
  • Штучний інтелект
  • Розпізнавання образів
  • Кластеризація даних
  • Мова програмування Pascal
  • Обчислювальні експерименти

Зміст і розділи

  1. Текст програми
  2. Результат виконання програми
  3. Висновок
Для кого:Студенти технічних спеціальностей та викладачі вищих навчальних закладів.
Викладачі:Не вказано

Ключові поняття

кластеризаціяалгоритм k-середніхрозпізнавання образівпрограмаітераціяцентроїдмасивкоординатидистанціяобчислення

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” іНСТИТУТ КОМП’ютерних НАУК та ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ Кафедра “Системи автоматизованого проектування”  ЗВІТ до лабораторної роботи №3 на тему «Алгоритм k-внутрішніх групових середніх» з курсу «Системи штучного інтелекту» Львів-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-внутрішніх групових середніх розпізнавання образів. Написав програму реалізації алгоритму.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

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

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

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

Admin

26.02.2023 12:38

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