Значит так: мы создаем массив избыточной длины, куда потом будем записывать рандомные числа. Так же мы создаем массив-счетчик b (у него индексами являются сами числа, а элементами - количество этого числа в массиве А), куда будет присваиваться, сколько раз нам встречается то или иное число (перед этим мы массив обязательно обнулим). В конце мы смотрим максимальное число из массива-счетчика. Вуаля!
Вот пример программы на паскале ABC:
var a:array [1..1000000] of integer; b:array [1..10] of longint; c:integer; i,max,n:longint; begin write('Введите число элементов массива: '); readln(n); max:=0; for i:=1 to 10 do b[i]:=0; for i:=1 to n do begin a[i]:=random(10)+1; write(a[i],' '); b[a[i]]:=b[a[i]]+1 end; for i:=1 to 10 do if b[i]>max then begin c:=i; max:=b[i] end; writeln; writeln('Чаще всего в массиве встречается число ',c) end.
Штучний інтелект (англ. Artificial intelligence, AI) — розділ комп'ютерної лінгвістики та інформатики, що опікується формалізацією проблем та завдань, які подібні до дій, що виконує людина.
Єдиної відповіді на питання, чим опікується штучний інтелект (ШІ), не існує. Майже кожен автор, який пише книгу про штучний інтелект, відштовхується від якогось визначення, та розглядає в його світлі досягнення цієї науки.
Підходи до вивчення
Існують різні методи створення систем штучного інтелекту. У наш час можна виділити 4 досить різних методи:
Логічний підхід. Основою для вивчення логічного підходу слугує алгебра логіки. Кожен програміст знайомий з нею з того часу, коли він вивчав оператор IF. Свого подальшого розвитку алгебра логіки отримала у вигляді числення предикатів — в якому вона розширена за рахунок введення предметних символів, відношень між ними. Крім цього, кожна така машина має блок генерації цілі, і система виводу намагається довести дану ціль як теорему. Якщо ціль досягнута, то послідовність використаних правил дозволить отримати ланцюжок дій, необхідних для реалізації поставленої цілі (таку систему ще називають експертною системою). Потужність такої системи визначається можливостями генератора цілей і машинного доведення теорем. Для досягнення кращої виразності логічний підхід використовує новий напрям, його назва — нечітка логіка. Головною відмінністю цього напряму є те, що істинність вислову може приймати окрім значень «так»/«ні» (1/0) ще й проміжні значення — «не знаю» (0,5), «пацієнт швидше живий, ніж мертвий» (0,75), «пацієнт швидше мертвий, ніж живий» (0,25). Такий підхід подібніший до мислення людини, оскільки вона рідко відповідає «так» або «ні».
Під структурним підходом ми розуміємо спроби побудови ШІ шляхом моделювання структури людського мозку. Однією з перших таких спроб був перцептрон Френка Розенблатта. Головною моделюючою структурною одиницею в перцептронах (як і в більшості інших варіантах моделювання мозку) є нейрон. Пізніше виникли й інші моделі, відоміші під назвою нейронні мережі (НМ) і їхні реалізації — нейрокомп'ютери. Ці моделі відрізняються за будовою окремих нейронів, за топологією зв'язків між ними і алгоритмами навчання. Серед найвідоміших на початку 2000-х років варіантів НМ можна назвати НМ зі зворотнім поширенням помилки, сітки Кохонена, сітки Гопфілда, стохастичні нейрони сітки. У ширшому розумінні цей підхід відомий як конекціонізм. Відмінності між логічним та структурним підходом не стільки принципові, як це здається на перший погляд. Алгоритми спрощення і вербалізації нейронних мереж перетворюють моделі структурного підходу на явні логічні моделі.[2] З іншого боку, ще 1943 року Воррен Маккалох і Волтер Піттс[en] показали, що нейронна сітка може реалізувати будь-яку функцію алгебри логіки[3].
Еволюційний підхід. Під час побудови системи ШІ за даним методом основну увагу зосереджують на побудові початкової моделі і правилах, за якими вона може змінюватися (еволюціонувати). Причому модель може бути створено за найрізноманітнішими методами, це може бути і НМ, і набір логічних правил, і будь-яка інша модель. Після цього ми вмикаємо комп'ютер і він на основі перевірки моделей відбирає найкращі з них, і за цими моделями за найрізноманітнішими правилами генеруються нові моделі. Серед еволюційних алгоритмів класичним вважається генетичний алгоритм.
Імітаційний підхід. Цей підхід є класичним для кібернетики з одним із її базових понять чорний ящик. Об'єкт, поведінка якого імітується, якраз і являє собою «чорний ящик». Для нас не важливо, які моделі у нього всередині і як він діє, головне, щоби наша модель в аналогічних ситуаціях поводила себе без змін. Таким чином тут моделюється інша властивість людини — здатність копіювати те, що роблять інші, без поділу на елементарні операції і формального опису дій. Часто ця властивість економить багато часу об'єктові, особливо на початку його життя.
Вот пример программы на паскале ABC:
var a:array [1..1000000] of integer;
b:array [1..10] of longint;
c:integer;
i,max,n:longint;
begin
write('Введите число элементов массива: ');
readln(n);
max:=0;
for i:=1 to 10 do
b[i]:=0;
for i:=1 to n do begin
a[i]:=random(10)+1;
write(a[i],' ');
b[a[i]]:=b[a[i]]+1
end;
for i:=1 to 10 do if b[i]>max then
begin
c:=i;
max:=b[i]
end;
writeln;
writeln('Чаще всего в массиве встречается число ',c)
end.
Відповідь:
Штучний інтелект (англ. Artificial intelligence, AI) — розділ комп'ютерної лінгвістики та інформатики, що опікується формалізацією проблем та завдань, які подібні до дій, що виконує людина.
Єдиної відповіді на питання, чим опікується штучний інтелект (ШІ), не існує. Майже кожен автор, який пише книгу про штучний інтелект, відштовхується від якогось визначення, та розглядає в його світлі досягнення цієї науки.
Підходи до вивчення
Існують різні методи створення систем штучного інтелекту. У наш час можна виділити 4 досить різних методи:
Логічний підхід. Основою для вивчення логічного підходу слугує алгебра логіки. Кожен програміст знайомий з нею з того часу, коли він вивчав оператор IF. Свого подальшого розвитку алгебра логіки отримала у вигляді числення предикатів — в якому вона розширена за рахунок введення предметних символів, відношень між ними. Крім цього, кожна така машина має блок генерації цілі, і система виводу намагається довести дану ціль як теорему. Якщо ціль досягнута, то послідовність використаних правил дозволить отримати ланцюжок дій, необхідних для реалізації поставленої цілі (таку систему ще називають експертною системою). Потужність такої системи визначається можливостями генератора цілей і машинного доведення теорем. Для досягнення кращої виразності логічний підхід використовує новий напрям, його назва — нечітка логіка. Головною відмінністю цього напряму є те, що істинність вислову може приймати окрім значень «так»/«ні» (1/0) ще й проміжні значення — «не знаю» (0,5), «пацієнт швидше живий, ніж мертвий» (0,75), «пацієнт швидше мертвий, ніж живий» (0,25). Такий підхід подібніший до мислення людини, оскільки вона рідко відповідає «так» або «ні».
Під структурним підходом ми розуміємо спроби побудови ШІ шляхом моделювання структури людського мозку. Однією з перших таких спроб був перцептрон Френка Розенблатта. Головною моделюючою структурною одиницею в перцептронах (як і в більшості інших варіантах моделювання мозку) є нейрон. Пізніше виникли й інші моделі, відоміші під назвою нейронні мережі (НМ) і їхні реалізації — нейрокомп'ютери. Ці моделі відрізняються за будовою окремих нейронів, за топологією зв'язків між ними і алгоритмами навчання. Серед найвідоміших на початку 2000-х років варіантів НМ можна назвати НМ зі зворотнім поширенням помилки, сітки Кохонена, сітки Гопфілда, стохастичні нейрони сітки. У ширшому розумінні цей підхід відомий як конекціонізм. Відмінності між логічним та структурним підходом не стільки принципові, як це здається на перший погляд. Алгоритми спрощення і вербалізації нейронних мереж перетворюють моделі структурного підходу на явні логічні моделі.[2] З іншого боку, ще 1943 року Воррен Маккалох і Волтер Піттс[en] показали, що нейронна сітка може реалізувати будь-яку функцію алгебри логіки[3].
Еволюційний підхід. Під час побудови системи ШІ за даним методом основну увагу зосереджують на побудові початкової моделі і правилах, за якими вона може змінюватися (еволюціонувати). Причому модель може бути створено за найрізноманітнішими методами, це може бути і НМ, і набір логічних правил, і будь-яка інша модель. Після цього ми вмикаємо комп'ютер і він на основі перевірки моделей відбирає найкращі з них, і за цими моделями за найрізноманітнішими правилами генеруються нові моделі. Серед еволюційних алгоритмів класичним вважається генетичний алгоритм.
Імітаційний підхід. Цей підхід є класичним для кібернетики з одним із її базових понять чорний ящик. Об'єкт, поведінка якого імітується, якраз і являє собою «чорний ящик». Для нас не важливо, які моделі у нього всередині і як він діє, головне, щоби наша модель в аналогічних ситуаціях поводила себе без змін. Таким чином тут моделюється інша властивість людини — здатність копіювати те, що роблять інші, без поділу на елементарні операції і формального опису дій. Часто ця властивість економить багато часу об'єктові, особливо на початку його життя.