Süni İntellekt (Sİ)

  Süni İntellekt (Sİ) (ing. Artificial Intelligence (AI)) — maşınların (qurğu və cihaz) insan zəkasını simulyasiya etməsidir. Belə maşınlar elə proqramlaşdırılır ki, insan kimi düşünə, onun davranışlarını təqlid edə bilsinlər.

süni_intellekt

   Sİ ilə işləyən maşınlar nitq tanıma, öyrənmə, planlama, problem həll etmə kimi mürəkkəb işlərin öhdəsindən gəlməyi bacarır. Süni İntellektin ideal xüsusiyəti onun rasional davranması və qarşıya qoyulan konkret məqsədə çatmaq üçün doğru qərar qəbul etməsidir.

Süni İntellekt iki əsas kateqoriyaya bölünür:

  • Dar Süni İntellekt: İnsan zəkasının simulyasiyası olan və bəzən “Zəif Sİ” adlandırılan DSİ dar kontekstdə fəaliyət göstərir. DSİ konkret halda götürülmüş tək bir işin öhdəsindən məharətlə gəlməyi bacarsa da, insan zəkasının potensialından çox uzaqdır.
  • Ümumi Süni İntellekt: Bəzən “Güclü Sİ” də adlandırılan ÜSİ insan zəkasına yaxın intellektə sahib olan maşınlardır. Onların öz “ağıllarından” istifadə edərək istənilən problemi həll etmə qabiliyətləri vardır. Fantastik filmlərdən bizə tanış gələn robotlar ÜSİ ilə işləyirlər.

 

Proqram Xətası

  Proqram Xətası (ing. Software Bug) — kompüter proqramı və ya sistemdə baş verən xətadır. Bu cür xətalar yanlış və ya gözlənilməyən/nəzərdə tutulmayan nəticələrə gətirib çıxarır.

   İngilis dilində bug sözü həm də böcək mənasını verir. Amerikalı mühəndislər bir əsrdən çoxdur ki, maşındakı kiçik qüsurları “böcəklər” adlandırırlar. Tomas Edison 1870-ci illərdə elektrik dövrələrindəki nöqsanlardan “böcək” olaraq bəhs edirdi.

   Hesablama texnologiyasında bu terminin istifadəsi və məşhurlaşması 9 Sentyabr 1947-ci ildə baş verən bir hadisəylə bağlıdır. Amerikalı riyaziyyatçı və kompüter proqramçısı Grace Hopper və onun komandası Mark II kompüteri ilə çalışarkən maraqlı bir hadisə baş verir. Kompüterin kontakt releləri arasında bir güvə ilişib qalır və sistemin dayanmasına səbəb olur. Komanda üzvləri hadisəni qeydə alır və Grace Hopper (sonradan ABŞ Hərbi Dəniz Qüvvələrinin kontr-admiralı olur) xanıma  xəbər verirlər. O da kompüterin qeydiyat jurnalında tarixə keçəcək bir qeyd yazır:

“Xətanın tapılmasının ilk faktiki hadisəsi” (“First actual case of bug being found.”)

NMAH2000-03035.jpg

   Bu hadisədən sonra bug sözü hesablama texnologiyasında termin halına gəlir. Xətaların tapılması və aradan qaldırılması prosesi sazlama (debugging) adlanır. Müasir kompüter sistemləri bir çox xətaların müəyyən edilməsi və avtomatik aradan qaldırılması imkanlarına malikdir.

Alqoritm

  Alqoritm (ing. Algorithm) — verilmiş məsələni həll etmək üçün dəqiq təyin olunmuş sonlu sayda qaydalar ardıcıllığıdır. Bu qaydalar kompüterdə realizə olunabilən instruksiyalardır. Alqoritm istənilən növ məsələnin həlli üçün tərtib oluna bilər.

   Günümüzdə hesablama texnologiyasında geniş istifadə olunan bu termin IX əsrin məşhur fars riyaziyyatçısı Məhəmməd İbn Musa əl-Xarəzminin (783-850) adıyla bağlıdır.

Muhammad ibn Musa al-Khawarizmi

   Təxminən 825-ci ildə Əl-Xarəzmi onu riyaziyyat aləmində məşhur edən “Əl-kitab əl-müxtəsər fi hesab əl-cəbr vəl müqabələ” adlı kitabını yazmışdır. Yeri gəlmişkən bu gün istifadə etdiyimiz cəbr sözü də bu alimin adıyla bağlıdır. Əl-Xarəzmi öz kitabında mövqeli say sistemi, bu sistemdə hesablama qaydaları haqqında məlumat verir və ilk dəfə sıfırdan (0) istifadə edir. XII əsrin ilk yarısında onun kitabı latın dilinə tərcümə olunaraq “Algoritmi de numero Indorum” adıyla Avropaya daxil olur. Beləliklə də onluq say sistemində hesab qaydalarını alqoritm adlandırırlar. Bu gün istifadə etdiyimiz alqoritm anlayışı isə məsələləri həll etmək üçün istifadə olunan qaydalar (hesabi və məntiqi əməliyyatlar) ardıcıllığını ifadə edir.

Alqoritmin xassələri

  1. Diskretlilik xassəsi. Hər bir alqoritm məsələnin həll prosesini sadə addımların yerinə yetirilməsi ardıcıllığı şəklində ifadə edir və hər bir addımın yerinə yetirilməsi üçün sonlu zaman fasiləsi tələb olunur, yəni başlanğıc verilənlərlə icra olunan hesabi və məntiqi əməliyyatların yerinə yetirilməsi və nəticənin alınması zamana görə diskret yerinə yetirilir.
  2. Müəyyənlik xassəsi. Hər bir alqoritm dəqiq, birqiymətli olmalıdır. Bu xassəyə əsasən alqoritm yerinə yetirildikdə istifadəçinin və onun istifadə etdiyi kompüterdən asılı olmayaraq eyni nəticə əldə edilməlidir.
  3. Kütləvilik xassəsi. Müəyyən sinif məsələnin həlli üçün qurulmuş alqoritm bu sinfə aid olan yalnız başlanğıc qiymətləri ilə fərqlənən bütün məsələlərin həllini təmin etməlidir. Məsələn, ax2 + bx + c = 0 kvadrat tənliyi üçün qurulmuş alqoritm a, b, c – nin ixtiyari qiymətləri üçün məsələni həll edir.
  4. Nəticəlilik və sonluluq xassəsi. Alqoritm sonlu sayda addımdan sonra başa çatmalı və verilmiş məsələnin həlli tapılmalıdır

Alqoritmin təsvir üsulları

  1. Mətn
  2. Blok-sxem
  3. Cədvəl
  4. Alqoritmik dil

Alqoritmin tipləri

  1. Xətti
  2. Budaqlanan
  3. Dövrü

Bernulli ədədlərini hesablayan alqoritm

   İngilis riyaziyyatçısı Ada Lavleys (1815-1852) tərəfindən tərtib olunan Bernulli ədədlərinin hesablanması alqoritmi kompüter üçün yazılan ilk proqram hesab olunur.

Diagram_for_the_computation_of_Bernoulli_numbers

   Ada xanımın özü də təbii olaraq insanlıq tarixinin ilk proqramçısı adını daşıyır. Onun Çarlz Bebbicin analitik maşını ilə bağlı gördüyü işlər gənc xanımı məşhur etmişdir.

Ada_Lovelace

   Ada Lavleysin adının əbədiləşdirilməsi məqsədilə proqramlaşdırma dillərindən birinə onun adı verilmişdir.

Kompilyator

  Kompilyator (ing. compiler) proqramlaşdırma dillərində yazılmış instruksiyaları (qaynaq kodu) maşın dilinə tərcümə edən proqramdır.

   İnterpretatordan fərqli olaraq kompilyator bütün qaynaq kodunu bir dəfəyə maşın  dilinə çevirərək obyekt modulunu meydana gətirir. Əldə edilən binar kod əməliyat sistemi tərəfindən icra olunur.

   Kompilyatorun işi aşağıdaki altı mərhələdən ibarətdir:

  • Leksik analiz
  • Sintaktik analiz
  • Semantik analiz
  • Aralıq kod generasiyası
  • Kod optimallaşdırması
  • Kod generasiyası

Kompilyatorun ümumi iş prinsipi aşağıda təsvir olunmuşdur:

kompilyator

Kompilyatorların müsbət cəhətləri:

  1. Kompilyasiya edilən proqramların daha sürətli çalışması.
  2. Əldə edilən binar kodun çalışması üçün kompilyatora ehtiyac qalmaması.

Kompilyatorların mənfi cəhətləri:

  1. Əməliyyat Sistemlərindən asılı olması.
  2. Dəyişikliklər zamanı yenidən kompilyasiyaya ehtiyacın olması.

İnterpretator

   İnterpretator (ing. interpreter) proqramlaşdırma və ya skript dillərində yazılmış instruksiyaları (qaynaq kodu) aralıq dilə tərcümə edib sonra icra edən proqramdır.

   Kompilyatordan fərqli olaraq interpretator bütün qaynaq kodunu bir dəfəyə maşın  dilinə çevirərək obyekt modulunu meydana gətirmir. İnterpretator qaynaq kodunu sətir-sətir translasiya edərək icra edir.

İnterpretatorun ümumi iş prinsipi aşağıda təsvir olunmuşdur:

interpretator

İnterpretatorların müsbət cəhətləri:

  1. Əməliyyat Sistemlərindən asılı olmaması.
  2. Dəyişikliklər zamanı yenidən kompilyasiyaya ehtiyacın olmaması.

İnterpretatorların mənfi cəhətləri:

  1. Proqramın çalışması üçün kompüterdə interpretatorun olması.
  2. İşləmə sürətinin nisbətən aşağı olması.