بررسی و مقایسه زبان های هوش مصنوعی

67

Upload: luyu

Post on 24-Feb-2016

187 views

Category:

Documents


10 download

DESCRIPTION

o. بررسی و مقایسه زبان های هوش مصنوعی. مقدمه. قسمت 1. دلایل مطالعه زبان های برنامه نویسی مختلف. افزایش توانایی در ساخت و توسعه الگوریتم ها افزایش لغت شناسی در مورد ساختار برنامه ها انتخاب بهترین زبان برنامه نویسی ارتقاء روش های استفاده از زبان های موجود یادیگری آسانتر زبان های جدید - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: بررسی و مقایسه زبان های هوش مصنوعی
Page 2: بررسی و مقایسه زبان های هوش مصنوعی

oبررسی و مقایسه زبان

های هوش مصنوعی

Page 3: بررسی و مقایسه زبان های هوش مصنوعی

مقدمه

1قسمت

Page 4: بررسی و مقایسه زبان های هوش مصنوعی

دالیل مطالعه زبان های برنامه نویسی مختلف

افزایش توانایی در ساخت و توسعه الگوریتم ها• افزایش لغت شناسی در مورد ساختار برنامه ها•انتخاب بهترین زبان برنامه نویسی•ارتقاء روش های استفاده از زبان های موجود• یادیگری آسانتر زبان های جدید•ساده تر شدن طراحی زبان•

Page 5: بررسی و مقایسه زبان های هوش مصنوعی

معیار های یک زبان خوبوضوح ، سادگی ، یک پارچگی• تعامد• طبیعی بودن برای کاربر• پشتیبانی از تجرد• قابلیت حمل برنامه• محیط برنامه نویسی•

Page 6: بررسی و مقایسه زبان های هوش مصنوعی

معیار های یک زبان خوبهزینه استفاده•

اجراترجمهایجاد و آزمایشنگهداری و پشتیبانی

سادگی بررسی درستی برنامه•رسمیغیر رسمی

Page 7: بررسی و مقایسه زبان های هوش مصنوعی

انواع زبان های برنامه نویسی ساخت یافته•

LISP , PASCAL , BASIC , C شئ گرا•

C++ , SIMULA , JAVA متنی•

JAVA Script , TCLمنطقی•

PROLOG

Page 8: بررسی و مقایسه زبان های هوش مصنوعی

مدل های برنامه نویسی

دستوری•

تابعی•

قانونمند•

شئ گرا•

Page 9: بررسی و مقایسه زبان های هوش مصنوعی

سیر تکاملی زبان هازبان مورد استفاده کاربرد دوره

COBOL تجاری

1960FORTRAN , BASIC ,

ALGOL , APL علمی Assembly سیستمی

LISP , SNOBOL هوش مصنوعیC++ , Java , 4GL تجاری

امروزهJava , C , C++ , BASIC سیستمی

C , C++ , Java علمیLISP , PROLOG هوش مصنوعیTEX , Postscript انتشارات

Page 10: بررسی و مقایسه زبان های هوش مصنوعی

روش های اجرای برنامه

ترجمه )کامپایل(1.

تفسیر2.

ترکیب ترجمه و تفسیر3.

Page 11: بررسی و مقایسه زبان های هوش مصنوعی

روش های اجرای برنامه

ترجمه شده و در هر زمان قابل اجرا است.زبان ماشین دستوzرات به 1.

و در همان لحظه اجرا می شود.خط به خط تفسیر دستورات 2.

کد میانی ابتدا ترجمه مختصری برروی دستورات انجام شده، سپس به 3.

تبدیل می شود وسپس کد میانی با سرعت بیشتری تفسیر و اجرا

.zمیشود

Page 12: بررسی و مقایسه زبان های هوش مصنوعی

وسایل مورد نیاز

کامپایلر•اسمبلر•لودر )بارکننده(•لینکر )متصل کننده(• پیش پردازنده•

Page 13: بررسی و مقایسه زبان های هوش مصنوعی

محیط میزبان و محیط عملیاتی

محیط میزzبان :•محیطی که برنامه در آن ایجاد، تست و اشکال زدایی می

شود. محیط عملیاتی :•

محیطی که برنامه در آن اجرا می شود.

Page 14: بررسی و مقایسه زبان های هوش مصنوعی

محیط میزبان محیط عملیاتی

برنامه ما

Page 15: بررسی و مقایسه زبان های هوش مصنوعی

مصنوعی هوzش

2قسمت

Page 16: بررسی و مقایسه زبان های هوش مصنوعی

هوzش مصنوعی

سیستمی که می تواند واکنش هایی مشابه رفتار •هوشمندانه انسانی را داشته باشد.

روشی در جهت هوشمند کردن کامپیوتر .•

Page 17: بررسی و مقایسه زبان های هوش مصنوعی

هوzش مصنوعی اولین باری که واژه هوش مصنوعی به کار رفت :•

1956جان مکارتی در سال “ دانش و مهندسی ساخت ماشین های هوشمند “

Page 18: بررسی و مقایسه زبان های هوش مصنوعی

هوzش مصنوعی اولین باری که جهان با هوش مصنوعی آشنا شد :•

1950آلن تورینگ در سال مقاله ای در رابطه با تست تورینگ

Page 19: بررسی و مقایسه زبان های هوش مصنوعی

تست تورینگ

Page 20: بررسی و مقایسه زبان های هوش مصنوعی

زبان های هوش مصنوعی

• LISP

•PROLOG

Page 21: بررسی و مقایسه زبان های هوش مصنوعی

بررسی

3قسمت

Page 22: بررسی و مقایسه زبان های هوش مصنوعی

سازنده

PROLOG LISP

1970-1972 1950 طراحی سال

آلن / راسل فیلیپ آلنکلمرار کارتی مک جان طراح

Page 23: بررسی و مقایسه زبان های هوش مصنوعی

سازنده

Page 24: بررسی و مقایسه زبان های هوش مصنوعی

محیط اجرایی

PROLOG LISP

SWI-PROLOG Common LISP

Page 25: بررسی و مقایسه زبان های هوش مصنوعی

نوع زبان

PROLOG LISP

منطقی / توصیفی توصیفی

Page 26: بررسی و مقایسه زبان های هوش مصنوعی

انواع برنامه نویسی

توصیفی :•برنامzه نویzس فقzط برروی توصzیف یzا تعریzف منطzق حzل مسzئله تاکید دارد. چگونگی انجام مراحل برای رسیدن به پاسخ بر عهده زبان است.

منطقی :•برنامه نوzیس برروی خصوصیات حل مسئله تاکید دارد.

Page 27: بررسی و مقایسه زبان های هوش مصنوعی

ساختمان داده

PROLOG LISP

) صف ) پیوندی لیست پیونده لیست

Page 28: بررسی و مقایسه زبان های هوش مصنوعی

اجزای سازنده

PROLOG LISP

Ruleگزاره شرطی

Factگزاره خبری

S-expression( اجزا (تمام

Page 29: بررسی و مقایسه زبان های هوش مصنوعی

عملگر ها

PROLOG LISP

صورت infixبه صورت prefixبه

منطقی محاسباتی

Page 30: بررسی و مقایسه زبان های هوش مصنوعی

پاسخ به مسائل

PROLOG LISP

ای رویه توصیفی توصیفی

Page 31: بررسی و مقایسه زبان های هوش مصنوعی

ifدستور

PROLOG LISP

شکل به-: CONDتابع If

Page 32: بررسی و مقایسه زبان های هوش مصنوعی

انواع دادهPROLOG LISP

Term S-expression

یافته ساخت ساده لیست اتممتغیر

number atom ثابت

Page 33: بررسی و مقایسه زبان های هوش مصنوعی

خصوصیاتPROLOG LISP

روابط و قواعد و درخواست دارای محاسبات و توابع دارای

Tail Head است مختلفی های لیست دارای عنوان به خود داده یک زبان این درشود می محسوب برنامه یک

اجرا backtrackingدارای زمان دراست

یک برای interpreterدارایاست اجرا و مقداریابی

NLP ( : مثل طبیعzی زبان پردازشدرک یا صدا تغzییر و دریافت

) کلمات معناییهای کاربرد می NLPدر استفاده

شود

یا تطبیق عملکرد matchingدارایاست

Page 34: بررسی و مقایسه زبان های هوش مصنوعی

خصوصیات

PROLOG LISP

مهم خیلی کوچکی و بزرگیاست

(X وY نوشته بزرگ بایدشود(

enter وspace مهم همرا برنامه اجرای و است

. دهد می تغییر

حروف کوچکی و بزرگیندارد، زدن enterتفاوت

گاهی اما ندارد، تفاوتی همدر باید زدن spaceاوقاتکرد دقت

Page 35: بررسی و مقایسه زبان های هوش مصنوعی

آموزش

4قسمت

Page 36: بررسی و مقایسه زبان های هوش مصنوعی

LISPs-expression

atom (اتم)تواند می اتم هر

کارکترها از ای رشتهباشد

: مانند 9-0A-Za-z

<>"+()%#@$%

list (لیست)

هم تواند می اعضایشیک هم و باشد اتم یک

دیگر لیست) ها) اتم از ای مجموعه

: مانند 1 2 3

I am student

nill ()هم که خالی لیست یکباشد اتم یک تواند می

لیست یک هم و

Page 37: بررسی و مقایسه زبان های هوش مصنوعی

LISP

نوشته می شوند prefix عبارات به صورت LISPدر زبان •:

Infix Prefix

2 + 3 + 2 3=

Page 38: بررسی و مقایسه زبان های هوش مصنوعی

LISP شود تا بتوان آنرا مقداریابی LISPتمام عبارات باید در •

محاسبه کرد :مقداریابی

atom (اتم)

باشد، عدد اگررا عدد همان

گرداند می بر

: مانند >>> 1.2 1.2

symbolاگر حاصل باشد،است مقداری

نسبت آن به کهاید داده

: مانند a = 4اگر

>>> ( + 1 2 3 a ) 10

list (لیست)

را عضوش اولینمی تابع عنوان بهمی سعی و گیرد

اعضا بقیه روی کندکند اعمال

: مانند >>> ( 1 2 3 4 ) ERROR

عدد برنامه این در تابع 1زیرا عنوان به راآرگومان ) اعداد بقیه روی و کند می انتخاب

اما( ، کند می اعمال زیرا 1ها کند نمی کاری کهپس نیست شده .ERRORتعریف دهد می

Page 39: بررسی و مقایسه زبان های هوش مصنوعی

LISP•Interpreter:

برنامه ای که توسط سازندگان ساخته شد تا عبارات را یک به یک بررسی کند و در صورت درستی به آن

اجازه محاسبه شدن را بدهد. برای این برنامه توابع و الگوریتم یا عبارت محاسباتی

تفاوتی نمیکند، فقط محاسبه می کند.

Page 40: بررسی و مقایسه زبان های هوش مصنوعی

LISPروش نوشتن و اجرای برنامه :•

نوشتن عبارت

جواب

Page 41: بررسی و مقایسه زبان های هوش مصنوعی

LISP•Atom table:

دو کارکتر که دارای یک آدرس در حافظه باشند .

در زبان های برنامه نویسی دیگر«symbol table»همان

Page 42: بررسی و مقایسه زبان های هوش مصنوعی

LISPتوابع :•

همه کارها را انجام می دهند، هر یک از LISP توابع در توابع مسئول انجام یک وظیفه خاص است.

Page 43: بررسی و مقایسه زبان های هوش مصنوعی

LISPجدول توابع :•

تابع نام کاربرد مثال

LIST‘ – اتم یا لیست zیک های آرگومان برگرداندن >>>LIST (1 2 3 4)(1 2 3 4)

‘ >>>XX

LENGTH ها عضو تعداد شمارش >>> length (1 2 3 a)4

Eval (مخال$فLIST) کننده LISTخنثی>>> eval ‘( + 1 2)3

Print چاپ >>>print ‘salamsalam

CAR بقیه حذف و اول آرگومان داشتن نگه >>>car ‘(1 2 3)1

CDR بقیه داشتن نگه و اول عضو حذف >>>cdr ‘(1 2 3)(2 3)

CONSیک symbolیک یک s-expressionیا یک listو و گیرد، listمی

آن اول عضzzzzzzzzzzzzzzو که گرداند -symbol ( sبرمیexpression) اعضای آن دوم عضو و است listاست

>>>cons 1 ‘(a b 3)1 a b 3

ATOM نشان و میگرداند بر آنرا منطقی مقدار و گرفته آرگومان یکاتم یک آرگومان که دهد )atom می )Tاست نه( (nilیا

>>> atom ‘aT

>>>atom ‘(1 2)nill

EQ آرگومان نای دو آیا گوید می و گرفته آرگومان دو تابعنه یا هست حافظه از نقطه یک به مربوط

>>> eq ‘x ‘xT

COND شرطی عملیات تابع

باشد EQ ‘x ‘c = Tاگر >>>cond (( eq x ‘c) ‘cc)

( T ‘nn))cc

Page 44: بررسی و مقایسه زبان های هوش مصنوعی

LISPمثال هایی با توجه به توابع :•

Page 45: بررسی و مقایسه زبان های هوش مصنوعی

LISPمثال هایی با توجه به توابع :•

Page 46: بررسی و مقایسه زبان های هوش مصنوعی

دانشجویی ) – – ( شماره نام خانوادگی نام ترتیب به که باشد ها آرگومان این ما ربات داده پایگاه اگرداریم : حاال و است

((800111 Ali Mohseni( )800112 R eza Nazari( )800113 M aryam Karimi))؟ چیست لیست دوم نفر خانوادگی نام

LISP

Page 47: بررسی و مقایسه زبان های هوش مصنوعی

LISPساخت توابع :•

defineروش 1.

defunروش 2.

Page 48: بررسی و مقایسه زبان های هوش مصنوعی

LISP :defineروش 1.

و mnsمzی خواهیzم برنامzه ای بنویسzیم کzه دو تابzع به نام های pls ل آن هاzی برای تفاضzا و دومzه اولی برای جمع آرگومان هzک

باشد( >>>define( ‘

(pls )lambda )a b( )+ a b((

(mns )lambda)a b( )- a b(()

)

: مثال

>>> (pls 2 5)

7

>>> (mns (pls 3 6) (mns 6 9)

12

روش المبداروش المبدا

Page 49: بررسی و مقایسه زبان های هوش مصنوعی

LISP :defunروش 2.

مثال قبل اما به روشی جدید :

Page 50: بررسی و مقایسه زبان های هوش مصنوعی

PROLOG( و fact برنامه های این زبان از گزاره های خبری )•

( تشکیل شده است.ruleگزاره های شرطی )•fact در = داده ها ی مسئله (notepad)نوشته می شود

•rule قوائدی برای حل مسئله =• rule ها fact.ها را به هم مرتبط می سازد

Page 51: بررسی و مقایسه زبان های هوش مصنوعی

PROLOG برای نوشتن :•

داده ها قواعد

و باشید داشته سواد اگربه وسایل این از بتوانید

می کنید استفاده درستیبنویسید توانید

Page 52: بررسی و مقایسه زبان های هوش مصنوعی

PROLOGjimمثال قوائد و داده ها :• ann

tom

john

liz

pit

jery

Page 53: بررسی و مقایسه زبان های هوش مصنوعی

PROLOG روابط فامیلی :•

parent(X, Y).

X )والد )پدر/مادر Y.است

Page 54: بررسی و مقایسه زبان های هوش مصنوعی

PROLOG روابط فامیلی :•

Page 55: بررسی و مقایسه زبان های هوش مصنوعی

PROLOG سؤال روابط فامیلی :•

.1annوالد کیست ؟

است؟liz والد tomآیا 2.

Page 56: بررسی و مقایسه زبان های هوش مصنوعی

PROLOG

12

Page 57: بررسی و مقایسه زبان های هوش مصنوعی

PROLOG سؤال روابط فامیلی با جنسیت :•

male(X)مرد بودن =

Female(X)زن بودن =

Page 58: بررسی و مقایسه زبان های هوش مصنوعی

PROLOG

( نوشته می شود.:- دستورات شرطی به صورت ) •

•Prolog نسبت به حروف حساس است. تمام کلمات مهم با حرzوف کوچک نوشته می شوند.

( نشان داده ; با یا( و کلمه ) , با و کلمه )prologدر •می شود.

Page 59: بررسی و مقایسه زبان های هوش مصنوعی

PROLOG

چند رابطه :•و والد روابط

فرزند

جنسیت روابط

خواهر رابطهبودن

بودن پدر رابطه

دایی رابطهبودن

خاله / عمه رابطهبودن

اجداد رابطه توابع از استفاده بابازگشتی

بودن مادر رابطه

Page 60: بررسی و مقایسه زبان های هوش مصنوعی

PROLOG با توجه به داده های ما :prologچند سؤال از روابط و پاسخ های •

Tom مرد؟ است

Liz خواهرtom است؟

، johnمادر ann است؟

کیست؟ johnمادر داده) در نشده تعریف

ها(Ann ؟ کیست مادر

John عمویjery است؟

کیست؟ johnاجداد

کسی چه jeryپدر

است؟

Page 61: بررسی و مقایسه زبان های هوش مصنوعی

PROLOG :prologانواع داده ها در •

داده

ساده( simple data type)

ثابت constant

Atomارقام و حروف از ای رشته

با نمایش کوچک حرفکهدهند : می

a1#

numberرند اعداد از ای رشته

شده :2 = 1.9 1 = 1.2

متغیر Variable

که ارقام و حروف از ای رشتهدهند بزرگ حرفبا می نمایش

:Ali24!

یافته ساخت(structureal data type)

ها داده انواع تمام از : ترکیبیdata(A,10001,box,(1235,Ali,all)

Page 62: بررسی و مقایسه زبان های هوش مصنوعی

PROLOG( :matchingعمل تطبیق )•وقتی دو داده ساخت یافته نظیر به نظیر عباراتش •

یکسان باشد.(123 , A , f( = ) raha , 8000254 , Alex)

atom

number

متغیر

Page 63: بررسی و مقایسه زبان های هوش مصنوعی

PROLOGپاسخ توصیفی و رویه ای)منطقی( :•

هم FACTکدام هم و است بزرگ

قرمز

منطقی روش

Big(X) Red(X)

Big(cat)

Big(hen)

Big(hen) Red(hen)

hen

روش توصیفی

Page 64: بررسی و مقایسه زبان های هوش مصنوعی

PROLOG

:prologلیست در •مجموعه ای از انواع داده ها که به روشی خاص در

یک لیست قرار می گیرند.به کمک لیست ها می توان روابط خاصی را ساخت.•

( A , 80001 , (1,a,A), g )head tail

Page 65: بررسی و مقایسه زبان های هوش مصنوعی

PROLOG

•Backtracking: هنگامی که در یک گزاره از برنامه رابطه ای استفاده می شود، پس از بررسی آن )حتی در صورت درست

بودن جواب( دوباره به محل همان گزاره در رابطه باز می گردد و اجرای برنامه از همان نقطه از سر

گرفته می شود.

Page 66: بررسی و مقایسه زبان های هوش مصنوعی

PROLOG

جدول عبارات و عملگرهای محاسباتی:•

عملگر محاسباتی

+-*/

IS) مساوی ) _?x is 3+2

x = 5 _?3+2 = 5

False

اپراتورهای و محاسباتی

منطقی

>  <=><=

 

 

= : =تساوی

چک را بودنمیکند.

  

= / =بودن مخالف

کند می چک را 

,AND

;OR

Page 67: بررسی و مقایسه زبان های هوش مصنوعی

h