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