- •Np толық есептердің кластары.
- •Np толықтық деген не?
- •P класы
- •Алгоритм верификациясы
- •Алгоритм дұрыстығы.
- •Алгоритм күрделілігін бағалау.
- •Алгоритм талдауындағы белгілеу жүйесі. Белгілеулерге анықтама бер.
- •Алгоритм тиімділігі дегеніміз не?
- •Алгоритм ұғымы, қасиеттері , түрлері
- •Алгоритмдер теориясы дегеніміз не? Алгоритмдер теориясының шығу тарихы.
- •Алгоритмдер теориясына кіріспе. Алгоритм ұғымы, анықтамасы.
- •P класы.
- •Алгоритмдерді талдау дегеніміз не?
- •Алгоритмдік шешімі болу және болмау ұғымы туралы айт.
- •Алгоритмнің бірігуі дегеніміз не?
- •Алгоритмнің зерттеу салалары
- •Алгоритмнің күрделілігі дегеніміз не?
- •Бағдарламаның дұрыстығын дәлелдеу әдісмтемесі
- •Бинарлық іздеу
- •Бөліп ал да басқар принципіне негізделген алгоритмдерді талдау.
- •Верификация дегеніміз не? Оның әдістері туралы айт?
- •Графта іздеудің қандай әдістері бар?
- •Есептеліну және шешімі болу дегеніміз не?
- •Есептердің алгоритмдік күрделілілігін өлшеу.
- •Күрделіліктің негізгі бағалауларының түрлері қандай?
- •Кірістіру арқылы сұрыптау
- •Қазіргі заманғы алгоритмдер теориясының даму бағыттары мен шешетін негізгі міндеттері.
- •Күрделілік функциясы бойынша алгоритмдерді жіктеу.
- •Қызыл-қара ағаштар.
- •Негізгі алгоритмдік проблемаларға нелер жатады?
- •Параллель алгоритмдердің күрделілігі.
- •Пирамидалық сұрыптау
- •Сараң алгоритмдердің күрделілігін бағалау.
- •Сұрыптау алгоритмдерін талдау, күрделілігін бағалау
- •Таңдау арқылы сұрыптау
- •Тьюринг машинасы дегеніміз не?
- •Шейкер сұрыптауы
- •Шелл арқылы сұрыптау
- •Іздеу ағашында орындалатын операциялар.(-)
- •Іздеудің екілік ағашы
- •Концептуалдық программалау. (-)
- •Алгоритмдерді синтездеуғе кіріспе(-)
- •Концептуалдық программалауды іске асырудың негізгі әдістемелік принциптері
- •Логикалық программаның синтездеу негіздері. Формуланы құрастыру.
- •Программаның синтездеу құрылымы. Есептеуге арналған амалдар
Верификация дегеніміз не? Оның әдістері туралы айт?
Верифика́ция (лат тілінен алғанда verus — «шынайы» facere — «жасау») сөзін адамның жұмыс жасау ортасына сай көптеген мағынасын алуға болады. Мысалға:
Верификация — тексеріс, тексерушілік, неше түрлі дәлел мен теоретикалық анықтамалар арқылы программалар, алгоритмдер, процедураларды растау әдісі, ол әдіс көбіне эталонды растаулармен салыстыра жүргізіледі. Ол принцип алғашқыда вена үйірмесінде қарастырылды.
Формальды верификация — программа немесе жүйенің негізгі формальды түрде алынған нұсқаулықтарына сүйене отырып жасалған программа немесе жүйенің шын немесе жалған формалды дәлелдеуі.
Верификации әдістері:
Хоара аксиоматикалық семантика әдісі
Флойд индуктивті ұйғарымдары әдісі
Программалайдың дәлелденуі (proofing programming)
Теоремалардың автоматты түрде дәлелденуі (Theorem proving)
Модельдердің тексерілісі (Model checking)
Символды орындалу (Symbolic execution)
Абстрактілі интерпретация (Abstract Interpretation)
Верификация немесе эмпирикалық расталу ғылымның негізі болып табылады.
Программалар мен жүйелердің формальды верификациясы ретінде пайдаланылатын және моделдеу үшін жиі өолданылатын математикалық обьектердің мысалы ретінде осыларды қарастыруға болады:
Ақырлы автомат;
Күйлер мен өзгерістері белгіленген модель
Петри желісі;
Уақыттық автомат;
Гибридті автомат;
Процестерді есептеу;
Үйлестірілген алгоритмдер;
Графта іздеудің қандай әдістері бар?
Іздеу ағаштары сөздіктерді деректердің абстракты үлгісі ретінде қарауға арналған. орындалатын операциялар:
• Search - берілген кілтпен элементті іздестіру,
• Minimum –минималды кілтпен элементті іздестіру,
• Maximum –максималды кілтпен элементті іздестіру,
• Predecessor –іздестіру алдыңдағы кілтпен элементті іздестіру,
• Successor–келесі кілтпен элементті іздестіру,
• Insert –өзінің кілт арқылы элементті енгіз,
• Delete –көрсетілген элементті өшіру.
Iздеудің екiлiк ағашы. Iздестiру екiлiк ағашы әрбiр түйiнiне өлшенген элемент сәйкестiкке орнатылған түбiрлiк екiлiк ағашы деп аталады. Әрбiр түйiн x үшiн келесi шартты орындайды. X түбiрi бар сол ағаш астындағы барлық х түйiндерiнiң салмағынан аз немесе тең, онының оң жақ ағаш астындасының түйiндерiнiң салмағы артық немесе түйiн x салмағына тең.
Қызыл-қара ағаштар
h биіктіктегі екі жақтыіздестіру ағашының негізгі операциясын O (h) іс-әрекеттері арқылы жүзеге асыруға болады.Егер ағаштардың биіктігі кішкене болса, нәтижелі болады. Операция нәтижесін арттыру үшін ағаштың биіктігі Ο (log n) өлшемінде керек болса,
ағаштарды салудың тиімді әдістері қолданылады. Бұндай әдістер ағаштарды тепе-теңдікте ұстау деп аталады. Тепе-теңдік сапасының әр түрлі өлшемдері қолданылады.
Есептеліну және шешімі болу дегеніміз не?
А алфавитіндегі n сөзден тұратын реттелген жинақ А-ның үстіндегі n-орынды жинақ деп аталады. Оны (A*)n деп белгілейміз. Кез келген (A*)n жиының R жиыншасы n-орынды сөздің қатынас деп аталады.
f: (A*)n → A* кез келген, мүмкін жеке көрсетілуі n-орынды сөздің функциясы деп аталады. f функциясының анықталу облысы Def (f ) арқылы белгіленеді.
Т бағдарламасының жұмысының Х псевдосөзіндегі нәтижесі T (x) псевдосөзі деп аталады, ол бағдалама тоқтаған кезде лентада пайда болады; егер бағдарлама ақырсыз жұмыс жасаса, нәтиже анықталмаған.
Кез келген Х псевдосөзімен жұмыс кезінде бастауын n-ші Х псевдосөзіненің сол жағында орналасқан пробелден солға қарай жылжытпайтын бағдарламаны n-бағдарлама деп атаймыз.
Егер X* un * un–1 * …*u1 *↓ , где (u1, u2, …, un) ∈ R. түрдегі барлық псевдосөздерде анық тоқтайтын Т n-программасы бар болса, R cөздік n-орынды қатынасы жартылай шешімді деп аталады.
Егер R және R(мұндағы R және R ретінде (A*)n \ R түсініледі) жартылай шешімді болса, R сөздік n-орынды қатынасы шешімді деп аталады.
Егер T(*u1*u2*...*un*↓ ) = *u1*u2*...*un*v*↓ ,
мұндағы u1, u2, ..., un ∈ Def (f ) және v = f (u1, u2, ..., un) болатын Т бағдарламасы бар болса, f: (A*)n → A* сөздік n-орынды функциясы Тьюринг бойынша есептелінеді деп аталады, кері жағдайда нәтиже анықталмаған.
Тьюринг бойынша есептелетін функцияларды жартылай есептеленуші, ал рұқсат етілген анықталу обылсымен жартылай есептелінушілерді – есептелінуші деп атауға болушы еді, алайда бұл қалыптасқан дәстүрге қарсы.
