рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Алгоритми з поверненням

Алгоритми з поверненням - раздел Образование, РЕКУРСИВНІ АЛГОРИТМИ R Особливо Цікаві Задачі Так Називаного Штучного Інтелекту. Тут Мають Справу З ...

Особливо цікаві задачі так називаного штучного інтелекту. Тут мають справу з алгоритмами, що шукають рішення не за заданими правилами, а шляхом проб і помилок. Звичайно процес проб і помилок розділяється на окремі задачі. Часто ці задачі виражаються в термінах рекурсії і потребують дослідження кінцевої кількості підзадач.

Задача про вісьмох ферзів.Вісім ферзів треба так розставити на шаховій дошці, щоб жоден з них не загрожував іншому.

Оскільки ферзь вбиває всі фігури, що знаходяться на тій самій вертикалі, діагоналі та горизонталі, як наслідок: в одній вертикалі (діагоналі, горизонталі) може знаходитися один-єдиний ферзь. Таким чином, при пошуку місця дляi-ферзя можна граничитися i-ю вертикаллю. Індекс горизонталі jбуде змінюватися до восьми. В програмному прикладі 6.8 подано рішення цієї задачі.

{===== Програмний приклад 6.8 =====}

procedure chess;

var i: integer; q: boolean;

a: array [1..8]of boolean; b:array [2..16]of boolean;

c: array [–7..7]of boolean; x:array [1..8] of integer;

procedure try(i:integer; var q:boolean);

var j: integer;

begin j:=0;

repeat j:=j+1; q:=false;

if a[j] and b[I+j] and c[I- j] then {чи вільне місце?}

begin

x[i]:=j; a[i]:=false; {поставити ферзя}

b[i+j]:=false; c[I-j]:=false;

if i< 8 then

begin

try(I+1,q);

if not q then

begin {убрати ферзя}

a[j]:=true; b[I+j]:=true; c[I-j]:= true;

end else q:=true

end; end;

if q then write(i:4);

until q or (j= 8)

end;

begin

for i:=1 to 8 do a[i]:=true ;

for i:=2 to 16 do b[i]:=true ;

for i:=–7 to 7 do c[i]:=true ;

try (1,q);

for i:=1 to 8 do writeln (x[i]) ;

end.

Масив х зберігає місцезнаходження ферзя на i-вертикалі; ajвказує, що наj-горизонталі немає ферзя; bk вказує, що на k-ій побічній діагоналі немає ферзя;ck вказує, що на k-й головній діагоналі немає ферзя.

 

– Конец работы –

Эта тема принадлежит разделу:

РЕКУРСИВНІ АЛГОРИТМИ R

РЕКУРСИВНІ АЛГОРИТМИ R... Поняття рекурсії P Коли рекурсію використовувати не потрібно P...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Алгоритми з поверненням

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Поняття рекурсії
  Рекурсивним називається об'єкт, що частково складається або визначається за допомогою самого себе. Рекурсія зустрічається не тільки в математиці, але й у повсякденному житті. Наприк

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

Приклади рекурсивних програм
  6.3.1. Алгоритми «Розділяй і пануй»   Мабуть, найбільш значущім і найбільш використовуваним методом проектування ефективних алгоритмів є мето

Комбінаторика: перестановки. Дано N чисел. Одержати всі можливі перестановки. Установлено, що кількість таких перестановок N!.
Нехай є числа 1, 2, 3, 4; тобто N= 4. Якщо повинні бути набори по 4 елементи, то може бути 4 різних набори з різними числами на першому місці:1***, 2***, 3***, 4***

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги