- •«Математикалық логика және дискреттік математика» пәнінің оқу-әдістемелік кешені « 5в0109 -математика»
- •Пәннің оқу-әдістемелік кешенінің мазмұнының тізімдемесі
- •Студенттерге арналған пән силлабусы
- •2.Пәннің қысқаша сипаттамасы
- •3.Пән пререквизиттері:
- •4.Пән постреквизиттері:
- •6. Оқытуға арналған әдебиеттер (10 әдебиеттен артық емес)
- •7. Бағалау критерийі
- •8.Оқытушы саясаты (студенттің этикасы).
- •Карта учебно-методическая обеспеченность
- •2013/2014 Учебный год
- •«Математикалық логика және дискреттік математика»
- •Жұмыс оқу бағдарламасы
- •1. Пәннің қысқаша сипаттамасы.
- •Пререквизиттер тізімі
- •2. Пән мазмұны
- •2.1.Дәрістік курс
- •2.2.Практикалық сабақтар
- •2.3. Студенттердің оқытушы жетекшілігімен жасайтын өзіндік жұмыстары
- •Студенттердің өзіндік жұмысы
- •Пән бойынша оқу-әдістемелік материалдар
- •3.1.Ұсынылатын әдебиеттер тізімі
- •3.2. Емтиханға дайындалуға арналған сұрақтар
- •Дәрістер тезистері
- •Алфавиттік кодтау.
- •Алгорифмдердің композициясы. Марков алгорифмдердің таралуы және бірігуі. Басқарушы алгорифм. Марковтың тармақталатын алгорифмі. Есептелнтін функциялар.
- •23,24,25,26 - Дәрістер
- •1. Тұжырымдар мен тұжырымдар формасы.
- •Практикалық сабақтар:
- •Тапсырмалар:
- •Тапсырмалар:
- •Тапсырмалар:
- •Тапсырмалар:
- •Тапсырмалар:
- •Тапсырмалар:
- •Студенттердің оқытушы жетекшілігімен жасайтын өзіндік жұмыстары (соөж)
- •Тапсырмалар:
- •Тапсырмалар:
- •Тапсырмалар:
- •Тапсырмалар:
- •Тапсырмалар:
- •Тапсырмалар:
- •Тапсырмалар:
- •Студенттердің өзіндік жұмыстары (сөж)
- •Тапсырмалар:
- •Тапсырмалар:
- •Тапсырмалар:
- •Тапсырмалар:
- •Өзін-өзі тексеруге және емтиханға дайындалуға арналған Тест тапсырмалары
- •Әдебиеттер
Алфавиттік кодтау.
схемасымен берілген алфавиттік кодтауды қарастырамыз.
a1 – b1b2,
a2 – b1b3b2,
: a3 – b2b3,
a4 – b1b2b1b3,
a5 – b2b1b2b2b3
Элементарлық кодтардың тривиалдық емес жарулары:
B1=(b1)(b2)
B2=(b1)(b3b2)=(b1b3)(b2)
B3=(b2)(b3)
B4=(b1)(b2 b1b3)=(b1b2)(b1b3)=(b1b2b1)(b3)
B5=(b2)(b1b2b2b3)=(b2)(b1b2)(b2b3)=(b2b1)(b2b2b3)=(b2b1b2)(b2b3)=(b2b1b2b2)(b3)
-prefixsuffix,
-графтың
төбелер жиыны.
О
сылай
құрылған графты Г()
деп атаймыз.Th (Марков А.А): С()
схемасымен берілген алфавиттік кодтау
инъективтік
схемасының графында бос сөзден өтетін
ориентирленген контур болмаса.
Г() контурда B=B1b1b3b2B1B3
B=(B1b1b3)(b2B1B3)A/=a4a5
B=B1(b1b3b2)B1B3A//=a1a2a1a3
Мысал 2.
a1 - b1=B1,
a2 – b2b1=B2, B2=(b2)(b1)=(b2)B1
a3 – b1b2b2=B3, B3=(b1)(b2b2)=B1(b2b2); B3=(b1b2)(b2)
a4 – b2b1b2b2=B4, B4=(b2)(b1b2b2)=(b2)B3; B4=(b2b1)(b2b2)=B2(b2b2); a5 – b2b2b2b2=B5 B4=(b2b1b2)(b2)
B5=(b2)(b2b2b2)=(b2b2)(b2b2)=(b2b2b2)(b2)
B2=(b2)B1; B3=B1(b2b2);
B4=(b2)B1(b2b2); B4=(b2)B3; B4=B2(b2b2);
B5=(b2)(b2b2b2)=(b2b2)(b2b2)=(b2b2b2)(b2);
Г() графында төбесі арқылы өтетін орцикл жоқ болғандықтан АС() инъективті.
Хемминг қашықтығы:
-
координаттар айырмасының санына тең.
1)
(төбенің өзінде ғана
)
2)
- symmetric қасиеті
3)
axiom:
Lemma
1.
Дәлелдеу:
себебі
Хемминг сферасымен шары Bn дегі :
Lemma
2.
.
Салдар.
Анықтама. lcp=l* схемасымен анықталған кодты минималды артықшылығы бар код немесе Хафман (Huffman) коды деп аталады.
Мысал 2: Кодтау ағашын құрайық.
(r=8, q=4): a1 – b1b3 p1=0,22
a2 – b3 p2=0,20
a3 – b1b1 p3=0,14
a4 – b1b2 p4=0,11
a5 – b4b2b3 p5=0,10
a6 – b1b4 p6=0,09
a7 – b4b1 p7=0,08
a8 – b4b2b4 p8=0,06
схемасы префикс қасиетіне ие.
lcp=0,20+2(0,22+0,14+0,11+0,09+0,08)+3(0,10+0,06)=0,20+1,
28+0,48=1,96
19,20 - дәрістер
Тақырыбы:Математикалық теориялар. Дедукция теоремасы.
Математиканың негізгі саласының бірі – геометрияны аксиомалар түрінде құруды мақсат еткен математиктердің бірі Эвклид болатын. Эвклид өзінің геометриясын математиканың барлық саласына негіз ретінде ұсынуды армандады.
Н.И. Лобачевский эвклидтік емес геометрия құруы бұл ойды барлық математиктердің негізгі мақсатына айналдырды.
Г. Кантордың жиындар теориясын математиканың негізі ретінде алуы да
қарама – қайшылыққа соқтырды.
Д. Гильберт өз бағдарламасында белгілі бір формальды жүйе құрып, соны математиканың негізі ретінде қабылдауды ұсынды.
Теориялық математиканың зерттеулер нәтижесін практика жүзінде қолдану шешілуге тиісті есепке ( мәселеге) сан түрінде жауап алуды талап етеді. Осыған байланысты 19-20 ғасырларда математикадағы сандық әдістер оның дербес бір тармағына айналды. Көп еңбек тілейтін есептеуді қажет ететін мәселелерді шешуді жеңілдету, жеделдету ісі әуелі механика-математикалық машиналар мен аспаптарды, ал 20 ғасырдың 40 жылдарынан бастап тез әрекетті электрондық есептеуіш машиналарды талап етті. 19-20 ғасырларда дамытылған математиканың бір тармағы математикалық логика басқару туралы ғылым- кибернетикада және есептеу техникасында қолданыла бастады. Есептеу техникасының кең қолданылуына байланысты программалау теориясы пайда болды.
Дедукция
туралы теорема. Егер
Г, А |- В
болса, онда Г |- А
В
Дәлелдеуі.
Айталық,
,
,
...,
(1) формулалар жиыны В формуласының Г
және А гипотезаларынан дәлелдеуі болсын.
Теореманың дәлелдеуін формуланың
дәлелдеу ұзындығы n –ге қатысты индукция
әдісімен жүргізейік. n = 1 болсын. Формуланың
дәлелдеу ұзындығы бірге тең болғандықтан
В =
.
Дедукция теоремасының дәлелдеуінде тек 1, 2 аксиомалар ғана қолданылады.Егер дедукция теоремасын дұрыс деп қабылдасақ, онда 1, 2 аксиомалардың өздерін де дәлелдеуге болады.
1-аксиома.
А, В |- А І-қасиет;
А |- В А дедукция теоремасы;
3.|-
А
2-аксиома.
А
А
|-
В
А
А
|-
В;В
В
|-
С;А А |- С;
А
А
,
|-
(А
|- А
Мысал.( транспозиция заңы)
А
|-
А
А
|-
А
А
,
А |-
В
В
|-
С;А
|-
С
А |- А С
21,22 - дәрістер
Тақырыбы: Алгоритмдер. Тьюринг машиналары. Марковтың қалыпты алгоритмі.
“Алгоритм” атауының бірнеше анықтамасы бар. Мысалы академик А. Н. Колмогоров анықтамасы бойынша, алгоритм немесе алгорифм – бұл, қадамдардың бір шамасынан қойылған мәселенің шешіміне әкеліп тірейтін, қатаң анықталған ережелер бойынша орындалатын кез келген есептеу жүйесі.
Алгоритмнің формальды анықтамасы іргелі теориялық ұғым болып табылады. Практика жүзінде, информатика әртүрлі есептерді шешудің алгоритмін жасап, және оларды қандай да бір орындаушы үшін жүзеге асырумен айналысады.
Көбінесе бір есепті бірнеше алгоритмнің көмегімен шешуге болады және солардың ішінен ең жақсысын таңдау керек. Практикада бізге жәй алгоритм ғана емес, осы сөздің кең мағынасындағы жақсы алгоритм керек. Алгоритм сапасы белгілерінің бірі – оны орындауға қажет уақыт болып табылады.
Алгоритмнің интуитивті ұғымы, әдетте, оның қасиеттерінің тізімімен және алгоритмді орындаушы ұғымын енгізумен анықталады. Алгоритм әр уақытта орындаушыны ескереді және сол үшін нұсқаулар жазылады. Орындаушы ретінде адам, компьютер және басқа да құрылғылар болуы мүмкін. Белгіленген әрекеттерді орындаушы түсінетіндей алгоритм сипаттамасы орындаушы тілінде жазылады.
Алгоритмдерге қойылатын негізгі талап – нәтижелілік. Бұл талаптын мағынасы мынада: алгоритмнің барлық нұсқауларын дәл орындағанда үрдіс ақырлы қадамда аяқталуы және белгілі бір нәтиже алынуы қажет. Шешімі жоқ деген қорытынды – бұл да нәтиже.
Нақты бір есептің емес, берілген типтегі есептердің қандай да бір класының шешімін қамтамасыз ететін алгоритмдер кеңінен таралған. Алгоритмнің бұл қасиеті жалпылық қасиеті деп аталады. Қарапайым жағдайда жалпылық қасиеті әртүрлі бастапқы мәліметтерді пайдалануға мүмкіндік береді.
Кейбір орындаушыларға құрылған алгоритмді әртүрлі тәсілдермен: графикалық немесе сөздік сипаттаудың көмегімен, кесте түрінде, алгоритмдік тілде (программалау тілінде) жазылған формулалар тізбегімен беруге болады. Белгіленуі бойынша блоктар негізгі және көмекші болып бөлінеді. Негізгі блоктар ақпаратты енгізу/шығару және өңдеу бойынша әрекеттерді көрсетеді, ал көмекші блоктар бок-схеманы түсіндіру үшін және байланыстарды белгілеу үшін қолданылады.
Алгоритмнің қасиеттері. Алгоритмдер адам өмірінің алуан түрлі саласын қамтығанымен, олардың бәріне ортақ бірнеше қасиеттері мен ерекшеліктердің бар екендігін байқауға болады. Алгоритмнің негізгі қасиеттеріне оның үздіктілігі, анықталғандығы, жалпылығы, нәтижелілігі жатады.
Алгоритмнің үздіктілігі деп алгоритмі сипатталып отырған процестің қадамдарға бөлінуін айтады. Қадамдарда нұсқау түрінде қарапайым іс-әрекеттің сипаттамасы беріледі. Алгоритм қадамдарды кез келген ретпен орындала бермейді. Әр адамның сипаттамасында келесі орындалатын қадам көрсетілуі мүмкін, егер ол ашық көрсетілмесе, нұсқаулар жазылу ретімен орындалады деп түсіну келісілген. Алгоритмде көрсетілген іс-әрекеттерді орындаушы адам немесе автоматты құрылғы (ЭЕМ) болуы мүмкін.
Алгоритм құрастыру және оны сипаттау әдістері. Алгоритм құру үшін, алдымен есептің шешу әдісін жақсы меңгеру керек. Алдымен берілген мәліметтермен есептелетін шамаларды анықтап, содан кейін ғана есепті шешу тәсілі бойынша алгоритм құрастырылады. Алгоритм құрастыру деп есепті шешуге қажетті амалдардың тізбегін анықтауды, ал сипаттау деп алгоритм қадамдарын мағынасы мен жазылу үлгісі тұрақты шартты белгілер жүйесі арқылы жазуды айтады. Алгоритм белгілі бір орындаушыға арналып жасалатындықтан, оны сипаттаған кезде атқарушының мүмкіншіліктері ескерілуі керек. Егер алгоритмді атқарушы адам болса, алгоритмнің көрнекі болуына аса көңіл аудару керек те, ал атқарушы ЭЕМ болса, электронды есептеуіш машиналардың ерекшеліктері ескерілуі керек, яғни онда енгізу, қорытындылау, меншіктеу қадамдары болуы тиіс.
Алгоритмді сипаттаудың көптеген тәсілдері бар. Солардың ішіндегі ең қарапайымдары:
Алгоритмді алгоритмдік тілде сипаттау.
Алгоритмді схема арқылы сипаттау.
Алгоритмді арнаулы алгоритмдік тілде сипаттау.
Тьюринг машиналары
Санақтың ондық жүйесінде п санына бірді қосу алгоритмі.
п санының
ондық жазбасы берілсін (яғни, п натурал
санының ондық санның жүйесіндегі
көрінісі); п+1 санының ондық жазбасын
алу қажет. ТМ сыртқы әріппесі
0,1,2,3,4,5,6,7,8,9 он цифрдан және бос орын
таңбаларынан тұру керектігі анық. Бұл
цифрлар бір ұяшыққа жазылады (бірінен
соң бірі, бос орын қалдырмай). Машинаның
және
екі ішкі күйінің болуы жеткілікті
көрінеді. Бастапқы кезде түбіртек санның
бір цифрының үстінде тұрсын делік, ал
машина
күйінде тұрсын. Онда есеп екі кезеңде
шешілуі мүмкін: түбіртектің сан
бірліктерінің цифрына (
іш күйінде) қарай қозғалысы және ол
цифрды бірге үлкенмен ауыстыру (1-ді
келесі разрядқа көшіру есебінен,
іш күйде, егер ол 9 болса). Сәйкес ТМ
сүлбесі мына түрге ие болуы мүмкін.
|
|
|
|
|
|
0 |
0 п |
1 с |
1 |
1 п |
2 с |
2 |
2 п |
3 с |
3 |
3 п |
4 с |
4 |
4 п |
5 с q |
5 |
5 п |
6 с |
6 |
6 п |
7 с |
7 |
7 п |
8 с |
8 |
8 п |
9 с |
9 |
9 п |
0 с |
_ |
_ B |
1 C |
2. Санды ондық санау жүйесінде жазу алгоритмі.
Таспа көздеріне бірінен соң бірі, бос орын қалдырылмай жазылған ендердің ақырлы тізбегі берілсін. Осы ендердің санын (ендерді санау) ондық санақ жүйесінде жазу керек. Алгоритмнің мәні мынада болуы мүмкін: таспаға машина жұмысы басында жазылған 0 санына ендердің бірінен соң бірін жоя отырып, машина 1 ді қосады, сөйтіп нөл орнына о+к саны пайда болады.
Сандарды қосу, оларды көбейту, ең жоғары ортақ бөлгішін табу және т.б. алгоритмін жеңіл түзуге болады. Дегенмен, Поcт және Тюринг машиналарын енгізудің мақсаты оларда программалау емес, алгоритмдер қасиетін және есептердің алгоритмдік шешімділігі мәселесін зерттеу.
Пайдаланылатын
таспалардың санына, олардың қызметіне
және басқару құрылғысы күйлерінің
санына байланысты Тюринг машинасының
әртүрлі модификацияларын қарастыруға
болады. Машинаның басқару құрылғысының
белгілі күйін қосып, ТМ анықтамасын
кеңейттік делік. Егер басқару құрылғысы
берілген х кіріс сөзі үшін
күйіне ауысатын болса, онда машина х-ті
өткізеді; егер құрылғы
күйіне ауысатын болса, онда машина х-қа
тыйым салады дейміз. Мүндай машинаны
екі шығысты Тюринг машинасы дейді.
Санаулы таспасы бар Тюринг машиналарының
көптеген нұсқалары қарастырылуы мүмкін.
Бұл таспалардың әр ұяшығында
сырт әріппесі таңбаларының бірі отыруы
мүмкін. Машинаны басқару құрылғысы
әркез
күйлердің ақырлы жиынының бірінде
болады. к- таспалы машина үшін оның
конфигурациясы і-уақыт мезетінде мына
түрлі:
к-сөз жүйесімен өрнектеледі. Мұндағы бірінші индекс уақыт мезгіліне сәйкес келеді, екінші – таспа нөміріне, үшінші – ұяшық нөміріне, солдан оңға қарай санағанда сәйкес келеді. Машина мына команданы
,
К={Л, С, П}.
орындайды дейді.
Егер
күйінде бола тұра және
таңбалары бар ұяшықтарды көре тұра,
ұяшықтағыларды сәйкес
таңбаларымен ауыстыра отырып, машина
күйіне
ауысатын болса, онда бұдан соң таспалар
сәйкес
бағытында жылжытылады.
Тьюринг машиналарының композициясы
Осы уақытқа дейін әртүрлі алгоритмдер командалар жиыны мен ішкі және сыртқы әріппелерімен өзгешеленетін әртүрлі Тьюринг машиналарында орындалады деп келді. Дегенмен, кез келген Тьюринг машинасының кез келген алгоритмін орындауға қабілетті әмбебап Тьюринг машинасын жасауға болады. Бұған әмбебап машинаның сырт әріппесіндегі кез келген берілген Тьюринг машинасының конфигурациясы мен программасын кодтау арқылы қол жеткізуге болады. Кодтаудың өзі былай орындалуға тиіс:
а) әртүрлі таңбалар әртүрлі кодтық топтармен алмастырылуы қажет, бірақ бір таңба қай жерде кездескеніне қарамай, бір ғана кодтық топпен жаппай ауыстырылуы қажет;
б) кодтық жазба жолдары жеке кодтық топтарға бірмәнді бөлшектенуге тиіс
с) А,П,С командаларына сәйкес кодтық топтарды тану, сыртқы әріппеге және іш күйлеріне сәйкес кодтық топтарды ажырату мүмкіндігі болуға тиіс.
Әртүрлі машиналар құрылымын салыстыру және олардың күрделілігін бағалау үшін сәйкес машиналар күрделігінің өлшемін алу қажет. К. Шеннон ондай өлшем ретінде сырт әріппе таңбалары санының іш күйлер санына көбейтіндісін қарастыруды ұсынды. Күрделілігі тым аз әмбебап Тьюринг машинасын құрастыру есебі үлкен қызығушылық тудырып отыр.
Тьюринг машиналарының тағы бір жалпыламасы, олардың композициялары қарастырылуы мүмкін. Алгоритмдерге қолданылатын композиция амалдары жаңа, күрделірек алгоритмдерді бұрынғы белгілі қарапайым алгоритмдерден жасауға мүмкіндік береді. Тьюринг машинасы алгоритм болғандықтан, композиция амалдары Тьюринг машиналарына да қолданыла береді. Соның көбейту, дәрежелеу, итерация сияқты негізгілерін қарастырайық.
Ортақ
сырт әріппесі бар және сәйкес
,
іш күйлері бар
және Т2 Тьюринг машиналары берілген
болсын. Композиция немесе Т1,Т2
машиналарының көбейтіндісі деп сол
сырт әріппесі,
іш күйлерінің жиынтығы және Т1,Т2
машиналары программаларының біртіндеп
орындалуына парапар программасы бар Т
машинасын айтамыз: Т= Т1*
Т2.
Дәрежеге
шығару амалы да осылай анықталады: Т
машинасының n - дәрежесі деп
көбейткіші бар көбейтіндіні айтады.
Итерация
амалы бір машинаға ғана қолданымды және
былай анықталады: T1 машинасының бірнеше
қорытынды күйлері болсын. Оның
-
қорытынды күйін таңдап, оны машина
сүлбесінде оның бастапқы қалпымен
теңдестіреміз. Алынған Т машинасы Т1
машинасының итерация нәтижесі болып
табылады: Т= T1.
Есептердің алгоритмдік шешімділігі мәселесіне тоқтамас бұрын алгоритм ұғымын тұлғаландырудың басқа да тәсілдеріне жүгінейік.
