تحقیق دانشجویی - 286

راهنمای سایت

سایت اقدام پژوهی -  گزارش تخصصی و فایل های مورد نیاز فرهنگیان

1 -با اطمینان خرید کنید ، پشتیبان سایت همیشه در خدمت شما می باشد .فایل ها بعد از خرید بصورت ورد و قابل ویرایش به دست شما خواهد رسید. پشتیبانی : بااسمس و واتساپ: 09159886819  -  صارمی

2- شما با هر کارت بانکی عضو شتاب (همه کارت های عضو شتاب ) و داشتن رمز دوم کارت خود و cvv2  و تاریخ انقاضاکارت ، می توانید بصورت آنلاین از سامانه پرداخت بانکی  (که کاملا مطمئن و محافظت شده می باشد ) خرید نمائید .

3 - درهنگام خرید اگر ایمیل ندارید ، در قسمت ایمیل ، ایمیل http://up.asemankafinet.ir/view/2488784/email.png  را بنویسید.

http://up.asemankafinet.ir/view/2518890/%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C%20%D8%AE%D8%B1%DB%8C%D8%AF%20%D8%A2%D9%86%D9%84%D8%A7%DB%8C%D9%86.jpghttp://up.asemankafinet.ir/view/2518891/%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C%20%D8%AE%D8%B1%DB%8C%D8%AF%20%DA%A9%D8%A7%D8%B1%D8%AA%20%D8%A8%D9%87%20%DA%A9%D8%A7%D8%B1%D8%AA.jpg

لیست گزارش تخصصی   لیست اقدام پژوهی     لیست کلیه طرح درس ها

پشتیبانی سایت

در صورت هر گونه مشکل در دریافت فایل بعد از خرید به شماره 09159886819 در شاد ، تلگرام و یا نرم افزار ایتا  پیام بدهید
آیدی ما در نرم افزار شاد : @asemankafinet

تحقیق درباره شبکه های عصبی مصنوعی

بازديد: 965

 

فصل 1 : مقدمه

1-1         انسان و كامپيوتر

انسان ها از كامپيوترها باهوش ترند. چرا چنين گفته مي‌شود؟

درست است كه بعضي از اعمالي را كه ما به سختي انجام مي دهيم يك كامپيوتر به سرعت و به راحتي انجام مي دهد ،مانند جمع چندصد عدد ، اما اين مطلب باعث نمي شود كه ما يك كامپيوتر را باهوشتر از انسان بدانيم چون اين سيستم هرگز قادر نمي باشد كه اعمالي را كه نياز يه استدلال  دارد و يا حل آنها از طريق  شهودي و حدس و گمان مي باشد را به طور مطلوب انجام دهد. شايد بهتر است بگوييم آن‌هاموجودات منطقي اي هستند و تنها اعمال منطقي را به خوبي انجام مي دهند.

مسئله ديگر شايد اين باشد كه يك كامپيوتر مي تواند بعضي كارها را كه ما در مدت زمان قابل ملاحظه اي انجام مي دهيم را در زمان بسيار كوتاه تري انجام مي دهد.ويا بعضي از اطلاعات را پس از گذشت ماه ها ويا سالها به خاطر مي آورد .

به همين دليل از كامپيوتر ها انتظار داريم در زمينه هاي ديگر نيز چنين رفتاري را از خود نشان دهند و چون نمي توانند تمام انتظارات ما را بر آورده كنند ما مايوس مي شويم.در واقع اين هدفي است كه دست اندركاران هوش مصنوعي دنبال مي كنند اما هنوز پس از گذشت 30 سال تحقيقات گسترده نمي توانند اين ادعا را داشته باشند كه به چنين كامپيوتري دست پيدا   كرده اند.

هدف هوش مصنوعي را مي توان در اين جمله خلاصه كرد كه مي خواهد در نهايت به كامپيوترهايي دست يابد كه اغلب در فيلم هاي سينمايي مشاهده مي شود، ماشين‌هاي بسيار توانمند تر از انسان – هدفي كه بسيار از دنياي واقعي به دوراست . دنيايي كه اغلب به خاطراشتباهات فاحش كامپيوترها هزينه‌هاي بسيار زيادي را متحمل مي شود .

اگر به داخل يك كامپيوتر نگاه كنيم چيزي جز تعدادي تراشه هاي الكترونيكي ، مدارها ،مقاومتها و ساير قطعات الكترونيكي  نخواهيم ديد. اما اگر به درون مغز نگاه كنيم ، به هيچ صورت چنين ساختاري را مشاهده نخواهيم كرد. بررسي اوليه ما چيزي جزمجموعه اي گره خورده از ماده‌اي خاكستري رنگ نشان نمي دهد. بررسي بيش‌تر و روشن‌ مي كند كه مغز از اجزايي ريز تشكيل شده است . ليكن اين اجزاء به شيوه‌اي بي نهايت پيچيده‌، مرتب شده‌اند و هز جزء به هزاران جزء ديگر متصل است. شايد اين تفاوت در شيوه ساختار ، علت اصلي اختلاف بين مغز و كامپيوتر است. كامپيوترها طوري طراحي شده‌ اند كه يك عمل را بعد از عمل ديگر باسرعت بسيار زياد انجام دهند . ليكن مغز ما با تعداد اجزاي بيش‌تر اما با سرعتي بسيار كم‌تر كار مي‌كند . در حالي كه سرعت عمليات در كامپيوتر‌ها به ميليون‌ها محاسبه در ثانيه بالغ مي شود، سرعت عمليات در مغز تقريباً بيش‌تر از ده بار در ثانيه نمي‌باشد. ليكن مغز در يك لحظه با تعداد زيادي اجزاء به طور هم زمان كار مي كند، كاري كه از عهده كامپيوتر بر نمي‌آيد . كامپيوتر ماشيني سريع اما پياپي كار است در حالي كه مغز شديداً ساختاري موازي دارد. كامپيوترها مي توانند عملياتي را كه با ساختار آن‌ها سازگاري دارند به خوبي انجام دهند. براي مثال شمارش و جمع‌كردن اعمالي پياپي  است كه يكي بعد از ديگري انجام مي شود . ليكن ديدن و شنيدن، اعمالي شديداً موازي‌اند كه در آن‌ها داده‌هاي متضاد و متفاوت هر كدام باعث اثرات و ظهور خاطرات متفاوتي در مغز ميشوند وتنها از طريق تركيب مجموعه اين عوامل متعدد است كه مغز مي‌تواند چنين اعمال شگفتي را انجام دهد .

نتيجه‌اي كه مي توان گرفت اين است كه مسائل مورد نظر ما شديداً خاصيت موازي دارند. اين مسائل نيازمند پردازش حجم زيادي از اطلاعات متفاوت هستند كه بايد در تقابل با يكديگر به حل مسأله بيانجامد.

نتيجه مهم آن كه سرعت عامل مهمي نيست . آنچه مهم است موازي بودن است و مغز به خوبي براي اين كار مهيا شده است . شيوه برخورد روش محاسباتي شبكه‌هاي عصبي، تسخير اصول راهبردي است كه زير بناي فرآيند مغز براي پاسخ‌گويي به اين سؤالات و به كارگيري آن‌ها در سيستم‌هاي كامپيوتري است .

در مدل‌سازي سيستم‌هاي اصلي مغز، بايد راه كاري را بيابيم كه بيش‌تر با ساختار موازي مغز سازگاري داشته باشد نه با ساختار پي‌درپي آن .

به هر صورت ساختار طبيعتاً موازي سيستم هاي شبكه هاي عصبي آن ها را مناسب به كارگيري در ماشين هاي موازي مي كند. كه مي تواند مزاياي بيش تري از نظر سرعت  و قابليت اطمينان داشته باشد.

يكي از بارزترين ويژگي‌هاي مغز توان فراگيري آن مي باشد. مغز مي‌تواند به خود آموزش دهد . يادگيري از طريق مثال همان شيوه‌اي است كه توسط آن اطفال زبان را فرا مي‌گيرند . نوشتن، خوردن و آشاميدن را مي آموزند و مجموعه معيارها و نكات اخلاقي را كسب مي كنند . چنين تحولي درسيستم‌هاي كامپيوتري متعارف مشاهده نمي شود . كامپيوترها معمولاً از برنامه‌هاي از پيش نوشته شده‌اي پيروي مي كنند كه قدم به قدم دستورات مشخصي را در كليه مراحل عملياتي به آن ها مي دهند هر مرحله از كار بايدبه وضوح شرح داده شود. روشن است كه انسان اين گونه عمل نمي كند.زيرا براي نوشتن چنين برنامه اي بايد ساعت ها وقت صرف كنيم و با دقت موضوع خود را به صورت بر نامه قابل فهم كامپيوتر  بنويسيم .كه اين كار مشكلات خود را دارا مي باشد.حال آيا بهتر نيست كه به جاي برنامه هاي كامپيوتري ،كامپيوتر را رها كنيم كه خود از طريق مشاهده مثال ها آن  كار را فرا گيرد؟ البته امكان دارد كه اين كامپيوتر نيز در ابتدا داراي  BUG باشد وگاه اشتباه كند ،ليكن به تدريج به اشتباه خود پي خواهد برد و آنها را تكرار نخواهد كرد.

1ـ2ـ ساختار مغز

مغز انسان از واحدهاي  كو چكي به نام نرون[1] تشكيل شده است.مي‌دانيم كه مغز تقريباً داراي 1010 واحد پايه به نام نرون است و هر نرون تقريباً به 104 نرون ديگر اتصال دارد.

نرون عنصر اصلي مغز است و به تنهايي مانند يك واحد پردازش منطقي عمل مي كند . نرون‌ها دو نوع هستند . نرون‌هاي داخلي مغز كه در فاصله‌هاي حدود 100 ميكرون به يكديگر متصل اند و نرون‌هاي خارجي كه قسمت‌هاي مختلف مغز را به يكديگر و مغز را به ماهيچه‌ها و اعضاي حسي را به مغز متصل مي‌كنند . نحوه عمليات نرون بسيار پيچيده است و هنوز در سطح ميكروسكوپي چندان شناخته شده نيست، هر نرون بسيار پيچيده است و هنوز در سطح ميكروسكوپي چندان شناخته شده نيست ، هر چند قوانين پايه آن نسبتاً روشن است .هر نرون ورودي‌هاي متعددي را پذيراست كه با يكديگر به طريقي جمع مي‌شوند . اگر در يك لحظه ورودي‌هاي فعال نرون به حد كفايت برسد نرون نيز فعال شده و آتش مي‌كند . در غير اين صورت نرون به صورت غير فعال وآرام باقي مي ماند. نمايشي از ويژگي هاي عمده نرون در شكل 1-1 آمده است. بدنه نرون سوما[2] ناميده مي شود . به سوما رشته‌هاي نامنظم طولاني متصل است كه به آنها دندريت[3] مي‌‌گويند  . قطر اين رشته‌ها اغلب از يك ميكرون نازك‌تر است و اشكال شاخه‌اي پيچيده‌اي دارند.

دندريت‌ها نقش اتصالاتي را دارند كه ورودي ها را به نرون ها مي رساند . اين سلول ها مي توانند

 

عملياتي پيچيده‌تر از عمليات جمع ساده را بر ورودي هاي خود انجام دهند، ليكن عمل جمع ساده را مي‌توان به عنوان تقريب قابل قبولي از عمليات واقعي نرون به حساب آورد.

يكي از عناصر عصبي متصل به هسته نرون آكسون[4] ناميده مي شود. اين عنصر بر خلاف دندريت از نظر الكتريكي فعال است و به عنوان خروجي نرون عمل مي‌كند.‌اكسون‌ها هميشه‌ در روي خروجي سلول‌ها مشاهده مي شوند . ليكن اغلب در ارتباط‌هاي بين نروني غايب‌اند. اكسون وسيله‌اي غير  خطي است كه در هنگام تجاوز پتانسيل ساكن داخل هسته از حد معيني پالس ولتاژي را به ميزان يك هزارم ثانيه، به نام پتانسيل فعاليت، توليد مي كند . اين پتانسيل فعاليت در واقع يك سري از پرش هاي سريع ولتاژ است. شكل 1-2 اين حالت « همه يا هيچ » را نشان ميهد.

 

 

 

رشته اكسون در نقطه تماس معيني به نام سينا پس قطع مي شود و در اين مكان به دندريت سلول ديگر وصل مي گردد. در واقع اين تماس به صورت اتصال مستقيم نيست بلكه از طريق ماده شيميايي موقتي صورت مي‌گيرد . سيناپس پس از آن كه پتانسيل آن از طريق پتانسيل هاي فعاليت دريافتي از طريق آكسون به اندازه كافي افزايش يافته از خود ماده شيميايي به نام منتقل كننده عصبي[5] ترشح مي‌كنند.

منتقل كننده عصبي ترشح شده درشكاف بين اكسون و دندريت پخش مي شود و باعث مي گردد كه دروازه‌هاي موجود در دندريت‌ها فعال شده و باز شود و بدين صورت شارژ شده وارد دندريت شوند . اين جريان يون است كه باعث مي‌شود پتانسيل دندريت افزايش يافته و باعث يك پالس ولتاژ در دندريت شود كه پس از آن منتقل شده و وارد بدن نرون ديگر مي شود .

يك نرون خود به تنهايي مي‌تواند داراي ورودي هاي سيناپسي متعددي در روي دندريت‌هاي خود باشد و ممكن است باخروجي هاي سيناپسي متعددي به دندريت‌هاي نرون‌هاي ديگر وصل شود.

1-2-1 يادگيري در سيستم‌هاي بيولوژيك               

تصور مي شود يادگيري هنگامي صورت مي‌گيرد كه شدت اتصال يك سلول و سلول ديگر در محل سيناپس‌ها اصلاح مي گردد. شكل 1-3 ويژگي‌هاي مهم سيناپس را با جزئيات بيش تر نشان مي دهد. به نظر مي‌رسد كه اين مقصود از طريق ايجاد سهولت بيش‌تر در ميزان آزاد شدن ناقل شيميايي حاصل مي گردد. اين حالت باعث مي شود كه دروازه‌هاي بيش‌تري روي دندريت‌هاي سمت مقابل باز شود و به اين صورت باعث افزايش ميزان اتصال دو سلول شود . تغيير ميزان اتصال نرون‌ها به صورتي كه باعث تقويت تماس‌هاي مطلوب شود از مشخصه‌هاي مهم در مدل‌هاي شبكه‌هاي عصبي است .

 

 

1-3 تفاوت ها

همچنين ديدم كه ساختار مغز به گونه‌اي است  انجام اين فعاليت‌ها را به آساني امكان‌پذير مي سازد و در عوض در زمينه‌هاي ديگر كارآيي مغز را محدود مي كند. روند تكامل مغز متأثر از فعاليت هايي بوده كه اهميت بيش تري داشته است، از آن‌جايي كه توانايي دين و شنيدن صدا در انسان از توانايي جمع كردن دقيق اعداد اهميت بيش‌تري داشته و اين امر باعث تكامل اين جنبه مغز شده است. مغز داراي ساختاري شديداً موازي كه در آن تعداد زيادي واحدهاي محاسباتي ساده به صورت مشترك انجام فعاليت را به عهده دارند، به جاي اين كه تمام بار فعاليت را بر دوش يك واحد سريع قرار دهند، اين تقسيم كار پيامدهاي مثبت ديگري نيز دارد، چون تعداد زيادي نرون در يك زمان درگير فعاليت هستند سهم هر يك از نرون‌ها چندان حائز اهميت نيست . بنابراين اگر يكي راه خطا رود نتيجه آن تأثير چنداني بر ديگران نخواهد داشت . اين نحوه توزيع   كار كه اصطلاحاً پردازش توزيع شده ناميده مي شود، داراي اين خاصيت است كه لغزش هاي احتمالي در جاي جاي سيستم پردازي تا اندازه‌اي قابل چشم‌پوشي مي باشد. در واقع مغز با توجه به توانايي يادگيري مي تواند نقصان هميشگي يكي از نرون‌هاي خود را با وارد كردن نرون‌هاي ديگر جبران كند. توان انجام فعاليت در  حالي كه فقط تعدادي از نرون‌ها به درستي كار مي كنند را در محافل محاسباتي تحمل خطا مي‌گويند، زيرا كه سيستم، مثلاً مغز ، مي‌تواند بدون ايجاد خروجي هاي بي معني خطاها را تحمل كند . اين يكي از ويژگي‌هاي بارز مغز است ، كامپيوترها در ساختار بسيار متفاوت اند .

كامپيوترها در ساختار بسيار متفاوت‌اند. به جاي استفاده از ميليون‌ها واحد پردازش اطلاعات نسبتاً كند و بسيار متصل به يكديگر مانند مغز، از يك يا چند واحد پردازش بسيار سريع استفاده مي‌كنند كه مي توانند ميليون‌ها محاسبه را در هر ثاينه انجام دهند.  اين توانايي و سرعت كامپيوترها را در انجام عمليات ساده و تكراري مانند جمع اعداد بسيار كارآمد مي‌كند ولي آن‌ها را در  انجام عملياتي چون بينايي كه  نياز به پردازش انواع مختلف داده به صورت موازي دارد ناتوان مي‌سازد . آن ها همچنين به علت عدم توانايي در توزيع فعاليت نسبت به خطا توانايي چشم‌پوشي و اغماض ندارند. چنانچه واحد پردازش كامپيوتر از كار بيفتد داستان خاتمه يافته است .

اين مسائل نهايتاً موجب تمايلات جاري به ايجاد كامپيوترهاي متفاوت شده است . اين كامپيوترها از اصولي پيروي مي كنند كه پديده تكامل درطول ميليون‌ها سال شكل داده است، و آن چنين است ، استفاده از عناصر ساده و اتصال تنگاتنگ عناصر و انجام كار مشترك توسط انبوهي از عناصرمي باشد.

نتيجه گيري

همان گونه كه در اين فصل گفته شد سيستم مغز يك سيستم موازي مي باشد .در حل يك مسئله سرعت حل ملاك نيست بلكه آن چيزي كه مهم مي باشد پردازش به صورت موازي است.مغز از سلولهاي كوچك به نام نرون تشكيل شده است كه هر گاه ميزان ورودي آنها از طريق دندريت ها به حد كافي برسد نرون آتش كرده از اكسون پالسي ارسال مي شود. ارتباط از طريق نقاط اتصال شيميايي به نام سيناپس صورت مي گيرد.

 

 

 

 

  

فصل   2: نگرش كلي به شبكه هاي عصبي مصنوعي

2-1  تعريف شبكه هاي عصبي

آنچه در ادامه عنوان مي گردد، تعريف عملي و تاحدي عمومي از ابزاري است كه بعداً آن  را مطالعه خواهيم كرد. در قسمت هاي باقيماندة كتاب، اين تعريف تصحيح و تخصصي خواهد گرديد.

شبكه هاي عصبي مصنوعي،ساختاري(شبكه اي) است متشكلازتعدادي واحد(نرونهايمصنوعي) كه در داخل شبكه به هم وصل شده اند. هر واحد داراي يك مشخصهورودي/خروجي(I /o) مي باشد و محاسبه يا عملي جزئي را اجرا مي كند. خروجي هر واحد، با توجه به مشخصة (I /o) آن ، اتصالات درونيش به ساير واحدها و(احتمالاً) ورودي هاي خارجي تعيين مي گردد. از آنجا كه آموزش دستي شبكه امكان پذير است، از اين رو شبكه معمولاً كاركردي كلي از يك حالت يا حالت هاي بيشتري از آموزش را به دست مي آورد.

  ANNمتشكل از يك شبكه نيست، بلكه خانواده اي متشكل از شبكه هاي گوناگون مي باشد. عمل يا عملكرد كلي شبكه هاي عصبي مصنوعي ، توسط توپولوژي شبكه، خصوصيات نرون منفرد و تاكتيك يادگيري و داده هاي آموزش معين مي شود.

به منظور كاربردي شدن ، يك ANN مي بايستي ابزارهايي براي ارتباط با دنياي خارج داشته باشد. با اين وجود نيازي به تعريف فوق نيست؛ به طور نمونه، خصوصيات واحد ورودي / خروجي (I/o) ، بسيار ساده است (و بين همه واحدها مشترك است) و تعداد واحدها كاملاً زياد است. توجه نماييد كه تعريف، ما را وادار مي سازد كه ميان يك واحد تنها و يك شبكه تمايز قايل شويم. در نهايت، ساختارهاي محاسباتي كه در اين تحقيق شرح مي دهيم، ممكن است با شماري از راه هاي غير بيولوژيكي هم قابل انجام باشند كه بيشترين اين نمونه ها در ميان عناصر الكترونيكي است؛ بنابراين ، اغلب عنوان‌«مصنوعي» قابل قبول است

2-2  مفاهيم اساسي شبكه هاي عصبي

موارد زير ، جنبه هاي كليدي محاسبات عصبي مي باشند:

ÿ همان گونه كه تعريف بخش 2-1 نشان مي دهد، مدل كلي محاسباتي ، شامل اتصالات دروني قابل تغيير مجدد از عناصر ساده يا واحدهاست. شكل 1.2 دو شبكه فرضي با مقياس كوچك را نشان مي دهد كه در آن واحدها به صورت دايره هاي و اتصالات دروني به وسيلة كمان هايي نشان داده شده اند. شكل 1.2 (الف) يك تاكتيك اتصال دروني غير بازگشتي را نشان ميدهد كه شامل هيچ مسير اتصال دروني بسته اي نيست. به نمايش گروهي واحدهايي كه در لايه ها قرار گرفته اند، توجه نماييد. در مقابل، شكل 1.2 (ب) شبكه اي با تاكتيك اتصال دروني بازگشتي را نمايان مي سازد كه در آن انعطاف پذيري اتصالات دروني اختياري اين امكان را ميسر مي سازد كه مسيرهاي حلقة بسته (پس خورد) وجود داشته باشد. اين تاكتيك اجازه مي دهد كه شبكه در مقايسه با تاكتيك (حلقه ـ باز) شكل 1.2 (الف) ديناميك زماني بسيار پيچيده تري را نشان دهد. همچنين ، توجه نماييد كه توپولوژي هاي شبكه ، ممكن است ديناميك يا استاتيك باشد. در نهايت ، توجه كنيد كه در شكل 1.2 بعضي واحدها به صورت مستقيم با دنياي بيرون در ارتباط اند، در حالي كه سايرين «مخفي» يا دروني هستند.

شكل 2-1 توپولوژي هاي شبكه هاي عصبي مصنوعي

                           

توجه كنيد كه نمايش ترسيمي ، به ه9مراه واحدهيي كه به صورت گره نمايش داده شده اند و اتصالات دروني محسوس جهت دار كه به صورت كمان هايي نشان داده شده اند، عملكرد مفيدي به منظور درك توپولوژي است.

ÿ واحدهاي منفرد، هر يك ايفا كننده عملكردي موضعي مي باشند و شبكه كلي با تصالات دروني واحدها،, عملي مطابق آن شبكه را نمايش مي دهد. تحليل اين عمليات مگر به واسطة آموزش يا آزمايش هاي نمونه، اغلب دشوار است. علاوه براين، كاربردها معمولاً ، از طريق مشخصات ، عملكرد مورد نياز را مشخص مي كنند. اين وظيفه طراح ANN است كه پارامترهاي شبكه را كه اين مشخصات را برآورده مي سازد، معين كند.

ÿ يك معيار كليدي يادگيري اطلاح الگوهاي ارتباط عناصر دروني براساس تابعي از داده هاي آموزش است. به عبارت ديگر، دانش سيستم ، تجربه يا آموزش به شكل اتصالات داخلي شبكه، ذخيره مي گردند.

ÿ به منظور قابل استفاده بودن ، سيستم هاي عصبي بايد توانايي ذخيرة اطلاعات را داشته باشند(به عبارت ديگر،آنها بايد«آموزش پذير» باشند.) سيستم هاي عصبي به شكل مورد انتظار آموزش مي يابند تا بعداً در زماني كه الگوي جديدي به منظور تشخيص يا طبقه بندي به آنها عرضه شود، همواره رفتاري صحيح ارائه دهند.

بنابراين، هدف در مرحلة آموزش شبكه ، گسترش يك ساختار دروني است كه شبكه را قادر سازد تا الگوهاي جديد و مشابه را به طرز صحيحي مشخص يا طبقه بندي كند. هر دو روش آموزش ، با نظارت و بدون نظارت را مورد توجه قرار مي دهيم.

ÿ شبكه عصبي، يك سيستم ديناميكي است؛ حالات آن (مثلاً ، خروجي هاي هر واحد و شدت اتصالات دروني ) در پاسخ به ورودي هاي خارجي يا يك حالت اوليه (گذرا) با زمان تغيير مي يابد.

2-3   معرفي اصطلاحات و علائم قراردادي

اصطلاحات كليدي

با نمايش فهرستي كوتاه از مفاهيم برجسته ، مبحث را شروع مي كنيم:

سيستم هاي تطبيقي1: سيستمي كه قابليت سازگار كردن عملكردش (معمولاً پارامتري) با افزايش تقاضا يا قابليت سازگاري با محيط هاي كاري نامعين را دارا است.

الگوريتم: يك روش يا رويه به منظور رسيدن به يك هدف يا راه حل است.

ساختار: تتشكيلات سخت افزاري يا نرم افزاري است.

طبقه بندي2: قابليت نسبت دادن ورودي اعمالي به يك طبقه است.

تقاطع1: پروسه اي است كه در الگوريتم هاي ژنتيك به منظور شبيه سازي توليد مثل جنسي به كار برده مي شود.

شاخص2: چيزهايي هستند كه يك ويژگي از يك شيء يا موقعيتي را مشخص مي كنند.

منطق فازي3: يك توسعه از منطق قطعي است كه در آن مقادير صحت به مقادير دودويي محدود نمي شوند.

تعميم : توانايي جوابگويي به مثال هاي بيشتر ، برخلاف تخصيص است؛ رفتار شبكه اي كه ورودي هارا نه صرفاً از مجموعه آموزش(h) به كار مي برد.

اكتشافي4: يك قانون تجربي است كه براي حل كردن مسائلي به كار برده مي شود؛ اما حل كردن مساله اي را تضمين نمي كند.

برگرداني: معين كردن ورودي از روي خروجي داده شده و مدل سيستم است.

شبكه: ادغامي از موجوديت هايي است كه در داخل به هم متصل شده اند.

جستجو: مساله اي موجود در همه جاست كه در آن بايد يك فضاي جستجو، يا زير فضا، جستجو وارزيابي شود.

توپولوژي: ساختار يك شبكه است.

آموزش : شبيه يادگيري است.

واحد: عنصر «هسته اي» از يك ANN است؛ ابزار يك نگاشت موضعي است.

Vlsi: مدارات مجتمع با مقياس بسيار بزرگ است (وسايل ساخته شده از سيليكن) معمولاً توانايي هاي پردازش يا حافظه را افزايش مي دهد.

2-4 كاربردهاي محاسبات عصبي

خصوصيات مسائلي كه كاربرد ANN در حل آنها مناسب مي باشد

پياده سازي ساختارهاي محاسباتي سيستم هاي بيولوژيكي مي تواند منجر به ايجاد الگوهاي محاسباتي بهتري براي گروههاي معيني از مسائل شود. از آن جمله، گروهي از مسائل سخت NP ، كه شامل مسائل نشانه گذاري، مسائل جدول بندي، مسائل جستجو و ساير مسائل برآورد قيود1 مي باشد؛ گروهي از مسائل تشخيص الگو/ موضوع، كه در مفاهيم بصري و گفتاري قابل ملاحظه هستند و گروهي از مسائلي كه با داده هاي ناقص، كم، متناقض، مبهم يا احتمالي مورد بررسي قرار مي گيرند، مي باشند. اين مسائل با برخي يا همة موارد زير توصيف شده اند:

 دامنه اي با ابعاد گسترده  براي مساله ؛ رفتار متقابل، پيچيده ، مبهم يا رفتاري كه منشاء رياضي دارد، ميان متغيرهاي مساله و مجموعه اي از راه حل ها كه ممكن است تهي باشد يا شامل يك راه حل واحد يا (در بيشتر موارد) شامل يك مجموعه از راه حل هاي سودمند(تقريباً يكسان) باشد. علاوه بر اين (بر اساس ليستي كه در پايين نشان داده مي شود)، شبكه هاي عصبي مصنوعي به عنوان راه حل پيشنهادي مسائلي كه شامل ورودي هاي حسي انسان، مانند گفتار، بينايي و تشخيص  دستخط هستند و به نظر مي رسند. توجه داشته باشيد كه نگاشت مساله دلخوا ه با راه حل شبكة عصبي كار آساني نيست.

 

 2-5 كاربردهاينمونه شبكه هاي عصبي مصنوعي

نگاهي جامع به همه كاربردهاي شبكه هاي عصبي مصنوعي (كاربردهايي كه روي آنها كار شده است يا موفقيت آميز بوده اند يا كاربردهاي تصوري) غير عملي است . با اين وجود، نگاهي به مطبوعات، مجلات علمي‌وكنفرانس ها،‌مثالهاي‌روشني را در اين زمينه فراهم مي كند. اين كاربردها عبارت اند از :

پردازش تصوير وتصاوير رايانه اي ، شامل مقايسة تصاوير، پيش پردازش، شبكه سازي و تحليل، تصوير رايانه اي (براي مثال بازبيني برد مدار)، فشرده سازي تصوير ، بينايي استريو، پردازش و درك تصاوير متغيير با زمان مي باشد.

پردازش سيگنال، شامل تحليل سيگنال و مورفولوژي است.

تشخيص الگو، شامل استخراج طرح [sau89] ، طبقه بندي و تحليل سيگنال رادار، شناسايي و تشخيص صدا، شناسايي اثر انگشت، تشخيص شاخص (حرف يا عدد) و تحليل دستخط (رايانه هاي ”notepad“) است.

پزشكي[pvg90] ، شامل تحليل سيگنال الكتروكارديوگراف و فهم و تشخيص بيماريهاي گوناگون و پردازش تصاوير پزشكي است.

سيستم هاي نظامي ، شامل مين در زير دريا, طبقه بندي اغتشاشات رادار و تشخيص مكالمه رمزي است.

سيستم هاي مالي ، شامل بررسي سهام بازار [rzf94]، تعيين قيمت واقعي موجودي ، صدور كارت اعتبار [ott94] و امنيت تجارت [bvdbw94] خواهد بود.

طراحي ، كنترل و تحقيق ، شامل عملكرد موازي مسائل برآورد قيود (csps)، راه حل هاي فروشندة سيار، مشابه csp ها ، و كنترل روباتيك است.

هوش مصنوعي ، شامل سيستم هاي قياسي و پياده سازي سيستم هاي خبره [cal93].

سيستم هاي قدرت، شامل پيش بيني وضعيت سيستم، تشخيص حالت هاي گذرا و طبقه بندي،‌شناسايي و رفع خطا، پيش بيني بار و تشخيص ايمني مي باشد.

2-6 فوايد و معايب شبكه هاي عصبي مصنوعي

از آنجا كه شبكه هاي عصبي مصنوعي، الگوهاي محاسباتي نسبتاً جديدي هستند، مي توان گفت كه فوايد، كاربردها و روابط آن با محاسبات مرسوم هنوز كاملاً شناخته نشده است. انتظارات(بعضي ممكن است كه به آن بي جا بگويند) در اين زمينه بسيار زياد است. شبكه هاي عصبي به ويژه براي كاربردهاي واقعي ، ارتباط الگوهاي آموزش پذير مناسب هستند. عنوان اين مطلب كه شبكه هاي عصبي مصنوعي مي توانند همة مسائل ، يا حتي تمامي مسائل نگاشت را به صورت استدلال خود كار حل كنند، احتمالاً غير واقعي است.

فوايد

  • ذاتاً به صورت گسترده اي موازي،
  • امكان چشم پوشي در برابر خطا به خاطرعملكرد موازيش،
  • ممكن است به صورت تطبيقي طراحي گردد؛
  • نياز كم به ويژگي هاي گستردة مساله (غير از درون مجموعه آموزش).
معايب
  • عدم وجود قواعد صريح يا راهنمايي هاي طراحي براي كاربرد مورد نظر،
  • عدم وجود روشي عمومي براي تشخيص عمليات داخلي شبكه،
  • آموزش ممكن است مشكل يا حتي غير ممكن باشد؛
  • پيش بيني عملكرد شبكه در آينده مشكل است(تعميم).

2-7 معيارهاي مهندسي به منظور محاسبات عصبي

سؤالات اوليه

يك رهيافت مهندسي براي حل مسائل ، عبارت است از تركيب همة متغيرها و اطلاعات مناسب مساله به  گونه اي ساختار يافته، به منظور فرموله كردن يك راه حل.

سؤالات اساسي كه در اين زمينه مطرح مي گردند، عبارت اند از:

1-     آيا فنون ANN براي مسائل موجود ، مفيد يا حتي عملي هستند؟ آيا مساله، يك راه حل يا تعداد بيشترين راه حل دارد؟

2-     آيا مي تواينم ساختارهاي ANN مناسب هر وضعيت را به دست آوريم يا اصلاح كنيم و در صورت لزوم، ANN را آموزش دهيم(پارامترها را تعيين كنيم)؟

3-     آيا ابزار رسمي و اكتشافي كه بتوان براي تعيين كردن ويژگي هاي راه حل ANN به كار برد، وجود دارد؟(مثلاً ، تركيب محاسباتي اتخاذ شده براي روند تحليل چيست؟)

روش هاي مهندسي عصبي: جايگزيني طراحي با آموزش

به طور نمونه، فرايند كلاسيك مهندسي «طراحي» ، شامل كاربردي اصولي از قواعد علمي و رياضي به منظور طرح سيستمي كه با يك مجموعه مشخصات سرو كار دارد، مي باشد. از اين جهت ممكن است، طراحي شامل قضاوت، بينش و احتمالاً تكرار باشد. فرايند«آموزش»، به عبارت ديگر ، به صورت نمونه شامل برخي روش هاي تعليم دادن است تا در موقعي كه سيستم با مشخصاتي مواجه مي گردد، آن را به انجام رفتارهايي وادار سازد. اغلب اوقات، كاملاً اين تعليم دهي شامل تصحيح يا سازگاري پارامترهاي سيستم است، براي اينكه در تكرار يا آزمايش بعدي، پاسخ سيستم به آنچه كه مطلوب است، نزديك باشد.

مهندسي عصبي تعيين اجزاي مربوط به راه حل ANN ، شامل طراحي ANN كلي، توپولوژي هاي شبكه ، پارامترهاي يك واحد و يك روندمرحله به مرحله آموزش (يادگيري) را جايگزين طرح هاي مهندسي كلاسيك مي كند. گرچه ممكن ست اين ارزيابي آسان به نظر برسد، ليكن به ديدگاه مهندسي (عصبي) قابل توجهي نيازمند است. وجود انتخاب هاي ممكن بسيار در توپولوژي ها و پارامترها منجر به مطالعات خسته كننده يا منجر به شبكه فاقد توان كه از لحاظ مهندسي غير عملي است، مي گردد. علاوه بر اين ، همانطور كه قبلاً ذكر گرديد، كارايي راه حل ANN بايد مشخص باشد.

2-8 مراحل مهندسي سيستم ANN

به هنگام طراحي راه حل هاي مبتني بر شبكه هاي عصبي ، سؤالات زيادي مطرح مي شود؛‌مثلاً:

ÿآيا شبكه مي تواند به منظور انجام عمليات مورد نظر آموزش داده شود؟ آيا وجود برخي ابهامات ذاتي در مساله اي مي تواند سبب غير ممكن گرديدن حل آن شود؟

ÿ با فرض اينكه مساله قابل حل است، چه ساختار يا توپولوژي شبكه اي مناسب است؟

ÿ كدام يك از انواع منابع محاسباتي براي آموزش و اجراي شبكه موجوداند (زمان، حافظه، ذخيره سازي اطلاعات ، پردازشگرها)؟

در كاربردهاي واقعي ، طراحي سيستم ANN ، كاري مشكل و معمولاً همراه با تكرار و اثرات متقابل است. گرچه فراهم كردن يك روش الگوريتمي جامع و فراگير غير ممكن است، اما مراحل وابسته وساختار يافته كه در زير آمده است، انعكاس نمونة تلاش ها و كارهايي است كه در اين زمينه شده است.

بسياري از پارامترهاي طراحي ANN عبارت اند از:

1-     ساختار اتصالات دروني /توپولوژي شبكه /ساختار شبكه.

2-     خصوصيات يك واحد(ممكن است در درون شبكه و بين قسمت هاي فرعي شبكه ، مانند لايه ها متفاوت باشد).

3-     مرحله (مراحل آموزش).

4-     مجموعه هاي تست و آموزش.

5-     نمايش (هاي) ورودي / خروجي و پيش و پس پردازش.

يك فرايند اساسي طراحي مي تواند به شكل زير باشد:

مرحلة 1: طبقات، اندازه ها يا الگوهاي تحت بررسي را به منظور دستيابي ويژگي هاي ممكن(به صورتي مطلوب از نظر مقداري) ، مطالعه كنيد. اين موضوع شامل تعيين ساختار (قابليت كيفيت)، ويژگي هاي احتمالي و شناسايي اندازه هاي مشابه يا غير مشابه آن طبق خواهد بود. علاوه براين، خصوصيات ثابت يا متغيير ممكن و ويژگي هاي منابع «نويز» در اين مرحله مورد توجه قرار مي گيرند.

مرحله 2: وجود داده هاي اندازه گيري شده (ورودي) يا شاخص (پيش پردازش شده) را بررسي كنيد.

مرحله 3: به قيود مربوط به عملكرد سيستم مورد نظر و منابع محاسباتي آن توجه كنيد.

مرحله 4: به موجود بودن و كيفيت دادة آموزش و آزمايش توجه كنيد.

مرحله 5: به موجود بودن ساختارهاي شناخته شده و مناسب ANN توجه كنيد.

مرحله 6: شبيه سازي ANN را به دست آوريد.

مرحله 7: سيستم ANN را آموزش دهيد.

مرحله 8: بازدهي سيستم ANN را با به كار بردن مجموعه (هاي) آزمايش شبيه سازي كنيد.

مرحله 9: مراحل پيشين را تكرار كنيد تا به بازده مطلوب برسيد.

2-9 توپولوژي هاي شبكه و خصوصيات

در نگرش كمي به توپولوژي ها و ساختارهاي شبكه براساس توابع اتصالات دروني هر واحد، مي توانيم مفاهيم چندي را مشخص كنيم:

1-     شبكه هاي بازگشتي

2-     شبكه هاي غير بازگشتي

3-     شبكه هاي لايه لايه ، متوالي يا ساير ساختارهاي شبكه اي متشابه

4-     ساختارهاي به هم پيوستة رقابتي

گونه هاي 1و2 متقابلاً مجزا هستند؛ با اين وجود، گونه هاي 3و4 ممكن است هم ساختارهاي بازگشتي و هم غير بازگشتي را به كار برند.[fie94] عميقاً اين موضوع را كه مشتمل بر ايجاد «لايه ها» و «قطعه ها» و تشخيص دادن اتصالات دروني متقارن از غير متقارن است، بررسي مي كند.

 

 

 

 


فصل 3

3-1 چشم انداز طرح شناسي

براي درك بيش تر مسأله طرح شناسي فعاليتي كه براي اكثر مردم مشترك است يعني بينايي را در نظر بگيريد. بخش عمده اطلاعات كه ما جذب مي كنيم ( به عبارت ديگر به سيستم بيولوژيكي شبكه‌هاي عصبي ما وارد مي شود ) به صورت طرح به ما عرضه مي گردد . متني كه اكنون مطالعه مي كنيد طرح هاي متنوع و پيچيده‌اي را به صورت رشته‌هاي حروف به شما نشان مي دهد . قبل از اين كه درگير فهم جملات شويم ، سيستم بينايي بايد مسأله شناسايي طرح‌ها را حل كند، به عبارت ديگر لكه‌هاي كج و معوج مركب منقوش بر اين صفحه را به عنوان حروف شناسايي كند.

با وجود اين شناخت حروف يكي از مسائل نسبتاً ساده «طبقه‌بندي» محسوب مي گردد. اين مسئله را مي‌توان با استفاده از روش تطبيق الگوها حل كرد .

حال فرض كنيد خط متن ما تغيير كند . اگر براي خط جديد الگوهاي مناسب نداشته باشيم روش طبقه‌بندي ما به احتمال زياد به سختي شكست خواهد خورد .

شناسايي متون تنهاا يكي از نمونه مسئله‌هاي طرح شناسي است . دامنه اين شكل هنگامي كه ما توجه خود رابه ساير زمينه‌هاي طرح شناسايي چون شناسايي صداها و حتي شناسايي روند سهام بازار بورس معطوف مي كنيم بسيار گسترده‌تر مي شود .

3-2 تعريف بازشناسي الگوها

هدف اصلي بازشناسي الگوها طبقه‌بندي است. بازشناسي الگوها را مي توان به دو مرحله تقسيم كرد. اول مرحله استخراج مشخصه‌ها و دوم مرحله طبقه‌بندي .

مشخصه به معني كميتي است كه براي طبقه‌بندي طرح اندازه‌گيري مي شود. مثلاً اگر مسأله شناسايي متون را دوباره در نظر بگيريم، برا ي تشخيص حرف «f » از حرف « E » لازم است كه تعداد خطوط عمودي واقعي و افقي را مقايسه كنيم.

مشخصه‌ها در اختيار دستگاه هاي طبقه‌بندي كننده قرار مي گيرند . وظيفه دستگاه طبقه بندي كننده انعكاس اين مشخصه‌ها در فضاي طبقه‌بندي است به عبارت ديگر با داشتن مشخصه‌هاي ورودي، اين دستگاه بايد تصميم بگيرد كه طرح‌هاي  داده شده به كدام طبقه بيش‌ترين تطابق را نشان مي دهند .

3-3 بردارهاي مشخصات و فضاي مشخصات

طبقه‌بندي به ندرت بر پايه يك مشخصه يا اندازه‌گيري منفرد از الگوهاي ورودي صورت مي‌گيرد. معمولاً اندازه‌گيري‌هاي متعدد لازم است تا بتوان الگوهاي متعلق به گروه‌هاي مختلف را به حد كافي از يكديگر تميز داد. اگر n  اندازه‌گيري از الگوي ورودي به عمل آوريم و هر اندازه‌گيري نمايانگر يك مشخصه معين از طرح ورودي باشد، مي توانيم از علائم جبري استفاده كنيم و مجموعه مشخصه‌ها را به صورت يك بردار نشان دهيم. در اين صورت بردار مذكور را بردار مشخصات[6]  مي ناميم. تعداد ابعاد بردار (تعداد عناصر بردار) فضايي n بعدي ايجاد مي كند كه فضاي مشخصات[7]مي ناميم.

ساده ترين را توصيف اصتقاده از مثال دو بعدي مي باشد يعني تنها  دو مشخصه از الگوهاي ورودي را در نظر مي گيريم . يك مثال بديهي مي تواند مسأله تميز دادن هنرمندان باله از بازيكن‌هاي رگبي باشد و دو مشخصه را برا ي اندازه گيري انتخاب كنيم، يكي و ديگري وزن و فضايي دو بعدي با موئلفه هاي قد و وزن  را ايجاد مي كنيم.

3-4 توابع تشخيص دهنده يا مميز[8]

 با بررسي توزيع نمونه‌هاي اندازه گيري شده به خوبي مشاهده مي شود كه نمونه‌ها در دو خوشه مجزا تقسيم شده‌اند.

با مشاهده طرز قرار گرفتن خوشه ها مي توانيم حدس بزنيم كه با كشيدن يك خط مستقيم بين دو خوشه مي توانيم آن‌ها را به طور دلخواه از يكديگر جدا كنيم. اگر بتوانيم محدوده تقسيم بندي داده ها را تعريف كنيم ، عمل طبقه بندي به يك فرآيند تصميم گيري تبديل مي شود كه تشخيص مي دهيم هر داده ورودي جديد در كدام طرف خط مستقيم قرار مي‌گيرد (شكل3-1) صورت رياضي چنين محدوه تصميم « تابع مميز» ناميده مي شود .درعمل توصيه مي ود كه تابع مميز تا حد امكان ساده باشد. درمثال فوق كاملاً روشن است كه ساده‌ترين تابع خط راست است . اين يك نمونه از گروه گسترده دستگاه هاي طبقه‌بندي است كه اصطلاحاً طبقه‌بندي خطي[9] ناميده مي‌شوند.

شكل 3-1 محدوده تصميم يك طبقه بندي خطي

3-5 فنون طبقه بندي2

فنون طبقه بندي به دوگره وسيع عددي وغيرعددي تقسيم مي شوند. فنون عددي شامل اندازه گيري قطعي وآماري است كه درفضاي هندسي شكل ها انجام مي گيرد. فنون غير  عددي فنوني است كه در حوزة پردازش نمادها صورت مي گيرد و با روشهايي چون مجموعه هاي فازي(FUZZY)ارتباط مي يابد. در اين كتاب ما صرفاً فنون عددي را در نظر ميگيريم زيرا بيشتر به بحث ما در مورد شبكه هاي عصبي مربوط مي شوند. اين به آن معنا نيست كه از شبكه هاي عصبي براي پردازش داده هاي نمادي  استفاده نمي شود. بسياري از گروههاي تحقيق در اين زمينه مشغول فعاليت مي باشند ولي گنجاندن اين موضوع در اين كتاب كه جنبه مقدماتي دارد شايد تا اندازه اي زيادتر از حد نياز باشد.

قبلاً در بحث توابع مميز به روشهاي قطعي اشاره اي داشتيم. اكنون به نوع به خصوصي از توابع مميز مي پردازيم كه اصطلاحاً «k نزدكترين همسايه» ناميده مي شود. همچنين نگاهي ديگر به روش طبقه بندي خطي خواهيم انداخت. در قسمت آماري روش طبقه بندي بيزين را مورد بحث قرار خواهيم داد،‌كه از تخمين احتمالاتيبراي تعيين عضويت طبقات استفاده مي كند. انتخاب اين روشها به علت استفا ه عصبي از نظر عملكرد نهايتاً با اين روش مقايسه شده و به اين علت آشنايي با روشهاي فوق بسيار مفيد خواهد بود.

3-6 روش طبقه بندي «نزديكترين همسايه»

شكل3-2 را درنظر بگيريد.

دو طبقه در فضاي الگوها نمايان است. مي خواهيم تصميم بگيريم كه الگوي طبقه بندي نشدة x به كدام يك  از اين دو طبقه تعلق دارد. روش طبقه بندي نزديكترين همسايه در وابع براساس نزديكترين فاصله به نمونه هاي طبقه هاي همسايه اين تصميم را روشن مي كند. نمونة طبقه بندي نشده به نزديكترين طبقة همسايه خود تخصيص داده مي شود.موضوعي كه چندان هم دور از ذهن نيست. از نظر رياضي اين روش تابع مميزي را به صورت زير تعريف مي كند.

      (فاصله به نزديكترين نمونه در طبقه 2) ـ (فاصله به نزديكترين نمونه در طبقه 1) = f(x)

بدين صورت براي نمونه هايي كه در طبقه هاي مجزا قرار دارند، به طوري كه در شكل 2-1 نشان داديم مقدار f(x) براي نمونه هاي متعلق به طبقة 1 منفي و براي نمونه هاي طبقة 2 مثبت خواهد بود. به هر حال دامنة كاربردي اين روش لااقل از نظر كارايي محدود است. نمونه دورافتاده با اين كه نزديكتر به طبقه 1 است متعلق به طبقه 2 مي باشد و گرچه رفتاري مشابه ساير نمونه هاي طبقه 2 ندارد ولي به هر حال جزء آن طبقه محسوب مي شود .

                       

                       شكل 3-2 طبقه بندي به وسيله مقايسه با نزديكترين همسايه

حال اگر بخواهيم نمونه طبقه بندي نشده اي را كه احتمالاً نزديكتر به اين نمونة غير معمول است طبقه بندي كنيم ممكن است تصميم ما درست نباشد. راه حل مشكل اين است كه فاصلة نمونة طبقه بندي نشده را با نمونه هاي متعدد اندازه گيري كنيم و تنها به يك فاصله اكتفا نكنيم، در نيتجه اثر نمونه هاي غير معمول احتمالي ا خنثي كنيم، اين عمان روش «k نزدكترين همسايه» مي باشد و k تعداد همسايه هاي نزديك نمونة طبقه بندي نشده است كه فاصلة آنها محاسبه مي شود.

3-7 ميزان هاي اندازه گيري فاصله1

روش نزديكترين همسايه مسأله ديگري را پيش مي آورد و آن يافتن روش قابل  اطميناني براي اندازه گيري فاصلة يك نمونه از نمونه هاي ديگر است. بدون شك، بايد ميزاني را براي اندازه گيري فاصله ها انتخاب كنيم كه بتواند شباهت نمونه ها را در فضاي هندسي طرح نشان دهد.

فاصلة همينگ2

ابتدايي ترين نوع فاصله كه به علت سادگي كاربرد گسترده اي دارد ميزان فاصلة همينگ است. براي دوبردار :

X= (x1, x2,...)                                                                     

Y=(y1, y2,...)                                              

فاصله همينگ با محاسبه اختلاف هر عنصر از يك بردار و عنصر متناظر آن در بردار ديگر و جمع قدر مطلق اختلاف ها به دست مي آيد. فرمول زير فاصلة همينگ را تعريف مي كند:

( \xi - yi\)                                                H=   

فاصله همينگ اغلب براي مقايسه بردارهاي صفر و يك به كار مي رود. شايد روشن باشد كه اين فاصله در واقع تعداد بيتهايي را كه در و بردار متفاوت اند نشان مي دهد. درحقيقت فاصله همينگ را مي توان از طريق تابع يا حذفي (xor) به دست آورد. زيرا

                                 xi xor yi برابر است با   \ xi - yi\

فاصله اقليدسي1

يكي از متداول ترين ميزان هاي فاصله، فاصلة اقليدسي است، فرض كنيد در صفحه مختصات قائم دو بردار(x,y) را داشته باشيم و بخواهيم فاصلة اقليسي (d(x-y)) آن دو را محاسه كنيم.

فاصله اقليدسي اين دو بردار كوتاه ترين فاصله بين آن هاست و با فرمول زير به دست مي آيد.

                                         D(x,y) euc =

در حالي كه n تعداد ابعاد بردار است.

در مثال دو بعدي كه در شكل 3-3  نشان داده شده است اين فاصله برابر است با

                                  D(x,y) euc =

براي تعيين فاصله اقليسي در واقع از قضيه معروف فيثاغورث براي محاسبه وتر مثلث استفاده مي شود. در حالت خاص كه بردارها از نوع صفر ويك باشند فاصلة اقليدسي در واقع برابر جذر فاصله همينگ خواهد بود. فاصله اقليدسي به علت سادگي محاسه كاربرد گسترده اي دارد و همان طور كه گفته شد در بردارهاي صفر ويك فاصله اقليدسي به حالت خاصي تقليل مي يابد كه از نظر رياضي برابر با جذر فاصلة همينگ است.

                    

                                          شكل3-3  فاصله اقليدسي

فاصله شهري1(فاصله منتهن)

صورت ساده تري از فاصلة اقليدسي فاصله شهري است. در اين نوع فاصله به جاي جذر مربع اختلافات از قدر مطلق اختلافات استفاده مي شود.

                                              Dcb =

نتيجه اين عمل صرف نظر از سرعت بيشتر محاسباتي نسبت به فاصله اقليدسي ايناست كه نقاط هم فاصله از يك بردار تماماً بر يك مربع واقع مي گردند در صورتي كه در حالت فاصلة اقليدسي نقاط هم فاصله از بردار بر يك دايره واقع مي گردند. اين امر در شكل3-4نشان داده شده است.

در اين شكل دايره محدودة نقاطي را نشان مي دهد كه از بردار مورد نظر ما فاصلة اقليدسي يكساني دارند. حال اگر از فاصلة شهري استفاده شود نقاط واقع بر مربع همگي اندازه فاصلة مساوي خواهند داشت .

روشن است كه اين عمل در محاسبة فاصله ها تا اندازه اي خطا دارد اما اين ميزان كاهش دقت در مقابل

                

                                            شكل 3-4  فاصله شهري.

 

افزايش سرعت محاسبات ممكن است قابل قبول باشد.

فاصله مربعي1.

فاصلة اقليدسي را مي توان باز ساده تر كرد كه البته با خطاي بيشتري همره خواهد بود. اين نوع فاصله را  فاصلة مربعي مي گتويند، شكل 3-5 فاصلة مربعي را نشان مي دهد. در واقع فاصله مربعي دو بردار بزرگترين اختلاف بين عناصر متناظر بردارها خواهد بود.

Dsq = max \xi-yi\                                                

اين فاصله مجدداً محدودة مربع شكلي را حول بردار مورد نظر تشكيل مي دهد. اندازة اين مربع ازمحدودة

مربع فاصلة شهري بيشتتر است و در نتيجه ميزان غير دقيق تري مي باشد. مجدداً از اين ميزان خطا                       

                                               شكل 3-5 فاصله مربعي

آنچه در بالا آمد نگاه مختصري به انواع ميان هاي فاصله بود گرچه اين فهرست به هيچ وجه كامل نيست. مقصود بيان اين نكته بود كه روشهاي متعددي براي اندازه گيري درجة نزديكي وشباهت بردارها وجود دارد. در بخش بعدي مجدداً تابع مميز را مورد بحث قرار داده واز محدوده هاي تصميم براي جدا كردن بردارها استفاده مي كنيم.

3-8 دستگاه هاي طبقه بندي خطي

طبقه بندي خطي يكي از روشهاي بازشناسي الگو است كه در مبحث شبكه هاي عصبي دائماً با آن روبه رو مي شويم .ابتدا توضيح مختصري در مورد دستگاههاي طبقه بندي خطي ارائه مي دهيم و كاربرد آنها را در بازشناسي الگو بررسي مي كنيم. سپس سعي مي كنيم مسئله جدايي پذيري غير خطي را حل كنيم. مسئله اي كه تحقيقات شبكه هاي عصبي را از سال هاي 1960 تا سال هاي اخير به ركود كشيده بود.

بحث گذشته دربارة نحوة تقسيم فضاي الگو به وسيلة توابع مميز را ه را براي بحث جديد هموار كرده است. مجدداً مسأله سادة دو بعدي ودو طبقه اي شكل 3-1 را موردنظر قرار دهيد. هدف طبقه بندي بردارهاي ورودي به دو طبقة a و b مي باشد. ديديم كه چگونه مي توان فضاي الگو را به وسيله يك محدودة تصميم خطي جدا كرد.ليكن به چه طريق مي توان خط محدوده را در عمل با وجود داده هاي واقعي به دست آورد ومحل آن را تعيين نمود؟

در شكل 3-6 فضاي الگو را همراه با بردار جديدي نشان داده ايم. اين بردار را بردار وزن ها ، w ، مي ناميم. از جهت اين بردار براي نشان دادن محدودة تصميم خطي استفاده خواهد شد.

محدوده تصميم تابع مميز f(x) را به صورت زير تعريف مي كند:

                                                 F(x) =

= xi عضو I ام بردار ورودي ،=w عضوبردار I ام بردار وزن ها، و = n ابعاد بردار ورودي خروجي اين تابع براي هر بردار ورودي يا مثبت است يا منفي كه بستگي به مقدار بردار وزن ها وبردار ورودي دارد. اگر فرض كنيم مقدار خروجي مثبت نشان دهد كه بردار متعلق به طبقة

           

                     شكل 3-6 جدا كردن طبقه ها توسط يك محدوده تصميم خطي .

a مي باشد ومقدار منفي نمايانگر طبقة b باشد آن گاه براي طبقه بندي هر بردار كافي است به علامت f(x) نگاه كنيم. بدين صورت:

                                           اگر 0 f(x)> آنگاه طبقه a

                                           اگر 0f(x) < آنگاه طبقه b

مسأله در واقع يافتن بردار وزن هاي مناسب است كه براي تمام ورودي هاي طبقه هاي b وa جواب صحيح بدهد. اگر با استفاده از جبر خطي تابع مميز را بسط دهيم ارتباط مقدار خروجي تابع و بردار وزن به روشني معلوم مي شود.

                                                  F(x) =

كه پس از بسط مي تواند به صورت زير نوشته شود.

                                                  )- F(x) = (\w\.\ x\

در حالي كه  زاويه بين بردارهاي x وw است.

مقدار cos بين 1+ و 1- تغيير مي كند. در نتيجه مقدار  بيش از 90  درجه بين بردار وزن ها وبردار ورودي علامت f(x) را تغيير مي دهد. اين امر به وشني نشان دهندة محدوده تصميم خط راست است زيرا نقطة تغيير علامت در 90+ و90- درجه مي باشد. مي بينينم كه تابع فوق در واقع محدوده تصميمي را معين مي كند ليكن هنوز محل اين محدوده و عناصر بردار وزنها را نمي دانيم.

دو پارامتر محل قرار گرفتن محدوده تصميم را در فضاي طرح كنترل مي كند. يكي شيب خط و ديگري محل تلاقي خط با محور y ها (مطابق هندسة معمول خطوط راست). شيب خط در واقع به وسيلة اندازة بردار وزن ها تعيين مي گردد. اين موضوع را مي توان با بررسي نقطة تغيير جهت يعني شرايط مرزي كه مقدار خروجي تابع طبقه بندي صفر است به خوبي مشاهده كرد.

در اين جا داريم:

                                           

با مقايسه اين معادله ومعادله خط راست (y = mx +c) مشاهده مي شود كه شيب خط به وسيله نسبت و محل تلاقي خط با محور y ها به وسيله مقدار  كنترل مي شود.

تا اين جا ثابت كرده ايم كه اگر مقدار صحيح بردار وزن ها را بدانيم مي توانيم فرايند تميز دادن بردارها را به خوبي انجام داده ومحل محدودة تصميمرا تعيين كنيم. آن چه هنوز نشان نداده ايم اين است كه چگونه مي توان مقدار بردار وزنها را به دست آورد.متأسفانه اين امر ساده اي نبوده و اكثراً اين خط را به وسيلة روش هاي تكراري آزمون و خطا و اصلاح مقدار وزن ها با استفا ده از نوعي تابع خطا  1 به دست مي آورند. تابع خطا معمولاً خروجي دستگاه طبقه بندي را با جواب مطلوب مقايسه كرده و اختلاف را به نحوي نشان مي دهد. اگر كاربرد تابع مميز را در يك مسأله طبقه بندي منطقي دوگانه در نظر بگيريم ابعاد اين مسأله روشن تر مي شود. اگر بردار ورودي از n عنصر صفر و يك تشكيل شده باشد تعداد طرح هاي ورودي برابرn2خواهد بود. براي تقسيم اين طرح ها به انواع ممكن شاخه هاي دوگانه به صورت بالقوه تعداد n22تابع مميز وجود خواهد داشت. ليكن دستگاه هاي طبقه بندي خطي فقط قادر به تعدادي از تقسيم بندي هاي دو شاخه اي هستندـ گروهي كه در واقع جدايي پذير خطي هستند. مسئلة جدايي پذيري خطي موضوعي است كه به طور تنگاتنگ، به تاريخچة تحقيقات شبكه هاي عصبي مربوط مي باشد. در حال حاضر مسأله اي را «جدايي پذيرخطي» تعريف مي كنيم كه تنها به وسيلة يك فوق صفحه بتوان محدوده تصميم را به دو گروه طبقه بندي كرد.

مثالهايي  كه تاكنون آورديم تنها دستگاههاي خطي بودند كه مي توانستند فقط طبقه را جداكنند. در عمل مي توان دستگاههاي طبقه بندي خطي را طرح كرد كه بتواند بيش از دو طبه را از يكديگر تميز دهند. اين عمل را با تنظيم محدوده هاي تصميم متعدد و آزمونهاي چندگانه براساس شرايط موجود هر طبقه انجام مي دهيم. به عنوان مثال ، در يك مسأله چهار طبقه اي (a,b,c,d) ابتدا محدودة تصميمي را براي تميز دادن طبقه a از (b,c,d) وسپس چنانچه در طبقه(b) نبود بين(c)  و(d) در نظر مي گرفتيم. به همين صورت براي مسائل طبقه بندي پيچيده تر سطوح محدودة تصميم مي تواندهمان طور كه در شكل 3-7  آمده است به صورت جزء به جزء به قطعات متعدد تقسيم شود.

                             شكل 3-7  طبقه بندي خطي جزء به جزء براي طبقه بندي طرح هاي جدايي پذير غير خطي

 

در مسائل جدايي ناپذير غير خطي مي توان حالات غيرخطي را همچنين با انجام يك عمل تبديل در داده هاي ورودي قبل از طبقه بندي به وجود آورد. اين تكنيك را ماشين  مي نامند. چنين پيش پردازش هايي قبل از طبقه بندي طرح ها توسط دستگاههاي طبقه بندي امر معمول است. فرايند تبديل به صورتي انتخاب مي شود كه بتواند طرحها را به كدهاي جديدي تبديل كند به صورتي كه قابل تفكيك توسط دستگاه طبقه بندي خطي باشند. اشكال عمده اين روش آن است كه مي تواند كند باشد.


نتيجه گيري

در اينجا بحث ما دربارة روشهاي قطعي بازشناسي الگوها پايان مي پذيرد. گرچه تا نقطة تكميل مطلب فاصله بسيار است، اميد مي رود كه اين بحث زمينة اطلاعاتي كافي براي مباحث آينده ما درمورد روشهاي محاسباتي شبكه هاي عصبي فراهم آورد.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

فصل 4 : نرون پايه

4- 1مقدمه

همان طور كه در فصل 1 به پيچيدگي ساختار مغز اشاره كرديم و گفتيم كه مغز را مي‌توان به صورت مجموعه بسيار متصل و شبكه‌اي از عناصر پردازشي  نسبتاً ساده در نظر گرفت. به مدلي نياز داريم كه بتواند ويژگي‌هاي مهم سيستم‌هاي عصبي را كسب كند، به اين منظور كه بتواند رفتار مشابهي را از خود بروز دهد .

در و اقع فلسفه اصلي محاسبات شبكه‌هاي عصبي اين است كه با مدل كردن ويژگي‌هاي عمده مغز و نحوه عملكرد آن بتوان كامپيوترهايي را ساخت كه اگثر ويژگي‌هاي مفيد مغز را از خودنشان دهند .

هدف مدل‌سازي اصولاً ايجاد نمونه ساده‌تري از سيستم است ك رفتار عمومي سيستم را حفظ كرده و كمك كند كه سيستم با سهولت بيش‌تر قابل درك باشد .

4-2مدل سازي نرون

نقش اصلي يك نرون بيولوژيك عمل جمع ورودي‌هاي خود تا جايي است كه مجموع ورودي‌ها از حدي كه به آن آستانه[10] مي‌گوييم تجاوز نكند و آن گاه توليد يك خروجي است .

بدنه سلول كليه ورودي‌ها را دريافت مي‌كند و هنگامي كه مجموع ورودي‌ها از حد آستانه تجاوز كرد سيگنالي را آتش مي‌كند . اين نرون بيولوژيكي ساده در شكل 4-1 نشان داده شده است .

  مدلي كه از نرون مي‌سازيم بايد مشخصه‌هاي زير را داشته باشد . به طور خلاصه :

خروجي تنها به ورودي‌ها بستگي دارد. ميزان ورودي‌ها بايد به حدي برسد كه خروجي نرون را فعال سازد .

كارايي سيناپس در انتقال سيگنال هاي ورودي به بدنه سلول را مي توان با استفاده از ضريبي كه در ورودي هاي نرون ضرب مي شود مدل سازي كرد .

 

 

               

                                  شكل 4-1 مشخصات يك نرون بيولژيك.

با توجه به اين مدل نرون بيولوژيك آنگاه كه ما آن را به صورت مصنوعي پياده سازي كنيم شكلي مانند شكل 4-2 خواهيم داشت.اين مدل ابتدا مجموع وزني ورودي‌هاي خود را محاسبه كرده سپس آن را با سطح آستانه داخلي خود مقايسه مي‌كندو چنانچه از آن تجاوز كرد فعال مي‌شود . در غير اين صورت غير فعال باقي مي‌ماند .چون ورودي‌ها براي توليد خروجي از ميان نرون عبور مي‌كنند به اين سيستم « پيش خور»1 مي‌گوييم .

        

                                       شكل 4-2 نماي مدل اصلي نرون.

اين عمل را بايد به طريق رياضي نشان دهيم . اگر تعداد ورودي‌ها n  باشد آن گاه هر خط ورودي داراي يك ضريب وزني مربوط به خود است .

ابتدا اولين ورودي را در ضريب وزني مربوط به خط ارتباطي آن ورودي ضرب مي‌كند . سپس همين عمل را براي ورودي دوم و ساير ورودي‌ها تكرار مي‌كند د رنهايت تمام مقادير حاصل را جمع مي‌كند . به طور خلاصه :

ورودي 1 * وزن مربوط به خط ارتباطي 1= مجموع ورودي‌ها

...+ورودي2 * وزن مربوط به خط ارتباطي 2+

ورودي n * وزن مربوط به خط ارتباطيn +

حاصل جمع فوق بايد با مقدار آستانه نرون مورد نظر مقايسه شود . در مقايسه با آستانه اگر حاصل جمع به دست آمده از ميزان آستانه تجاوز كند آنگاه خروجي نرون مساوي ((1)) خواهد بود و اگر كمتر باشد مساوي صفر مي شود.

دو راه كار ديگر براي رسيدن به اين منظور وجود دار د:

1-     حد آستانه را از حاصل جمع ورودي كم كنيم ،اگر حاصل + بود نرون 1 و اگر – بود نرون صفر توليد كند.

2-     حذف كامل حد آستانه و اضافه كردن ورودي با مقدار ثابت 1 كه اين ورودي هميشه  فعال باقي خواهد ماندو ضريب وزني آن مقدار منفي حد آستانه مي باشد.

اگر خروجي را y بناميم، رابطه زير راه كار اول را بيان مي‌كند .

                            

در حالي كه fh يك تابع پلكاني است ( در واقع اين تابع را تابع «هوي سايد»1 مي‌نامند) و

                     

                     

بدين صورت منظور ما برآورده مي‌شود . دقت كنيد كه خروجي تابع تنها مقادير 1 و 0 است . به عبارت ديگر نرون يا فعال است يا غير فعال.

اگر از راه كار دوم يعني احتساب تورش استفاده كنيم، ورودي ديگري را با شماره 0 انتخاب كرده و مقدار آن را هميشه برابر 1 قرار مي‌دهيم. در اين صورت ضريب وزني ورودي جديد برابر با مقدار تورش خواهد بود . تابع فوق به صورت زير در خواهد آمد :

                                    

دقت كنيد كه حد زيرين علامت زيگما از 1 به 0 تغيير كرده و مقدار x0 هميشه برابر با 1+ خواهد بود .

مدل نرون در سال 1943 توسط مك كولو و پيتس پيشنهاد شده است . مدل آن‌ها وسيله‌اي بسيار ساده است كه مجموع وزني ورودي‌‌هاي خود را براي تعيين خروجي با آستانه مقايسه مي‌كند. مدل هيچ اهميتي به ساختار پيچيده و زمان بندي فعاليت نرون‌هاي واقعي نمي دهد و داراي هيچ كدام از ويژگي‌هاي پيچيده نرون‌هاي بيولوژيكي نيست . به همين دليل است كه آن را يك مدل و نه يك نسخه تكراري از نرون بيولوژيك مي‌ناميم و مي‌توان آن را در يك كامپيوتر ديجيتال پياده كرد .

نرون هاي مدل ،كه به صورت ساده به يكديگر متصل اند ،در سال Frank Rosenblatt 1962

به نام پرسپترون1 نامگذاري شد. او براي نخستين بار نرون‌هاي مدل را در كامپيوترهاي ديجيتال شبيه سازي كرد و آن‌ها را به طور رسمي تحليل نمود .

او اعتراف كرد كه مدل مذكور به هيچ وجه دقيق سيستم‌هاي عصبي نمي‌باشد. به عبارت ديگر او از ابتدا آگاه بود با مدلي پايه روبه رو است .

4-3 فراگيري در نرون‌هاي ساده

ما به شيوه‌اي براي فراگيري در مدل‌هاي نرون خود نيازمنديم. اتصال اين نرون‌هابه يكديگر شايد شبكه‌هايي را ايجاد كند كه بتواند كاري را انجام دهند ، ليكن براي انجام كاري مفيد بايد بتوانيم به طريقي آن‌ها را آموزش دهيم . آنچه اين مدل‌ها را قابل استفاده مي‌كند توانايي‌ آن‌ها در فراگيري است . همچنين، براي سهولت درك مدل‌ها روش‌هاي فراگيري بايد تا حد امكان ساده باشند .

كودكان اغلب براي كسب نتايج خوب رياضي تشويق مي‌شوند ، و براي عبور از خيابان بدون توجه به اطراف سرزنش مي‌كردند . به سگ‌ها براي اطاعت از فرمان تكه‌هاي غذا مي‌دهند. به طور كلي، رفتار خوب تشويق مي‌شود و رفتار بد سرزنش مي‌گردد. همين شيوه را مي‌توان در شبكه‌هاي مصنوعي نيز به كار گرفت. اگر دو گروه از اشياء داشته باشيم مثلاً گروهي از شكل‌هاي نوشته شده مختلف A و گروهي از شكل‌هاي نوشته شده مختلف B ، شايد مايل باشيم نرون مورد نظر ما A ها را از B ها تميز دهد . شايد بخواهيم نرون ما با مشاهده يك A عدد 1 را بيرون دهد و با ديدن B عدد صفر را .

اصل راهنما آن است كه به نرون اجازه دهيم از اشتباهات خود بياموزد. اگر جواب همراه با خطا باشد مي‌خواهيم احتمال اين خطا را در آينده كم كنيم و اگر جواب صحيح باشد وضع را تغيير نمي‌دهيم . اگر در ابتدا ضرايب وزني خطوط ارتباطي نرون را به طور تصادفي تعيين كنيم عين در واقع حالت شروع بوده و نرون هيچ نمي‌داند ،‌ آن گاه مي‌توانيم يك حرف A را به نرون وارد كنيم ،‌نرون مجموع وزني ورودي‌هاي خود را محاسبه مي‌كند و با مقدار آستانه مقايسه مي‌كند. چنانچه مقدار محاسبه شده از آستانه بيش‌تر باشد نرون جواب 1 و در غير اين صورت خروجي صفر خواهد داد . احتمال اين كه به طور تصادفي جواب صحيح باشد 50% است ،‌زيرا ورودي‌هاي نرون تنها به طور تصادفي مي‌توانند از مقدار آستانه تجاوز كنند . فرض كنيد نرون جواب صحيح بدهد . در اين صورت نياز به هيچ اقدامي نيست زيرا مدل موفق بوده است . ولي اگر جواب صفر بود بايد مجموع  وزني را افزايش دهيم به صورتي كه بار ديگر كه با حرف A رو به رو شد جواب صحيح 1 بدهد . اين عمل را با افزايش ضرايب وزني خطوط ارتباطي نرون انجام مي‌دهيم . بنابراين براي تشويق احتمال حصول جواب 1 وزن‌ها را افزايش مي‌دهيم .

براي حرف B مايليم كه نرون عدد صفر را توليد كند . يعني مايل هستم كه مجموع وزني ورودي‌ها از مقدار آستانه كم‌تر باشد . بنابراين هر گاه نرون با حرف B رو به رو شد مايل خواهيم بود كه ضرايب وزني آن را كاهش دهيم تا مجبور گردد در آينده با مشاهده حرف B عدد صفر را توليد نمايد.

اين بدان معني است كه براي فراگيري شبكه بايد زماني كه مايليم نرون فعال باشد ضرايب وزني را افزايش داده و آن گاه كه مايليم نرون غير فعال باشد ضرايب را كاهش دهيم .

 اين قاعده فراگيري شكل ديگري از قاعده‌اي است كه در سال 1949 توسط دونالد هب ارائه شده و بنابراين به قاعده فراگيري هب1 معروف مي‌باشد. در شكل جزئي تغيير يافته از قانون هب كه ما استفاده مي‌كنيم خاصيت تغيير دادن انحصاري خطوط ارتباطي فعال حفظ شده است ، ليكن اين خطوط هم تقويتت و هم تضعيف مي‌شوند . اين عمل را به اين دليل مي‌توانيم انجام دهيم كه نتايج مورد نظر را از قبل مي‌دانيم و بنابراين مشاهده مي‌كنيم كه به كدام سمت بايد ضرايب وزني را تغيير دهيم . چون اين فراگيري از طريق در دست داشتن نتيجه مطلوب راهنمايي مي‌گردد به اين نوع آموزش «فراگيري با سرپرست» مي‌گوييم .

شيوه يادگيري ما مي‌تواند به صورت زيرخلاصه شود :

ضرايب وزني و مقادير آستانه را به طور تصادفي تعيين كنيد .

يك ورودي را به مدل ارائه دهيد .

مقدار خروجي را با توجه به مقايسه مجموع وزني ورودي‌ها و مقدار آستانه محاسبه كنيد .

ضرايب وزني را براي تقويت تصميمات درست و تضعيف تصميمات نادرست تغيير دهيد . به عبارت ديگر خطا را كاهش دهيد.

ورودي بعدي را به مدل ارائه دهيد  و ...

4-4  الگوريتم فراگيري پرسپترون

روش فراگيري كه در بالا شرح داده شد را مي‌توان به صورت الگوريتم زير نشان داد . اين الگوريتم را مي‌توان براي ساختن شبكه‌هاي پرسپترون در كامپيوترها با هر زبان برنامه‌نويسي كد نمود .

الگوريتم فراگيري پرسپترون

1- ضرايب ومقادير اوليه آستانه را تعيين كنيد .

را به عنوان ضريب وزني ورودي i در زمان t و  را به عنوان مقدار آستانه خروجي در نظر بگيريد.مقدار w0را برابر - و مقدار x0  را هميشه برابر 1 قرار دهيد .         (0≥ i≤n) 

wi(0) را برابر مقادير تصادفي كوچك قرار دهيد، بدين صورت تمام وزن‌ها و آستانه‌ها را به حالت شروع درآوريد.

2- ورودي وخروجي مطلوب را ارائه دهيد .

ورودي‌هاي xn,...x2,x1,x0 ، و خروجي مطلوب d(t) را به مدل ارائه دهيد.

3-     خروجي واقعي را محاسبه كنيد .

                         

4-     ضرايب وزني را تبديل كنيد .

)Wi (tWi (t+1) = اگر خروجي صحيح بود.

Wi (t+1) =wi (t) +xi (t)   اگر خروجي واقعي صفر و خروجي مطلوب 1 بود (طبقه A)

Wi (t+1) =wi (t)-xi (t)   اگر خروجي واقعي 1 و خروجي مطلوب صفر بود (طبقه B)

توجه كنيد كه چنانچه جواب مدل صحيح باشد وزن‌ها تغيير نمي‌كند . همچنين ضرايب وزني آن دسته از خطوط كه در جواب غلط مؤثر نمي‌باشد تغيير نمي‌كند ، زيرا مقادير ضرايب آن‌ها با مقدار ورودي خطوط كه صفر مي‌باشد جمع مي‌شود و بنابراين بدون تغيير باقي مي‌مانند .

 

 
 

 

اين الگوريتم اصلي پرسپترون است . ليكن اصلاحات متعددي در اين الگوريتم پايه پيشنهاد شده است . اولين صلاح وارد كردن عامل ضربي كوچك‌تر از يك در فرمول تغيير ضرايب وزني است . اين عمل باعث كند شدن سرعت تغيير ضرايب وزني مي‌شود و بدين صورت شبكه در گام‌هاي كوتاه‌تري به جواب نزديك‌تر مي‌شود . اين اصلاح قدم چهارم الگوريتم را به صورت زير تغيير مي‌دهد :

4- ضرايب وزني را تعديل كنيد – شكل اصلاح شده

Wi(t+1)=wi(t)  اگر خروجي صحيح بود .

xi(t)   Wi(t+1)=wi(t)+ اگر خروجي واقعي صفر و خروجي مطلوب 1 بود . (طبقه A )

xi (t)   Wi(t+1)=wi(t)- اگر خروجي واقعي 1 و خروجي مطلوب صفر بود . (طبقه B )

جايي كه  باشد  عامل بازيابي مثبتي است كه سرعت تعديل را كنترل مي‌كند .

الگوريتم مشابهي توسط ويدروهاف1 ارائه شده است . آن‌ها به اين نكته پي برده بودند كه بهتر است هنگامي كه اختلاف خروجي واقعي وخروجي مطلوب زياد است ضرايب وزني به ميزان بيش تر و هنگامي كه اين اختلاف جزئي است به مقدار كم‌تر تعديل گردد.. آن‌ها قاعده‌اي را براي فراگيري به نام قاعده دلتاي2 ويدور – هاف پيشنهاد كردند . اين قاده اختلاف جمع وزني و مقدار خروجي مطلوب را محاسبه مي‌كندو آن را «خطا» مي‌نامند. تعديل ضرايب وزني آن‌گاه به تناسب اين خطا انجام مي‌شود .

مقدار خطاي را مي‌توان به صورت زير نوشت :

            

جايي كه d(t) خروجي مطلوب سيستم و y(t) خروجي واقعي است . اين فرمول خود موضوع اضافه كردن يا كم كردن ضرايب وزني را كنترل مي‌كند ، زيرا اگر خروجي مطلوب 1 و خروجي واقعي صفر باشد ، و بنابراين ضرايب وزني افزايش مي‌يابد . به عكس اگر خروجي مطلوب 0 و خروجي واقعي 1+ باشد ،‌      مي‌شود و ضرايب وزني تقليل مي‌يابند . توجه كنيد كه چنانچه تصميم صحيح باشد وزن‌ها تغيير نمي‌كنند زيرا  d(t)-y(t)=0 .

الگوريتم فراگيري اصولاً مشابه بر پرسپترون اوليه است . تنها گام 4 الگوريتم پرسپترون به صورت زير تغيير مي‌يابد :

4-     ضرايب وزني را تعديل كنيد – قاعده دلتاي ويدرو-هاف

   

xi(t)                             Wi(t+1)=wi(t)+

                                  اگر ورودي از طبقه A،باشد 1+            

                             اگر ورودي از طبقهB،باشد 0      d(t)=

 

جايي كه باشد، عامل بازيابي مثبتي است كه سرعت تعديل را كنترل مي‌كند . ويدرو نرون‌هايي را كه از اين الگوريتم استفاده مي‌كردند آدالين1 ( نرون‌هاي خطي قابل انطباق) ناميد . او همچنين تعداد زيادي از آدالين‌ها را به يكديگر متصل كرد و آن ساختار را مادالين2 ناميد.

راه كرد ديگري كه پيشنهاد شده است استفاده از ارقام دو قطبي31+ و 1- به جاي دو تايي 1+ و صفر است . استفاده از ارقام دو تايي بدين معناست كه خطوطي كه ورودي آن‌ها صفر است آموزش نمي‌بينيد در حالي كه استفاده از ارقام دو قطبي به تمام خطوط فرصت آموزش مي‌دهد . اين ابتكار ساده سرعت رسيدن به جواب را افزايش مي‌دهد ، ليكن اغلب باعث سردرگمي در نوشته‌ها مي‌شود زيرا عده‌اي از نويسندگان از ارقام دوتايي و عده‌اي از ارقام دو قطبي استفاده مي‌كنند . در واقع هر دو روش يكسان هستند و استفاده از يكي يا ديگري به سليقه شخصي بستگي دارد.     

4-5 يك مثال ساده براي پرسپترون ساده.

شايد پرسپترون ها گسترده ترين تاثير را بين شبكه هاي عصبي اوليه داشتند.قانون يادگيري پرسپترون از قانون Hepp قوي تر است . مي توان شيوه يادگيري مكرر آن را براي نزديكتر شدن وزن هاي صحيح اثبات كرد .

وزن هايي كه به شبكه اين امكان را مي دهند كه ارزش خروجي صحيح  را  براي هر كدام از الگوهاي آموزشي(Training) ايجاد كند. يكي از فرضيات لازم اين است كه چنين وزن هاي وجود دارد .

پرسپترون داراي انواع مختلفي مي باشند مانند  , Minsky(1969)  ,  Rosenblatt(1962)Papert(1988).با اينكه بعضي از پرسپترون ها خود پرداز هستند  اكثر آنها آموزش مي بينند.

پرسپترون اصلي سه لايه نرون داشتند  ، واحد حس ،واحد هاي وابسته  و واحد  واكنش  )خروجي)

چيزي شبيه يك مدل تقريبي چشم .

يك پرسپترون ساده از فعال سازهاي(ورودي ها) دودويي براي واحدهاي وابسته و حسي استفاده مي كند و يك فعال ساز 1-يا0،1+ براي واحد خروجي .

واحد حسي توسط اتصالات با اوزان ثابت به واحد هاي وابسته مرتبط مي شوند. ارزش اين اوزان   1-يا0،1+ مي باشد . كه به طور تصادفي تعيين مي گردد. عملگر فعال سازي براي هر واحد وابسته يك عملگر دودويي با يك حد آستانه اختياري اما  ثابت .

بنابر اين سيگنالي كه از واحد وابسته به واحد خروجي فرستاده مي شود يك سيگنال دودويي (1و0) مي باشد.

خروجي پرسپترون  y=f(y-in)  مي باشد.در حالي كه عملكرد تابع فعال ساز اينگونه مي باشد.

                              

وزن ها از واحد هاي وابسته به واحد هاي واكنش (خروجي ) توسط قانون يادگيري پرسپترون  تنظيم مي شوند. براي هر ورودي آموزشي ،شبكه پاسخ واحد خروجي را محاسبه مي كند. سپس شبكه مشخص مي كند آيا خطايي براي اين الگو رخ داده است  كه اين كار با مقايسه خروجي محاسبه شده  با مقدار هدف (target) انجام مي دهد.

اگر خطايي براي يك الگوي ورودي آموزشي خاص رخ دهد ،وزن ها طبق اين فرمول تغيير مي كنند.

Wi(new)=wi(old)+α t x                                          

 در حالي كه ارزش هدف( target) 1+يا 1- است و  α ميزان يادگيري است  ،اگر خطايي رخ     نمي داد ،وزن ها تغيير نمي كردند.

آموزش تا زماني كه هيچ خطايي رخ نمي داد ادامه پيدا مي كند .

ساختار:

پرسپترون ساده براي طبقه بندي الگويي.

خروجي در اين پرسپترون ساده يك بردار دودويي مي باشد .آن بردار به عنوان سيگنال ورودي به واحد خروجي در بخشهاي كه در ادامه وجود دارند  تلقي مي شود .

از آنجايي كه فقط امكان تنظيم وزنها  از واحد هاي مرتبط به واحدهاي خروجي وجود دارد ما بررسي خود را به بخش تك لايه شبكه كه در شكل زير نشان داده شده است محدود مي كنيم.

بنابر اين واحد هاي مرتبط همانند واحدهاي ورودي عمل مي كنند . هدف اين شبكه طبقه بندي هر

الگوي ورودي مي باشد كه آيا به طبقه خاص تعلق دارد يا نه.

                             

پاسخ 1+ واحد خروجي دلالت بر تعلق داشتن دارد و پاسخ 1- دلالت بر عدم تعلق دارد .

اين شبكه آموزش داده مي شود تا اين طبقه بندي را به وسيله روش مكرر اجراء كند.

الگوريتم:

 

الگوريتم ارائه شده براي بردارهاي ورودي دو قطبي و هم دودويي مناسب است .با يك هدف          ( target) دوقطبي ،Ө ثابت و bias  قابل تغيير .درابتدا Ө همانند عملگر گامي (قدم به قدم) عمل نمي كند. بنابراين هم يك bias وهم حد آستانه  لازم است .در مورد نقش حد آستانه در ادامه بحث خواهد شد. اين الگوريتم به طور خاص در برابر ارزش هاي اوليه اوزان يا ميزان سرعت يادگيري حساس نمي باشد                            .         

گام صفر: معرفي وزن ها و bias .

براي سهولت كار ابتدا وزن ها و bias را صفر كنيد و سپس خطاي يادگيري را در بازه 1≤α 0 قرار دهيد (معمولل براي سهولت كار α را مي توان يك در نظر گرفت).

گام اول: اگر وضعيت توقف false بود گامهاي 2 تا 6 را تكرار كن.

گام دوم: براي هر جفت يادگيري گام هاي 3 تا 5 را تكرار كن .

گام سوم: ورودي هاي واحد ورودي را وارد كن.

گام چهارم: خروجي را محسبه كنيد.

Y_in = b+∑xi wi                                             

1        if          y_in >Ө                                             

y =       0        if  - Ө ≤ y_in ≤ Ө                                            

-1         if       y_in  <- Ө                                           

گام پنجم:اگر خطا در اين الگو بوجود آمد وزن ها و bias  را تغيير دهيد.

If   y ≠ t (target)                                                     

Wi(new) = Wi(old)+ α  t Xi ;                               

b (new)= b(old)+ α t ;                                         

else                                                                           

Wi(new)=Wi(old) ;                                              

b(new)= b(old) ;                                                   

گام ششم : وضعيت توقف را تست كنيد.(اگر وزني در گام دوم تغيير نكرده است توقف نموده وگرنه ادامه بدهيد).

        

توجه داشته باشيد كه فقط وزن هاي  كه واحد هاي ورودي فعال را مرتبط مي كند(xi≠0(به روز مي شوند.

همچنين ،وزن ها فقط براي الگو هاي كه ارزش صحيح y را ايجادنمي كنند ،به روز مي شود.

اين به اين معني است كه هر چه الگوهاي آموزشي بيشتر جواب صحيح ايجاد كند يادگيري كمتر رخ مي دهد.اين با آموزش Adeline   كه در آن يادگيري بر اساس تفاوت ميانy-in وt   است مغايرت دارد.در ابتدا  عملگر فعال ساز براي واحد خروجي يك ارزش ثابت و نامنفي Ө است.

ما همواره به برداري نياز داريم كه دو ناحيه مثبت و منفي را از هم جدا كند .چنانچه اين بردار رسم شود شبكه ما آموزش ديده است.

توجه داشته باشيد كه به جاي يك خط جدا كننده ،ما يك خط داريم قسمت واكنش مثبت را از بخش

واكنش صفر جدا مي كند .

W1x1 + w2x2 + b>Ө                                         

و يك خط بخش واكنش صفر را از بخش واكنش منفي جدا مي كند.

W1x1 + w2x2 + b<-Ө                                       

كاربرد

عملكردهاي  منطقي

بياييد عملكرد منطقي AND  را ب اورودي هاي دودويي و  target دو قطبي در نظر بگيريم.

اين مثال را با توجه به قانون يادگيري پرسپترون و اطلاعات بالا در نظر بگيريد.

يك شبكه تك لايه براي حل اين مسئله كافي مي باشد.براي سادگي α =1 ،وزن ها و bias را نيز برابر صفر مي گيريم.ونيز براي توضيح نقش آستانه Ө=.2  مشخص مي كنيم.تغيير وزن ها را زماني انجام مي دهيم كه خطايي رخ دهد يا خروجي صفر باشد.

با ارائه اولين ورودي داريم:

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

1        1      1

1

0

0

1       1       1

 

معادله خطوط جدا كننده اين قسمت بصورت زير است:

X1+x2+1=.2                  X1+x2+1=-.2                           

شكل نمودار آن به صورت زير است :

                          

حال با ارائه دومين ورودي بصورت زير است:

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

0        1      0

-1

1

2

1       0       1

 

معادله خطوط جدا كننده اين قسمت بصورت زير است:  

X2=.2                        x2=-.2                               

شكل نمودار آن به صورت زير است :

                              

حاصل سومين ارائه به شرح زير است :

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

0        0     -1

-1

1

1

0       1       1

 

تا زماني كه اجزاي الگوي ورودي نامنفي و اجزاي بردار وزن نامثبت باشند جواب شبكه منفي يا كه صفر است.

براي تكميل اولين دوره يادگيري ،چهارمين الگوي ورودي زير ارائه مي شود.

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

0        0      -1

-1

-1

-1

0       0       1

 

نتيجه تمام الگو هاي ورودي فوق كه از وزن هاي فوق نشات مي گيرد منفي است ،اما تا زماني كه جواب الگوي (1و1) صحيح نيست كار ما به پايان نرسيد ه است.نتيجه دومين دوره يادگيري براي اولين الگوي ورودي كه تغيير وزن هاي زير را به همراه دارد به شرح زير است :

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

1        1      0

1

-1

-1

1       1       1

معادله خطوط جدا كننده آن  بصورت زير است :

X1+x2= .2                     x1+x2=-.2                              

شكل نمودار آن به صورت زير است :

                             


دومين ورودي در دومين دوره  :

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

0        1      -1

-1

1

1

1       0       1

و معادله خطوط جدا كننده اين مرحله به شرح زير است :

X2-1=.2                        x2-1=-.2                              

نمودار گراف آن به صورت زير است :

                            

حاصل سومين ورودي دوره دوم يادگيري به شرح زير است :

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

0        0      -2

-1

-0

0

0       1       1

دوباره مشاهده مي شود كه نتيجه براي تمام ورودي هاي داده شده منفي مي باشد.


براي تكميل دومين دوره يادگيري چهارمين الگوي يادگيري را به قرار زير شرح مي دهيم :

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

0        0      -2

-1

-1

-2

0       0       1

در ادامه نتيجه دوره سوم به شرح زير است :

 

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

1        1      -1

1

-1

-2

1       1       1

0         1     -2

-1

0

0

1        0      1

0         1     -2

-1

-1

-1

0        1      1

0          1    -2

-1

-1

-2

0       0      1

نتيجه دوره چهارم :

 

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

1        2      -1

1

-1

-1

1       1       1

0         2     -2

-1

0

0

1       0       1

0         1     -3

-1

0

0

0       1      1

0         1     -3

-1

-1

-3

0       0      1

دوره پنجم :

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

1        2      -2

1

-1

-2

1      1       1

1        2      -2

-1

-1

-1

1      0       1

1         1     -3

-1

0

0

0       1      1

1         1     -3

-1

-1

-3

0       0      1

دوره ششم :

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

2        2      -2

1

-1

-1

1       1       1

1        2      -3

-1

0

0

1       0       1

1         2     -3

-1

-1

-1

0       1       1

1         2     -3

-1

-1

-3

0       0       1

دوره هفتم :

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

2        3     -3

1

0

0

1       1       1

1         3    -3

-1

0

0

1       0       1

1         2    -4

-1

0

0

0       1       1

1         2    -4

-1

-1

-4

0       0       1

 


دوره هشتم :

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

2        3     -3

1

-1

-1

1       1       1

2         3    -3

-1

-1

-1

1       0       1

2         2    -4

-1

0

0

0       1       1

2         2    -4

-1

-1

-4

0       0       1

دوره نهم :

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

3        3     -3

1

0

0

1       1       1

2         3    -4

-1

0

0

1       0       1

2         3    -4

-1

-1

-1

0       1       1

2         3    -4

-1

-1

-4

0       0       1

دوره دهم :

WEIGHTS

TARGET

OUT

NET

INPUT

w1     w2     b

 

 

 

x1     x2     b

2        3     -4

1

1

1

1       1       1

2        3     -4

-1

-1

-2

1       0       1

2        3     -4

-1

-1

-1

0       1       1

2        3     -4

-1

-1

-4

0       0       1

بدين گونه پاسخ مثبت با نقاط معادله زير معين مي شود .

2 x1 + 3 x2 - 4> .2                                          

خط مرز نيز به قرار زير است :

X2 = -2/3 x1 = 7/5                                         

بدين گونه پاسخ منفي با نقاط معادله زير مشخص مي شود :

2 x1 + 3 x2 – 4 < -.2                                      

خط مرز نيز به قرار زير است :

X2 = - 2/3 x1 = 19/15                                   

با رسم اين خطوط  در بردار فضا به دو قسمت صحيح تقسيم شده و در واقع شبكه ما آموزش 

مي بيند.                                                                           

                                                    اين گراف آخرين مرز تصميم براي تابع AND در قاعده پرسپترون است.

 

 

 

 

 

 

 

 

 

 

فصل 5 :نرون چند لايه

5-1 مقدمه

متاسفانه توانايي پرسپترون محدود است .قبلا گفته بوديم كه پرسپترون در صورتي جواب را فرا مي گيرد كه اصولا جوابي وجود داشته باشد . براي بررسي اين موضوع ملاحظه كنيد كه پرسپترون به دنبال خطي است كه طبقه ها را تفكيك كند . پرسپترون به راحتي مي تواند طبقه را كه در دو سوي را(XOR)،ولي حالت هاي فراواني وجود دارد كه جداي طبقه بسيار پيچيده تراست . مثلا مورد  

بگيريد . تابع منطقي داراي دو ورودي و يك خروجي است . خروجي آن تنها زماني فعال است كه تنها يكي از ورودي ها فعال باشد . ليكن اگر هر دو فعال يا هر دو خاموش باشند خروجي خاموش خواهد بود .

 نشان دهيم جدول زير بدست مي آيد.0  و خاموش را با 1چنانچه حالت فعال را با 

 

 
 

 

X            Y           Z

0             0            0

0             1            1

1             0            1

1             1            0

 

 
 

 

فعال  Xاين مسئله را مي توانيم به اين صورت بيان كنيم كه پرسپترون بايد در نهايت ياد بگيرد كه اگر  خاموش بود و يا بلعكس جواب1  بدهد و اگر هر دو فعال يا خاموش بودند جواب صفر بدهد.Y و اگر خروجي هاي 1 را + در نظر گرفته و خروجي هاي صفر را منفي در نظر بگيريم بردار زير شكل مي گيرد .

                                    

بديهي است كه هيچ خط راستي را نمي توانيم رسم كنيم كه اين دو محيط متفاوت را از هم جدا كند

.اين نوع الگو را جدايي ناپذير خطي مي ناميم .پرسپترون تك لايه نيز قادر نخواهد بود چنين خطي

را رسم كند بنابر اين نمي توان اين گونه مسائل را با اين روش حل كرد.ناتواني پرسپترون در حل اين مسئله ساده اولين بار توسط مينسكي وپاپرت بر ملا شد.نتيجه آن پرسپترون تك لايه با وجود سادگي مدل موفقيت هاي چشم گيري را از خود نشان داد و مي تواند طبقات اشياء را در صورتي كه تفكيك پذير خطي باشد مشخص كند .حال لازم است راهي براي رفع مشكل جدا ناپذيري خطي بدون از دست دادن  ويژگيهاي پرسپترون چاره اي انديشيد.رفع اين نياز اولين بار توسط رمل هارت و  مك كللند1 در سال  1986  ابداع شد  و صورت  جديدي از مدل پرسپترون را با نام پرسپترون چند لايه اي2  معرفي كرد.

در نرون‌هاي لايه اول ورودي‌ها همان ورودي‌هاي اصلي شبكه خواهند بود ، ولي ورودي‌هاي لايه دوم خروجي هاي لايه اول مي باشند . اين بدان معناست كه پرسپترون‌هاي لايه دوم نمي‌دانند كه كدام يك از ورودي هاي اصلي فعال و كدام خاموش‌اند . آن‌ها تنها نسبت به ورودي هاي خود كه در واقع خروجي‌هاي لايه اول هستند آگاهي دارند . چون فراگيري به معني تقويت خطوط ارتباطي بين ورودي‌هاي فعال و واحدهاي نرون فعال است غير ممكن است كه بخش‌هاي درست شبكه را تقويت كرد ، زيرا ورودي‌هاي واقعي در واقع توسط لايه مياني از واحدهاي خروجي پنهان شده‌اند . حالت دو گانه فعال و خاموش نرون‌ها هيچ اشاره‌اي به ميزان لازم جهت تنظيم ضرايب وزني نمي‌كند و بنابراين آن‌ها ممكن نيست . ورودي‌هاي وزني كه نرون را كمي فعال مي‌كند نبايد به اندازه‌ ورودي‌ايي كه نرون را كاملاً فعال مي‌كنند تغيير كنند ، ولي هيچ اطلاعي از وضعيت آن‌ها نداريم . به عبارت ديگر تابع پلكاني آستانه‌اي اطلاعات لازم براي فراگيري شبكه را از ميان مي‌برد . اين مشكل را اصطلاحاً مسئله « تعيين سهميه » مي‌نامند، زيرا شبكه قادر نيست تميز دهد كه كدام يك از ضرايب وزني ورودي را افزايش و كدام يك را كاهش دهد و بدين صورت نمي‌تواند تغييرات لازم را براي بهبود جواب در نوبت‌هاي بعدي تعيين كند .

5-2 مدل جديد

پرسپترون جديد به صورت لايه‌اي منظم شده‌اند . طبيعتاً به آن‌ها پرسپترون چند لايه‌اي اطلاق مي‌شود . ساختار كلي اين مدل در شكل آمده است .

مدل جديدي سه لايه دارد ، يك لايه ورودي، يك لايه  خارجي، و يك لايه بين ‌آنها كه مستقيماً به داده‌هاي ورودي و نتايج خروجي متصل نيست . در واقع اين لايه را لايه پنهان مي‌نامند . هر واحد در لايه پنهان و لايه خروجي مانند يك پرسپترون عمل مي‌كند ، با اين تفاوت كه تابع استفاده شده به صورتي كه درشكل نشان داده شده به جاي تابع پلكاني تابع سيگمويد است . واحدهاي لايه ورودي صرفاً وظيفه توزيع مقادير ورودي را به لايه بعدي بر عهده دارند و بنابراين هيچ محاسبه‌اي را انجام نمي‌دهند . با تغييرتابع غير  خطي از صورت پلكاني به سيگمويد و  اضافه‌كردن يك لايه پنهان به ناچار بايد قاعده فراگيري مدل را تغيير دهيم . مدل  جديد ما بايد توانايي تشخيص الگوهاي پيچيده‌تر را داشته باشد . بياييد قاعده جديد را با جزئيات بيش‌تري بررسي كنيم .

5-3 قاعده جديد فراگيري

قاعده فراگيري پرسپترون چندلايه را «قاعده كلي دلتا» يا «قاعده پس انتشار» گويند. اين عناوين در سال 1986 توسط رومل هارت، مك كللند و ويليامز پيشنهاد شد و اين آغاز تولد دوباره شبكه‌هاي عصبي بود . بعدها معلوم شد كه نتايج مشابهي نيز قبلاً در سال 1982 توسط پاركر منتشر شده و همچني وربس در سال 1974 كار مشابهي انجام داده است . اين طبيعت علم است . گروه‌هاي متفاوت در حوزه‌هاي وسيع نمي توانند از تمامي پيشرفت‌ها در  حوزه‌هاي ديگر مطلع شوند و در نتيجه تكرار تلاش ها گريز ناپذير خواهد بود . به هر صورت اين افتخار به آن‌ها تعلق مي‌گيرد كه اولين گروهي بودند كه نه تنها قاعده فراگيري پرسپترون را به طور مستقل كشف كردند بلكه با تركيب آن‌ها پرسپترون چند لايه‌اي را ايجاد كرده و مورد مطالعه قرار دادند . كتاب آن‌ها به نام « پردازيش توزيع شده موازي» هنوز يكي از مهم‌ترين كتاب‌هاي اين  حوزه علمي است .

نحوه عمل پرسپترون چند لايه‌اي مشابه پرسپترو تك لايه‌اي است . بدين صورت كه الگويي به شبكه عرضه مي‌شود و خروجي آن محاسبه مي‌گردد ، مقايسه خروجي واقعي و خروجي مطلوب باعث مي گردد كه ضرايب وزني شبكه تغيير يابد به طوري كه در دفعات بعد خروجي درست تري حاصل شود . قاعده فراگيري روش ميزان كردن ضرايب وزني شبكه را بيان مي‌كند . ديديم كه قاعده ساده فراگيري پرسپترون تك لايه‌اي در مورد پرسپترون چند لايه‌اي كارگر نيست . ليكن استفاده از تابع سيگموند بدان معني است كه واحدهاي مياني تا اندازه‌اي نسبت به خروجي هاي مدل آگاهي دارند . به طوري كه مي توان ضرايب وزني آن‌ها را براي كاهش ميزان خطا تنظيم كرد .

قاعده فراگيري پرسپترون چند لايه‌اي قدري پيچيده تر از قاعده قبلي است . بهترين راه درك آن بررسي رفتار شبكه هنگام آموزش الگوهاي عرضه شده مي‌باشد . وقتي به شبكه آموزش نديده‌اي الگويي را عرضه مي‌كنيم ، خروجي‌اي تصادفي توليد مي‌كند . ابتدا بايد تابع خطايي را تعريف كنيم كه تفاوت خروجي واقعي و خروجي مطلوب را نشان دهد . براي موفق شدن در آموزش شبكه بايد خروجي آن را به تدريج به خروجي مطلوب نزديك كنيم . به عبارت ديگر بايد ميزان تابع خطا را به طور دائم كاهش دهيم . براي اين منظور ضرايب وزني خطوط ارتباطي واحدها با استفاده از قاعده كلي دلتا ميزان مي شود . قاعده دلتا مقدار تابع خطا را محاسبه كرده و آن را به عقب از يك لايه به لاي پيشين آن انتشار مي‌دهد. عبارت « پس انتشار» به اين علت است . ضرايب وزني هر مورد واحدهاي لايه خارجي ساده زيرا خروجي واقعي و مطلوب آن‌ها را مي دانيم ، ولي در مورد لايه مياني چندان روشن نيست. اين گمان مي‌رود كه ضرايب وزني واحدهاي پنهان كه به واحدهاي مرتبط آن‌ها خروجي تقريباً صحيحي دارند تغيير يابد . در واقع رياضيان نشان مي‌دهد كه ضرايب وادها بايد به تناسب ميزان خطاي واحدي كه به آن متصل‌اند تغيير كند . بنابراين مي‌توان با انتشار خطا به عقب ضرايب وزني خطوط ارتباطي تمام لايه‌ها را به درستي ميزان كرد . به اين طريق تابع خطا كاهش و شبكه آموزش مي‌يابد .

5-4ـ الگوريتم پرسپترون چند لايه‌اي

الگوريتم پرسپترون چند لايه‌اي كه از قاعده آموزش پس انتشار استفاده مي‌كند در زير شرح داده شده است . اين الگوريتم به توابع غير خطي نياز دارد كه به طور پيوسته قابل مشتق‌گيري باشند . به عبارت ديگر توابع بايد هموار باشند . ما استفاده از تابع قابل مشتق‌گيري باشند . به عبارت ديگر توابع بايد هموار باشند . ما با استفاده از تابع سيگمويد،                را به علت سادگي مشتق آن انتخاب كرده‌ايك .

الگوريتم آموزش پرسپترون چند لايه‌اي

  1. مقادير اوليه ضرايب وزني و آستانه‌ها را انتخاب كنيد .تمام وزن‌ها و آستانه ها را برابر با اعداد كوچك تصادفي قرار دهيد.

ورودي‌ها و خروجي هاي مطلوب را به شبكه عرضه كنيد .

  1. ورودي                    و خروجي هدف                   را به شبكه عرضه كنيد  تعداد عناصر بردارهاي ورودي و                  مقدار عناصر بردارهاي خروجي است . ضريب وزني  را برابر با منفي مقدار آستانه     و مقدار    قرار دهيد . اگر مسئله مورد نظر ما مسئله تداعي باشد          نمايانگر دو بردار تداعي شونده  هستند . در مسئله طبقه‌بندي تمام عناصر   برابر با صفر قرار داده مي‌شود مگر يكي از عناصر كه برابر با 1 است و آن طبقه‌ اي را نشان مي‌دهد كه    در آن قرار دارد .
  2. خروجي را محاسبه كنيد .

هر لايه مقادير زير را محاسبه كرده و به لايه بعدي انتقال مي‌دهد .

  1. ضرايب وزني را ميزان كنيد . ابتدا از لايه خارجي شروع كنيد و به عقب برگرديد

5.     نشان دهنده  ضرايب وزني از گره I به گره  در زمان   ضريب بهره و                  نمايانگر خطاي مربوط به الگوي p  در كره است .

در مورد واحدهاي لايه خارجي

در مورد واحدهاي لايه پنهان :

در حالي كه عمل جمع در مورد واحد واقع در لايه بعدي از واحد صورت مي گيرد .

5-5ـ بررسي مجدد مسأله ياي حذفي (XOR)

در فصل گذشته ديديم كه پرسپترون تك لايه‌اي قادر به  حل مسئله ياي حذفي XOR نيست. اين مسئله كه افشا كننده محدوديت پرسپترون تك لايه‌اي بود ، خود به صورت معياري براي ارزيابي و قضاوت در مورد عملكرد مدل‌هاي مختلف شبكه‌هاي عصبي در آمده و بسياري از ويژگي هاي پرسپترون چند لايه‌اي توسط آن نمايان شده است . به ياد داريم كه در مسئله ياي حذفي مقصود  حل مسئله طبقه بندي زير است :

اولين آزمون پرسپترون چند لايه‌اي اين است كه آيا مي توانيم مدلي را بسازيم كه مسئله ياي حذفي را حل كند . شبكه ساختاري سه لايه‌اي دارد، دو واحد در لايه ورودي (چون بردارهاي ورودي دو عنصردارند )، يك واحد درلايه پنهان و يك واحد خروجي. ضرايب وزني بر روي خطوط ارتباطي و مقادير آستانه در داخل هر واحد نوشته شده است . تا جايي كه به واحد خروجي مربوط مي شود واحد پنهان با ساير واحدهاي ورودي تفاوتي ندارد و آن هم تنها يكي از ورودي‌ها محسوب مي‌شود .

توجه كنيد كه مقدار آستانه 5/1 در واحد پنهان به اين معني است كه اين واحد نمي‌تواند فعال باشد مگر اين كه هر واحد و رودي فعال باشد . جالب است كه رتفار شبكه را هنگام حل مسئله XOR مشاهده كنيم. وقتي هر دو ورودي خاموش باشد (0 0)، واحد پنهان نيز خاموش است ، و هيچ مقدار ورودي خالص دريافت نمي‌كند. بنابراين خاموش مي‌ماند  در اين حالت واحد خروجي ورودي خالص 1+ را دريافت مي‌كنند كه از حد آستانه آن تجاوز مي‌كند . در نتيجه واحد خروجي فعال مي‌شود . همين حالت نيز در صورتي كه تنها واحد  ورودي سمت راست فعال باشد (1 0) ، اتفاق مي‌افتد . وقتي هر دو واحد ورودي فعال باشند (1 1) واحد پنهان مقدار ورودي خالص 2+ دريافت مي كند . اين مقدار از آستانه واحد پنهان تجاوز مي‌كند. در نتيجه واحد پنهان فعال مي شود . در اين صورت واحد  خروجي از هر كدام از واحدهاي ورودي مقدار 1+ (مجموعاً 2+) و از واحد پنهان مقدار2- را دريافت مي‌كند. در نتيجه مجموع ورودي‌هاي خالص واجد خروجي صفر مي شود كه از مقدار آستانه آن  كم تر است و در نتيجه خاموش مي ماند خلاصه نتايج در جدول زيرآمده است :

با بررسي خروجي واحد پنهان در جدول فوق مشاهده مي‌كنيم كه اين واحد به درستي تشخيص مي‌دهد كه در چه زماني هر دو واحد ورودي فعال هستند ، چه تنها  در اين زمان است كه اين واحد فعال مي شود . چون واحدهاي ورودي شبكه مقدار ورودي هاي شبكه را عيناً تكرار مي‌كنند بنابراين مجموع اطلاعاتي كه به واحد خروجي ارسال مي شود از سه ناحيه است . واحد ورودي سمت راست نشان مي دهد كه آيا آن ورودي فعال است يا نه، واحد ورودي سمت چپ نيز نشان مي‌دهد كه آيا آن ورودي فعال است يا نه، در اين هنگام واحد پنهان بيان مي‌كند كه آيا آن‌ها فعال‌اند  يا نه. چون واحد خروجي واحد پنهان را همانند يكي از ورودي ها مي‌پندارند الگوي ورودي ظاهري آن براي هر طبقه به اندازه كافي متمايز خواهد بود .

واحد پنهان مانند يك مشخصه ياب عمل مي‌كند . او مي‌يابد كه در چه زماني هر دو واحد ورودي فعال‌اند . به نظر مي‌رسد كه واحد پنهان بردارهاي ورودي را كدگذاري مجددي مي كند،‌به طريقي كه شبكه بتواند ارتباط ورودي‌ها را باخروجي‌ها به درستي فراگيرد. اين كدگذاري يا بازنمايي داخلي در نحوه عمل شبكه بسيار حياتي است . با تعداد كافي واحدهاي پنهان مي‌توان بازنمايي داخلي هر الگوي ورودي را به طريقي در شبكه شكل داد كه واحدهاي خروجي بتوانند در مقابل هر ورودي مورد نظر خروجي مطلوب آن را توليد كنند . قاعده كلي دلتا شيوه‌اي را براي آ‌موزش پرسپترون چند لايه فراهم مي‌كند ، و با استفاده از واحدهاي پنهان بازنمايي داخلي لازم را در شبكه ايجاد مي‌كند . البته بعيد است كه ضرايب وزني توليد شده توسط شبكه آموزش ديده به سادگي مثال فوق باشد ، ليكن اصول كار همان است. راه حل ديگري را براي مسئله XOR نشان مي‌دهد .

پر سپترون‌هاي چند لايه‌اي در اندازه ها و شكل‌هاي متفاوت ساخته مي شوند ، در حالي كه تماماً از قاعده فراگيري يكساني پيروي مي كند . به عبارت ديگر براي  حل مسئله واحد مي‌توان ساختارهاي متفاوتي را طراحي كرد، يكي از ساختارهاي جالب هنگامي است كه برخلاف مثال فوق ارتباط مستقيمي بين واحدهاي ورودي و واحدهاي خروجي نباشد . اين حالت و حل نهايي مسئله XOR با اين ساختار در شكل آ‌مده است . واحد پنهاني سمت راست ابتدا تميز مي‌دهد كه آيا هر دوواحد ورودي فعال هستند. در اين صورت باعث مي‌گردد كه مقدار خروجي واحد خروجي صفر گردد . وقتي كه تنها يكي از واحدهاي ورودي فعال باشند ، واحد تنهايي سمت چپ باعث مي‌گردد كه مقدار خروجي واحد خروجي 1 شود  . وقتي كه هر دو  واحد ورودي خاموش (0) باشند ، هر دو واحد پنهان خاموش مي‌مانندو در نتيجه مقدار خروجي واحد خروجي صفر مي‌شود .

متأسفانه قاعده فراگيري لزوماً همگرايي شبكه را تضمين نمي‌كند . فرآيند آموزش ممكن است . به حالتي در آيد كه نتواند به درستي خروجي هاي مطلوب را فراگيرد .

. واحد ورودي سمت راست هر دو واحد پنهان را فعال مي‌كند . در نتيجه مقدار ورودي خالص واحد خارجي 0.8 يعني درست برابر با مقدار آستانه آن مي‌شود . چون تابع آستانه سيگمويد است خروجي آن دقيقاً برابر با 5/0 خواهد شد . اين وضعيت پايدار است و با آموزش‌هاي بيش‌تر تغيير نمي كند . چنين نقطه كمينه موضعي به ندرت (تقريباً در 1% موارد) در حل مسئله XOR پيش مي‌آيد.

مسئله جزئي ديگري ممكن است در آموزش شبكه‌ها با استفاده از قاعده كلي دلتا پيش آيد . چون تغيير ضرايب وزني متناسب با خود ضرايب است اگر در  ابتداي شروع آموزش مقادير ضرايب تماماً‌مساوي تعيين شود هرگز ضرايب نامساوي ايجاد نشده و شبكه به حالت نامتقارني كه احتمالاً مورد نياز است منتهي نخواهد شد.

5-6 لايه هاي شكبه : Network Layers

معمول‌ترين نوع شبكه عصبي مصنوعي شبكه‌اي است كه داراي 3 لايه ورودي لايه پنهان  در نهايتاً لايه خروجي مي‌باشد كه لايه ورودي به لايه پنهان به لايه خروجي . فعاليت واحد رودي تغزيه شدن اطلاعات خام  (Data) را توسط شبكه نشان مي‌دهد . فعاليت هر واحد پنهان توسط فعاليت واحد ورودي و وزن‌هايي كه روي واحدهاي ورودي و پنهان اعمال مي‌شود، تعيين       مي شود .

رفتار واحد خروجي به فعاليت هاي واحد خروجي و وزن هايي كه روي واحدهاي نهايي و خروجي اعمال مي شود ، بستگي دارد.

اين نوع ساده از شبكه خيلي جذاب است زيرا لايه پنهان خود را واقعاً پنهان كرده است و مثل لايه ورودي قابل مشاهده نيست . وقتي واحد پنهان فعال باشد وزن ها بين واحد ورودي و وا حد پنهان تعيين مي‌شود و واحد پنهان با اصلاح اين وزن‌ها مي‌تواند آنچه را كه بايد نشان دهد را انتخاب كند سازمان دهي تك لايه اي (جايي كه تمام واحدها به يكديگرمتصل هستند ) داراي قدرت قابليت بيشتري در محاسبه خطا نسبت به سازمان‌دهي چند لايه اي است .

در سازمان دهي چند لايه‌اي ، و احدها معمولاً توسط لايه ها شماره‌گذاري مي شوند بجاي اينكه از يك شماره گذاري سراسري استفاده شود.

 

5-7معرفي جند شبكه:

1ـ شبكه‌هاي عصبي پيش خور :

شبكه‌هاي عصبي مصنوعي پيش‌خور به سيگنال‌ها اجازه مي‌دهند به تنهايي در مسير ورودي به خروجي حركت كنند . خروجي هر لايه‌اي هيچ تأثيري روي لايه‌هاي مشابه ندارد . شبكه‌هاي عصبي مصنوعي پيش‌خور تمايل دارند كه بصورت شبكه‌هايي تقسيم باشند تا بتوانند ورودي را به خروجي پيوند دهند  از اين شبكه‌ها مكرراً براي شناخت و تشخيص الگوها استفاده مي‌شود .

2ـ شبكه‌هاي عصبي پس خور:

شبكه‌هاي پس خور مي‌توانند با مصرفي ميسر (loops) در شبكه سيگنال ها را در هر دو جهت  حركت دهند . شبكه‌هاي پس خور خيلي قدرتمند هستند و مي‌توانند بسيار پيچيده باشند . اين شبكه‌ها پويا هستند آنها دائماً در حال تغيير هستند تا زماني كه به منتظر تعادل (equilibrium point) برسند . آنها در نقطه تعادل باقي مي‌مانند تا زماني كه ورودي  ها تغيير كنند و يا به تعادل جديدي نياز باشد . از شبكه‌هاي پس خور براي علامت‌گذاري و مشخص‌كردن اتصالات پس خور در سازمان‌دهي تك لايه‌اي استفاده مي‌شود .

5-8 معرفي نمونه اي از توابع كليدي

mse  :‌

هدف از اجراو نمايش مسير نامنظم و اشتباه سازگار و مستقر شده   كه از لحاظ مفهومي  مجد و رومربع شده اند. تركيب و هماهنگي  قسمت هاي مختلف :

(E.X,PP‌) mse‌= Perf

(, PPشبكهE, )mse = Perf

(كد ) mse‌ = info

توصيف و تشريح :‌ mse يك هدف اجراو نمايش شبكه است كه عملكرد و ايفاي نقش شبكه  را مطابق  با مفهوم   و معناي  مسيرهاي نامنظم و اشتباه اندازه گيري  مي كند . mse (E.X,PP‌)  از يك تا سه استدلال و اثبات را مطرح مي كند:‌ 1-  E‌- ماتريكس يا درصف بطور منظم قراردادن بردارها و مسيرهاي اشتباه و نامنظم. 2 X- بردار و خط سير همه مقادير نيرو و مسيرهاي منحني و متاميل  ( به رسميت شناخته نشده و رد شده ) 3 – پارامترهاي اجرا و نمايش PP‌- (‌به رسميت شناخته نشده و رد شده )‌. و عملكردها و گزارشهاي  مسيرها نامنظم مربع شده عبارتند از :‌

1-(, PPشبكهE, ) mse كه مي تواند يك استدلال  و اثبات  متناوب را براي X‌مطرح كند. 2- شبكه – شبكه عصبي از X كه مي تواند فراهم آورده شود. اطلاعات مفيد عملكردهاي (كد )‌ mse براي هر دسته كد عبارتند از :‌ 1- “drive”‌ نام عمل و اجراي اشتقاقي 2- “name- نام كامل .3-“pnames”‌- نامهايپارامترهاي آموزشي4- “pdefaults”– نقيصه پارامترهاي آموزشي

مثالها :‌يك شبكه  مستعد  به تلاش كه داراي  دولايه است توسط يك ترادف و مجموعه وروديهاي  ،‌ Tansingيك عنصري از -10-تا10 چهار سلول پوشيده و پنهان شده . با تمام اجزاء  خود و يك  در قسمت افقي ستونها بوجود مي آيد. Purelin‌ سلول خروجي

net (شبكه) = newff (]-10 10 ][4   1 [,]”tansing” , “purelin”[

2- شبكه اي كه با يك سري از وروديهايP داده مي شود دراين شبكه مسير نامنظم و اشتباه توسط  كسر كردن خروجي A از نشان و هدف T‌ محاسبه مي شود و سپس مي توان mse را اندازه گرفت.

Perf = mse (e)

P= (-10  -5  0  5  10 ) ؛ T = ( 0    0   1  1  1 )      y = sim( شبكه , P) e = t-y

‌توجه كنيد كه mse‌ مي تواند نشان داده و مطرح شوند فقط با يك استدلال زيرا استدلالهاو اثباتهاي ديگر به رسميت شناخته نشده وا رد مي شوند . mse از استدلالهاي رد شده جهت تطبيق و برابري با ليست استدلال هدف اجراي و نمايش استاندارد شده حمايت و پشتيباني مي‌كند .

كاربرد استفاده از شبكه : شما مي‌توانيد يك شبكه استانداردي را بوجود آوريد كه mse را به همراه newwf و newcf يا newelm استفاده مي‌كند. براي مطرح سازي يك شبكه عادي و مرسوم بايد آموزش با mse گرفته شود كه در آن شبكه perform fcn با mse تنظيم و برآورد مي‌شود كه اين امر بطور اتوماتيك شبكه performpayam را با ماتريكس خالي ][  هماهنگ مي‌كند، همنطور كه mse هيچ پارارمتر اجرايي و نمايش ندارد . در هر دو حالت ، نشان دادن آموزش يا جور كردن و تبديل كردن، نتيجه در mse براي نمايش و اجراي محاسبه استفاده خواهد

Tansig

تابع انتقال منحني شكل تانژانت هيپربوليك

توجه : فرق تابع tansig وpurelin د راينست كه purelin يك تابع انتقال خطي است ولي Tansig يك تابع انتقال منحني شكل است .

tansig  يك تابع انتقال است . توابع انتقال خروجي لايه‌ها را از ورودي شبكه محاسبه مي‌كند tansig (N) يك ورودي را مي‌گيرد :

ماتريس از بردارهاي ورودي شبكه Q*S N   و خروجي كه برمي‌گرداند بين 1- و 1 است

Tansig(code) براي هر رشته كد حروفي مفيدي را به شرح زير بر مي‌گرداند :

تابع tansig بعد از تانژانت هيربوليك نام‌گذاري شده تانژانت هيپربوليك به احتمال زياد دقيق است .

مثال : در اينجا با چند  كد براي ايجاد كردن گرافي از تابع انتقال tansig مواجه مي‌شويم :

كاربرد شبكه :Network use  شما مي‌توانيد شبكه‌اي استاندارد ايجاد كنيد كه از tansig با فراخواني newff يا newcf استفاده كند . براي تغيير هر شبكه هر لايه از tansig استفاده مي‌كند .

 tansigset net. layers {i,j}. transferFcn to 

الگوريتم آن بصورت زير است :n=2/(1+exp(-2*n)-1                                                                                           

tansig (N) خروجي اش برطبق فرمول زير محاسبه مي‌كند :

اين فرمول دقيقاً برابر مي باشد .

Purelin    تابع انتقال خطي

يك تابع انتقال است . توابع انتقال خروجي يك لايه را از وردي شبكه محاسبه مي‌كند . يك ورودي را مي‌گيرد مثلاً  ماتريس از بردارهاي ورودي شبكه   را بر مي‌گرداند .

براي هر رشته كه اطلاعات (خروجي) را برمي‌گرداند

آموزش شبكه

شبكه براي نخستين بار مقدار دهي مي شوند، شبكه آماده آموزش ديدن  Bias هنگامي كه وزن ها و

مي شود.مي توان شبكه را براي نزديكي(رگرسيون غير خطي)،ارتباط الگويي،طبقه بندي الگويي آموزش داد.

 وخروجي هاي pيك پروسه آموزش به يك سري از رفتار اصلي شبكه نياز دارد- ورودي هاي شبكه

 .Target (t)آن

 شبكه پي در پي تنظيم مي شوند تا خطاي شبكه را به حد اقل برساند.biasدر جريان يادگيري اوزان

 مي باشد.Mse  ميانگين مجذور خطاي Feedforward پيش فرض حاصل عملكرد براي شبكه

 است.target  و خروجي هاي a خطايي مجذور شده متوسط ميان خروجي هاي

در ادامه اين بخش چندين الگوريتم متفاوت آ'وزشي براي شبكه ها توصيف مي شود.

تمام اين الگوريتم ها از گراديان حاصل عملكرد استفاده مي كنند تا مشخص كنند كه چگونه اوزان را تنظيم كنند كه خطا به حد اقل برسد.

   استفاده مي كنند . كه مستلزم محاسبات Backpropagation گراديان با استفاده از روش باز انتشار

اجرايي برعكس در سراسر شبكه مي باشد.

   Backpropagation 

   تنوع زيادي  دارد كه Backpropagation اجرايي برعكس در سراسر شبكه مي باشد.الگوريتم

بعضي از آنها را در اين فصل توضيح مي دهيم .

دو روش وجود دارد كه الگوريتم گراديان نزولي مي تواند انجام دهد :

1- شيوه فرايند 2- شيوه گروهي .

updateدر روش فرايند بعداز اينكه هر ورودي به شبكه اعمال مي شود گراديان محاسبه شده و اوزان

 مي شود. updateمي شود . در روش دوم ، تمام ورودي ها به شبكه اعمال مي شود سپس اوزان

در اين قسمت فقط حالت دوم را توضيح مي دهيم .

  به  روز bias  در روش گروهي فقط زماني اوزان و :(Batch training(train)يادگيري گروهي(

مي شود كه تمام دوره  يادگيري  به شبكه اعمال شده باشد . گراديان هاي كه در هر نمونه يادگيري    تعيين كنند. 0bias محاسبه مي شوند با هم جمع شده تا تغيير را اوزان و

learndm :

 نزول شيب با هدف ياديگيري نيرو و مسيرهاي متمايل و منحني گشتاور نيروي حركتي آن .

توصيف و تشريح : learngdm نزول شيب با هدف ياديگيري نيرو مسيرهاي متمايل و منحني معلق به گشتاورنيرو و نيروي حركتي آني است.learngdm چندين ورودي را مطرح مي كند كه عبارتند از :

w  -  ماتريكس نيروي SXR (يا بردار و مسير منحني و متمايل SX1 )

P – بردارهاي و مسيرهاي ورودي PXQ ( يا (1,Q)ones ).

  Z ـ بردارها و خط مسيرهاي ورودي سنگين و داراي وزن زياد SXQ .

N ـ بردارها و مسيرهاي ورودي شبكه SXQ .

A ـ بردارها و مسيرهاي خروجي SXQ

T ـ بردارها و مسيرهاي هدف گيري كردن لايه SQX

E ـ مسيرهاي نامنظم و اشتباه لايه SXQ

gw ـ شيب SXR با توجه اجرا و نمايش

gA – شيب خروجي SXQ با توجه به اجرا و نمايش

10ـ b ـ فواصل SXS

11ـ LP ـ پارامترهاي آموزشي و يادگيري به جزء LP=[  ]

12ـ LS ـ مرحله و حالت يادگيري در ابتدا بايد بصورت [  ]  = باشد.

و عملكردهاي مربوط به اين وروديهايي كه توسط learngdm مطرح مي‌شوند عبارتند از :

dw ـ ماتريكس مبادله و تغيير نيروي SXR

LS  ـ  حالت ياديگري جديد . كه البته يادگيري و آموزش مطابق با پارامترهاي ياديگري و آموزش learngdm نشان داده شده در اينجا به همراه مقادير نقيصه يادگيري جديد. كه البته يادگيري و آموزش مطابق با پارامترهاي يادگيري و آموزش learngmdm نشان داده شده د راينجا به همراه مقادير نقيصه آنها اتفاق مي‌افتد.

3ـ سرعت آموزش و يادگيري LP.Ir-0.07-

4ـ پيوستگي و پايداري نيروي حركت و گشتاور نيرو LP.mc-0.9- د رنتيجه اطلاعات مفيد عملكردهاي (كد) learngdm براي هر دسته از كد عبارتند از

1ـ”pnames “ – نامهاي متعلق به پارامترهاي آموزش و يادگيري

2ـ ”pdefaults– نقيصه پارامترهاي آموزش و يادگيري .

3ـ”needg  “- عملكردهاي 1 اگر اين عمل از gW يا gA استفاده كند .

مثالها : در اينجا ما يك شيب تصادفي G را از يك ورودي دو عنصري به يك لايه سه سلولي با تمام اجزاي خود مي‌برد را تعريف مي‌كنيم . همچنين ما يك سرعت آموزش و يادگيري 0.5 و پايداري و پيوستگي نيروي حركت و گشتاور IP.mc0.8;   IP.Ir=0.5;  0.8;  gw.rand(2,3) را تعريف مي‌كنيم زيرا lernedcm فقط به مقاديري از اينها نياز دارد جهت محاسبه كردن كه نيرو را تغيير مي‌دهد (الگوريتم پايين را نگاه كنيد ). ما از آنها نيز استفاده خواهيم كرد . ما از نخستين حالت تصفيه آموزش و يادگيري 1s=[ ]; استفاده خواهيم كرد [dw,1s] = learndm ( [ ],[ ],[ ],[ ],[ ],[ ],[ ],gw,[ ],[ ],1p,1s ) عملكردهاي learnegdm نيرو را تغيير مي‌‌دهد و يك مرحله آموزش و يادگيري جديد بوجود مي‌آورد

كاربرد شبكه :شما مي توانيد يك شبكه استانداردي را بوجود آوريد كه learndm را به همراه newcf,newff يا newelm استفاده مي كند . براي آماده‌سازي نيروها و مسيرهاي لايه نادريك شبكه مرسوم و عادي نياز به تطبيق و برابري learnydm است :

1ـ شبكه adapt Fcn را با”trains  “ تنظيم و برآورد كنيد كه در اينصورت شبكه adaptparamبطور اتوماتيك از نقيصه پارامترهاي ”trains “ خواهد شد.

2ـ هرشبكه input weights {i,j} و learn Fcn را با ”learndgm  “ تنظيم و برآورد كنيد . هر شبكه learn FCN.biases {i}learndgm  “تنظيم و برآورد كنيد . هر نيرو و خاصيت پارامتر آموزش و يادگيري بطور اتوماتيك با پارامترهاي نقيصه learngdm برآورد خواهد شد .

 الگوريتم : learngdm حدود تغييرات نيروي dw را براي يك سلول با تمام اجزاي خود از ‍‌p و E مسير نامنظم و اشتابه ، وزن و نيروي W ، سرعت آموزش و يادگيري LR و يادگيري LR و پايداري نيروي حركت و گشتاور نيروي MC را مطابق با نزول شيب گشتاور محاسبه مي‌كند .

dw=mc dwprev+(1-mc) Ir gw حدود تغييرات قبلي نيرو يعني dwprev ذخيره مي‌شود و از مرحله آموزش و يادگيري LS خوانده مي شود .

Batch Gradient Descent (traingd)

شيب دار ترين تابع يادگيري traingd است .

وزن ها و bias  در جهت منفي گراديان به روز مي شوند.اگر شما مي خواهيد شبكه را با استفاده از   شديدترين تنزل گروهي آموزش دهيد ،بايد شبكه trainFcn را به traingd تنظيم كنيد .و سپس تابع يادگيري را احضار بنماييد . فقط يك تابع يادگيري براي اين شبكه وجود دارد و هفت پارامتر يادگيري مربوط به traingd مي باشد . كه عبارتند از :

نقطه عطف ، نمايش ، هدف ، زمان ، min_grad, max_fail ، سرعت يادگيري.

سرعت يادگيري  ( lr) را در منفي گراديان ضرب مكند تا تغييرات  وزن ها و bias را تعيين كند. هر چه ميزان ياد گيري بيشتر باشد گام يادگيري بزرگتر است . اگر ميزان يادگيري خيلي گسترده شود الگوريتم ناپايدار مي شود .اگر ميزان يادگيري به صورت جزئي در نظر گرفته شود زمان زيادي طول مي كشد تا الگوريتم همگرا شود .

وضعيت يادگيري براي هر تكرار الگوريتم نمايش داده مي شود ديگر پارامتر ها مشخص مي كنند كه چه زماني يادگيري متوقف شود.

يادگيري در اثر:يادگيري طولاني تر از زمان (time seconds)باشد، بزرگي گراديان كمتر از  mingrad

باشد  ، متوقف مي شود .

اعداد آموزشي زير با ورودي p   و نتيجه t  آماده يادگيري مي باشد .

p = [-1 -1 2 2;0 5 0 5]  ;          t = [-1 -1 1 1] ;

Batch Gradient Descent with Momentum (traingdm).

در اينجا گروهي از الگوريتم هاي براي شبكه feedforward وجود دارد كه همگراي سريعتر را فراهم مي كنند.مقدار حركت اين اجازه را به شبكه مي دهد تا تنها در مورد گراديان هاي محلي واكنش ندهد.moment ها لين اجازه را به شبكه مي دهند تا در مورد خطا ها سطحي بي تفاوت باشند .بدون moment ها امكان نفوذ به داخل شبكه كمتر مي شود.

 

One Step Secant Algorithm (trainoss)

از زماني كه الگوريتم BFGS براي ذخيره سازي و حساب رسي در مورد هر يك از تكرار ها با استفاده از تعامل گراديان ها الگوريتمي مورد نياز شد نياز به يك تقريب متقاطع با ذخيره سازي كوچكتر  احساس مي شد.اولين روش آن (oss)  مي باشد كه به عنوان فاصله ميان الگوريتم گراديان و الگوريتم quasi-Newton به حساب مي آمد .اين الگوريم به طور اختصاصي و به صورت تنها در يك ماتريس ذخيره نمي شود . اينطور فرض مي شود كه در هر يك از تكرار ها يك ماتريس مشخص ايجاد مي شود .اين روش يك مزيت اضافه بر مسير جستجوي جديد دارد كه  بدون محاسبه ماتريس معكوس مي باشد .

پارامتر هاي آموزش trainoss مشابه traincgf مي باشد .

Powell-Beale Restarts (traincgb)

مسير جستجو به صورت دوره اي براي هدايت گراديان ها آغاز مي شود .رئش هاي آغلز ديگر نيز وجود دارد .يكي از اين روش ها توسط (powell ) اختراع شده است .او بر اساس نسخه اوليه (beal) شكل گرفته است .

آموزش با traincgd   به مانند آموزش با traincgf   مي باشد.خط جستجو از پيش تعيين شده است .پارامتر هاي نمايش داده شده و مبداء آغازي با ارزش برابر براي traincgd بنياد نهاده شده است .

ما در اين بخش فقط تعدادي از توابع و الگوريتم ها را براي نمونه توضيح مختصري داديم .براي كسب اطلاعات بيشتر مي توانيد help    به نرم افزار  MATLAB  مراجه كنيد .


5-9 بررسي يك مثال عملي :

با توجه به بررسي و توضيح بعضي از توابع و الگوريتم هاي پرسپترون كه در با لا توضيح داده شد، اينك با ارائه يك مثال عملي به بررسي پارامتر هاي مانند زمان يادگيري ، گام يادگيري ، ميزان خطا و در نهايت نتيجه بدست آمده مي پردازيم.

 مي باشد .كه اين نمدار را با Sinمثالي را كه ما در اينجا پياده سازي مي كنيم در واقع رسم نمودار   

استفاده از شبكه عصبي رسم مي كنيم .در واقع ما با استفاده توابع و الگوريتم هاي شبكه عصبي  به شبكه خود آموزش مي دهيم تا بتواند اين نمودار را رسم كند.وسپس با تغيير اين توابع والگوريتمها

 به بررسي نتايج بدست آمده توسط  آنها  مي پردازيم .

  توضيح در مودر الگوريتم:

Mysinخط صفر :  ابتدا نام تابع خود را تعيين مي كنيم (

             قرار مي دهيم.O  را با تفاوت .3/0 تعيين مي كنيم ودر pi تا -pi نقاط sinخط اول:

                                             قرار بده.I را با تفاوت 3/. در pi تا -piخط دوم: نقاط  

خط سوم :نمودار ساده با نفاط بدست آمده را فقط براي باز شدن ديد كاربر رسم مي كنيم.

 تعريف مي كنيم.كه در آن 10 نرون نهان newff را از نوع شبكه عصبي Net خط چهارم :متغيير

 مي باشند.purelin و tansingو يك نرون لايه خروجي فرار دارد كه به ترتيب داراي توابع

 اين دستور يك سري ورودي را به شبكه داده و خروجي را استخراج sim(simulate) خط پنجم :

               مي گزارد.(با توجه به اوزان اوليه و قبل از مرتب شدن وزن ها).H كرده در پارامتر

 اين نمودار اوليه در خط پنجم را رسم مي كند.Plot خط ششم :دستور

خط هفتم : تعداد خط يادگيري را مشخص مي كنيم.

خط هشتم : ميزان خطا اندازه گيري شده را مشخص مي كنيم .

  آموزش مي دهيم .O   و خروجي iخط نهم : شبكه را با ورودي

خط دهم : با توجه به آموزشي كه شبكه ديد مختصات نقاط ديگر را نيز مشخص مي كنيم.

خط يازدهم :نمودار را رسم مي كنيم .

الگوريتم :

function mysin%(o,i)

o=sin(-pi:0.3:pi);

i=-pi:0.3:pi;

plot(i,o,'+');

net=newff([-pi pi],[10 1],{'tansig' 'purelin'}, 'trainlm','learngdm','mse');

h = sim(net,-pi:0.01:pi);

plot (-pi:0.01:pi,h);

net.trainParam.epochs =400;

net.trainParam.goal = 1e-10;

net = train(net,i,o);

h = sim(net,-pi:0.01:pi);

plot (-pi:0.01:pi,h);

 نتايج زير حاصل مي شود.Matlabبعد از پياده سازي عيني الگوريم بالا در نرم افزار     

 

 

 

sinنمودار                                                trainingنمدار     

 

                                                  

 خط چهارم الگوريتم تغيير كرده و نتايج زيربدست مي آيدTansig  با تابع Purelin با تعويض تابع

net=newff([-pi pi],[10 1],{'tansig 'tansig'}, 'trainrp','learngdm','mse');

 

 

 

sinنمودار                                                             trainingنمدار     

 

   

 

 

با تغيير خط چهارم الگوريتم به صورت زير  نيز نتايج به اينگونه حاصل مي شود.

net=newff([-pi pi],[10 1],{'logsig' 'purelin'}, 'trainrp','learngdm','mse');

 

 

 

sinنمودار                                                             trainingنمدار     

 

  

 

 

تغييراتي را كه در بالا مشاهده كرديد چند نمونه تعويض توابع  داخل نروني وتاثيرات حاصل آنها بود. اينكه با تغيير الگوريتم هاي يادگيري به بررسي تغييرات آنها مي پردازيم .

خط چهارم الگوريتم را به صورت زير تغيير مي دهي و نتايج به اينگونه حاصل مي شود.

net=newff([-pi pi],[10 1],{'tansig' 'purelin'}, 'traingd','learngdm','mse');

 

 

 

sinنمودار                                                           trainingنمدار     

 

    

 

 

منابع

آشنايي با شبكه هاي عصبي /آر.بيل وتي.جكسون/ دانشگاه صنعتي شريف

شبكه هاي عصبي مصنوعي /رابرت جي . شالكف/دانشگاه شهيد چمران اهواز

دانشگاه شيراز             FUNDAMENTALS OF NEURAL NETWORKS

  WWW.GOOGLE.COM


فهرست

1

فصل 1 : مقدمه

1

1-1    انسان و كامپيوتر1

4

1-2  ساختار مغز

7

1-2-1   يادگيري در سيستم‌هاي بيولوژيك

7

1-3   تفاوت ها

10

فصل   2: نگرش كلي به شبكه هاي عصبي مصنوعي

10

2-1   تعريف شبكه هاي عصبي

11

2-2   مفاهيم اساسي شبكه هاي عصبي

13

2-3   معرفي اصطلاحات و علائم قراردادي

15

2-4   كاربردهاي محاسبات عصبي

16

2-5   كاربردهاينمونه شبكه هاي عصبي مصنوعي

17

2-6   فوايد و معايب شبكه هاي عصبي مصنوعي

18

2-7   معيارهاي مهندسي به منظور محاسبات عصبي

19

2-8   مراحل مهندسي سيستم ANN

21

2-9   توپولوژي شبكه و خصوصيات

22

فصل 3 : بازشناسي الگو

22

3-1   چشم انداز طرح شناسي

22

3-2   تعريف بازشناسي الگوها

23

3-3   بردارهاي مشخصات و فضاي مشخصات

24

3-4   توابع تشخيص دهنده يا مميز

25

3-5   فنون طبقه بندي

25

3-6   روش طبقه بندي «نزديكترين همسايه»

27

3-7   ميزان هاي اندازه گيري فاصله

31

3-8   دستگاه هاي طبقه بندي خطي

38

فصل 4 : نرون پايه

38

4-1    مقدمه

38

4-2  مدل سازي نرون

42

4-3   فراگيري در نرون‌هاي ساده

45

4-4    الگوريتم فراگيري پرسپترون

48

4-5   يك مثال ساده براي پرسپترون ساده.

61

قصل 5 : نرون چند لايه

61

1-5   مقدمه

63

2-5   مدل جديد

64

3-5   قاعده جديد فراگيري

65

5-4   الگوريتم پرسپترون چند لايه

67

5-5   بررسي مجدد مساله XOR

70

5-6   ليه هاي شبكه

71

5-7   معرفي چند شبكه

71

5-8  معرفي نمونه اي از توابع كليدي

81

5-9   بررسي يك مثال عملي

 


 

 

وزارت علوم ، تحقيقات وفناوري

دانشگاه جامع علمي ـ کاربردي

مرکز آموزش عالي علمي صنعتي خراسان

 

 

آشنايي با شبكه هاي عصبي مصنوعي

 

 

استاد راهنما:

جناب آقاي مهندس ابريشمي

 

 

 

تهيه کنندگان:

يگانه عبدالي

امير حسين معظمي

 

تابستان 84

 

 



[1] _neuron

[2] _soma

[3] _dendrite

[4] _ axson

[5] ـ neurotransmitter

1 –Adaptive systems

2 classification

1 –Adaptive systems                          2-feature

3 _ fuzzy logic                                    4-heuristic

                                                          

 

 

1 Constraint  satisfaction  problems

[6] _  feature vectors

[7] _feature space

[8] _ discriminant functions

[9] _linear classification

2 _classification

1 _distance metrice      2 _Hamming distance

 

1 _Euclidean distance

1 city block distance

1. _square distance

1_ error function

[10] -threshold

1 -feedforward

1 -Heaviside

1 -perceptron

1 –Hebbian learning

1 –Windrow and Hoff

2 –delta rule

1 -ADALINE

2 -MADALINE

3 -bipolar

1 –Rumelhart and Mcclelland.

2 – multilayer perceptron.

منبع : سايت علمی و پژوهشي آسمان--صفحه اینستاگرام ما را دنبال کنید
اين مطلب در تاريخ: یکشنبه 02 فروردین 1394 ساعت: 22:26 منتشر شده است
برچسب ها : ,,,
نظرات(0)

تحقیق درباره سوئيچ شبكه

بازديد: 929

 

آشنايي با سوئيچ شبكه

سوئيچ

شبکه از مجموعه ای کامپيوتر ( گره ) که توسط يک محيط انتقال ( کابلی بدون کابل ) بيکديگر متصل می گردند ، تشکيل شده است. در شبکه از تجهيزات خاصی نظير هاب و روتر نيز استفاده می گردد. سوئيچ يکی از عناصر اصلی و مهم در شبکه های کامپيوتری است . با استفاده از سوئيچ ، چندين کاربرقادربه ارسال اطلاعات از طريق شبکه در يک لحظه خواهند بود. سرعت ارسال اطلاعات هر يک از کاربران بر سرعت دستيابی ساير کاربران شبکه تاثير نخواهد گذاشت .

سوئيچ همانند روتر که امکان ارتباط بين چندين شبکه را فراهم می نمايد ، امکان ارتباط گره های متفاوت ( معمولا" کامپيوتر ) يک شبکه را مستقيما" با يکديگر فراهم می نمايد. شبکه ها و سوئيچ ها دارای انواع متفاوتی می باشند..

سوئيچ هائی که برای هر يک از اتصالات موجود در يک شبکه داخلی استفاده می گردند ، سوئيچ های LAN ناميده می شوند. اين نوع سوئيچ ها مجموعه ای از ارتباطات شبکه را بين صرفا" دو دستگاه که قصد ارتباط با يکديگر را دارند ، در زمان مورد نظر ايجاد می نمايد.
مبانی شبکه

عناصر اصلی در يک شبکه کامپيوتری بشرح زير می باشند:

شبکه . شبکه شامل مجموعه ای از کامپيوترهای متصل شده (با يک روش خاص )، بمنظور تبادل اطلاعات است .

گره . گره ، شامل هر چيزی که به شبکه متصل می گردد ، خواهد بود.( کامپيوتر ، چاپگر و ... )
سگمنت. سگمنت يک بخش خاص از شبکه بوده که توسط يک سوئيچ ، روتر و يا
Bridge از ساير بخش ها جدا شده است .

ستون فقرات . کابل اصلی که تمام سگمنت ها به آن متصل می گردند. معمولا" ستون فقرات يک شبکه دارای سرعت بمراتب بيشتری نسبت به هر يک از سگمنت های شبکه است . مثلا" ممکن است نرخ انتقال اطلاعات ستون فقرات شبکه 100 مگابيت در ثانيه بوده در صورتيکه نرخ انتقال اطلاعات هر سگمنت 10 مگابيت در ثانيه باشد.

توپولوژی . روشی که هر يک از گره ها به يکديگر متصل می گردند را گويند.
کارت شبکه . هر کامپيوتر از طريق يک کارت شبکه به شبکه متصل می گردد.در اکثر کامپيوترهای شخصی ، کارت فوق از نوع اترنت بوده ( دارای سرعت 10 و يا 100 مگابيت در ثانيه ) و در يکی از اسلات های موجود روی برد اصلی سيستم ، نصب خواهد شد.

آدرس MAC . آدرس فيزيکی هر دستگاه ( کارت شبکه ) در شبکه است. آدرس فوق يک عدد شش بايتی بوده که سه بايت اول آن مشخص کننده سازنده کارت شبکه و سه بايت دوم ، شماره سريال کارت شبکه است .

Unicast . ارسال اطلاعات توسط يک گره با آدرس خاص و دريافت اطلاعات توسط گره ديگر است .

Multicast . يک گره ، اطلاعاتی را برای يک گروه خاص ( با آدرس مشخص ) ارسال می دارد.دستگاههای موجود در گروه ، اطلاعات ارسالی را دريافت خواهند کرد.
Broadcast . يک گره اطلاعاتی را برای تمام گره های موجود در شبکه ارسال می نمايد.
استفاده از سوئيچ

در اکثر شبکه های متداول ، بمنظور اتصال گره ها از هاب استفاده می شود. همزمان با رشد شبکه ( تعداد کاربران ، تنوع نيازها ، کاربردهای جديد شبکه و ...) مشکلاتی در شبکه های فوق بوجود می آيد :

- Scalability . در يک شبکه مبتنی بر هاب ، پهنای باند بصورت مشترک توسط کاربران استفاده می گردد. با توجه به محدود بودن پهنای باند ، همزمان با توسعه، کارآئی شبکه بشدت تحت تاثير قرار خواهد گرفت . برنامه های کامپيوتر که امروزه بمنظور اجراء بر روی محيط شبکه ، طراحی می گردنند به پهنای باند مناسبی نياز خواهند داشت . عدم تامين پهنای باند مورد نيازبرنامه ها ، تاثير منفی در

عملکرد آنها را بدنبال خواهد داشت .

-Latency . به مدت زمانی که طول خواهد کشيد تا بسته اطلاعاتی به مقصد مورد نظر خود برسد ، اطلاق می گردد. با توجه به اينکه هر گره در شبکه های مبتنی بر هاب می بايست مدت زمانی را در انتظار سپری کرده ( ممانعت از تصادم اطلاعات ) ، بموازات افزايش تعداد گره ها در شبکه ، مدت زمان فوق افزايش خواهد يافت . در اين نوع شبکه ها در صورتيکه يکی از کاربران فايل با ظرفيت بالائی را برای کاربر ديگر ارسال نمايد ، تمام کاربران ديگر می بايست در انتظاز آزاد شدن محيط انتقال بمنظور ارسال اطلاعات باشند. بهرحال افزايش مدت زمانی که يک بسته اطلاعاتی به مقصد خود برسد ، هرگز مورد نظر کاربران يک شبکه نخواهد بود.

- Network Failure . در شبکه های مبتنی بر هاب ، يکی از دستگاههای متصل شده به هاب قادر به ايجاد مسائل و مشکلاتی برای ساير دستگاههای موجود در شبکه خواهد بود. عامل بروز اشکال می تواند عدم تنظيم مناسب سرعت ( مثلا" تنظيم سرعت يک هاب با قابليت 10 مگابيت در ثانيه به 100 مگابيت در ثانيه ) و يا ارسال بيش از حد بسته های اطلاعاتی از نوع Broadcast ، باشد.
-
Collisions . در شبکه های مبتنی بر تکنولوژی اترنت از فرآينده خاصی با نام CSMA/CD بمنظور ارتباط در شبکه استفاده می گردد. فرآيند فوق نحوه استفاده از محيط انتقال بمنظور ارسال اطلاعات را قانونمند می نمايد. در چنين شبکه هائی تا زمانيکه بر روی محيط انتقال ترافيک اطلاعاتی باشد ، گره ای ديگر قادر به ارسال اطلاعات نخواهد بود. در صورتيکه دو گره در يک لحظه اقدام به ارسال اطلاعات نمايند ، يک تصادم اطلاعاتی ايجاد و عملا" بسته های اطلاعاتی ارسالی توسط هر يک از گره ها نيز از بين خواهند رفت . هر يک از گره های مربوطه ( تصادم کننده ) می بايست بمدت زمان کاملا" تصادفی در انتظار باقی مانده و پس از فراهم شدن شرايط ارسال ، اقدام به ارسال اطلاعات مورد نظر خود نمايند.

هاب مسير ارسال اطلاعات از يک گره به گره ديگر را به حداقل مقدار خود می رساند ولی عملا" شبکه را به سگمنت های گسسته تقسيم نمی نمايد. سوئيچ بمنظور تحقق خواسته فوق عرضه شده است . يکی از مهمترين تفاوت های موجود بين هاب و سوئيچ ، تفسير هر يک از پهنای باند است . تمام دستگاههای متصل شده به هاب ، پهنای باند موجود را بين خود به اشتراک می گذارند.در صورتيکه يک دستگاه متصل شده به سوئيچ ، دارای تمام پهنای باند مختص خود است. مثلا" در صورتيکه ده گره به هاب متصل شده باشند ، ( در يک شبکه ده مگابيت درثانيه) هر گره موجود در شبکه بخشی از تمام پهنای باند موجود ( ده مگابيت در ثانيه ) را اشغال خواهد کرد. ( در صورتيکه ساير گره ها نيز قصد ارتباط را داشته باشند) . در سوئيچ ، هر يک از گره ها قادر به برقراری ارتباط با ساير گره ها با سرعت ده مگابيت در ثانيه خواهد بود.

در يک شبکه مبتنی بر سوئيچ ، برای هر گره يک سگمنت اختصاصی ايجاد خواهد شد. سگمنت های فوق به يک سوئيچ متصل خواهند شد. در حقيقت سوئيچ امکان حمايت از چندين ( در برخی حالات صدها ) سگمنت اختصاصی را دارا است . با توجه به اينکه تنها دستگاه های موجود در هر سگمنت سوئيچ و گره می باشند ، سوئيچ قادر به انتخاب اطلاعات ، قبل از رسيدن به ساير گره ها خواهد بود. در ادامه سوئيچ، فريم های اطلاعاتی را به سگمنت مورد نظر هدايت خواهد کرد. با توجه به اينکه هر سگمنت دارای صرفا" يک گره می باشد ، اطلاعات مورد نظر به مقصد مورد نظر ارسال خواهند شد. بدين ترتيب در شبکه های مبتنی بر سوئيچ امکان چندين مبادله اطلاعاتی بصورت همزمان وجود خواهد داشت .

با استفاده از سوئيچ ، شبکه های اترنت بصورت full-duplex خواهند بود. قبل از مطرح شدن سوئيچ ، اترنت بصورت half-duplex بود. در چنين حالتی داده ها در هر لحظه امکان ارسال در يک جهت را دارا می باشند . در يک شبکه مبتنی بر سوئيچ ، هر گره صرفا" با سوئيچ ارتباط برقرار می نمايد ( گره ها مستقيما" با يکديگر ارتباط برقرار نمی نمايند) . در چنين حالتی اطلاعات از گره به سوئيچ و از سوئيچ به گره مقصد بصورت همزمان منتقل می گردند.

در شبکه های مبتنی بر سوئيچ امکان استفاده از کابل های بهم تابيده و يا فيبر نوری وجود خواهد داشت . هر يک از کابل های فوق دارای کانکتورهای مربوط به خود برای ارسال و دريافت اطلاعات می باشند. با استفاده از سوئيچ ، شبکه ای عاری از تصادم اطلاعاتی بوجود خواهد آمد. انتقال دو سويه اطلاعات در شبکه های مبتنی بر سوئيچ ، سرعت ارسال و دريافت اطلاعات افزايش می يابد.
اکثر شبکه های مبتنی بر سوئيچ بدليل قيمت بالای سوئيچ ، صرفا" از سوئيچ به تنهائی استفاده نمی نمايند. در اين نوع شبکه ها از ترکيب هاب و سوئيچ استفاده می گردد. مثلا" يک سازمان می تواند از چندين هاب بمنظور اتصال کامپيوترهای موجود در هر يک از دپارتمانهای خود استفاده و در ادامه با استفاده از يک سوئيچ تمام هاب ها(مربوط به هر يک از دپارتمانها) بيکديگر متصل می گردد.
تکنولوژی سوئيچ ها

سوئيچ ها دارای پتانسيل های لازم بمنظور تغيير روش ارتباط هر يک از گره ها با يکديگر می باشند. تفاوت سوئيچ با روتر چيست ؟ سوئيچ ها معمولا" در لايه دوم (Data layer) مدل OSI فعاليت می نمايند.در لايه فوق امکان استفاده از آدرس های MAC ( آدرس ها ی فيزيکی ) وجود دارد. روتر در لايه سوم (Network) مدل OSI فعاليت می نمايند. در لايه فوق از آدرس های IP ر IPX و يا Appeltalk استفاده می شود. ( آدرس ها ی منطقی ) . الگوريتم استفاده شده توسط سوئيچ بمنظور اتخاذ تصميم در رابطه با مقصد يک بسته اطلاعاتی با الگوريتم استفاده شده توسط روتر ، متفاوت است . يکی از موارد اختلاف الگوريتم های سوئيچ و هاب ، نحوه برخورد آنان با Broadcast است . مفهوم بسته های اطلاعاتی از نوع Broadcast در تمام شبکه ها مشابه می باشد. در چنين مواردی ، دستگاهی نياز به ارسال اطلاعات داشته ولی نمی داند که اطلاعات را برای چه کسی می بايست ارسال نمايد. بدليل عدم آگاهی و دانش نسبت به هويت دريافت کننده اطلاعات ، دستگاه مورد نظر اقدام به ارسال اطلاعات بصورت broadcast می نمايد. مثلا" هر زمان که کامپيوتر جديد ويا يکدستگاه به شبکه وارد می شود ، يک بسته اطلاعاتی از نوع Broadcast برای معرفی و حضور خود در شبکه ارسال می دارد. ساير گره ها قادر به افزودن کامپيوتر مورد نظر در ليست خود و برقراری ارتباط با آن خواهند بود. بنابراين بسته های اطلاعاتی از نوع Broadcast در موارديکه يک دستگاه نياز به معرفی خود به ساير بخش های شبکه را داشته و يا نسبت به هويت دريافت کننده اطلاعات شناخت لازم وجود نداشته باشند ، استفاده می گردند.

هاب و يا سوئيچ ها قادر به ارسال بسته ای اطلاعاتی از نوع Broadcast برای ساير سگمنت های موجود در حوزه Broadcast می باشند. روتر عمليات فوق را انجام نمی دهد. در صورتيکه آدرس يکدستگاه مشخص نگردد ، روتر قادر به مسيريابی بسته اطلاعاتی مورد نظر نخواهد بود. ويژگی فوق در موارديکه قصد جداسازی شبکه ها از يکديگر مد نظر باشد ، بسيار ايده آل خواهد بود. ولی زمانيکه هدف مبادله اطلاعاتی بين بخش های متفاوت يک شبکه باشد ، مطلوب بنظر نمی آيد. سوئيچ ها با هدف برخورد با مشکل فوق عرضه شده اند.

سوئيچ های LAN بر اساس تکنولوژی packet-switching فعاليت می نمايند. سوئيچ يک ارتباط بين دو سگمنت ايجاد می نمايد. بسته های اطلاعاتی اوليه در يک محل موقت ( بافر) ذخيره می گردند ، آدرس فيزيکی (MAC) موجود در هدر خوانده شده و در ادامه با ليستی از آدرس های موجود در جدول Lookup ( جستجو) مقايسه می گردد. در شبکه های LAN مبتنی بر اترنت ، هر فريم اترنت شامل يک بسته اطلاعاتی خاص است . بسته اطلاعاتی فوق شامل يک عنوان (هدر) خاص و شامل اطلاعات مربوط به آدرس فرستنده و گيرنده بسته اطلاعاتی است .

سوئيچ های مبتنی بر بسته های اطلاعاتی بمنظور مسيريابی ترافيک موجود در شبکه از سه روش زير استفاده می نمايند.

Cut-Through       -        Store-and-forward          -Fragment-free 


سوئيچ های
Cut-through ، بلافاصله پس از تشخيص بسته اطلاعاتی توسط سوئيچ ، آدرس MAC خوانده می شود. پس از ذخيره سازی شش بايت اطلاعات که شامل آدرس می باشند ، بلافاصله عمليات ارسال بسته های اطلاعاتی به گره مقصد آغاز می گردد. ( همزمان با دريافت ساير بسته های اطلاعاتی توسط سوئيچ ) . با توجه به عدم وجود کنترل های لازم در صورت بروز خطاء در روش فوق ، سوئيچ های زيادی از روش فوق استفاده نمی نمايند.

سوئيچ های store-and-forward ، تمام بسته اطلاعاتی را در بافر مربوطه ذخيره و عمليات مربوط به بررسی خطاء ( CRC) و ساير مسائل مربوطه را قبل از ارسال اطلاعات انجام خواهند داد. در صورتيکه بسته اطلاعاتی دارای خطاء باشد ، بسته اطلاعاتی دور انداخته خواهد شد. .در غيراينصورت ، سوئيچ با استفاده از آدرس MAC ، بسته اطلاعاتی را برای گره مقصد ارسال می نمايد. اغلب سوئيچ ها از ترکيب دو روش گفته شده استفاده می نمايند. در اين نوع سوئيچ ها از روش cut-through استفاده شده و بمحض بروز خطاء از روش store-and-forward استفاده می نمايند.
يکی ديگر از روش های مسيريابی ترافيک در سوئيچ ها که کمتر استفاده می گردد ،
fragment-free است . روش فوق مشابه cut-through بوده با اين تفاوت که قبل از ارسال بسته اطلاعاتی 64 بايت آن ذخيره می گردد.

سوئيچ های LAN دارای مدل های متفاوت از نقطه نظر طراحی فيزيکی می باشند. سه مدل رايج در حال حاضر بشرح زير می باشند:

- Shared memory . اين نوع از سوئيچ ها تمام بسته های اطلاعاتی اوليه در بافر مربوط به خود را ذخيره می نمايند. بافر فوق بصورت مشترک توسط تمام پورت های سوئيچ ( اتصالات ورودی و خروجی ) استفاده می گردد. در ادامه اطلاعات مورد نظر بکمک پورت مربوطه برای گره مقصد ارسال خواهند شد.

-Matrix . اين نوع از سوئيچ ها دارای يک شبکه( تور) داخلی ماتريس مانند بوده که پورت های ورودی و خروجی همديگر را قطع می نمايند. زمانيکه يک بسته اطلاعاتی بر روی پورت ورودی تشخيص داده شد ، آدرس MAC آن با جدول lookup مقايسه تا پورت مورد نظر خروجی آن مشخص گردد. در ادامه سوئيچ يک ارتباط را از طريق شبکه و در محلی که پورت ها همديگر را قطع می کنند ، برقرار می گردد.

- Bus Architecture . در اين نوع از سوئيچ ها بجای استفاده از يک شبکه ( تور) ، از يک مسير انتقال داخلی ( Bus) استفاده و مسير فوق با استفاده از TDMA توسط تمام پورت ها به اشتراک گذاشته می شود. سوئيچ های فوق برای هر يک از پورت ها دارای يک حافظه اختصاصی می باشند.

    BridgingTransparent
اکثر سوئيچ های
LAN مبتنی بر اترنت از سيستم ی با نام transparent bridging برای ايجاد جداول آدرس lookup استفاده می نمايند. تکنولوژی فوق امکان يادگيری هر چيزی در رابطه با محل گره های موجود در شبکه ، بدون حمايت مديريت شبکه را فراهم می نمايد. تکنولوژی فوق داری پنج بخش متفاوت است :

Aging  - Filtering   -   Flooding - Learning - Forwarding

 

نحوه عملکرد تکنولوژی فوق بشرح زير است :

- سوئيچ به شبکه اضافه شده و تمام سگمنت ها به پورت های سوئيچ متصل خواهند شد.
- گره
A بر روی اولين سگمنت ( سگمنت A) ، اطلاعاتی را برای کامپيوتر ديگر ( گره B) در سگمنت ديگر ( سگمنت C) ارسال می دارد.

- سوئيچ اولين بسته اطلاعاتی را از گره A دريافت می نمايد. آدرس MAC آن خوانده شده و آن را در جدول Lookup سگمنت A ذخيره می نمايد. بدين ترتيب سوئيچ از نحوه يافتن گره A آگاهی پيدا کرده و اگر در آينده گره ای قصد ارسال اطلاعات برای گره A را داشته باشد ، سوئيچ در رابطه با آدرس آن مشکلی نخواهد داشت . فرآيند فوق را Learning می گويند.

- با توجه به اينکه سوئيچ دانشی نسبت به محل گره B ندارد ، يک بسته اطلاعاتی را برای تمام سگمنت های موجود در شبکه ( بجز سگمنت A که اخيرا" يکی از گره های موجود در آن اقدام به ارسال اطلاعات نموده است . ) فرآيند ارسال يک بسته اطلاعاتی توسط سوئيچ ، بمنظور يافتن يک گره خاص برای تمام سگمنت ها ، Flooding ناميده می شود.
- گره
B بسته اطلاعاتی را دريافت و يک بسته اطلاعاتی را بعنوان Acknowledgement برای گره A ارسال خواهد کرد.

- بسته اطلاعاتی ارسالی توسط گره B به سوئيچ می رسد. در اين زمان ، سوئيچ قادر به ذخيره کردن آدرس MAC گره B در جدول Lookup سگمنت C می باشد. با توجه به اينکه سوئيچ از آدرس گره A آگاهی دارد ، بسته اطلاعاتی را مستقيما" برای آن ارسال خواهد کرد. گره A در سگمنتی  متفاوت نسبت به گره B قرار دارد ، بنابراين سوئيج می بايست بمنظور ارسال بسته اطلاعاتی دو سگمنت را به يکديگر متصل نمائيد. فرآيند فوق Forwarding ناميده می شود.

- در ادامه بسته اطلاعاتی بعدی از گره A بمنظور ارسال برای گره B به سوئيچ می رسد ، با توجه به اينکه سوئيج از آدرس گره B آگاهی دارد ، بسته اطلاعاتی فوق مستقيما" برای گره B ارسال خواهد شد.

- گره C اطلاعاتی را از طريق سوئيچ برای گره A ارسال می دارد. سوئيچ آدرس MAC گره C را در جدول Lookup سگمنت A ذخيره می نمايد ، سوئيچ آدرس گره A را دانسته و مشخص می گردد که دو گره A و C در يک سگمنت قرار دارند. بنابراين نيازی به ارتباط سگمنت A با سگمنت ديگر بمنظور ارسال اطلاعات گره C نخواهد بود. بدين ترتيب سوئيچ از حرکت بسته های اطلاعاتی بين گره های موجود در يک سگمنت ممانعت می نمايد. فرآيند فوق را Filtering می گويند.

- Learning و Flooding ادامه يافته و بموازات آن سوئيچ ، آدرس های MAC مربوط به گره ها را در جداول Lookup ذخيره می نمايد. اکثر سوئيچ ها دارای حافظه کافی بمنظور ذخيره سازی جداول Lookup می باشند. بمنظور بهينه سازی حافظه فوق ، اطلاعات قديمی تر از جداول فوق حذف تا فرآيند جستجو و يافتن آدرس ها در يک زمان معقول و سريعتر انجام پذيرد. بذين منظور سوئيج ها از روشی با نام aging استفاده می نمايند. زمانيکه يک Entry برای يک گره در جدول Lookup اضافه می گردد ، به آن يک زمان خاص نسبت داده می شود. هر زمان که بسته ای اطلاعاتی از طريق يک گره دريافت می گردد ، زمان مورد نظر بهنگام می گردد. سوئيچ دارای يک يک تايمر قابل پيکربندی بوده که با عث می شود، Entry های موجود در جدول Lookup که مدت زمان خاصی از آنها استفاده نشده و يا به آنها مراجعه ای نشده است ، حذف گردند . با حذف Entry های غيرضروری ، حافظه قابل استفاده برای ساير Entry ها بيشتر می گردد.

در مثال فوق ، دو گره سگمنت A را به اشتراک گذاشته و سگمنت های A و D بصورت مستقل می باشند. در شبکه های ايده آل مبتنی بر سوئيچ ، هر گره دارای سگمنت اختصاصی مربوط بخود است . بدين ترتيب امکان تصادم حذف و نيازی به عمليات Filtering نخواهد بود.

روترها و سوئيچينگ لايه سوم

همانگونه که قبلا" اشاره گرديد ، اکثر سوئيچ ها در لايه دوم مدل OSI فعاليت می نمايند (Data Layer) . اخيرا" برخی از توليدکنندگان سوييچ، مدلی را عرضه نموده اند که قادر به فعاليت در لايه سوم مدل OSI است . (Network Layer) . اين نوع سوئيچ ها دارای شباهت زيادی با روتر می باشند.

زمانيکه روتر يک بسته اطلاعاتی را دريافت می نمايد ، در لايه سوم بدنبال آدرس های مبداء و مقصد گشته تا مسير مربوط به بسته اطلاعاتی را مشخص نمايد. سوئيچ های استاندارد از آدرس های MAC بمنظور مشخص کردن آدرس مبداء و مقصد استفاده می نمايند.( از طريق لايه دوم) مهمترين تفاوت بين يک روتر و يک سوئيچ لايه سوم ، استفاده سوئيچ های لايه سوم از سخت افزارهای بهينه بمنظور ارسال داده با سرعت مطلوب نظير سوئيچ های لايه دوم است. نحوه تصميم گيری آنها در رابطه با مسيريابی بسته های اطلاعاتی مشابه روتر است . در يک محيط شبکه ای LAN ، سوئيچ های لايه سوم معمولا" دارای سرعتی بيشتر از روتر می باشند. علت اين امر استفاده از سخت افزارهای سوئيچينگ در اين نوع سوئيچ ها است . اغلب سوئيچ های لايه سوم شرکت سيسکو، بمنزله روترهائی می باشند که بمراتب از روتر ها سريعتر بوده ( با توجه به استفاده از سخت افزارهای اختصاصی سوئيچينگ ) و دارای قيمت ارزانتری نسبت به روتر می باشند. نحوه Pattern matching و caching در سوئيچ های لايه سوم مشابه يک روتر است . در هر دو دستگاه از يک پروتکل روتينگ و جدول روتينگ، بمنظور مشخص نمودن بهترين مسير استفاده می گردد. سوئيچ های لايه سوم قادر به برنامه ريزی مجدد سخت افزار بصورت پويا و با استفاده از اطلاعات روتينگ لايه سوم می باشند و همين امر باعث سرعت بالای پردازش بسته های اطلاعاتی می گردد. سوئيچ های لايه سوم ، از اطلاعات دريافت شده توسط پروتکل روتينگ بمنظور بهنگام سازی جداول مربوط به Caching استفاده می نمايند.

همانگونه که ملاحظه گرديد ، در طراحی سوئيچ های LAN از تکنولوژی های متفاوتی استفاده می گردد. نوع سوئيچ استفاده شده ، تاثير مستقيم بر سرعت و کيفيت يک شبکه را بدنبال خواهد داشت .

فناوري سوييچ نرم افزاري

سوييچ نرم افزاري  چيست ؟چه مزايايي دارد؟ آيا براي كشوري مانند ايران استفاده از سوييچ نرم افزاري مفيد است ؟ هزينه فناوري فوق در چه مقياسي است؟ در اين نوشتار كوتاه كوشش بر آن است  پاسخ هاي مختصري به پرسش هاي بالا داده شود.

سوييچ نرم افزاري فناوريي است كه امكان اراية خدمات مكالمه، خدمات باند وسيع  و حتي خدمات بدون سيم را بر روي بستر شبكة IP فراهم مي كند. با گسترش شبكه هاي IP، هزينة ارتباطات داده بر مبناي شبكه‌هاي IP بسيار كاهش يافته است و اين مساله و همچنين مساله هم‌گرايي شبكه هاي داده و شبكه هاي تلفني نگاه‌ها را به سمت امكان ارايه خدمات مكالمه بر مبناي شبكه IP معطوف داشته است. اين مساله ابتدا در مخابرات راه دور و بين المللي مطرح شد زيرا مقايسه هزينة بالاي اين نوع مكالمه با روش‌هاي قبلي امكان ورود راه حل‌هاي جديد را فراهم مي آورد. استفاده از فناوريVOIP هزينة مكالمات بين المللي را ده‌ها برابر كاهش داده است. فناوري VOIP در طول تكوين خود راه حل‌هاي مختلفي را آزموده است و فناوري سوييچ نرم افزاري    الگوي كاملي از يك سامانه ي كامل VOIP است كه تمامي خدمات موجود در شبكه هاي تلفني موجود (سوييچ مداري) را فراهم مي آورد و امكان ايجاد يك شبكه تلفني كامل را بر مبناي VOIP  فراهم مي‌كند. فناوري سوييچ نرم افزاري بعنوان يك جايگزين براي سوئيچ‌هايTDM   كلاس 4 و 5 مطرح است و امكان كنترل مكالمه و اراية خدمات را بر روي شبكة IP فراهم مي آورد. اگر چه اين فناوري از اواخر دهة نود مطرح بوده است اما ظهور آن در بازار مخابرات  و سوئيچينگ در يكي دو سال اخير صورت گرفته است. مهم‌ترين عاملي كه ورود فناوري سوييچ نرم افزاري  را به تاخير انداخته است آنست كه اين فناوري مي بايست از ابتدا تمام شاخصهاي فناوري سوييچ بسته اي را كه حداقل در طول 25 سال به دست آمده است پشتيباني مي كرد. اين مهم در حال حاضر محقق شده است و محصولاتي عرضه شده اند  كه شاخص‌هاي لازم را برآورده مي كنند و علاوه بر آن انواع ديگري از خدمات را فراهم مي آورند كه در سامانه هاي قبلي ارايه آنها ممكن نبوده است.

از نظر قابليت اطمينان مقياس قابليت اطمينان در سامانه هاي مخابراتي استاندارد 99.999% خدمات است. يعني سامانه  تنها در 0.001% از مواقع به خارج از حالت ارائه ي خدمات مي رود. دستيابي  به اين استاندارد در سوئيچ هاي معمولي چندان كار مشكلي نيست. در حال حاضر بسياري از محصولات سوييچ نرم افزاري  نيز اين شاخص را برآورده مي كنند.

از نظر كيفيت خدمات نيز توسعة وسيع فناوري IP امكان اراية‌كيفيت خدمات (QOS)  را در حد سوئيچ هاي كلاس 4و5 فراهم آورده است. از نظر سيگنال دهي نيز فناوري سوييچ نرم افزاري  با پشتيباني پروتكل هاي متعدد براي اتصال با شبكه تلفني PSTN مانند پشتيباني كامل سيگنال دهي SS7 در لايه هاي  مختلف  سازگاري كامل با شبكة تلفني PSTN را فراهم آورده است. از نظر قابليت توسعه نيز اين يكي از مزاياي شبكة‌سوييچ نرم افزاري  نسبت به شبكة‌ سوييچ مداري  است و اين فناوري به دليل مستقل بودن مسير ترافيك داده و صدا از ترافيك سيگنال دهي  و  بدليل  ساختار  قابل توسعه و  انعطاف پذير يشبكة IP  بسيار قابل  توسعه است. نكتة قابل توجه در شبكة سوييچ نرم افزاري ايجاد بستر مناسب و انعطاف پذير براي اراية انواع خدمات مختلف است لذا شبكة سوييچ نرم افزاري علاوه بر پشتيباني خدمات سنتي شبكة هوشمند (IN) امكان انواع خدمات جديد را فراهم مي آورد. يكي ديگر از مزاياي فناوري سوييچ نرم افزاري  آنست كه نسبت به فناوري سنتي سوييچ مداري در مرحله نگهداري و حتي در بعضي موارد در مرحله ايجاد ارزان‌تر است. فناوري سوييچ نرم افزاري  در حال حاضر به يك فناوري بالغ تبديل شده است و به سرعت در حال رشد و تكوين است. شكل 1 نمودار كلي يك شبكه بر مبناي فناوري سوييچ نرم افزاري را نمايش مي دهد.

ساختار شبكه سوييچ نرم افزاري

شبكه سوييچ نرم افزاري    مانند شبكة PSTN شامل اجزاي اصلي شبكة دسترسي (Access) ، سوئيچ و شبكة ارتباطي است.

 

1- شبكه دسترسي

- شبكة دسترسي در حقيقت نقطة اتصال كاربران در شبكه است و وسيع ترين و پر هزينه ترين بخش شبكه را در بر مي گيرد. اين بخش امكان تبديل فرمت داده (صوت، دورنگار يا داده) و پروتكل هاي لازم براي اتصال به شبكه را فراهم مي آورد. اين بخش در شبكة سوييچ نرم افزاري  ، درواره‌ي رسانه(MG) ناميده مي شود. 

معمولا MG بصورت Master/Slave از طريق قسمت ديگري از شبكه به نام كنترل درواره ي رسانه (MGC) كنترل مي شود. انواع مختلف MG مثل درواره‌ي رسانه دسترسي (AMG) و درواره‌ي رسانه ترانك (TMG) وجود دارد. AMG براي ارتباط مستقيم با مشترك استفاده شده و معمولا داراي ظرفيتي بين 160 تا بيش از 2000 پورت تلفني است. TMG براي كاربردهاي با ظرفيت بالاتر و يا اتصال به شبكه PSTN  بكار مي رود.

2- بخش سوئيچينگ

بخش سوئيچينگ در حقيقت بخشي است كه واژة سوييچ نرم افزاري به آن اطلاق مي شود و تمامي يا بخش عمده اي از هوشمندي شبكه را تشكيل مي دهد. سوييچ نرم افزاري  عمل كنترل مكالمه را چه بصورت نقطه به نقطه از طريق پروتكل هايي مثل SIP و H.323 و يا از طريق MG فراهم مي آورد. بخش سوئيچينگ معمولاعناصر MGCP ، درواره‌ي سيگنال دهي  (SG) ، سرويس دهنده ي رسانه (MS) و سرويس دهنده ي كاربرد (AS) را در بر     مي گيرد.

MGCP در حقيقت بخش اصلي سامانه  است كه كنترل مكالمه و خدمات را انجام مي دهد.. SG الماني از شبكه است كه امكان اتصال شبكه سوييچ نرم افزاري را با شبكة SS7 و شبكة IN را فراهم مي آورد.

سرويس دهنده ي كاربرد وظيفة اراية انواع خدمات را مانند خدمات  شبكه IN فراهم    مي آورد. سرويس دهنده ي رسانه وظيفة پخش و ضبط صدا و پيغام و پخشبوق   و جمع آوري DTMF را  براي ارتباط با كاربر دارد.

3- شبكه ارتباطي

شبكه ارتباطي در فناوري سوييچ نرم افزاري يك شبكة IP است اما براي ايجاد كيفيت خدمات مناسب پروتكلهاي مختلفي بكار گرفته مي شود. مهمترين پروتكل هايي كه به عنوان مبناي ديگر پروتكل ها بكار گرفته مي شود پروتكل RTP است. RTP يك پروتكل بر مبناي UDP است كه عدم از دست رفتن بسته هاي داده و ترتيب دريافت انهارا تضمين مي كند.

. مديريت يك شبكة سوييچ نرم افزاري  از طريق الماني بنام سامانه ي مديريت شبكه (NMS)  انجام مي شود. NMS امكان شكل دهي و پايشگري عناصر شبكه را از طريق شبكه IP فراهم مي آورد.

. بطور كلي فناوري سوييچ نرم افزاري با امكان ارايه انواع خدماتهاي متنوع رفته رفته جايگاه خود را به عنوان نسل بعدي شبكه هاي تلفني و داده بدست مي آورد و بنظر مي رسد در هر حال دير يا زود حركت به سمت فناوري سوييچ نرم افزاري  گزيرناپذير است.

درمورد دو سئوال آخر يعني سطح هزينه فناوري سوييچ نرم افزاري  و مناسب بودن يا نبودن آن براي استفاده در ايران بايد گفت که اين دو مورد مستقل از يكديگر نيستند و در واقع چون سوييچ نرم افزاري ماهيت نرم افزاري دارد و بايد بتواند با سخت افزارهاي استاندارد ساخته شده توسط توليدکنندگان  مختلف كار نمايد ، از نظرسطح فناوري ساخت براي كشورهايي مثل ايران بسيار مناسب است . از طرف ديگر با فراوان شدن و ارزان شدن فيبرهاي نوري امكان ارتباط نوري در شهرها و شهرك ها يتازه تاسيس و يا روستاهايي كه تا كنون امكانات مخابراتي نداشته اند، سهل و آسان گرديده است . لذا به نظر مي رسد كشور هايي مثل ايران گزينه مناسبي باشند تا با شروع ازنواحي مذكور ، خدمات تلفني را به صورت VOIP ارائه داد.اين طرح علاوه بر فراهم كردن ارتباطات تلفني امكان استفاده از شبكه جهاني اينترنت و همينطور كانالهاي تلويزيوني كابلي را براي آن ناحيه فراهم مي كند .در ايران شرکت هايي در حد تحقيقات وساخت نمونه اوليه بر روي فناوريسوييچ نرم  افزاري  کار مي کنند.آنچه مهم است همکاري و رقابت سازنده اين شرکتها در اين زمينه مي باشد . به علاوه لازم است بهره بردارهاي مختلف به خصوص بهره بردارهاي خصوصي ارائه دهنده خدمات تلفني و شرکتهاي سازنده فناوريهاي تلفني در اين زمينه همکاري تنگاتنگي داشته باشندو در بکارگيري نمونه هاي اين گونه محصول در شبکه هاي خود پيشقدم باشند.    

منبع : سايت علمی و پژوهشي آسمان--صفحه اینستاگرام ما را دنبال کنید
اين مطلب در تاريخ: یکشنبه 02 فروردین 1394 ساعت: 22:25 منتشر شده است
برچسب ها : ,,,
نظرات(0)

تحقیق درباره اجزاء شبكه

بازديد: 264

 

اتصال اجزاء  شبكه ها

 

قسمت اول : كابلي كشي شبكه :

براي اتصال فيزيكي بين دو يا چند كامپيوتر ، ما به كابل كشي نياز داريم . براي اين كار ناچاريم ابتدا با انواع كابلهاي اصلي آشنا شويم :

انواع كابلهاي اصلي :

امروزه تعداد زيادي كابل وجود دارند كه نيازها و اندازه هاي متفاوت شبكه از كوچك تا بزرگ را برآورده مي سازند كه مهمترين آنها از اينقرارند :

1 -  كواكسيال

2 -  زوج مارپيچ

3 -  فيبر نوري

 

كواكسيال :

اين كابل نسبتاً ارزان و سبك ، قابل انعطاف و كار باآن ساده مي باشد . شكل كابل كواكسيال شامل يك سيم هادي مركزي (مغزي كابل) از جنس مس كه توسط عايق پوشانيده شده است حفاظ فلزي بافته اي روي عايق را پوشانيده و براي حفاظت خارجي نيز پوششي تعبيه شده است

 

حفاظ با جذب سيگنال هاي الكترونيكي پراكنده بنام نويز (پارازيت) از داده هاي انتقالي حفاظت مي نمايد .

سيم مركزي (مغزي كابل) مي تواند تو پر يا رشته اي باشد . اگر سيم مركزي تو پر باشد معمولاً مسي است . سيم مركزي توسط لاية عايق پوشانده شده كه آنرا از شبكه سيمي جدا مي نمايد .

سيم هادي مركزي و شبكه سيمي هميشه بايد از يكديگر جدا باشند ، اگر آنها به يكديگر برخورد نمايند ، كابل متحمل اتصال كوتاه خواهد شد و سيگنال هاي پراكنده يا نويز در شبكه سيمي جاري مي گردند . اين مسئله داده ها را خراب مي نمايد .

كل كابل به وسيلة حفاظ غير هادي خارجي معمولاً از جنس كائو چو ، تفلون يا پلاستيك پوشانده شده است .

 

 

انواع كابلهاي كواكسيال :

 

دو نوع كابل كواكسيال وجود دارد :

1 -  نازك (اترنت نازك)

2 -  ضخيم (اترنت ضخيم)

 

1 -  اترنت نازك : اترنت نازك داراي 25/. اينچ قطر مي باشد اين نوع كواكسيال قابل انعطاف است و كار با آن ساده مي باشد ، مي تواند در تقريباً كلية انواع نصب هاي شبكه اي استفاده گردد و سيگنال را تا حدود 185 متر حمل مي نمايد .

انواع متفاوت كابلها وجود دارند و اترنت نازك در گروهي بنام فايل RG -  58  قرار دارد كه ميزان امپدانس ( مقاومت ظاهري ) آن 50 اهم مي باشد ، ( امپدانس مقاومتي مي باشد كه با اهم اندازه گيري مي شود و براي تغيير جريان در سيم مي باشد .)

 

اترنت ضخيم : يا اترنت استاندارد :

 اترنت ضخيم يك كابل كواكسيال نسبتاً محكم با 5/. اينچ قطر مي باشد و سيم مسي مركزي آن نسبت به سيم مركزي اترنت نازك ، ضخيم تر است .

به تصوير 5 -  2 مراجعه شود

 

اترنت ضخيم مي تواند سيگنال را تا فاصلة 500 متري حمل نمايد . البته كابل ضخيم براحتي خم نمي شود و در نتيجه براي نصب مشكل تر است .

 

سخت افزار بست كواكسيال :

هردو اترنت نازك و ضخيم از اجزاء بستي بنام BNC  ( British Naval onnector ) براي انجام اتصالات بين كابل ها و كامپيوترها استفاده مي كنند .

بست كابل BNC :

بست كابل BNC يا به انتهاي كابل لحيم مي گردد يا پرس مي شود

به تصوير 7 -  2 توجه شود

بست BNC  T  

اين بست كارت ميانجي شبكه در كامپيوتر را به كابل شبكه متصل مي نمايد

به تصوير 8 -  2 دقت نمائيد

بست بشكه اي BNC :

اين بست براي اتصال دو قطعه كابل اترنت نازك براي ايجاد يك كابل طولاني تر بكار مي رود .

به تصوير 9 -  2 مراجعه شود

قطعه پاياني BNC :

قطعه پاياني BNC هر يك از دو انتهاي كابل خطي را براي حذف سيگنال هاي پراكنده مي بنددد . شبكه خطي بدون قطعات پاياني BNC كار نخواهد كرد .

به تصوير 10 -  2 توجه كنيد

درجات كابلهاي كواكسيال و كدهاي آتش :

نوع درجة كابل بستگي به محل دارد . كابلهاي كواكسيال دو درجه دارند

1 -  PVC

2 -  ‍‍Plenum  

(polyvinyl chloride) PVC نوعي پلاستيك است كه براي ساخت عايق و جليقة اكثر انواع كابل هاي كواكسيال به كار مي رود . كابل كواكسيال PVC قابل انعطاف مي باشد و مي تواند براحتي در فضاهاي بدون حفاظ دفتر قرار گيرد . امّا وقتي مشتعل شود ، گازهاي سمي بيرون مي دهد .

كابل Plenum : شامل مواد خاصي در جليقه كابل و عايق آن مي باشد . اين مواد تضمين شده اند تا در مقابل آتش مقاوم باشند و حداقل ميزان دود را توليد نمايند و از دودهاي شيميايي سمي مي كاهد .

كابل plenum نسبت به كابل PVC گرانتر و قابليت انعطاف كمتري دارد .

( هنگامي كه تصميم به انتخاب نوع كابل مورد استفاده داريد به تواناي هاي كواكسيال توجه داشته باشيد )

كابل زوج مارپيچ :

كابل زوج مارپيچ در ساده ترين شكل خود  شامل دو رشتة عايق از سيم مسي مارپيچي به دور يكديگر مي باشد . دو نوع كابل زوج مارپيچ وجود دارند  1 -  زوج مارپيچ بدون حفاظ (UTP) و 2 -  زوج مارپيچ حفاظ دار (STP)

به تصوير 2 -  12 مراجعه شود

تعدادي سيم زوج مارپيچ اغلب با يكديگر گروه بندي شده و در پوشش محافظ قرار مي گيرند تا كابل را تشكيل دهند . تعداد واقعي زوجها در كابل متغير است . مارپيچ ، نويزهاي الكتريكي حاصل از زوجهاي همجوار و از ساير منابع از قبيل موتورها ، رله ها و ترانسفورماتورها را خنثي مي سازد .

زوج مارپيچ بدون حفاظ (UTP)  

متداولترين نوع كابل زوج مارپيچ مي باشد و به سرعت متداولترين كابل بندي LAN مي شود طول حداكثر كابل 100 متر مي باشد . UTP شامل دو سيم مسي عايق مي باشد .

در آمريكا كابلUTP متداولترين كابل براي سيستم هاي تلفن موجود مي باشد

به تصوير 13 -  2 نگاه كنيد

استانداردهاي UTP شامل پنج رسته مي باشد :

رسته 1 : اين رسته به كابل تلفن UTP رايج كه مي تواند صدا و نه داده را حمل نمايد گفته مي شود اكثر كابلهاي تلفني پيش از 1983 از اين رسته بودند .

رسته 2 : اين رسته انتقال داده ها تا 4MbPS (مگابايت در هر ثانيه ) را از طريق كابل UTP تضمين مي كند .

رسته 3 : اين رسته انتقال داده ها تا 10MbPS (مگابايت در ثانيه) را از طريق كابل UTP تضمين مي كند .    

رسته 4 : اين رسته تا 16 (مگابايت در ثانيه) و

رسته 5 : تا 100 (مگابايت در ثانيه) را از طريق كابل UTP تضمين مي كند .

در واقع يكي از دلايلي كه چرا UTP چنين محبوب گرديد آنست كه ساختمانهاي بسياري با سيستم هاي تلفني زوج مارپيچ از قبل سيم كشي شده اند .

 

زوج مارپيچ حفاظ دار (STP)

STP از يك جليقه بافته اي مسي كه جليقه محافظ تر و با كيفيت بالاتر از جليقه اي كه UTP دارد ، استفاده مي نمايد . STP از يك پيچش زرورقي بين و دور زوجهاي سيمي و مارپيچ داخلي زوجها نيز استفاده مي كند اين كار به STP عايق عالي براي محافظت داده هاي انتقالي از تداخل خارجي را مي دهد .

به تصوير 15 -  2 توجه كنيد

اجزاء كابل كشي زوج مارپيچ

سخت افزار بست :

زوج مارپيچ از بستهاي تلفن RJ -  45 براي اتصال به كامپيوتر استفاده مي كند اين بست شبيه بست تلفن RJ -  11 مي باشد فقط كمي بزرگتر است در RJ -  45 هشت بست كابلي قرار مي گيرد در حاليكه در RJ -  11 فقط چهار بست قرار مي گيرد .

در صورتي از كابل زوج مارپيچ استفاده كنيد كه :

1 -  LAN شما تحت محدوديتهاي بودجه اي باشد .

2 -  نصب نسبتاً ساده اي بخواهيد كه در آنجا اتصالات كامپيوتر ساده باشند

( در صورت از كابل زوج مارپيچ استفاده نكنيد كه )

شما بايد از انتقال درست داده ها در فواصل زياد با سرعتهاي بالا اطمينان كامل داشته باشيد . كابل كواكسيال نسبت به كابل زوج مارپيچ در تضعيف شدن و تداخل مقاومتر است .

ضعيف شدن ، كاهش نيروي سيگنال مي باشد و زماني رخ مي دهد كه سيگنال در طول كابل مسي مسافتي طولاني را طي مي نمايد .

به تصوير 2 -  2 مراجعه شود

 

كابل فيبر نوري

در كابل فيبر نوري ، فيبرهاي نوري سيگنال هاي داده اي ديجيتال را به شكل پالسهاي مدوه شدة نوري حمل مي نمايند . اين يك روش نسبتاً ايمن براي ارسال داده ها مي باشد زيرا هيچ ضربه هاي الكتريكي (سيگنال ها) در كابل فيبر نوري حمل نمي شوند .

كابل فيبر نوري براي انتقال داده اي با ظرفيت بالا و با سرعت بسيار بالا به دليل فقدان تضعيف و خلوص سيگنال مناسب است .

تركيب فيبر نوري :

فيبر نوري شامل استوانه بسيار نازك شيشه اي به نام مغزي مي باشند كه بوسيلة‌ لايه متحدالمركز شيشه اي احاطه گرديده است . فيبرها گاهي اوقات از پلاستيك ساخته مي شوند .

هر رشته شيشه اي ، سيگنال ها را فقط در يك جهت عبور مي دهد به طوري كه كابل شامل دو رشته در جليقه هاي مجزا مي باشد . يك رشته مي فرستد و يكي دريافت مي كند .

به تصوي18 -  2 توجه نمائيد

انتقالات كابل فيبر نوري مشكل تداخل الكتريكي ندارند و بي نهايت سريع هستند ( انتقال فعلي تقريباً MbPS 100 با سرعتهاي نمايشي تا MbPS 000/200 ) . آنها مي توانند يك سيگنال يعني پالس نوري را كيلو مترها حمل نمايند .

يك تذكر مهم :

دستگاهي به نام تقويت كننده مي تواند براي اتصال دو كابل استفاده گردد . تقويت كننده عملاً قبل از ارسال سيگنال در مسير خود آن را افزايش مي دهد (تقويت مي كند) تفويت كننده نسبت به بست يا قطعه كابل دراز تر بهتر است زيرا امكان مي دهد سيگنال حتي دورتر حركت نمايد و باز هم به درستي دريافت گردد .

ملاحظات در مورد كابل كشي :

1 -  در يك نصب كوچك كه فواصل كوتاه و ايمني مسئله اي نيست ، انتخاب كابل ضخيم ، پر زحمت و گران و بي معناست .

2 -  تداخل و نويز مي توانند موجب مسائل پيچيده اي در شبكه هاي بزرگي گردند كه ايمني داده ها مهم مي باشد

3 -  سرعتهاي انتقال

4 -  از لحاظ هزينه ، كابل بهتري كه داده ها را به طور ايمن در فواصل طولاني انتقال م دهد نسبت به كابل نازك كه نصب و كار با آن ساده مي باشد ، گرانتر است .

 

 

 

خلاصه مقايسة‌كابلها :

مشخصات

كواكسيال اترنت نازك

كواكسيال اترنت ضخيم

زوج مارپيچ

فيبر نوري

هزينه كابل

بيش از زوج مارپيچ

بيش از اترنت نازك

ارزانترين

گرانترين

طول كابل قابل استفاده

185 متر

500 متر

100 متر

2 كيلو متر

سرعتهاي انتقال

MbPS 100

MbPS 10

4 تا MbPS 100

MbPS 100 يا بيشتر

قابليت انعطاف

نسبتاً قابل انعطاف

انعطاف كمتر

حداكثر انعطاف

انعطاف ندارد

سهولت نصب

نصب آسان

نصب آسان

خيلي آسان

نصب دشوار

استعداد در تداخل

مقاومت خوب در مقابل تداخل

مقاومت خوب در مقابل تداخل

مستعد براي تداخل

مستعد تداخل نمي باشد

 

ارتباطات بي سيم شبكه :

محيط بي سيم : اصطلاح محيط بي سيم گمراه كننده است زيرا دلالت بر شبكه اي مي نمايد كه كاملاً بدون كابل است كه در اكثر حالات اين درست نيست .

توانائيهاي بي سيم :

ايده شبكه هاي بي سيم موضوع مهمي مي باشد زيرا اجزاء بي سيم مي توانند :

1 -  اتصالات موقت به شبكه كابلي موجود ارائه دهند .

2 -  در ارائة پشتيبان براي شبكه كابلي موجود كمك نمايند .

3 -  درجة معيني از قابليت حمل را ارائه دهند .

4 -  شبكه ها را آنسوي محدوده هاي كابلهاي مسي يا حتي فيبر گسترش دهند .

 

 مصارف بي سيم :

مشكل در پياده سازي كابل عاملي است كه تقاضاي محيطهاي بي سيم را افزايش داده است بي سيم مي تواند بويژه براي شبكه سازي هاي زير مفيد باشد :

1 -  مناطق شلوغ مانند سالن هاي انتظار .

2 -  افرادي مانند دكترها و پرستاران در بيمارستانها كه دائماً در حركت مي باشند .

3 -  ساختمانها و مناطق مجزا .

4 -  دپارتمانهايي (تشكيلات) كه ويژگي هاي فيزيكي دائماً در آنها تغيير مي كنند .

5 -  ساختمانهايي از قبيل عمارات تاريخي كه كابل كشي در آنها مشكل مي باشد .

 

انواع شبكه هاي بي سيم :

شبكه هاي بي سيم مي توانند بر اساس تكنولوژي آنها به سه دسته تقسيم شوند :

1 -  شبكه هاي محلي

2 -  شبكه هاي محلي گسترش يافته

3 -  كامپيوترهاي سيار

شبكه هاي محلي =  يك شبكه بي سيم  نمونه باستثناي رسانه ، تقريباً شبيه شبكه كابلي به نظر مي رسد و عمل مي كند . كارت آداپتور شبكه بي سيم با فرستنده گيرنده در هر كامپيوتر نصب شده است و كاربران با شبكه مثل اينكه آنها در كامپيوترهاي كابل كشي شده كار مي نمايند ارتباط برقرار مي كنند .

روشهاي انتقال :

LAN هاي بي سيم از چهار روش براي انتقال داده ها استفاده مي كنند :

1 -  مادون قرمز

2 -  ليزر

3 -  راديويي باريك -  نوار ( تك فركانسي ) ( باند باريك يا باند با پهناي كم )

4 -  راديويي با طيف گسترده

 

مادون قرمز :

با استفاده از پرتو مادون قرمز براي حمل داده ها بين دستگاهها عمل مي كنند سيگنالهاي انتقالي ضعيف مي باشند .

ليزر :

در آن نياز به خط بدون مانع ديدن وجود دارد و هر شخصي يا چيزي را كه در مقابل پرتو ليزر قرار گيرد موجب اختلال در انتقال مي شود .

راديويي باريك -  نوار ( تك فركانسي ) :

شبيه پخش از يك ايستگاه راديويي مي باشد . اينكار نياز به خط بدون مانع ديد ندارد زيرا دامنة پخش مربع 5000 مي باشد . چون سيگنال فركانس بالا است ، نمي تواند از ديوارهاي فولادي عبور نمايد و انتقال داده ها در دامنه MbPS 8/4 صورت مي گيرد .

راديويي طيف گسترده :

فركانس هاي موجود به كانالها يا پرش ها تقسيم مي شوند . براي جلوگيري از گوش دادن كاربران غيرمجاز به پيام ارسالي ، فرستنده و گيرنده هر دو از يك كد استفاده مي نمايند با توجه به سرعت نمونه KbPS 250 (كيلو بايت در ثانيه) اين روش نسبت به ساير روشها خيلي آهسته تر مي باشد .

2 -  شبكه هاي محلي گسترش يافته

انواع ديگر اجزاء بي سيم قادر به انجام  كارها در محيط LAN گسترش يافته شبيه به محيط هخاي كابل كشي شده مشابه آنها مي باشند . مثلاً ، پل LAN بي سيم مي تواند شبكه هاي تا سه مايل مجزا را متصل كند .

3 -  كامپيوترهاي سيار :

شبكه هاي شيار بي سيم حاملهاي تلفني و خدمات همگاني را براي انتقال و دريافت سيگنالها با استفاده از :

1 -  ارتباط راديويي بسته اي

2 -  شبكه هاي سلولي ( ياخته اي)

3 -  ايستگاههاي ماهواره اي

به كار مي گيرند . كارمندان سيار مي توانند اين تكنولوژي را با كامپيوتر هاي قابل حمل يا PAD ها (Personal Pigital Assistants) براي تبادل پست الكترونيكي (e -  mail) ، فايلها يا ساير اطلاعات استفاده كنند .

اين شكل ارتباطي آهسته است . دامنه سرعتهاي انتقال از KbPS 8 تا KbPS 2/19 مي باشد .

(كامپيوتر سيار متشكل از آداپتورهاي بي سيم مي باشد كه از تكنولوژي تلفن سلولي براي ارتباط كامپيوترهاي قابل حمل با شبكه كابل كشي شده استفاده مي نمايد)

(كامپيوترهاي قابل حمل از آنتنهاي كوچك براي ارتباط با ايستگاههاي راديويي برجهاي نواحي اطراف استفاده مي كنند ) . (ماهواره ها در مدار نزديك زمين سيگنالهاي كم قدرت را از دستگاههاي شبكه اي قابل حمل و سيار جمع مي كنند .

 

كارتهاي آداپتور شبكه

كارتهاي آداپتور شبكه ميانجي بين كامپيوتر و كابل هستند . عمل كارت آداپتور شبكه آماده سازي ، ارسال و كنترل داده هاي شبكه مي باشد به منظور آماده سازي داده ها براي شبكه ، كارت از فرستنده گيرنده براي فرم بندي مجدد داده ها از انتقال موازي به سريال استفاده مي كند . هر كارت آدرس منحصر بفرد خود را دارد كه امكان مي دهد از تمام كارتهاي ديگر شبكه مجزا و قابل تشخيص گردد .

داده ها از طريق كامپيوتر در طول مسيرهايي به نام گذرگاهها حركت مي نمايند .

گذرگاههاي قديمي ، مانند گذرگاههايي كه در كامپيوتر شخصي اوليه IBM استفاده مي شوند گذرگاههاي 8 بيتي بودند زيرا آنها 8 بيت داده را در يك لحظه (همزمان) عبور مي دادند . IBM PC / AT از گذرگاه 16 بيتي استفاده مي كرد و كامپيوترهاي زيادي از گذرگاههاي 32 بيتي استفاده مي نمايند .

كارت آداپتور شبكه عبور داده ها را به صورت موازي و بشكل گروهي مي گيرد و آنها را طوري مجدداً ساختبندي مي نمايد كه از طريق مسير سريال به پهناي 1 بيت كابل شبكه جريان يابند . اينكار با تبديل سيگنالهاي ديجيتال كامپيوتر به سيگنالهاي نوري و الكتريكي كه مي توانند از طريق كابلهاي شبكه حركت نمايند انجام مي گيرد .

به تصوير 25 -  2 توجه نمائيد

آدرس شبكه :

علاوه بر تبديل داده ها ، كارت آداپتور شبكه محل كارت يا آدس را به باقيمانده شبكه نشان مي دهد تا از تمام كارتهاي ديگر شبكه تميز داده شود . در نتيجه هر كامپيوتر آدرس منحصر بفردي در شبكه دارد .

ارسال و كنترل داده ها :

قبل از آنكه كارت آداپتور شبكه عملاً داده ها را به شبكه ارسال نمايد ، يك محاوره الكتريكي با كارت گيرنده انجام مي دهد بطوريكه هر دو كارت با موارد زير موافق باشند :

1 -  حداكثر اندازه گروههاي داده هايي كه بايد ارسال گردند .

2 -  ميزان داده هاي ارسالي قبل از تأييد

3 -  فواصل زماني بين ارسال مقادير بزرگ داده ها

4 -  هر كارت قبل از سر ريز شدن داده ها چه مقدار داده را مي تواند نگه داري نمايد .

5 -  سرعت انتقال داده ها

معماري گذرگاه داده ها

در محيط كامپيوترهاي شخصي ، چهار نوع معماري براي گذرگاه كامپيوتر وجود ارند :

ISA ، EISA ، ميكرو كانال (MCA) و PCI . هر نوع گذرگاه از ساير گذرگاهها بطور فيزيكي جدا مي باشد . ضروري است كه كارت آداپتور شبكه و گذرگاه هماهنگ باشند

ISA :

ISA (Iudustry Standard Architecture) معماري استفاده شده در كامپيوترهاي IBMPC ، XT و AT و تمام كامپيوترهاي هم نوع آنها مي باشد .

ISA وقتي IBM در سال 1984 IBM PC / AT  را ساخت از مسير 8 بيتي به 16 بيتي گسترش يافت .

ISA معماري استاندارد كامپيوتر شخصي بود تا آنكه شركت Compay و چند شركت ديگر گذركاه EISA را ايجاد كردند .

EISA : (ISA توسعه يافته يا Extended Industry Standard

در سال 1988 با مشاركت نه شركت كامپيوتري :   

  Tandy , Olivetti , NEC , Pakard , Epson , Compaq , AST , Wyse technlgy  و Zenith  ايجاد گرديد .

EISA يك مسير داده اي 32 بيتي ارائه نمود و سازگاري خود با ISA را حفظ كرد در حاليكه در گذرگاه معماري ميكرو كانال خود خصوصيات اضافي كد توسط IBM ايجاد گرديده بود را عرضه كرد .

معماري ميكرو كانال (MCA)

IBM اين استاندارد را در سال 1988 بعنوان قسمتي از انتقال داده هاي PS / 2 خود ايجاد نمود . معماري ميكرو كانال از نظر الكتريكي و فيزيك با گذرگاه ISA ناسازگار است ميكرو كانال بر خلاف گذرگاه ISA يا بصورت 16 بيتي و يا 32 بيتي عمل مي كند .

پيكر بندي

كارتهاي آداپتور شبكه اغلب داراي گزينه هاي قابل پيكر بندي مي باشند كه بايد به منظور عمل مناسب براي كارت آداپتور شبكه تنظيم گردند مثلاً

وقفه (IRQ)

آدرس پايه درگاه I /O

آدرس پايه حافظه

فرستنده گيرنده

وقفه =  (IRQ)

خطوط تقاضاي وقفه ، خطوط سخت افزاري مي باشند كه از طريق آنها دستگاههاي مانند درگاههاي ورودي /  خروجي ، صفحه كليد ، درايوهاي ديسك و كارتهاي آداپتور شبكه مي توانند وقفه ها يا تقاضاها را براي خدمات رساني به ميكروپروسور كامپيوتر برسانند.

 

 

 

 

درگاه I / O    پايه =

درگاه ورودي /  خروجي (I / O) پايه كانالي را مشخص مي كند كه از طريق آن اطلاعات بين كارت آداپتور شبكه و CPU آن جريان مي بابد . درگاه براي CPU بصورت آدرس ظاهر مي گردد .

هر دستگاه سخت افزاري در سيستم بايد شماره درگاه I / O  پايه متفاوتي داشته باشد .

آدرس پايه حافظه =

آدرس پايه حافظه محلي را در حافظه كامپيوتر (RAM) مشخص مي كند . اين محل بصورت ناحيه بافر براي ذخيره كردن قابهاي داده اي وارد شوند و خارج شونده به كار مي رود

انتخاب فرستنده گيرنده =

برخي كارتها با يك فرستنده گيرنده خارجي و يك مدار نصب شده روي مدار اصلي همراه مي باشند در اين حالت شما بايد تعيين كنيد كدام فرستنده گيرنده را مي خواهيد و سپس گزينة مناسب را در كارت خود انتخاب كنيد .

PCI (اتصال بين عناصر دستگاههاي جانبي ) :

اين گذرگاه محلي 32 بيتي در اكثر كامپيوترهاي پنتيوم و مكينتاش به كار مي رود . گذرگاه فعل PCI اكثر نيازهاي عملكرد Plugand Play را مرتفع مي سازد .

Plug and Play فلسفه طرح و مجموعة مشخصات معماري كامپيوترهاي مشخص مي باشد .

(95Microsoft  Windows سيستم عامل آماده انجام Plug and Play مي باشد)

اتصالات و كابل كشي شبكه :

كارت آداپتور شبكه سه عمل مهم در هماهنگي فعاليتهاي بين كامپيوتر و كابل را انجام مي دهد :

1 -  انجام اتصال فيزيكي با كابل .

2 -  توليد سيگنالهاي الكتريكي كه از كابل مي گذرند .

3 -  پيروي از قوانين مشخص كنترل دسترسي به كابل .

هر نوع كابل خصوصيات فيزيك متفاوتي دارد كه كارت آداپتور شبكه بايد با آن مطابقت نمايد بنابراين هر كارت براي پذيرش نوع خاصي كابل مانند كواكسيال ، زوج مارپيچ يا فيبر نوري ساخته شده است .

برخي از كارتهاي آداپتور شبكه بيش از يك بست (اتصال) ميانجي دارند . مثلاً براي كارت آداپتور شبكه غير معمول نيست كه هر دو ، اتصال اترنت نازك و ضخيم يا اتصال زوج مارپيچ و ضخيم اترنت را داشته باشد .

بست شبكه اي اترنت نازك از بست BNC كواكسيال كه در شكل 29 -  2 نشان داده شده است استفاده مي نمايد .

به تصوير 29 -  2 توجه نمائيد

بست شبكه اي اترنت ضخيم از كابل 15 سوزني AUI براي اتصال بست 15 سوزني (DB -  15) در عقب كارت آداپتور شبكه به فرستنده گيرنده خارجي استفاده مي نمايد .

به تصوير 30 -  2 دقت كنيد

بست زوج مارپيچ بدون حفاظ همانگونه كه در تصوير 31 -  2 نشان داده شده است از بست RJ -  45 استفاده مي كند بست RJ -  45 هشت هادي دارد .

به تصوير 31 -  2 توجه نمائيد

توانايي شبكه :

اگر كارت آهسته باشد داده ها به سرعت به شبكه وارد و يا از آن خارج نمي شوند در شبكة خطي ، هيچكس نمي تواند از شبكه استفاده كند مگر آنكه كابل عاري از داده هاي ارسالي باشد . كارت آهسته ، زمان انتظار تمام كاربران را افزايش مي دهد .

مي توان حركت داده ها از طريق كارت را با چند روش افزايش داد .

دسترسي مستقيم به حافظه (DMA)

كامپيوتر داده ها را بطور مستقيم از بافر كارت آداپتور شبكه به حافظه كامپيوتر حركت مي دهد بدون آنكه از ميكرو پروسسور كامپيوتر استفاده نمايد .

حافظة مشترك آداپتور :

كارت آداپتور شبكه شامل RAM ميباشد كه با كامپيوتر ، مشترك است كامپيوتر اين RAM را به اين صورت كه عملاً در كامپيوتر نصب شده است در نظر مي گيرد .

حافظة مشترك سيستم

پروسسور كارت آداپتور شبكه قسمتي از حافظه كامپيوتر را انتخاب مي كند و آنرا براي پردازش داده ها بكار مي گيرد .

گذرگاه ممتاز :

كارت آداپتور شبكه بطور موقت كنترل گذرگاه كامپيوتر ، را با كنار گذاشتن CPU كامپيوتر و حركت داده ها بطور مستقيم به حافظة سيستم كامپيوتر بدست مي گيرد . اينكارسرعت عمليات كامپيوتر را با آزاد كردن پردازند كامپيوتر براي پرداختن به امور ديگر بالا مي برد ( اين كارتها گران مي باشند ولي توانايي شبكه را 20 تا 70 درصد بهبود مي بخشند .)  

بافر RAM  

وقتي كارت ، داده هاي بيشتر از آنچه مي تواند فوراً پردازش نمايد را دريافت مي دارد بافر RAM قسمتي از داده ها را تا زماني نگه مي دارد كه كارت آداپتور بتواند آنرا پردازش نمايد اينكار سرعت كارت را بالا مي برد .

كارتهاي بي سيم آداپتور شبكه :

كارتهاي آداپتور شبكة بي سيم قابل دسترسي وجود دارند كه سيستم هاي عامل شبكه از آنها پشتيباني مي كنند .

اين كارتها اغلب همراه :

1 -  آنتنهاي خانگي كه امواج را در تمامي جهات بطور مطلوب دريافت و ارسال مي نمايند بعلاوة كابل آنتن .

2 -  نرم افزار شبكه ، براي كار كارت آداپتور ، با شبكة خاص

3 -  نرم افزار تشخيص خرابي براي عيب زدايي

4 -  نرم افزار نصب

مي آيند .

كارتهاي آداپتور شبكه مي توانند براي موارد زير استفاده شوند :

1 -  ايجاد LAN كاملاً بي سيم

2 -  افزودن ايستگاههاي بي سيم به LAN كابل كشي شده .

 

PROM هاي راه انداز از راه دور :

در برخي محيط ها ، ايمني ، چنان اهميتي دارد كه ايستگاههاي كاري داراي ديسك گردان نمي باشند و در نتيجه نمي توانند هيچ داده اي از محل كار بگيرند .

امًا چون كامپيوتر ، معمولاً از طريق فلاپي يا ديسك سخت ، راه مي افتد بايد منبع نرم افزاري ديگري وجود داشته باشد كه ابتدا كامپيوتر ، را راه بياندازد و آنرا به شبكه متصل نمايد .

در اين محيط ها ، كارت آداپتور شبكه مي تواند با تراشة خاصي بنام PROM راه انداز از راه دور مجهز گردد كه داراي برنامة سخت افزاري است كه كامپيوتر را راه اندازي و كاربر را به شبكه ، متصل مي سازد .

 

 

 

 

منبع : سايت علمی و پژوهشي آسمان--صفحه اینستاگرام ما را دنبال کنید
اين مطلب در تاريخ: یکشنبه 02 فروردین 1394 ساعت: 22:22 منتشر شده است
برچسب ها : ,,,
نظرات(0)

تحقیق درباره جنبه های XSL

بازديد: 138

 

دو جنبه از XSL : تبديلات XSL و اشياء قالب بندي XSL

XSL، در واقع داراي دو راستا مي باشد، تبديلات XSL يا XSLT (نگارش 1.0 كه يك معرفي W3C است و نگارش 1.1 كه ارائه شده است) و اشياء قالب بندي XSL يا XSLFO. هر كدام هنگامي كه واردكار با داده هاي XML مي شوند، براي انجام وظايف متفاوتي طراحي مي شوند.

XSLT اجازه مي دهد محتواي XML را بگيريم و به هر شكل ديگري تغيير دهيم، ممكن است آن شكل ديگر، يك صفحة XTML يك فايل متني يا حتي يك سند XML ديگر باشد. مي توانيم محتوايي كه مي خواهيم نمايش داده شود را انتخاب كنيم و محتوا را اضافه كنيم يا حتي محتوايي را كه آنجا وجود دارد اجرا كنيم. XSLT با تبديل XML به HTML و افزودن اطلاعات شيوه CSS عمل مي كند بلكه اساس آن CSS است و اساساً از همان صفحات و مقادير استفاده مي كند. در اين صورت چه نيازي به آن داريم؟ چرا منحصراً از CSS استفاده نكنيم؟ يكي از نكات قوت XML، اين است كه مي توان در محيطهاي مختلف از آن استفاده كرد، نه تنها در مرورگر. به همين دليل است خود را در موقعيتي ببينيد كه محيط كاري شما، كد XML را مي شناسد ولي از HTML كه در برگيرندة اطلاعات شيوه است يا به آن مراجعه مي كند، چيزي متوجه نمي شود.

اشياء قالب بندي XSL به عنوان بخشي از «درخت نتيجه» كه بعد از تبديل به دست مي آيد، مي باشد، و مي توانند توسط هر برنامه كاربردي كه از آن پشتيباني كند، پردازش شود.

آماده سازي

براي استفاده از معرفي لازم است آخرين نگارش MSXML3 دريافت شود.

نصب  MSXML3

با وجود اينكه، دريافت و نصب MSXML3 شايد بسيار راحت به نظر برسد، گزارشات بسيار زياد از سيستم ها رسيده است كه پردازش كل XSL بعد از عمليات نصب، متوقف مي شود. كاربران دو گزينه انتخابي دارند:

نصب MSXML3 در مد "side- by- side" كه پيش فرض مي باشد. ابتدا از ايجاد backup در C;\windows\system\MSXML.DDL مطمئن شويد. اگر اين فايل خراب شد و پردازش XSL متوقف گشت، بايد با جايگذاري backup، حداقل اجازة استفاده از گزينة انتخابي زير را بدهد.

ادامه نصب پيش فرض و استفاده از پيش نويس كاري، اكثر اطلاعاتي كه در اين متن تحت پوشش قرار گرفته، براي هر دو حالت يكي هستند و ما فقط به يك استثنايي كه در آنجا مثل هم نيستند، اشاره خواهيم كرد. بعداً، هنگامي كه به پردازش XSLT روي سرويس دهنده (به جاي سرويس گيرنده) مي پردازيم، مي توانيم از معرفي كامل آن براي توليد صفحات XHTML استفاده كنيم كه در اين صورت لازم نيست در هنگام ساخت برنامة كاربردي خود، نگران پشتيباني مرورگر از XSL باشيم.

نصب MSXML3 از مراحل زير است:

1 – مطمئن باشيد كه بر روي ماشين خود برنامة Windows Installer داريد. مي توان از اين آدرس آن را دريافت كرد:

http:\www.microsoft.com/msdwnload/

اين نرم افزار را نصب كنيد، مرورگر را ببنديد و دوباره آن را باز كنيد.

2 – نرم افراز را از روي اينترنت دريافت كنيد. ما همراه اينترنت اكسپلرر  از نگارش منتشر شده MSXML3 استفاده مي كنيم كه اين نرم افزار در آدرس زير پيدا مي شود:

http:\msdn.microsoft. com/

هشدار: اگر نگارش قبلي MSXML را نصب كرده باشيد، شايد لازم باشد آن را در اينجا ارتقا دهيد. زيرا بعضي از نتايجي كه در اين فصل خواهيم ديد، با نگارشهاي قبلي متفاوت است.

3- از C:/windows/system/MSXL.DDL يك كپي به عنوان backup بگيريد، همان طور كه قبلاً به آن اشاره شد.

4 – با دو بار كليك كردن روي فايل msxm13.exe فايل دريافت شده از روي اينترنت را اجرا كنيد.

5 – گاهي اوقات، در صورتي كه پيش فرض، مد "side-by-side" باشد (كه DLL قبلي را دست نخورده نگه مي دارد) ممكن است نصب كامل نشود. شايد لازم باشد كه يك فايل نصب ديگر، xmlinst.exe را اجرا كنيد. كه آن را مي توان از آدرس زير دريافت كرد:

http:\msdn.microsoft. com/downloads/default.asp?URL=/

cod\sample.asp?url=/msdn-files/027/001/469/msdncompositedoc.xml

پس از اينكه آن را دريافت كرديد، روي آن دوباره كليك كنيد تا از حالت فشرده خارج شود. توجه داشته باشيد كه در كجا از حالت فشرده آن را خارج كرده ايد. در پنجرة اعلان فرمان (Commad Prompt) به آن شاخه برويد و اين را تايپ كنيد:

Xmlipst

در اين صورت، نصب كامل خواهد شد.

هشدار: با وجود اين، مايكروسافت هنوز هم هشدار مي دهد كه بعضي از سيستم هاي ممكن است بعد از اجراي xmlinst.exe ناپايدار شوند. پس تنها در صورتي كه نمي توانيد براي گذراندن تست به زير، به مرحلة نصب برسيد، آن را اجرا كنيد. براي خنثي كردن اثرات xmlinst.exe پيشنهاد مي شود به شاخة مناسب برويد و تايپ كنيد:

umlinst /u


معرفي جاوا

شايد توجه كرده باشيد كه تا به حال دربارة اينكه از چه سيستم عاملي استفاده مي كنيم، صحبت نكرده ايم، زيرا هيچ فرقي نمي كند. XML تنها متن است و بر روي هر سيستم عاملي كه بتوان يك فايل متني ساخت، مي تواند ساخته شود.

به هر حال معمولاً برنامه نويسي واقعي، محدودكننده تر از آن است. علاوه بر اين، شما هنوز نمي توانيد برنامه اي مثلاً براي اَپل مكينتاش بنويسيد و آن را به همان شكل در ويندوز 98 اجرا كيند.

البته، اين مساله به خوبي اصلاح شده است. عملكرد داخلي هر سيستم عامل و كامپيوتري با بقيه متفاوت است، بنابراين يك برنامه حتماً بايد زبان مناسب براي صحبت كردن با آنها را مي دانست. همچنين ممكن است تصور كنيد، اين كار با طبيعت وب چندان سازگار نيست، چون وب جايي است كه يك مطلب بايد بتواند به طور مجازي از طريق هر نوع سيستمي مورد دسترسي قرار گيرد. بنابراين، قبل از اينكه فردي بخواهد يك زبان فراگير و جهاني پيشنهاد كند، تنها اين مساله مهم بود.

در اين حالت، آن فرد شركت Sun Microsystems بود. سان پيش از آنكه اعلام كند كه روي جاوا (زبان برنامه نويسي كه در محيطهاي مختلف قابل اجراست) كار مي كند در حيطة كاري اينترنت وجهة خوبي داشت. زيرا در آن زمان، تمام سرويس دهنده هاي اينترنت روي سيستم عاملي به نام يونيكس اجرا مي شدند و درصد بالايي از آنها از سولاريس (نمونه اي از يونيكس شركت سان) استفاده مي كردند.

التبه، در آن زمان ماشينهاي روميزي زيادي وجود نداشتند كه از يونيكس استفاده كنند، بنابراين اختلاف زيادي بين نرم افزاري كه روي سرويس دهنده اجرا مي شد و نرم افزاري كه مي توانست روي مرورگر يا سرويس گيرنده اجرا شود وجود داشت.

جاوا تمام آنها را تغيير داد.

كليد موفقيت جاوا در ايدة JVM يا ماشين مجازي جاوا است. JVM بين كد و سيستم عامل قرار مي گيرد و به عنوان يك مفسر كار مي كند.

بنابراين تا زماني كه براي سيستم عامل شما اعم از ويندوز 98، يونيكس يا حتي هر چيزي كه خودتان نوشته باشيد يك JVM وجود داشته باشد كد جاواي يكساني بر روي سيستم اجرا خواهد شد. بدين ترتيب شعار «يكبار نوشتن، در هر جايي اجرا شدن» برقرار مي باشد.

توجه: كساني كه دقت بيشتري دارند توجه خواهند داشت كه در آخرين سالهاي دهة 90، بين توليد كنندگان اصلي بر سر نگارشهاي بهينة جاوا براي سيستم عاملهاي خاص عدم هماهنگي و اختلاف پيش آمد. اين مساله به برنامه هاي Java Compatible , 100% Pure Java, SUN منتهي شد. فقط بر نرم افزار Pure Java تكيه خواهيم كرد.

انتخاب عباراتي براي توصيف نوع JVM به عنوان يك مفسر، لازم بود. برنامه نويساني كه در زبانهايي مثل C++ حرفه اي هستند، متوجه خواهند شد كه دو نوع زبان وجود دارد: زبانهاي كامپايل شدني و زبانهاي تفسير شدني يك زبان كامپايل شدني (مثل C يا C++) ابتدا نوشته مي شود و بعد به زبان محلي سيستمي كه روي آن اجرا خواهد شد. ترجمه مي شود. اين روش عمليات را سريع مي كند. نقطه ضعف اين روش آن است كه چون برنامه اي به زبان محلي خاص آن سيستم ترجمه شده است. به طور كلي نمي تواند در يك محيط ديگر به كار رود، از طرف ديگر، يك زبان تفسير شدني مثل بيسيك يا هر زبان اسكريپت ديگر، تا هنگام به اجرا به زبان محلي ترجمه نمي شود كه اين ويژگي، قابليت حمل برنامه را بالاتر مي برد.

در اين صورت جاوا در كدام دسته قرار مي گيرد؟

در واقع، در جايي بين هر دو يك برنامة جاوا به «بايت كد» كامپايل، سپس در هنگام اجرا شدن توسط JVM تفسير مي شود. در دوراني كه جاوا معرفي مي شد، شركت سان يك كامپايلر JIT را هم اضافه كرد كه كد را درست قبل از اجرا شدن كامپايل مي كرد و سبب بهبود كارايي سيستم مي شد. به هر حال به منظور افزايش قابليت حمل، در حال حاضر تصور مي كنيم كه جاوا يك زبان تفسير شدني است.

پس، كل اين مباحث به چه معنا است؟

به اين معنا است كه چون جاوا به هيچ سيستم عامل خاصي مربوط نمي شود، يك انتخاب مناسب، براي توسعة برنامه هاي كاربرديي است كه به هيچ محيط خاصي مربوط نمي شوند. اكثريت ابزارها و برنامه هاي كاربردي توسعة برنامه هاي كاربردي XML در جاوا توليد مي شوند و ما هم از اين شيوه پيروي خواهيم كرد.

نصب Java 2 SDK

قبل از اينكه حتي بتوان در مورد اجراي برنامه هاي كاربردي و نوشتن هر برنامه اي در جاوا فكر كرد، بايد چند نرم افزار نصب كرد. ابتدا به يك JVM نياز داريم. همچنين كلاس هاي اصلي يا برنامه هايي كه ساختار زير بنايي زبان را شكل مي دهند لازم هستند، در نهايت، به كامپايلري احتياج داريم كه برنامة ما را به بايت كدي كه JVM را مي فهمد برگرداند.

محل گرفتن Java 2 SDK

جايي كه مي خواهيد از آن كامپايلري بگيريد به اينكه چه سيستم عاملي را اجرا مي كنيد بستگي دارد. SUN Microsystems از نگارشهايي براي مايكروسافت ويندوز، لينوكس و همين طور سولاريس پشتيباني مي كند. JVM هاي قابل دسترسي ديگري هم از شركتهاي ديگري مثل اپل، مايكروسافت و آي بي ام وجود دارند. براي دريافت كردن از شركت سان، آدرس روبه رو را به مرورگر خود بدهيد:

http:// java . sun .com/ j2se/

اگر نام سيستم عامل شما روي آن صفحه نبود به اين آدرس برويد تا ليستي از نگارشهاي موجود در را دريافت كنيد:

http:// java . sun .com/cgi-bin/java-ports.cgi

مطمئن شويد كه SDK را بگيرند نه اينكه فقط يك محيط زمان اجرا بگيريد. به عنوان مثال MacOS را پيدا مي كنيد و لينك مقابل آن را دنبال مي كنيد. صفحه اي را پيدا خواهيد كرد كه مراحل ضروري براي رسيدن به MRJ 2.2.2 را توضيح مي دهد. با وجود اينكه به آن هم نياز داريد، در صورتي كه بخواهيد واقعاً برنامه هاي جاوا را بنويسيد MRJ SDK هم لازم است. براي دريافت اين نرم افزار به لينك هاي آدرس زير مراجعه كنيد:

http://devworld.apple.com/ java/text/download.html

نكته:

دنياي برنامه نويسي مدتها قبل از به صحنه آمدن بيسيك، در مورد سرنامها سرگردان بود. متاسفانه، اكنون كه بازاريابي هم وارد صحنه شده، اين وضعيت بدتر شده است.

نرم افزاري كه براي ساختن برنامه هاي كاربردي جاوا لازم است با نام JDK يا Java Developer's Kit شناخته شده بود. (در واقع بعضي از توسعه دهندگان، هنوز هم به اين صورت به آن ارجاع مي كنند) اين نرم افزار شامل JVM، كامپايلر، javac و ابزارهاي متعدد ديگر بود. اولين نگارش ارائه شدة آن JDK1.0 بود.

سرانجام، بهبودهايي ايجاد شد تا اينكه به نگارش JDK1.1.8 رسيد. در آن زمان، شركت سان كانون توسعه را عوض كرد (و به اين ترتيب خصيصه هاي زيادي پياده سازي شدند) و تصميم گرفت نام محيط را به صورت Java 2  عوض كند.

متاسفانه، شركت سان شماره هاي نگارش را تغيير نداد. يعني در واقع Java 2 چيزي است كه بايد JDK 1.2 خوانده مي شد ولي در حال حاضر Java 2 Software Development Kit نگارش 2/1 مي باشد.

بنابراين اگر نمي توانيد "JDK" را پيدا كنيد، نگران نباشيد. همانجاست فقط نامش عوض شده است.

عمليات نصب

به دليل اينكه Java SDK، يك برنامة كاربردي مانند بقيه برنامه هاست، طبيعتاً در قالب يك نصب كننده به همراه يك ويزاد آزاد مي آيد تا شما را در بين گزينه هاي انتخابي نصب راهنمايي كند. عموماً نصب كردن در ويندوز شامل مراحل زير است (به همراه مجموعة مشابهي براي محيطهاي ديگر):

1 – پنجرة تمام برنامه هاي كاربردي باز را ببنديد.

2 – روي فايل دريافت شده از روي اينترنت (به عنوان مثال ‌j2sdk1-300-win.exe) دوبار كليك كيند تا كار نصب كننده شروع شود.

3 – licence agreement را بخوانيد و قبول كنيد.

4 – يك پوشه مقصد انتخاب كنيد، مي توانيد هر مقصدي كه راحت تر است را انتخاب كنيد، اما در تمام دستورالعملهاي اين كتاب فرض خواهد شد كه شما JDK را در شاخة اصلي نصب كرده ايد. اين پنجره، پوشة مقصد C:\jdk1.3 را مي سازد.

5 – مشخص كنيد كه چه چيزي را مي خواهيد نصب كنيد براي ساخت و اجراي برنامه هاي كاربردي جاوا، به فايل هاي برنامه نياز خواهيم داشت نه فايل هاي منبع اصلي. در صورتي كه فضاي ديسك شما كم است، بهتر است علامت Java Sources را برداريد.

پس از اينكه نصب كننده كامل شد، مي توانيد فايل دريافت شده را به منظور بازيابي فضاي ديسك حذف كنيد.

در حال حاضر، دو مرحلة بعدي كاملاً اختياري هستند. اما در غير اين صورت بايد مقداري تايپ كنيم (همچنين لازم خواهد بود براي برنامه هاي كاربردي آينده، اين دو متغير را تنظيم كنيم. بنابراين هم اكنون آن را انجام مي دهيم).

6 – حال، PATH را مقدار دهي كنيد. با وجود اينكه ما براي دستيابي به محيطي بر مبناي مرورگر تلاش مي كنيم، چند كار را از خط فرمان انجام مي دهيم، يعني اينكه، دستورالعملهاي را در داخل يك پنجرة Comman Prompt (يا چيزي شبيه آن) تايپ خواهيم كرد. مثلاً اگر بخواهيم از Javac استفاده كنيم بايد اين خط تايپ شود:

c:/jdk 1.3 /bin/java myFile. Java

گر چه واقعاً هيچ نكته اشتباهي در آن وجود ندارد، مي تواند مزاحم سرعت عمل باشد و احتمالاً باعث بروز اشكالات تايپي مختلفي مي شود. خوشبختانه، ويندوز با استفاده از متغير PATH روش ميانبري را براي پردازش فراهم مي كند. در عوض اگر خط را تايپ كنيد:

Java myFile.java

ويندوز هر شاخه اي را كه در متغير PATH فهرست شده است، بررسي مي كند و به دنبال برنامه اي با نام java  مي گردد. مي خواهيم اين خط را براي هميشه به متغير PATH اضافه كنيم (به جاي اينكه هر زماني كه لازم داشتيم آن را به كار بريم) توسط سيستم عامل مي توان اين روش را اعمال كرد.

براي ويندوز 95 يا 98، آن را در فايل AUTOEXEC.bat خواهيم گذاشت تا هر وفت كه ماشين دوباره راه اندازي شد، اجرا شود.

هشدار: قبل از تغيير دادن فايل AUTOEXEC.bat، يك نسخه پشتيبان از آن بسازيد. خطاهاي اين فايل مي تواند عذاب آور باشد و طبعاً مي تواند سيستم عامل را از ماشين بگيرد يا حتي در هنگام راه اندازي مشكل ايجاد شود.

پس از ايجاد AUTOEXEC.bat، فايل را در Notepad باز كنيد (نه در WordPad) و عبارت PATH را پيدا كنيد. عموماً چيزي شبيه اين است:

PATH C:\WINDOWS\COMMAND;C: \ WINDOWS:

شاخة bin را اضافه كنيد. بناراين نتيجة كار، چيزي شبيه اين خواهد بود:

PATH C:\WINDOWS\COMMAND;C: \ WINDOWS; C;\ jdk1.3\bin;

فايل را ذخيره كنيد.

براي آزمايش PATH (و اطمينان از اينكه خطايي وارد AUTOEXEC.bat نكرده باشيد) يك پنجرة اعلان فرمان را با انتخاب start/program/MS-Dos Prompt (يا چيزي معادل اين در سيستم عامل خود) باز كنيد تايپ كنيد:

autoexeC

كليد Enter را فشار دهيد. اين دستور همان اسكريپ را اجرا مي كند. و اجراي آن در هنگامي است كه كامپيوتر خود را روشن مي كنيد اگر خطايي وجود داشت، برويد و آن را اصلاح كنيد. در صورت لزوم، قبل از اينكه چيزي را تغيير دهيد و دوباره كامپيوتر را روشن كنيد، يك كپي از نسخه پشتيبان بسازيد.

در صورتي كه همه چيز به درستي اجرا شد، خط زير را تايپ كنيد:

Path

در پنجرة اعلان فرمان PATH را آزمايش كنيد. رشته اي از شاخه هايي را كه اضافه كرديم بايد ببينيد. در ويندوز NT يا ويندوز 2000 اين فرآيند بسيار ساده تر است. اين مسير را انتخاب كنيد:

Start/control panel/System/environment

در زير قمست PATH, User Variables را جستجو و متمايز كنيد. در انيجا مي توانيد مقدار را تغيير دهيد. و C:\jdk1.3\bin (يا شاخة مناسب) را به انتهاي متغير PATH اضافه كنيد. همين كار را تحت System Variables انجام دهيد.

هشدار: براي كاربران ويندوز 9x و هم براي كاربران ويندوز NT يا 2000 اگر يك نگارش نصب شدة قديمي از JDK داريد، مطمئن شويد كه مرجع آن را يا به روز رساني و يا حذف كرده باشيد يا حداقل مطمئن شويد مرجع جديد در ابتدا بيايد زيرا فقط اولين مورد استفاده خواهد شد.

تغييرات را اعمال كنيد و آنها را با باز كردن يك پنجرة اعلان فرمان و تايپ PATH آزمايش كنيد.

7 – CLASSPATH را تنظيم كنيد. در نگارش قبلي Java SDK لازم بود كه كاربران متغيري به نام CLASSPATH را اضافه كنند كه به برنامة كاربردي مي گفت در كجا به دنبال چندين كد مورد نياز بگردد. در واقع Java 2 بدون تنظيم CLASSPATH كار مي كند. در صورت لزوم، مسيرهاي ديگري براي فرستادن اطلاعات داخل يك برنامة كاربردي وجود دارد به هر حال، ابزارهاي ديگري هم نصب خواهيم كرد كه براي درست كار كردن به CLASSPATH نياز دارند. بنابراين اكنون به سراغ تنظيم آن مي رويم.

براي ويندوز 95 يا 98 تقريباً همان روش تنظيم PATH را در پيش مي گيريم. از فايل AUTOEXE.bat، backup بسازيد و آن را در Notepad باز كنيد. اگر مقدا دهي يك متغير، CLASSPATH نداريد در زير قسمت اعلام PATH، خطي مشابه اين اضافه كنيد:

SET CLASSPATH=.;

فايل را ذخيره و اجرا كنيد.

اين فرمان به برنامة كاربردي مي گويد كه براي هر كدي كه لازم دارد، شاخة جاري را نگاه كند اگر به همراه اطلاعاتي كه توسط برنامه هاي كاربردي ديگري مورد نياز است، يك تنظيم CLASSPATH موجود را داشتيد، بهتر است تا زماني كه شاخة جاري را مطابق آنچه نشان داده شد اضافه مي كنيد، آن شاخه را ترك كند. در ويندوز NT يا 2000 براي ايجاد تغييرات، مراحلي مشابه مقدار دهي متغير PATH را دنبال مي كنيم.

به منظور آزمايش تنظيم CLASSPATH، داخل پنجرة اعلان فرمان، خط زيرا تايپ كنيد:

SET

اين فرمان فهرستي از تنظيمات جاري و اينكه متغيرهاي آنها چه هستند را نشان مي دهد. يك فهرست براي CLASSPATH ببينيد.

8 – عمليات نصب را آزمايش كنيد. در اينجا، واقعاً نمي خواهيم كد جاوا بنويسيم بلكه تنها مي خواهيم مطمئن باشيم كه درست نصب شده باشد، براي انجام اين كار، دو خط زير را اعلان خط فرمان تايپ كنيد:

ed c:\ jk1.3\demo\ ifc\styleoad

java-jar styleped.jar

پس از گذشت چند ثانيه، اين فرمان بايد يك پردازشگر متن را به صورت پنجره اي با يك صفحه از Lewis Carroll's Alice in Wonderland بياورد.

توجه: اگر نگارش ديگري از JDK را دريافت (download) كرده باشيد، ممكن است نمونه هاي متفاوتي را ببينيد. عموماً ، اين نگارشها دو دسته هستند: كلاس هاي پايه اي جاوا يا jfe و اپلت ها. ما اصلاً از اپلت ها استفاده نخواهيم كرد، با اين وجود اگر آنها تنها نمونه هاي آزمايشي نرم افزار باشند، براي آزمايش نرم افزار، لازم است از appletviewer استفاده كنيد. به عنوان مثال، JDK استاندارد داراي اپلتي به نام TocTacToe است. براي آزمايش عمليات نصب توسط اين اپلت، دو خط زير را تايپ كنيد:

cd c:\jdk1.3\demo\applets\TicTacToe

appletviwer example 1.html

اين فرمان بايد بازي كوچك TicTacToe را بياورد.

در صورتي كه در عمليات نصب با مشكلي برخورد كرديد، عمليات در مورد عيب يابي در اين آدرس وجود دارد:

http://java.sun.com/j2see/1.3/install-windows

html#trobleshooting

 يا سايتي كه خود JDK را از آن دريافت كرده ايد.


نصب تجزيه كننده Xerces-J

اكنون كه جاوا نصب شده است و كار مي كند لازم است تجزيه كننده واقعي را نصب كنيم كه براي بررسي داده هاي خود از آن استفاده خواهيم كرد. توسعة نرم افزار، مخصوصاً آنهايي كه در برگيرندة XML هستند، بر طبق نظرية API يا واسط برنامه نويسي كاربردي مي باشد. اين نوع، مشابه زباني كوچكي است كه داراي يك لغت نامه مي باشد، در لغت نامه هر فرمان يا كلمه، معني خاصي دارد. برنامه هاي كاربرديي كه از همان API استفاده مي كنند، مي توانند با يكديگر صحبت كنند. به دليل اينكه، تعداد زيادي از برنامه هاي مربوط به XML به صورت پيمانه اي هستند، (بر اساس تمايل توليد كننده) در برنامه هاي كاربردي مختلف مي توانند به منظور مشتركي استفاده شوند.

اصطلاح جديد: رابط برنامه نويسي كاربردي ‌(API)- يك API مجموعه اي از فرمانهايي است كه برنامه نويسان براي انجام وظايف خاصي از آن استفاده مي كنند. در صورتي گفته مي شود يك برنامه با يك API پياده سازي شده است كه آن فرمانها بتوانند آن وظايف را انجام دهند.

اصطلاح جديد: پيمانه اي (Modulator)- يك برنامة پيمانه اي، برنامه اي است كه هر بخش كد، بدون تاثير بر بقية برنامة مي تواند عوض شوند.

اين مطلب در مورد تجزيه كننده ها نيز صادق است. تجزيه كننده هاي زيادي در دسترس هستند، اما يكي از رايجترين آنها Xerces از Apache Project  مي باشد.

Apache Project  پروژه اي به صورت منبع- باز است كه Apache Web server و محصولات پايه اي زياد ديگري را براي وب توليد كرده است. شركتهاي متعددي از قبيل، آي بي ام، سان و مايكروسافت پروژه هايي را به Apache  اهدا كرده اند كه آنها را براي مصرف عمومي و كاركردن به صورت رايگان در دسترس گذاشته اند.

Xerces و مخصوصاً نمونة جاواي آن ، Xerces-J، تجزيه كننده اصلي اي است كه با اغلب برنامه هاي كاربردي تجزية XML به كار مي روند (مانند (XML4J)) از شركت JAXP, ABM از شركت سان) ما مستقيماً از اين استفاده خواهيم كرد تا نكات مورد بحث در نصب را آسان كنيم.

نصب Xerces-J

تجزيه كننده Xerces-J در سايت زير پيدا مي شود:

Htpp://xml.apache.org/xerces-j/index.html

نگارش فعلي 1.2.3 مي باشد، اما اكنون بايد به حقيقت توسعة XML توجه كرد و اينكه بعضي چيزها تغيير داده مي شود. خصوصاً، پياده سازي استانداردهاي Xerces هنوز به پايان نرسيده است بنابراين، اگر تغييراتي به وجود آيد، Xerces به كار خود ادامه خواهد داد و اين خصوصيات فعلي را حفظ خواهد كرد. همچنين، كمي قبل گروهي كه روي پروژة Xerces-J كار مي كرد تصميم گرفت بيشتر تمركز كاري خود را براي افزودن سادگي و يك API جديد به نام JDOM تغيير دهد. به احتمال زياد، اغلب اين عملكردها پياده سازي خواهند شد، اما اكنون ما از API هاي موجود استفاده مي كنيم.

مساله مهمي كه بايد يادآوري كرد اين است كه با وجود اينكه شايد تركيب نحوي خاصي تغيير كند، مفاهيم به همان شكل باقي مي مانند. در صورتي كه از يك نگارش جديد استفاده مي كنيد و به نظر مي رسد بعضي چيزها درست كار نمي كنند، براي مشاهده اينكه آيا تغيير كرده اند يا خير، سندهاي ارائه شده را بررسي كنيد.

براي دريافت خود تجزيه كننده، روي دكمة Download كليك كنيد و، به دنبال فهرستهايي بگرديد كه به صورت "Latest Binaries" مي باشد. فايل zip را از روي اينترنت دريافت كنيد و آن را در همان شاخه اي كه Java SDK را نصب كرديد (نه شاخة خود جاوا) بگذاريد. بنابراين در صورتي كه شاخة جاوا C:\jdk1.3 باشد، فايل zip ار در C:\ بگذاريد.

براي خارج كرد ن فايل ها از حالت فشرده، از يك فايل جاوا به نام jar استفاده مي كنيم. به شاخه اي كه فايل zip را گذاشته ايد برويد و تايپ كنيد:

Jar Xerces-J_bin. 1.2.3 zip

اين كار چند دقيقه اي وقت مي گيرد و در نهايت شاخه اي به نام Xerces-1-2-3 در آنجا مي سازد.

تنظيم CLASSPATH

Xerces براي درست كردن به تنظيم CLASSPATH نياز دارد. ( به تنظيم PATH هم نياز دارد ولي ما آن را از قبل تنظيم كرده ايم.) خط زير را به همان روشي كه در طي مدت نصب Java.SDK، شاخة جاري اضافه كرديم به CLASSPATH خود اضافه كنيد.

C:\xerces-1_2_3\xerces.jar;c:\xerces- 1_2_3\xercesSample.jar;

به عنوان مثال در ويندوز 95 يا 98 اين خط را در فايل AUTOEXEC.bat  بايد به اين شكل خواند:

SET CLASSPATH=.;C:=\xerces-1-2-3\xerces.jar;

C:\xerces-1_2_3\xercesSamples.jar;

به خاطر داشته باشيد كه اگر در جاي ديگري نصب كرده باشيد، تنظيمات را بر طبق آن بايد انجام دهيد.

در ويندوز 95 يا 98 اين تغييرات تا زماني كه AUTOEXEC.bat  را اجرا نكرده ايد، تاثيري نخواهد داشت. اگر آن را به طور دستي اجرا كنيد، تغييرات فقط بر آن پنجره اعمال خواهد شد. بعد از راه اندازي مجدد كامپيوتر، تغييرات بر تمام پنجره ها تاثير خواهند گذاشت.

توجه: اگر روي يونيكس نصب مي كنيد، بايد (;) را به صورت (:) تغيير دهيد و (/) را به صورت (|)، همچنين بايد مرجع درايو C: را حذف كنيد.

آزمايش عمليات نصب

اگر همه چيز به خوبي پيش رود، اكنون شما يك تجزيه كننده فعال داريد كه روي سيستم خود نصب كرده ايد. به هر حال، مثلاً براي شروع برنامه نويسي با آن اصلاً آمادگي نداريم، بنابراين همانند جاوا با يكي از نمونه ها عمليات نصب را آزمايش مي كنيم.

در اينجا، نمونة بسيار مفيدي ارائه شده است. نمونة SAXCount يك فايل XML را براي تعيين بعضي از ويژگيهاي تحليل مي كند، مثلاً اينكه فايل شامل چه تعداد عناصر يا فضاهايي است و خروجي آن روي صحفه نمايش چيست.

علاوه بر اينكه اين نمونه بسيار مفيد و مناسب است، در مدت زمان كوتاهي خواهيد ديد كه به ما شانس مقدار دهي كردن داده ها را نيز مي دهد. به منظورآزمايش عمليات نصب فايل AUTOEXEC.bat   را اجرا (يا كامپيوتر را دوباره راه اندازي كنيد) و سپس دو خط زير را تايپ كنيد:

cd c:\xerces-1_2_3

java sax.SAXCount data/personal.xml-v

 اين فرمان به جاوا مي گويد برنامه SAXCount را براي تحليل فايل personal.xml در شاخة data اجرا كند و تا زماني كه آن در برنامه است، فايل را با ساختار تعريف شده مقايسه كند، شما بايد يك خروجي مشابه زير ببينيد.

data/personal.xml:2250 ms(37 elems, 18 attrs, 150 spaces 128 chars)

اگر با خطايي برخورد كرديد كه به شما مي گويد كلاس، تعريف نشده است يا پيدا نمي شود، از اينكه CLASSPATH براي آن پنجرة به فايل هاي Xerces مراجعه مي كند، مطمئن شويد. اگر لازم شد، در فايل AUTOEXEC.bat   تغييراتي به وجود آوريد و ماشين را دوباره راه اندازي كنيد.

اگر برنامه براي انجام وظيفه خوب و درست ظاهر شد ولي خود فايل XML به همراه خطاهايي به نمايش درآمد، تجزيه كننده به درستي مقدار دهي نمي شود و اين خطا ممكن است از فايل هاي كلاس قديمي در CLASSPATH شما باشد. اگر آنها را نمي توانيد پاك كنيد، حداقل مطمئن شويد كه آنها بعد از كلاس جديد ظاهر شوند.


پردازشگرهاي XSL

قبل از اينكه هر نرم افزاري را از روي اينترنت دريافت كنيم، اجازه دهيد در مورد اينكه به چه چيزي مي رسيم صحبت مي كنيم.

راجع به نحوة تبدل XML در مرورگر بسيار صحبت كرديم. آن صحبتها درست نيستند. در واقع كاري كه در تبديل صورت گرفت اين بود كه، يك پردازشگر XLS كار مي كرد تا كد XML را به چيزي ترجمه كند كه مرورگر بفهمد.

اين كار را با شيوه نامه انجام داديم و اهميت موضوع در اين است كه متوجه مي شويم اين كار انعطاف پذيري زيادي فراهم مي كند. به عنوان مثال، مي توانيم XML خود را نه تنها به HTML بلكه به هر چيزي تبديل كنيم. XML را مي توان به Plain text, Scalable Vector Graphics, HTML يا حتي مجموعه اي متفاوتي از برچسبهاي XML تبديل كرد. رمز كار اين است كه بدانيم در هر زمان كدام يك از آنها كاربردي است؟

Xalan

تجزيه كننده هاي XML و پردازشگرهاي XSL معمولاً هميشه در كنار هم هتسند. اغلب برنامه نويساني كه از تجزيه كنندة Xerces XML استفاده مي كنند، از پردازشگر xalan XSL نيز استفاده مي كنند كه از Apache Project به دست مي آيد. براي دريافت Xalan به آدرس زير مراجعه كنيد:

http: // xml.apache.org/xalan-j/index.html

اين صفحه، لينكي به آخرين نگارش Xalan-Java2 دارد.

هشدار: حتماً نگارش 2 از Xalan-Java از روي اينترنت دريافت شود (نگارش 1 كافي نيست) API كاملاً متفاوت است و اكثر كارهايي كه ما انجام مي دهيم با نگارش 1 كار نمي كند.

نصب Xalan

پس از دريافت فايل *zip يا *tar (كه به محيط كاري شما بستگي دارد) آن را به وسيلة unzip يا uncompress از حالت فشرده خارج كنيد. اگر آن را در شاخة اصلي بگذاريد به شاخه اي مشابه اين مي رسيد:

c: \xalan.j_2_0_D05

براي راحتي كار، آن را به اين صورت تغيير دهيد:

c: \xalan

بعد از اينكه فايلها نصب شدند، بايد ‌CLASSPATH را در سيستم به روزرساني كنيم. ‌CLASSPATH را به اين شكل تنظيم مي كنيم:

CLASSPATH=0;c:\xalan\bin\xerces.jar;c:\xalan\bin\xalan.jar

 در اين خط همه چيز براي انجام گرفته شده است.

توجه: اگر فايل ها را در شاخة ديگري نصب كرديد، براي اطمينان خاطر تغييرات مناسب را مشابه ‌CLASSPATH قبلي ايجاد كنيد.

توجه كنيد كه در واقع اين ‌CLASSPATH را جايگزين كنيد: به جاي آنكه اين را به آن اضافه كنيم، اكنون به نگارشي از Xerces كه در شاخة Xalan است، اشاره مي كنيم. دليل خوبي براي اين كار وجود دارد. معمولاً بهتر است بيشتر از يك نگارش برنامة خاص خود را روي ماشين خود نداشته باشيم. زيرا Xerces جديدتر يا قديمتري، ممكن است مشكل به وجود آيد. براي پيشگيري از بروز چين مشكلاتي، نگارشي را كه به همراه Xalan مي آيد در ‌CLASSPATH ليست مي كنيم. جاوا هميشه مكانها را به ترتيبي كه در ‌CLASSPATH نمايش داده شدند، بررسي مي كند. در اين صورت، اگر نگارش ديگري در يك جاي ماشين داشته باشيم، مشكلي پيش نمي آيد.

اجراي فايل AUTOEXEC.bat را فراموش نكنيد، در اين صورت ‌CLASSPATH جديد اثر مي كند.

آزمايش عمليات نصب

همان طور كه در مورد Xerces انجام داديم، از نمونه اي كه همراه Xalan ارائه شده است براي آزمايش عمليات نصب استفاده خواهيم كرد. كلاس Simple Transform در جاوا، فايل birds.xml را مي گيرد و با استفاده از شيوه نامة birds.xsl آن را تبديل مي كند. متن نتيجه به فايل birds.out فرستاده مي شود.

سرانجام، آمادة آزمايش عمليات نصب شديم. ابتدا، بايد Simple Transform.java را كامپايل كنيم. هنگام نوشتن برنامه هاي خود، در فرآيند دقت بيشتري خواهيم داشت. اما در حال حاضر تنها پنجرة اعلان فرمان را باز و خط زير را تايپ مي كنيم:

cd c: \xalan\samle Transform

javac Simple Transform. Java

java Simple Transform

خروجي بايد مطابق زير باشد:

*************The result is in brids.out *************

فايل birds.out را با هر فايل متني مي توانيد باز كنيد. بايد ليستي از كلاس ها و انواع bird را ببينيم.

اگر به خطايي برخورد كرديدكه مي گويد كلاس را نمي توانيد پيدا كند، مطمئن شويد كه CLASSPATH را درست تنظيم كرده باشيد و در صورتي با خطايي مواجه شديد كه مي گويد برنامه نمي توانند فايل birds.xml را بخواند، از اينكه هر دو فايل birds.xml و birds.xsl در همان شاخة Simple Transform باشند اطمينان حاصل كنيد.

اگر خطايي وجود نداشته باشد، اكنون يك پردازشگر XSL نصب شده داريد كه كار مي كند.


افزودن يك سرويس دهندة وب به محتواي مركب (Mix)

با وجود اينكه هدف، ساختن يك سايت وب است اما تا به حال دربارة يكي از مهمترين نكات كه خود سرويس دهندة وب است توضيحي نداده ايم. گاهي اوقات، روش كار بايد اين طور باشد يك سرويس دهندة وب بايد در زمينه بنشيند، توجهي نكند و بسيار آرام كار خود را انجام دهد.

چون تا به حال صفحات وب ايستا را ساخته ايم، مي توانستيم با يك مرورگر آنها را آزمايش كنيم و روي سرويس دهندة وب (هر جا كه باشد) قرار دهيم.

توجه: فرآيندهاي واقعي ارسال و دريافت يك درخواست وب مراحل بيشتري دارد، اما در حال حاضر مهم نيستند.

ببينيم كه سرويس دهندة وب چه كاري انجام مي دهد. هنگامي كه يك URL را در مرورگر خود وارد كنيم، كامپيوتر ما يعني سرويس گيرنده، درخواستي براي سرويس دهندة وب مي سازد تا درخواسي ايجاد كند، سرويس دهنده به درخواست رسيدگي مي كند و آن را به سرويس گيرنده پس مي فرستد. نوع اطلاعاتي كه سرويس گيرنده به دنبال آنها مي گردد (به عنوان مثال، يك تصوير يا نتايج يك اسكريپت) تعيين مي كند كه سرويس دهندة وب براي ايجاد آن درخواست چه كار بايد انجام دهد. اگر آن اطلاعات تنها يك تصوير يا يك فايل HTML ساده باشد، سرويس دهنده آن را پيدا مي كند و پس مي فرستد.

به هر حال، در اين حالت، مي خواهيم سرويس دهنده واقعاً چند كار انجام دهد و آن نتايج را براي سرويس دهنده پس بفرستد. در گذشتة وب، اين كار منجر به استفاده از CGIمي شد و اسكريپت ها به احتمال زياد برنامه هاي Perl يا C بودند.

به هر حال جاوا، نظرية سرولت ها را براي انجام اين كار رساند. يك سرولت برنامة كاربردي كوچك جاوايي است كه روي سرويس دهندة وب اجرا مي شد و نتايج را به سرويس گيرنده بر مي گرداند.

با وجود اينكه، تمامي سرويس دهندة وب نمي توانند سرولت ها را اجرا كنند، اكثر آنها با افزودن يك برنامة اتصالي سرويس دهنده به نام «موتور سرولت» مي توانند آنها را اجرا كنند. بعضي از آن موتورهاي سرولت مي توانند مانند حالتي كه Tomcat دارد به عنوان خود سرويس دهندة وب هم استفاده شوند.

نصب و پيكر بندي Tomcat

Tomcat محصولي از شركت Apache Software Foundation به عنوان بخشي از پروژه Jakarta است. تقريباً با Sun's Java Server Web Development Kit يكسان است كه در اصل از آن مشتق شده است؛ Tomcat از اين دو آدرس زير مي تواند دريافت شود:

http://jakarta.apache.org/downloads\binidex.html

يا

http://java sun.com/products/jsp/tomcat

دريافت نرم افزار از روي اينترنت، آخرين نگارش را ارائه مي دهد و در شاخه اي كه بخواهيد از آن استفاده كنيد، از حالت فشرده خارج مي شود. اگر بخواهيد مطابق دستورالعمل ها عمل كنيد، فايل ها را در شاخة root خود از حالت فشرده خارج كنيد و بعد شاخة Jakarta-tomcat را براي سادگي به tomcat تغيير نام دهيد.

تكميل نصب

تمام اين كارها براي نصب tomcat است، لازم است كمي روي پيكربندي هم كار كنيم. مخصوصاً اينكه بايد دو متغير محيطي جديد بر طبق CLASSPATH اضافه كنيم. آنها JAVA-HOME و TOMCAT_HOME هستند. همچنين لازم است چند فايل همبه CLASSPATH اضافه كنيم. به عنوان مثال، براي افزودن اين متغيرها به AUTOEXEC.bat، بايد اين فايل را به اين صورت ويرايش كنيم.

SET CLASSPATH=.;c: \xalan\bin\xerces.jar;c\xalan\ bin\xalan.jar;

SET CLASSPATH=% CLASSPATH%c:\tomcat\lib\webserver.jar;

c:\tomcat\lib\jasper.jar

SET CLASSPATH=%CLASSPATH%C:\tomcat\lib\xml.jar;

c:\tomcat\lib\servlet.jar;

c:\tomcat\lib\tools.jar;

SET TOMCAT_HOME=c:\jdk1.3

PATH=%'%JAVA_HOME%\bin

در نهايت خط 38، از tomcat\bin\tomcat.bat را ويرايش كنيد، بنابراين به اين شكل مي خواند:

set CLASSPATH=%cp%;CLASSPATH;

آزمايش عمليات نصب

پس از تنظيم متغيرهاي محيطي جديد (و در صورت لزوم AUTOEXEC.bat) پنجرة اعلان فرمان را باز كنيد و خط زير را تايپ كنيد:

cd c: \tomcat\bin

startup

در اين صورت Tomcat در پنجرة جداگانه اي شروع به كار مي كند. براي اطمينان از اجراء، مرورگر را باز كنيد و آدرس را بدهيد:

http: //localhost:8080

Locailost، يك نام عمومي است كه به ماشين شما بر مي گردد و 8080 شمارة پورتي است كه سرويس دهنده روي آن اجرا مي شود. اين صفحه، اطلاعاتي عمومي دربارة نصب مي دهد و شامل يك لينك به مثالهايي از سرولت نيز است.

اصطلاح جديد: شمارة پورت (Port number)- يك پورت مانند يك تلفن در يك سازمان بزرگ است. يك شماره براي تماس گرفتن با آن وجود دارد كه با وجود آن افراد مي توانند به آن زنگ بزنند. اما اگر در آنجا كسي براي پاسخگويي به تلفن نباشد، درخواست بدون جواب خواهد ماند.

براي اطمينان از اينكه همه چيز به خوبي كار مي كند، روي لينك Servlet Examples كليك كنيد، سپس روي يكي از مثالهاي آن مثلاً Hello World كليك كنيد. اگر با خطايي مواجه نشديد، Tomcat به خوبي نصب شده است.

اگر مثال خوب كار نكرد، مطابق زير عمل كنيد:

1 – مطمئن شويد كه متغيرهاي محيطي (… , JAVA_HOME, CLASSPATH) به خوبي تنظيم مي شوند. ممكن است لازم باشد پس از اعمال تغييرات در AUTOXEXEC.bat، ماشين خود را دوباره راه اندازي مجدد كنيد.

2 – مطمئن شويد كه به URL درستي اشاره مي كنيد.

3 – بخشهايي عيب يابي را روي سايت Apache web در آدرس http://www.apache.org ببيند اگر TomcaT به سرعت نصب نشد، مي توان در اين سايت به موشكافي دليل آن پرداخت.

 

 


JDOM چيست؟

JDOM، يك API است كه تا كنون توسط گروهي به سرپرستي Brett McLaughlin و Jason Hunter طراحي شده است. چنانكه سياست jdom.org اعلام مي كند، JDOM بايد 80% (يا بيشتر) ازمشكلات Java/XML را با ميزان كار 20% (يا كمتر) حل كند. بدين معنا كه JDOM در ارتباط با XML روش آساني است. JDOM هر كاري را انجام نمي دهد. اما كارهايي كه با آن انجام مي شود بسيار آسان تر از  DOM يا SAX است. (همچنين كارها را به طريقي انجام مي دهد كه مي توان داده ها را بدون هيچ گونه مشكلي به API هاي DOM يا SAX منتقل كرد يا از آنها وارد JDOM كرد).

JDOM، نظر كميته XML را به سرعت به خود جلب كرد. در واقع JDOM در Xerces Refactoraing Initiative قرار خواهد گرفت كه در اين صورت تجزيه كننده XERCES از پايه دوباره نوشته خواهد شد.

به همين دلايل، كار را با JDOM شروع خواهيد كرد كه در اين صورت مي توانيد بدون اينكه با بعضي از روش هاي نامحسوس‌تر API هاي ديگر مواجه شويم كه از طريق XML دستكاري كنيد. سپس، بعد از اينكه در اين روش مهارت كسب كرديم، به API هاي ديگر مانند DOM و SAX توجه خواهيم كرد، همان 80% از مواردي را كه JDOM برايش طراحي نشده است.

نصب JDOM

 روش نصب به اينكه كدام نگارش JDOM موجود است و شما نگارش را براي نصب كردن انتخاب مي كنيد، بستگي دارد. معمولاً سه گزينه وجود دارد.

Binaries- در اين حالت مي توانيد براي JDOM يك فايل فشرده را با كد كامپايل شدة كامل آن دريافت كنيد و كل كاري را كه بايد انجام دهيد اين است كه در شاخة مناسبي فايل فشرده را باز كنيد.

Source Drop- يك Source Drop مي تواند مانند Brta يك محصول و يا قسمتي از منبع باشد.

درجة قابليت اطمينان اينها با هم متفاوت است. اما معمولاً تمامي منبع در يك فايل فشرده مي باشد.

خوشبختانه، ساختن يك كامپايل كردن منبع بسيار ساده است، آن را در مدت كوتاهي توضحي خواهيم داد.

CVS- براي برنامه نويساني كه به خوبي وارد اعماق كار مي شوند، درخت CVS وجود دارد. يك CVS يك سيستم كنترل با نگارش منبع قابل استفاده عموم است به نام CVS.Concurrent Versions System براي افراد متعددي كه بدون هماهنگي با يكديگر روي يك پروژه كار مي كنند، راه حلي ارائه مي كند. جديدترين و به روزترين نگارش JDOM، معمولاً در درخت CVS پيدا خواهد شد و هميشه بررسي اين فايلها جلوتر از گزارش كردن يا درست كردن اشكالات، قابل دسترسي است،به دليل اينكه علاوه بر دريافت نرم افزار از روي اينترنت، نصب يك نرم افزار ديگر هم لازم است.

http://WWW.jdom.org را ببينيد و سراغ لينك Download برويد. اگر گزينة binaries وجود داشت، فايل فشرده را به راحتي دريافت و آن را در شاخة JDOM، از حالت فشرده خارج كنيد. سپس به بخش «تنظيم CLASSPATH» در اين فصل برويد.

اگر نگارش binaries وجود نداشت يا اگر آخرين نگارش را بخواهيد، Source drope در سايت زير قرار دارد

http://www.jdom.org/dist/source

نسخه هاي فوري كد را در سايت http://cvs.jdom.org/source/jdom-comlete.zip مي توان پيدا كرد و در نهايت لينك هاي تمامي دريافتها از طريق اينترنت را مي توان در سايت http://www.jdom.org/downloads/source.html يافت.

مراحل نصب JDOM

نصب JDOM  از كد منبع، شامل مراحل زير است:

1 – پس از دريافت فايل هاي منبع از طريق اينترنت، آنها را در شاخة اصلي باز كنيد.

2 – پس از بيرون كشيدن فايل هاي منبع، بايد آنها را براي ايجاد binaries آماده كنيد. خوشبختانه اين فرآيند بسيار ساده است، زيرا براي اين كار، يك اسكريپت build به همراه download وجود دارد. يك پنجرة اعلان فرمان باز كنيد و به شاخة jdom تغيير مسير دهيد.

3 – JAVA-HOME را مقدار دهي كنيد. اسكريپت build بايد بتواند جاواي قابل اجرا را پيدا كند. بنابراين، اين متغير محيطي بايد با شاخة اصلي جاوا مقدار دهي شود. اين متغير مي تواند به روشي كه CLASSPATH را مقدار دهي مي كنيم، به صورت زير مقدار دهي شود:

setJAVA-HOME=c:\Jdk1.3

4 – JDOM را بسازيد. ازشاخة jdom تايپ كنيد:

build

اين خط، build.bat يا build.sh (هر كدام كه مناسب باشند) را اجرا مي كند.

5 – نمونه ها را بسازيد. به اين صورت تايپ كنيد:

build samples

اين خط، نمونه هايي را كه براي آزمايش نصب، از آنها استفاده خواهيد كرد كامپايل مي كند.

6 – مستندات را بسازيد، تايپ كنيد:

build javadoc

اين خط به دليل احتمال تغيير در JDOM API بسيار مهم است. Javadoc به طور خودكار مستندات به روز رساني شده را بر اساس كد واقعي توليد مي كند.

هشدار: اسكريپت build براي ويندوزهاي بسته بندي شده با source drop روزانه اخطار مي دهد. اگر در اجراي اسكريپت build با مشكل مواجه شديد، فايل build bat را در Notepad يا Wordpad باز كنيد و به جاي كادرهاي سياه، return بگذاريد. فايل را ذخيره كنيد. اين بار كار خواهد كرد.

تنظيم CLASSPATH

براي اينكه Tomcat بتواند كلاسهاي JDOM را پيدا كند بايد مطمئن شويم كه jDOM.jar در CLASSPATH است. اين خط را به CLASSPATH خود اضافه كنيد:

set CLASSPATH=% CLASSPATH%C:\jdom\build\jdom.jar;

در صورتي كه اين خط را به AUTOEXEC.bat اضافه كرديد، فراموش نكنيد كه بايد آن را اجرا كنيد. در اين صورت كه تنظيمات جديد، تاثير خواهند گذاشت.

اجراي نمونه ها (Samples)

فقط براي اطمينان خاطر از اينكه نصب، درست انجام شده است، يكي از نمونه هايي را كه ساختيم اجرا مي كنيم. در پنجرة اعلان فرمان، اين خط را تايپ كنيد:

 cd \jdom\build\classes

java WarReader web.xml

اين فرمان، برنامه JDOM را براي خواندن و تحليل يك فايل پيكر بندي Tomcat اجرا مي كند. خروجي بايد به اين شكل باشد:

This War has 2 registered servles:

 snopp for snoopServlet (it has 0 init params)

 file for Viewfile (it has 1 init params)

This WAR contains 3 roles:

manager

director

president

This War is distributed

 

منبع : سايت علمی و پژوهشي آسمان--صفحه اینستاگرام ما را دنبال کنید
اين مطلب در تاريخ: یکشنبه 02 فروردین 1394 ساعت: 22:20 منتشر شده است
برچسب ها : ,,
نظرات(0)

تحقیق درباره Windows Explorer

بازديد: 125

 

Windows Explorer

 

  برنامه اي است كه توانايي نمايش پوشه هاي موجود در درايوهاي مختلف را بطور همزمان داشته و همچنين قابليت اجراي فرامين مربوط به مديريت فايلها و پوشه ها را نيز دارا مي باشد .

 

1  - مديريت فايلها و پوشه ها بوسيله  windows Explorer

براي باز كردن پنجره windows Explorer چندين روش وجود دارد :

روش اول :  ابتدااشاره گر ماوس را روي نماد Computer  My  برده و كليد سمت راست آن را فشار دهيد تا منوي ميانبر مربوطه باز شود .

سپس از منوي  باز شده روي گزينه Explore  كليك كنيد تا پنجره مربوطه ظاهر گردد .

روش دوم :  در اين حالت بااستفاده از منوي start روي گزينه programs  كليك كنيد و سپس برنامه ُwindows Explorer را اجرا نماييد .

پنجره windows Explorer به دو كادر مجزا تقسيم شده است كادر سمت چپ ساختار درختي پوشه ها و كادر سمت راست ، محتويات درون پوشه انتخاب شده را نشان مي دهد .

يك نوار باريك به نامsplit مرز بين اين دو ناحيه رامشخص مي كند كه به وسيله Drag  كردن م يتوان محل آن را تغيير داد با استفاده از منوي View نيز مي توان نحوهنمايش متفاوتي براي نمادها در نظر گرفت .

          در كادر سمت چپ كه محل نمايش ساختار درختي موضوعات است ، همانطور كه در تصوير مشاهده ميكنيد در كنار بعضي از پوشه ها علامت + كوچكي قرار دارد كه نشانه وجود يك يا چند زير مجموعه در پوشه مذكور است .

          در صورتي كه اشاره گرموس را روي لامت + منقل كرده و كليك كنيد زير مجموعه ها نمايش داده خواهد شد وعلامت + به – تبديل مي شود و به كليك جدد برروي همان محل ، حالت نمايش به صورت اوليه برخواهد گشت .

براي مال :

1-     روي علامت + كنار درايو C كليك ميكنيم تا پوشه هاي داخل آن به نمايش درآيند

2-      از ميان پوشه هاي به نمايش درامده windows را انتخاب كرده وري نام پوشل دبل كليك مي كنيم محتويات اين پوشه : به نمايش درآمده و يا برنامه ها اجر خواهند شد .

همچنين انجام كليه عمليات مربوط به مديريت فايلها و پوشه ها نظير ايجاد، حذف ، كپي انتقال و غيره كه در فصول قبل بررسي شده در اين برنامه نيز ميسر است .

براي كپي چند فايل هم رديف از پوشه My Document  به درايو C  مي توانيم به روش زير عمل كنيم :

1-     ابتدا روي علامت + كنار پوشه  My Document  كليك مي كنيم تا محتويات آن نمايش داده مي شود .

2-     سپس روي اولين فايل مورد نظرمان كليك كرده و با نگه داشتن shift  روي آخرين فايل مورد نظر در همان رديف نيز كليك مي كنيم .

3-     حال روي يكي از فايلهاي كليك كرده و با نگه داشتن كليد سمت راست ماوس ، مجموعه انتخاب شده را به سمت چپ و به طرف مقصود كه درايو C  مي باشد حركت ميدهيم و زماني كه رنگ درايو C تغيير كرد دكمه را راها ميكنيم .

4-     سپس از منوي ظاهر شده ، روي گزينه Copy here  كليك مي كنيم و به اين ترتيب عمل كپي به پايان مي رسد .

در ويندوز روش ديگري نيز براي كپي كردن يك موضوع به فلاپي ديسك وجود دارد ، براي اين منظور :

1-     ابتدا يك فلاي ديك فرمت شده را درون فلاپي درايو قرا رداده و سپس در يكي از محيط هاي My computer يا windows Explorer  موضوعات مورد نظرمان را انتخاب ميكنيم .

2-     سپس روي فايل يا پوشه هاي انتخاب شده كليك سمت راست كرده و از منوي ميانبر ظاهر شده ، گزينه send to و سپس نماد (A  )   3.5 Floppy  را كليك مي كنيم .

به اين ترتيب كليه موضوعات انتخاب شده به فلاپي درايو منتقل خواهند شد گزينه ديگري كه در منوي ميانبر باز شده در سمت send to  وجود ارد Mail Recipient است كه به وسيله آن ميتوانيم موضوع يا موضوعات انتخاب شده را به صورت پست الكترونيكي براي كامپيوتر مقصد بفرستيم و همچنين اگر گزينه My Document را از اين منوي ميانبر انتخاب كنيم . موضوعات به پوشه My Document منتقل خواهند شد .

نكته : توجه داشته باشيد كه استفاده از گزينهMail Recipient   زماني ممكن است كه شما به شبكه اينترنت دسترسي داشته و آدرس پست الكترونيكي كامپيوتر مقصد تان را نيز در اختيار داشته باشيد .

 

 

2- فرامين Format     و Copy Disk

فرمان Format

 هر يك از ديسكها اعم از فلاپي يا هارد ديسك ، قبل از استفاده در كامپيوتر ، بايد فرمت شوند بااين عمل Track  ها و Sector  در روي ديسك ايجاد شده و جداول Fat  نيز طراحي مي شود به اين ترتيب ديسك براي نگهداري و ذخيره اطلاعات ، آماده مي شود .

التبه هم اكنون فلاپي ديسكها به صورت فرمت شده به بازار عرضه مي شود در اين صورت برروي برچسپ روي آنها كلمه Formated درج شده است .

 

براي فرمت كردن يك فلاپي ديسك

1-     روي نماد مربوط به فلاپي درايو روي پنجره  My computer يا windows Explorer  كليك سمت راست مينماييم تا منوي ميانبر باز شود ، سپس از اين منو، فرمان  Format  را انتخاب ميكنيم .

2-     پنجره Format  باز مي شود با كليك روي فلش رو به پايين كادر Capacity  ظرفيت فلاپي ديسك راتعيين ميكنيم

3-     با استفاده از گزينه هاي Format Type ميتوانيم نوع عمل فرمت را تعيين كنيم .

گزينه   Quick را زماني انتخاب مي كنيم كه ديسك ما قبلا فرمت شده باشد و به   اينترتيب ما براي رفع اشكال احتمالي يا حذف كليه محتويات ديك مي خواهيم آن را مجددا فرمت كنيم .

گزينه  full براي فرمت كردن ديسكي كه تا به جال فرمت شده استفاده مي شود .

گزينه Copy Systems Only  موجب كپي شدن فايلهاي اصلي سيستم عامل به درون ديسك مي شود در اين حالت ، عمل فرمت انجام نمي گيرد بلكه ديسكت به ديسكت Bootable  تبديل مي شود و از اين پس قادر به راه اندازي كامپيوتر خواهد بود از اين گزينه زماني استفاده مي شود كه بخواهيم با حفظ اطلاعات قبلي ، فايلهاي سيستمي نيز به ديسكت منتقل شوند .

در كادر Label مي توانيم برچسبي براي ديسكت مورد نظرمان تعيين كنيم و اگر مايل به تعيين برچسب نباشيم . گزينه  No Lable  را انتخاب مي كنيم  .

انتخاب گزينه  Display Summary When Finished  سبب نمايش گزارش از وضعيت ديسكت پس از اتمام عمل فرمت مي شود .

اگر گزنيه Copy System Files   انتخاب شود پس ا زانجام عمل فرمت فايلهاي سيستمي هم به آن منتقل شده و ديسك  Bootable مي شود .

پس از انجام تنظيمات مورد نظر مي توانيم ديسك را در درايو قرار داده و كلمه +++++ را فشار دهيم . در انتهاي عمل فرمت ، گزارش وضعيت ظرفيت ديسك و فضاي خالي و احتمالا فضاي غير قابل استفاده آن ارائه خواهد شد .

 

فرمان  Copy Disk

اين فرمان براي انجام عمل نسخه برداري از يك فلاپي ديسك ، با تمام اطلاعات برروي يك ديسكت ديگر استفاده مي شود و در مورد هارد ديسك صد ق نمي كند .

نكته : توجه داشت باشيد كه براي انجام عمل نسخه برداري بايد ديسكت مبدا و ديسكت مقصد ، هر دو دقيقا هم ظرفيت باشند .

براي انجام اين عمل :

1  - ابتدا ديسكت مبدا يا  Source Disk  را درون درايو قرار اده و از پنجره My Computer يا  Explorer  روي نماد فلاپي درايو كليك سمت راست  نماييد و از منوي ميانبر ، باز شده فرمان  Copy Disk  را انتخاب كنيد .

3-                             پنجره  Copy Disk باز مي شود كه شامل دو كادر  Copy From  و Copy to  
مي باشد و هر دو داراي نماد فلاپي درايو هستند . بدين معني كه يك درايو هستند . بدين معني كه يك درايو فلاپي به عنوان مبدا و يكي مقصد اطلاعات در نظر گرفته خواهند شد . پس از اطمينان از قرار گيري ديسكت مبدا درون درايو روي دكمه    Start كليك مي كنيم .

4-                             در اين لحظه پيامي مبني بر اينكه هم اكنون اطلاعات از ديسكت مبدا خوانده مي شود ، ظاهر مي گردد .

5-                             پس از انتقال تمامي اطلاعات به حافظه  RAM كامپيوتر ، كادري مشاهده م يكنيد كه باز شده است و از ما مي خواهد  كه ديسكت مقصد را درون درايو قرا ر  دهيم و سپس روي دكمه OK كليك كنيم .

6-                             پيامي مبني بر اينكه هم اكنون اطلاعات به ديسك مقصد ، منتقل مي شوند ظاهر مي شود .

نكته : ديسكت مقصد مي تواند فرمت نشده و يا فرمت شده و حاوي اطاعاتي نيز باشد كه در هر دو حالت مجددا فرمت شده و اطلاعات جديد بروي آن جايگزين خواهند شد .

 

مشاهده مشخصات ديسكها

براي مشاهده مشخصات ديسكها

1-                             در محيط  My Computer  يا  Windows Explorer  درايو مورد نظر را انتخاب كرده و سپس كليك سمت راست نماييد . از منوي ميانبر باز شده گزينه +++++ را انتخاب كنيد .

2-                             پنجره   Properties  باز مي شود . اين پنجره داراي چندين برگه است .

اولين برگه   General  است كه حاوي اطلاعاتي در مورد درايو انتخاب شده است . در كادر  Label مي توانيد برچسب جديدي براي ديسك انتخابكنيد و يا برچسب قبلي را تغيير دهيد . در اين پنجره ميزان فضاي اشغال شده ديك برحسب يكي از واحدهاي اندازه گيري مثل بايت يا مگابايت نمايش داده مي شود و ميزان فضاي باقي مانده ديسك قابل مشاهده است .

ميزان فضاي بكار گرفته شده و فضاي خالي ديسك از طريق يك نمودار Pie  نيز نمايش داده مي شود

برگه ديگر به نام  Tools حاوي سه بخش است كه در بخش   Error Checking Starus اطلاعاتي ر مورد آخرين وضعيت اشكال يابي ويندوز ارائه مي دهد و در صورتي كه گزينه  Check Now را انتخاب كنيد ، ويندوز به بررسي سيستم خواهد پرداخت و در صورتي كه  گزينه  Check Now  را انتخاب كنيد ويندوز به بررسي سيستم خواهد پرداخت و در صورت وجود هر گونه ايراد و يا خطا آن راگزارش خواهد كرد .

در قسمت  Back Up Status مي توانيد از اطلاعات موجود در روي هارد ديسك خود ديسكت پشتيبان تهيه كنيد .

نكته : تهيه ديسكت پشتيبان براي حفاظت اطلاعات مهم روي ديسك سخت ضروري است زيرا اين اطلاعات هر لحظه در معرض خطر ويروسهاي نرم افزاري سخت افزاري و يا ويروسهايي كه از طريق شبكه اينترنت ممكن است منتقل شوند قرا ردارند .خارج از مسئله  در صورت بروز مشكل سخت افزاري امكان از بين رفتن اطلاعات روي كامپيوتر هستند

با وجود ديك پشتيبان مي توانيد به راحتي ارتباط كامپيوتر خود را با ديگر كامپيوترها حفظ كنيد بدون اينكه نگران از بين رفتن اطلاعات خود باشيد .

در قسمت  Defragment Status  نيز مي توانيد هارد ديسك خود را  defrag كنيد در مراحل مختلف اضافه كردن اطلاعات و برنامه هاي جديد به ديسك سخت ممكن است فضاهاي خالي ميان انواع بخشهاي اطلاعاتي بوجود بيايد كه هر چند در وحله اول ناچيز هستند ولي به مرور زمان شايد فضاي قابل توجهي از ديسك را به خود اختصاص دهند ، با عمل  defrag اين فضاهاي خالي تا حد امكان از بين مي روند و داده هاي موجود در ديسك سخت ساختار منظم تري پيدا خواهند كرد .

 

يافتن پرونده ها و پوشه ها

مواقعي پيش مي آيد كه مي خواهيم به فايل يا پوشه خاصي از ميان انبوه موضوعات موجود در كامپيوتر دسترسي داشته باشيم . پنجره  Find  به ما كمك مي كند كه به جاي باز كردن تك تك پوشه ها بوسيله انجام يك عمل جستجوي سريع فايل مورد نظر خود را بيابيم .

 

براي باز كردن پنجره  Find

1-                                                     روي دكمه Start  كليك نموده و با اشاره به دستور  Find   گزينه  Files and Folders  را انتخاب كنيد .

2-                                                     پنجره   Find باز مي شود كه شامل سه برگه مي باشد برگه اول به نام  Name and Location  است كه مي توانيم در داخل كادر  Name نام كامل و يا بخشي از نام يك فايل را تايپ نماييم .

باي مثال مي خواهيم فايل  mypaint .bmp را كه قبلا ذخيره كرده ايم اما محل آن برا يما نامعلوم است پيدا كنيم . اگر تنها كلمه  my را در اين محل تايپ كرده و سپس روي دكمه  Find now كليك كنيم جستجو در ميان پوشه هاي درايو جاري آغاز شده و نتايج جستجو نيز در كادر پايين نمايش داده مي شود .

در اين هنگام اسامي تعدادي فايل و پوشه كه در نامشان حروف m و y وجود دارد به همراه مسير دسترسي به هر يك نشان داده مي شود . در اين حال مي توانيم با پيمايش اين مسير به فايل مورد نظرمان دسترسي پيدا كنيم و يا روي نام آن فايل دبل كليك كنيم تا باز شود همچنين مي توانيم برنامه ها را پس از پايان عمل جستجو از همين پنجره اجرا نماييم .

اگر ما نام كامل يك فايل را مي دانيم بهتر است كه در كادر Name  نام  مورد نظر را بطور كامل داخل گيومه تايپ كنيم . تا به اين وسيله دامنه جستجو محدودتر شود براي اين منظور :

1-                                                     ابتدا روي كلمه  New Search  كليك مي كنيم تا نتايج بدست آمده قبلي حذف شوند و بعد در پنجره ظاهر شده روي كلمه  OK براي تايي عمل جستجو جديد كليك مي كنيم .

2 - در كادر  Name  اين بار نام كامل  my paint  را تايپ م يكنيم و سپس دكلمه  Find now  كليك مي كنيم

2-                                                     اين بار فقط فايل  mypaint  نمايش داده ميشود.

ما ميتوانيم با استفاده از بعضي گزينه هاي پنجره  Find دامنه جستجوي آن را محدودتر و دستيابي به پنجره را سريعتر كنيم .

مثلا در كادر  in look  مي توانيم نام پوشه يا درايوي را كه مي خواهيم جستجو در آ انجام پذيرد مشخص كنيم براي اين منظور روي فلش روبه پايين اين كادر كليك مي كنيم .

از كادر نمايش داده شده در تصوير ميتوانيم يك مورد را انتخاب كنيم تا در ;كادر in look  نمايش داده شود . در اين مرحله اگر گزينه  Include Subfolders  را انتخاب كنيم ، عمل جستجو در تمام زر پوشه هاي تعيين شده صورت مي گيد . همچنين شما ميتوانيد با كليك برروي دكمه  Browse  مسير و نام پوشه دلخواه را براي عمل جستجو در آن مشخص نماييد .

در كادر  Containing text  ميتوانيم عبارت مورد نظرمان را تايپ كنيم تا فايلهايي كه شامل اين عبارت هستند نمايش داده شوند مثلا در كادر Containing text عبارت Computer  را تايپ كرده و سپس روي دكمه Find now كليك مي كنيم .

به اين ترتيب اسامي كليه فايلهايي كه در محتوياتشان كلمه Computer  وجود دارد همراه با مسير دسترسي به آنها نمايش داده خواهد شد .

در اين لحظه براي توقف عمل جستجو مي توانيم روي دكمه  Stop كليك كنيم . در برگه  Date مي توانيم تاريخ ايجاد يا تغيير فايلها را تعيين كنيم تا كامپيوتر بر اساس آن فايلهاي مورد نظر ما را جستجو كند .

نكته : توجه داشته باشيد كه هر گاه روي دكمه Find now  كليك كنيم گزينه هاي هر سه برگ اين پنجره خوانده و در جستجو مورد استفاده قرار خواهد گرفت .

اكنون مثالي را با هم دنبال مي كنيم :

1-                             برگه  Date  و سپس گزينه  Find All Files و سپس  between را انتخاب كنيد .

2-                             سپس روي فلش رو به پايين كادر Between كليك كنيد .

3-                             از تقويم ظاهر شده تاريخ  10 جولاي  98 را انتخاب كنيد .

4-                             حال در كادر and نيز تاريخ 20جولاي 99 را انتخاب مي كنيم و روي گزينه  Find  كليك مي كنيم .

به اين ترتيب كليه فايلهايي كه تاريخ ايجادشان د رمحدود تعيين شده مي باشد در كادر نمايش داده مي شوند .

همچنين مي توانيم با تعيين عددي براي كادرها مثلا  during the Prvious  )nonths )   در طي ماههاي گذشته ) و يا (day) during the Previous(در طي روزهاي گذشته ) دامنه اي براي تاريخ تعيين كرده و فايلهايي را براساس اين معيارها مورد جستجو قرار دهيم برگه سوم به نام  Advanced  (پارامترهاي پيشرفته ) را درتصويرمشاهده مي كنيد .

در كادر فهرست  of type  برروي فلش رو به پايين كليك نماييد تا فهرستي از انواع فايل باز شود .

در اين فهرست مي توانيمنوع  (Extention ) فايل مورد نظرمان را مشخص كنيم مثلا با انتخاب گزينه  Bitmap Image تنها فايلهاي گرافيكي از نوع  bitmap  با  bmp مورد جستجو قرار خواهند گرفت .

با انتخاب گزينه  All iles and Folders  كليه فايلها مورد جستجو قرار خواهند گرفت و ويندوز محدوديتي روي نوع فايلها قائل نخواهد شد .

در  كادر  Size نيز ميتوانيم حداقل يا حداكثر اندازه فايل مورد نظرمان را براي محدود كردن دامنه جستجو تعيين كنيم .


نصب چاپگر

در ويندوز 98 با استفاده از خاصيت   Plug&Play  و برنامه هوشمند نصب چاگر مي توانيد چاپگر مورد نياز خود را نصب و يا اضافه نمايد ، چاپگر پيش فرضي را براي همه برنامه ها برگزينيد . همچنين حالتهاي نصب چاپگر را تغيير دهيد . برنامه هوشمند نصب ، قدم به قدم شما را براي نصب و تنظيم چاپگر حمايت و راهنمايي مي كند .

نكته :پيش از شروع عمل نصب چاپگر ازاتصال صحيح به كامپيوتر اطمينان حاصل كنيد . همچنين بايد بدانيد چاپگر ساخت چه شركتي است و داراي چه مدلي مي باشد .

براي نصب چاپگر ابتدا منوي   Start  را باز كرده و با اشاره به  Setting  روي گزينه  Printers كليك كنيد .

به اين ترتيب پنجره مربوط به  Printers  باز مي شود روي نماد  Add Printer دبل كيك مي كنيم .

پنجره  Add Printer Wizard  باز مي شود . براي شروع مرحله نصب روي دكمه  Next كليك ميكنيم .

در اين پنجره دو گزينه براي مشخص نمودن نوع اتصال چاپگر نوع اتصال چاپگر به كامپيوتر وجود دارد  Network Printer  اكان اتصال چاپگر را با هدف امكان استفاده در شبكه برقرار مي كند . در اين حالت ، در اين حالت ، مسئله استفاده مشترك چند كاربر از چاپگر و نيز مديريت روي تقاضاهاي همزمان براي استفاده از چاپگر مطرح مي شود

حالت ديگر به نام  Local Printer اتصال چاپگر را به صورت محلي و و انحصاري برقار مي كند ما حالت اخير را انتخاب مي كنيم و سپس روي دكمه  Next  كليك ميكنيم .

در اين مرحله از كادر سمت چپ كه حاوي ليست توليدكنندگان چاپگر مي باشد ، براي مثال نام  Epson  را برگزيده و از كادر سمت راست نيز كه انواع مدلهاي چاپگر توليد شده توسط توليد كننده مورد نظر را نمايش مي دهد روي مدل LQ 1060 كليك مي كنيم . سپس دكمه   Next را فاشر مي دهيم .

در پنجره بعدي درگاه (Port ) اتصال چاپگر را به صورت1)   (LPT مشخص مي كنيم و به مرحله بعد مي رويم .

در مرحله بعد و در قسمت  Printer Name  نام چاپگر انتخاب شده نمايش داده مي شود كه در صورت تمايل مي توانيم آن را تعويض كنمي . در قسمت پايين گزينه اي است مبني بر اينكهاين چاپگر به عنوان چاپگر پيش فرض مشخص مي گردد .

اگر اين گزينه را فعال كنيم ، در كل محيط و تمام برنامه هاي تحت ويندوز اين چاپگر به عنوان چاپگر پيش فرض در نظرگرفته خواهد شد .( اين موضوع در مواردي حائز اهميت است كه دو يا چند چاپگر نصب شده باشند )

م اين گزينه را فعال كرده و كليد  Next را فشار مي دهيم .

در اين مرحله ويندوز مي پرسد كه  ايا مايل هستيد براي اطمينان از صحت چاپگر ، يك صفحه نمونه آزمايشي روي كاغذ چاپ شود، در صورت تمايل Yes  را انتخاب كنيد (البته در اين مورد بايد چاپگر به كامپيوتر متصل بوده و روشن باشد . و شما هم كاغذ را درون آن قرار داده باشيد ) ما هم اكنون No را انتخاب مي كنيم و روي دكمه  Finish كليك مي نماييم .

حالا مشاهده ميكنيد كه در پنجره  Printers نامچاپگحر مورد نظر ما يعني  Epson LQ 1060 نمايشداده شده و علامت +++++++ در قسمت بالاي نماد آن نيز بيانگر اين است كه به عنوان چاپگر پيش گزيده فعال خواهدبود .

 

تنظيم چاپگر

براي تنظيم چاپگري كه قبلا نصب كرده ايم ، مي توانيم :

منوي  Start  را فعال كرده و با اشاره به  Settin روي نماد Printers كليك نماييم .

نكته : توجه داشته باشيد كه نماد  Printers  از طيق  Control Panel  هم قابل دسترسي است

در پنجره  Printers  روي نماد چاپگر نصب شده دبل كليكنماييد تا پنجره مربوط به آن باز شود .

اكنون از منوي  Printers  روي گزينه Properties كليك نماييد .

 

نكته : بوسيله كليك سمت راست روي نماد چاپگر مورد نظرتان منوي ميانبر باز ميشود كه كه شامل گزينه  Properties  بوده و شما از آن طريق هم مي توانيد پنجره مربوط به تنظيم مشخصه هاي چاپگر دسترسي داشته باشيد .

پنجره مشخصه چاپگر حاوي برگه هاي مختلفي است كه در هر يك امكانات خاصي تعبيه شده است شما مي توانيد نوع كاغذ ، كيفيت و نحوه چاپ و غيره را در اينجا تنظيم كنيد.

نكته :  امكان تنظيم مشخصه هاي مربوط به چاپگر در اكثر برنامه هاي  تحت ويندوز نيز فراهم شده است . به اين ترتيب كه در هر برنامه يا نرم افزار باانتخاب گزينه  Print از منوي فايل ، نجره مربوط به تنيظيمات چاپ باز مي شود كه معمولا شامل گزينه اي به نام Pro;perties  (مشخصه هاي مربوط به چاپگر ) هم هست .

در صورتي  كه در محيط ويندوز  98 بيش از يك چاپگر نصب شده باشد مي توان يكي از آن ها را به عنوان چاپگر پيش گزيده فعال كرد .

همانطور كه گفته شد چاپگر پيش گزيده همواره با يك علامت  Ã بالاي نماد مربوط به آن مشخص مي شود .

اگر شما مايل باشيد مي توانيد پس از انجام عمليات مربوط به نصب هم چاپگر پيش گزيده را تعويض كنيد براي اينمنظور :

در پنجره  Printers  روي چاپگري كه ميخواهيدازاين به بعد به عنوان پيش گزده انتخاب شود كليك سمت راست نماييد تا منوي ميانبر مربوطه باز شود . چاپگر HP Laser Jet را انتخاب ميكنيم .

و سپس از منوي ميانبر باز شده روي گزينه  Set as Default  كليك كنيد .

به اين ترتيب از حالا به بعد چاپگر  Hp به جاي  Epson د رحالت پيش گزيده فعال خواهد بود .

 

استفاده از چاپگر

پس از نصب و تنظيم چاپگر به سادگي مي توان در برنامه هاي مختلف از آن اتسفاده نمود واسناد و مدارك ، انواع محاسبات ، نامه هاي اداري و يا نمودار وانواع چارت هاي كاري را روي كاغذ منتقل كرد .

شما حتي در صورتي كهيك چاپگر رنگي در اختيار داشته باشدي مي توانيد يك تصوير بسيار زيبا يا تصويري كه خود در كامپيوتر طراحي كرده ايد را مانند يك كارت تبريك زيبا چاپ كرده و به دوست خود هديه كنيد .

براي درك چگونگي چاپ يك فايل براي نمونه محيط  Woed Pad را انتخاب كنيد آن را فعال نموده و به طور مثال فايلي را كه قبلا ذخيره كردهايدباز كنيد در حال حاضر محتواي فايل برروي صفحه نمايش قابل مشاهده است .

قبل از صدور فرمان چاپ از منوي فايل گزينه  Print Preview را انتخاب كنيد تا دور نمايي از سند را پيش از چاپ به ما نمايش دهد تا در صورتي كه نياز به ويرايش دارد انها را اعمال كنيم .

 

نكته : گزينه  Print Preview در منوي فايل اكثر برنامه هاي تحت ويندوز وجود دارد و با استفاده از آن مي توانيد پيش نمايشي از آنچه چاپ خواهد شد را ملاحظه كنيد .

نكته: در اين مرحله خارج از نكات عمومي به تنظيم حدود نوشته ها از طرفين موضوع  (Margin) دقت كنيد .

پس از آن به صفحه اصلي بازگرديد و دكمه  Printرا از نوار ابزار و يا از منوي فايل انتخاب كنيد . در صورتي كه كاغذ درون چاپگر باشد و چاپگر نيز آماده به كار باشد مووضع مورد نظر شما چاپ خواهد شد .

نكته : در صورت بروز هر گونه اشكال از موارد ساده و جزئي مانند فراموش كردن گذاشتن كاغذ درون چاپگر گرفته تا موارد فني ، ويندوز ت مامي آنها را به شما اطلاع خواهد داد در اين حالت بدون نگراني ، پيغام روي صفحه را به دقت بخوانيد و مطابق توصيه هاي پيشنهاد شده عمل كنيد در صورتي كه نياز به توضيح بيشتري داشتيد برنامه Help  ويندوز بهترين كمك و راهنما براي شماست .

 

 

منبع : سايت علمی و پژوهشي آسمان--صفحه اینستاگرام ما را دنبال کنید
اين مطلب در تاريخ: یکشنبه 02 فروردین 1394 ساعت: 22:19 منتشر شده است
برچسب ها : ,,,
نظرات(0)

ليست صفحات

تعداد صفحات : 792

شبکه اجتماعی ما

   
     

موضوعات

پيوندهاي روزانه

تبلیغات در سایت

پیج اینستاگرام ما را دنبال کنید :

فرم های  ارزشیابی معلمان ۱۴۰۲

با اطمینان خرید کنید

پشتیبان سایت همیشه در خدمت شماست.

 سامانه خرید و امن این سایت از همه  لحاظ مطمئن می باشد . یکی از مزیت های این سایت دیدن بیشتر فایل های پی دی اف قبل از خرید می باشد که شما می توانید در صورت پسندیدن فایل را خریداری نمائید .تمامی فایل ها بعد از خرید مستقیما دانلود می شوند و همچنین به ایمیل شما نیز فرستاده می شود . و شما با هرکارت بانکی که رمز دوم داشته باشید می توانید از سامانه بانک سامان یا ملت خرید نمائید . و بازهم اگر بعد از خرید موفق به هردلیلی نتوانستیدفایل را دریافت کنید نام فایل را به شماره همراه   09159886819  در تلگرام ، شاد ، ایتا و یا واتساپ ارسال نمائید، در سریعترین زمان فایل برای شما  فرستاده می شود .

درباره ما

آدرس خراسان شمالی - اسفراین - سایت علمی و پژوهشی آسمان -کافی نت آسمان - هدف از راه اندازی این سایت ارائه خدمات مناسب علمی و پژوهشی و با قیمت های مناسب به فرهنگیان و دانشجویان و دانش آموزان گرامی می باشد .این سایت دارای بیشتر از 12000 تحقیق رایگان نیز می باشد .که براحتی مورد استفاده قرار می گیرد .پشتیبانی سایت : 09159886819-09338737025 - صارمی سایت علمی و پژوهشی آسمان , اقدام پژوهی, گزارش تخصصی درس پژوهی , تحقیق تجربیات دبیران , پروژه آماری و spss , طرح درس