A washing machine, comprising: a washing tub configured to accommodate laundry therein and rotatably disposed; a motor configured to rotate the washing tub; and a controller configured to control the motor to stop rotation of the washing tub when an unbalance value, generated by the rotation of the washing tub during a dewatering stroke, exceeds a preset allowable unbalance value, wherein the controller is configured to determine a laundry amount and a laundry-tangled degree by using a plurality of types of data measured while rotating the washing tub at a specific rotational speed before measuring the unbalance value, wherein the plurality of types of data include at least one of current rotational speed, an average value of the unbalance values measured at predetermined time intervals, a q-axis current, starting/holding currents, information of laundry- amount level, and a vibration value, characterized in that: the controller is configured to set the preset allowable unbalance value to an allowable unbalance value associated with the determined laundry amount and laundry-tangled degree based on the determined laundry amount and laundry-tangled degree, and the controller is configured to input the measured plurality of types of data as an input value of a pre-learned Artificial Neural Network, to output the laundry-tangled degree as a result value, wherein the controller is configured to determine one of laundry-tangled degrees classified into a plurality of steps through the pre-learned Artificial Neural Network. a washing tub configured to accommodate laundry therein and rotatably disposed; a motor configured to rotate the washing tub; and a controller configured to control the motor to stop rotation of the washing tub when an unbalance value, generated by the rotation of the washing tub during a dewatering stroke, exceeds a preset allowable unbalance value, wherein the controller is configured to determine a laundry amount and a laundry-tangled degree by using a plurality of types of data measured while rotating the washing tub at a specific rotational speed before measuring the unbalance value, wherein the plurality of types of data include at least one of current rotational speed, an average value of the unbalance values measured at predetermined time intervals, a q-axis current, starting/holding currents, information of laundry- amount level, and a vibration value, characterized in that: the controller is configured to set the preset allowable unbalance value to an allowable unbalance value associated with the determined laundry amount and laundry-tangled degree based on the determined laundry amount and laundry-tangled degree, and the controller is configured to input the measured plurality of types of data as an input value of a pre-learned Artificial Neural Network, to output the laundry-tangled degree as a result value, wherein the controller is configured to determine one of laundry-tangled degrees classified into a plurality of steps through the pre-learned Artificial Neural Network. the controller is configured to set the preset allowable unbalance value to an allowable unbalance value associated with the determined laundry amount and laundry-tangled degree based on the determined laundry amount and laundry-tangled degree, and the controller is configured to input the measured plurality of types of data as an input value of a pre-learned Artificial Neural Network, to output the laundry-tangled degree as a result value, wherein the controller is configured to determine one of laundry-tangled degrees classified into a plurality of steps through the pre-learned Artificial Neural Network.